SetSheetUpload.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623
  1. <template>
  2. <el-container>
  3. <el-header style="margin-top: 10px">
  4. <el-button @click="queryTermDialog = true" type="primary" icon="el-icon-search">检索条件</el-button>
  5. <el-divider direction="vertical"></el-divider>
  6. <el-button icon="el-icon-upload" type="success" @click="upldAllList" :disabled="queryTerm.list.length === 0"
  7. v-if="shenHeQuanXian()">
  8. 选中上传
  9. </el-button>
  10. <el-button icon="el-icon-upload" type="warning" @click="upldSelections" :disabled="queryTerm.list.length === 0"
  11. v-if="shenHeQuanXian()">
  12. 全部上传
  13. </el-button>
  14. <el-button icon="el-icon-download" type="success" @click="exportExcel" :disabled="queryTerm.list.length === 0"
  15. v-if="shenHeQuanXian()">导出
  16. Execl
  17. </el-button>
  18. <el-button type="primary" icon="el-icon-refresh-left" @click="shuaXin">刷新数据
  19. </el-button>
  20. <el-button type="success" @click="xianZhiShiJianClick" v-if="shenHeQuanXian()">设置限制时间</el-button>
  21. <xian-zhi-shi-jian ref="xianZhiShiJian"></xian-zhi-shi-jian>
  22. </el-header>
  23. <el-main>
  24. <el-table :height="store.state.app.windowSize.h / 1.2" :data="queryTerm.list" border highlight-current-row stripe
  25. @selection-change="handleSelectionChange">
  26. <el-table-column fixed type="selection" width="35"></el-table-column>
  27. <el-table-column fixed prop="psnName" label="姓名">
  28. <template #default="scope">
  29. <el-button type="text" @click="jieSuanDanXinXi(scope.row)">
  30. <span v-html="auditName(scope.row)"></span>
  31. </el-button>
  32. </template>
  33. </el-table-column>
  34. <el-table-column prop="outDeptName" label="出院科室">
  35. <template #default="scope">
  36. <el-button v-if="scope.row.outDept === dept || shenHeQuanXian" type="text"
  37. @click="huoQuXiuGaiYiShen(scope.row.referPhysician,scope.row.referPhysicianName,scope.row.patNo,scope.row.times)">
  38. {{
  39. scope.row.outDeptName
  40. }}
  41. </el-button>
  42. <span v-else>{{ scope.row.outDeptName }}</span>
  43. </template>
  44. </el-table-column>
  45. <el-table-column prop="patNo" label="住院号/门诊号"></el-table-column>
  46. <el-table-column prop="gendName" label="性别" width="40"></el-table-column>
  47. <el-table-column prop="actIptDays" label="住院天数"></el-table-column>
  48. <el-table-column prop="disDiag" label="诊断编码"></el-table-column>
  49. <el-table-column prop="disDiagComment" label="诊断名称"></el-table-column>
  50. <el-table-column prop="operationName" label="治疗方式"></el-table-column>
  51. <el-table-column prop="medfeeSumamt" label="总费用"></el-table-column>
  52. <el-table-column prop="fundPaySumamt" label="报销金额"></el-table-column>
  53. <el-table-column prop="insutypeName" label="险种类型"></el-table-column>
  54. <el-table-column prop="psnTypeName" label="人员类别"></el-table-column>
  55. <el-table-column prop="setlTime" label="结算时间"></el-table-column>
  56. <el-table-column prop="medTypeName" label="医疗类别"></el-table-column>
  57. <el-table-column prop="clrOptinsName" label="清算机构"></el-table-column>
  58. <el-table-column prop="referPhysicianName" label="管床医生"></el-table-column>
  59. <el-table-column prop="zhuanKeName" label="转科室"></el-table-column>
  60. <el-table-column label="结算单" v-if="shenHeQuanXian()">
  61. <template #default="scope">
  62. <el-button>查看结算单</el-button>
  63. </template>
  64. </el-table-column>
  65. </el-table>
  66. <jie-suan-dan-da-ying></jie-suan-dan-da-ying>
  67. <el-pagination
  68. :page-sizes="[10, 20, 30, 40, 50 , 100]"
  69. :page-size="queryTerm.pageSize"
  70. :current-page="queryTerm.currentPage"
  71. layout="total, sizes, prev, pager, next, jumper"
  72. :total="queryTerm.total"
  73. @size-change="handleSizeChange"
  74. @current-change="handleCurrentChange"
  75. >
  76. </el-pagination>
  77. </el-main>
  78. <el-dialog v-model="queryTermDialog" width="60%" title="数据筛选">
  79. <el-form ref="queryTermRef" label-width="120px" size="mini" :model="queryTerm">
  80. <el-row>
  81. <el-col :span="24">
  82. <el-form-item label="日期范围" prop="dateRange">
  83. <el-date-picker
  84. type="daterange"
  85. v-model="queryTerm.dateRange"
  86. placeholder="选择日期"
  87. size="mini"
  88. style="width: 280px"
  89. range-separator="至"
  90. start-placeholder="开始日期"
  91. end-placeholder="结束日期"
  92. :shortcuts="clockinShortcuts"
  93. ></el-date-picker>
  94. </el-form-item>
  95. </el-col>
  96. <el-col :span="spanWidth">
  97. <el-form-item label="结算类型" prop="clrType">
  98. <el-select v-model="queryTerm.clrType" placeholder="结算类别" style="width: 100px">
  99. <el-option v-for="item in clrTypes" :key="item.code" :value="item.code" :label="item.name">
  100. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  101. <el-divider direction="vertical"></el-divider>
  102. <span>{{ item.name }}</span>
  103. </el-option>
  104. </el-select>
  105. </el-form-item>
  106. </el-col>
  107. <el-col :span="spanWidth">
  108. <el-form-item label="住院号" prop="patNo">
  109. <el-input v-model="queryTerm.patNo" style="width: 120px" @blur="patNo=$event.target.value.trim()"
  110. @keyup.enter="query"
  111. placeholder="住院号"></el-input>
  112. </el-form-item>
  113. </el-col>
  114. <el-col :span="spanWidth">
  115. <el-form-item label="出院科室" prop="disDept">
  116. <el-select v-model="queryTerm.outDept" placeholder="出院科室" filterable clearable multiple
  117. :collapse-tags="zheDieXianShi"
  118. >
  119. <el-option v-for="item in disDepts" :key="item.code" :value="item.code" :label="item.name">
  120. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  121. <el-divider direction="vertical"></el-divider>
  122. <span>{{ item.name }}</span>
  123. </el-option>
  124. </el-select>
  125. </el-form-item>
  126. </el-col>
  127. <el-col :span="spanWidth">
  128. <el-form-item label="医疗类别" prop="medType">
  129. <el-select v-model="queryTerm.medType" placeholder="医疗类别" filterable clearable multiple
  130. :collapse-tags="zheDieXianShi"
  131. >
  132. <el-option v-for="item in medTypes" :key="item.code" :value="item.code" :label="item.name">
  133. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  134. <el-divider direction="vertical"></el-divider>
  135. <span>{{ item.name }}</span>
  136. </el-option>
  137. </el-select>
  138. </el-form-item>
  139. </el-col>
  140. <el-col :span="spanWidth">
  141. <el-form-item label="上传类型" prop="psnType">
  142. <el-select v-model="queryTerm.flag">
  143. <el-option v-for="item in flags" :key="item.code" :value="item.code" :label="item.name">
  144. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  145. <el-divider direction="vertical"></el-divider>
  146. <span>{{ item.name }}</span>
  147. </el-option>
  148. </el-select>
  149. </el-form-item>
  150. </el-col>
  151. <el-col :span="spanWidth">
  152. <el-form-item label="管床医生" prop="referPhysician">
  153. <el-select v-model="queryTerm.referPhysician" placeholder="管床医生" filterable clearable remote
  154. reserve-keyword
  155. :remote-method="remoteMethod"
  156. >
  157. <el-option v-for="item in referPhysicians" :key="item.code" :value="item.code" :label="item.name">
  158. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  159. <el-divider direction="vertical"></el-divider>
  160. <span>{{ item.name }}</span>
  161. </el-option>
  162. </el-select>
  163. </el-form-item>
  164. </el-col>
  165. <el-col :span="spanWidth">
  166. <el-form-item label="险种类型" prop="insutype">
  167. <el-select v-model="queryTerm.insutype" placeholder="险种类型" filterable clearable multiple
  168. :collapse-tags="zheDieXianShi"
  169. >
  170. <el-option v-for="item in insutypes" :key="item.code" :value="item.code" :label="item.name">
  171. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  172. <el-divider direction="vertical"></el-divider>
  173. <span>{{ item.name }}</span>
  174. </el-option>
  175. </el-select>
  176. </el-form-item>
  177. </el-col>
  178. <el-col :span="spanWidth">
  179. <el-form-item label="人员类别" prop="psnType">
  180. <el-select v-model="queryTerm.psnType" placeholder="人员类别" filterable clearable multiple
  181. :collapse-tags="zheDieXianShi"
  182. >
  183. <el-option v-for="item in getPsnType" :key="item.code" :value="item.code" :label="item.name">
  184. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  185. <el-divider direction="vertical"></el-divider>
  186. <span>{{ item.name }}</span>
  187. </el-option>
  188. </el-select>
  189. </el-form-item>
  190. </el-col>
  191. <el-col :span="spanWidth">
  192. <el-form-item label="结算机构" prop="psnType">
  193. <el-select v-model="queryTerm.clrOptins" placeholder="结算机构" filterable clearable multiple
  194. :collapse-tags="zheDieXianShi"
  195. >
  196. <el-option v-for="item in clrOptins" :key="item.code" :value="item.code" :label="item.name">
  197. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  198. <el-divider direction="vertical"></el-divider>
  199. <span>{{ item.name }}</span>
  200. </el-option>
  201. </el-select>
  202. </el-form-item>
  203. </el-col>
  204. <el-col :span="spanWidth">
  205. <el-form-item label="审核类型" prop="auditFlag">
  206. <el-select v-model="queryTerm.auditFlag"
  207. >
  208. <el-option v-for="item in auditFlags" :key="item.code" :value="item.code" :label="item.name">
  209. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  210. <el-divider direction="vertical"></el-divider>
  211. <span>{{ item.name }}</span>
  212. </el-option>
  213. </el-select>
  214. </el-form-item>
  215. </el-col>
  216. <el-col :span="spanWidth">
  217. <el-form-item label="申报类型" prop="auditFlag">
  218. <el-select v-model="queryTerm.decTypes" filterable clearable multiple
  219. :collapse-tags="zheDieXianShi"
  220. >
  221. <el-option v-for="item in decTypes" :key="item.code" :value="item.code" :label="item.name">
  222. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  223. <el-divider direction="vertical"></el-divider>
  224. <span>{{ item.name }}</span>
  225. </el-option>
  226. </el-select>
  227. </el-form-item>
  228. </el-col>
  229. </el-row>
  230. </el-form>
  231. <el-button type="primary" size="small" icon="el-icon-search" @click="query">查询</el-button>
  232. <el-button type="warning" size="small" icon="el-icon-refresh-right" @click="chongZhi">重置</el-button>
  233. <el-divider direction="vertical"></el-divider>
  234. <el-switch
  235. v-model="zheDieXianShi"
  236. active-color="#13ce66"
  237. inactive-color="#409eff"
  238. active-text="折叠"
  239. inactive-text="展开"
  240. :active-value="true"
  241. :inactive-value="false"
  242. >
  243. </el-switch>
  244. </el-dialog>
  245. <el-dialog v-model="xiuGaiYiShen" title="管床医生">
  246. <el-select v-model="guanChuangYiShen.yiShenCode" filterable clearable remote
  247. reserve-keyword
  248. :remote-method="remoteMethod">
  249. <el-option v-for="item in referPhysicians" :key="item.code" :value="item.code" :label="item.name">
  250. <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
  251. <el-divider direction="vertical"></el-divider>
  252. <span>{{ item.name }}</span>
  253. </el-option>
  254. </el-select>
  255. <el-divider direction="vertical"></el-divider>
  256. <el-button @click="xiuGaiGuanChuangYiShenClick">修改</el-button>
  257. </el-dialog>
  258. <jie-suan-dan-xiang-qing @shuaXin="shuaXin" ref="jieSuanDanDataDialog"
  259. :data="jieSuanDanData"></jie-suan-dan-xiang-qing>
  260. <Progress/>
  261. </el-container>
  262. </template>
  263. <script>
  264. import {clockinShortcuts} from '../../../data/shortcuts'
  265. import {ref, unref, watch, onMounted} from "vue"
  266. import store from '@/store'
  267. import {getClrTypes, getInsutypes} from "../../../api/medical-insurance/si-dict"
  268. import {getDateRangeFormatDate} from "../../../utils/date"
  269. import {
  270. getMedType,
  271. huoQuJieSuanRenYuan,
  272. jieSuanDanKeXiuGaiXinXi,
  273. upldSetlList,
  274. upldSetlListTimes,
  275. xiuGaiGuanChuangYiShen
  276. } from "../../../api/medical-insurance/si-setl-upload"
  277. import {clrOptinsData, decTypes, getPsnType} from "../../../data"
  278. import {getDept} from "../../../api/yibao/xiang-mu-lu-ru"
  279. import JieSuanDanXiangQing from "../../../components/si-sheet-upload/JieSuanDanXiangQing.vue";
  280. import {ElMessage, ElMessageBox} from "element-plus";
  281. import Progress from '../../../components/progress/Index.vue'
  282. import {downloadExcel} from "../../../utils/excel";
  283. import {getRenYuan} from "../../../api/public-api";
  284. import {
  285. auditFlags,
  286. auditName,
  287. shenHeQuanXian,
  288. xianZhongChuQu
  289. } from "../../../components/si-sheet-upload/jieSuanDanXiuGai";
  290. import XianZhiShiJian from "../../../components/si-sheet-upload/XianZhiShiJian.vue";
  291. import {stringNotBlank} from "../../../utils/blank-utils";
  292. import JieSuanDanDaYing from "../../../components/si-sheet-upload/jieSuanDanDaYing.vue";
  293. export default {
  294. name: "SetSheetUpload",
  295. components: {JieSuanDanDaYing, XianZhiShiJian, JieSuanDanXiangQing, Progress},
  296. setup: function () {
  297. const queryTerm = ref({
  298. startTime: '',
  299. endTime: '',
  300. patNo: '',
  301. referPhysician: shenHeQuanXian() ? '' : store.state.user.info.code,
  302. insutype: [],
  303. dateRange: [clockinShortcuts[0].value[0], clockinShortcuts[0].value[1]],
  304. outDept: [],
  305. clrType: '21',
  306. medType: [],
  307. clrOptins: [],
  308. decTypes: [],
  309. flag: 0,
  310. auditFlag: 4,
  311. psnType: '',
  312. currentPage: 1,
  313. pageSize: 40,
  314. total: 0,
  315. list: []
  316. })
  317. const dept = store.state.user.info.deptCode
  318. // 表单
  319. const queryTermRef = ref(null)
  320. // 表格的宽度
  321. const spanWidth = ref(8)
  322. // 查询的 对话框
  323. const queryTermDialog = ref(true)
  324. // 折叠显示
  325. const zheDieXianShi = ref(true)
  326. // 结算单信息
  327. const jieSuanDanData = ref({})
  328. // 险种类型
  329. const insutypes = ref([])
  330. // 出院科室
  331. const disDepts = ref([])
  332. // 结算类别
  333. const clrTypes = ref([])
  334. // 医疗类别
  335. const medTypes = ref([])
  336. // 结算机构
  337. const clrOptins = ref([])
  338. // 管床医生
  339. const referPhysicians = ref([])
  340. const selections = ref([])
  341. const jieSuanDanDataDialog = ref(null)
  342. const handleSelectionChange = (val) => {
  343. selections.value = val
  344. }
  345. const query = async () => {
  346. let form = unref(queryTermRef)
  347. if (!form) return
  348. try {
  349. await form.validate()
  350. let dates = getDateRangeFormatDate(queryTerm.value.dateRange)
  351. queryTerm.value.startTime = dates.startTime
  352. queryTerm.value.endTime = dates.endTime
  353. queryTerm.value.total = 0
  354. queryTerm.value.currentPage = 1
  355. huoQuJieSuanRenYuan(queryTerm.value).then((res) => {
  356. queryTerm.value.list = res === null ? [] : res.records
  357. queryTerm.value.total = res.total
  358. queryTermDialog.value = false
  359. })
  360. } catch (error) {
  361. }
  362. }
  363. const queryCurrentPage = async () => {
  364. let form = unref(queryTermRef)
  365. if (!form) return
  366. try {
  367. await form.validate()
  368. let dates = getDateRangeFormatDate(queryTerm.value.dateRange)
  369. queryTerm.value.startTime = dates.startTime
  370. queryTerm.value.endTime = dates.endTime
  371. huoQuJieSuanRenYuan(queryTerm.value).then((res) => {
  372. queryTerm.value.list = res.records
  373. })
  374. } catch (error) {
  375. }
  376. }
  377. watch(() => store.state.app.windowSize.w,
  378. () => {
  379. const w = store.state.app.windowSize.w
  380. if (w >= 1500) {
  381. spanWidth.value = 8
  382. } else if (w >= 1300) {
  383. spanWidth.value = 12
  384. } else {
  385. spanWidth.value = 24
  386. }
  387. })
  388. const upldAllList = () => {
  389. if (queryTerm.value.clrType !== '21') {
  390. ElMessage({
  391. message: '结算类别请选择为【住院】!',
  392. type: 'warning',
  393. showClose: true,
  394. })
  395. return
  396. }
  397. upldSetlList(selections.value)
  398. }
  399. const upldSelections = () => {
  400. if (queryTerm.value.clrType !== '21') {
  401. ElMessage({
  402. message: '结算类别请选择为【住院】!',
  403. type: 'warning',
  404. showClose: true,
  405. })
  406. return
  407. }
  408. if (queryTerm.value.list.length === 0) {
  409. ElMessage({
  410. message: '请先查询出数据',
  411. type: 'warning',
  412. showClose: true,
  413. })
  414. return
  415. }
  416. upldSetlListTimes(queryTerm.value)
  417. }
  418. const handleSizeChange = (val) => {
  419. queryTerm.value.pageSize = val
  420. query()
  421. }
  422. const handleCurrentChange = (val) => {
  423. queryTerm.value.currentPage = val
  424. queryCurrentPage()
  425. }
  426. const chongZhi = () => {
  427. unref(queryTermRef).resetFields()
  428. }
  429. const jieSuanDanXinXi = (val) => {
  430. if (queryTerm.value.clrType !== '21') {
  431. ElMessage({
  432. message: '结算类别请选择为【住院】!',
  433. type: 'warning',
  434. showClose: true,
  435. })
  436. return
  437. }
  438. jieSuanDanKeXiuGaiXinXi(val.patNo, val.times, val.ledgerSn).then((res) => {
  439. jieSuanDanData.value = res
  440. jieSuanDanData.value.medType = val.medType
  441. jieSuanDanData.value.actIptDays = val.actIptDays
  442. jieSuanDanData.value.outDeptName = val.outDeptName
  443. jieSuanDanData.value.medTypeName = val.medTypeName
  444. jieSuanDanData.value.disDiag = val.disDiag
  445. jieSuanDanData.value.disDiagComment = val.disDiagComment
  446. jieSuanDanData.value.medfeeSumamt = val.medfeeSumamt
  447. jieSuanDanData.value.fundPaySumamt = val.fundPaySumamt
  448. jieSuanDanData.value.decType = val.decType
  449. jieSuanDanData.value.upload = val
  450. jieSuanDanData.value.shenHeXinXi = {
  451. id: val.id,
  452. reqOpId: val.reqOpId,
  453. reqOpName: val.reqOpName,
  454. reqOpDate: val.reqOpDate,
  455. reqRemark: val.reqRemark,
  456. auditStaff: val.auditStaff,
  457. auditName: val.auditName,
  458. auditTime: val.auditTime,
  459. auditRemark: val.auditRemark,
  460. auditFlag: val.auditFlag
  461. }
  462. jieSuanDanDataDialog.value.openDialog(true)
  463. })
  464. }
  465. const exportExcel = () => {
  466. if (queryTerm.value.total > 0) {
  467. ElMessageBox.prompt('导出文件名字', '提示', {
  468. confirmButtonText: '确定',
  469. cancelButtonText: '取消',
  470. inputPattern: /\S/,
  471. inputErrorMessage: '文件名不能为空 (∩•̀ω•́)⊃-*⋆',
  472. }).then(({value}) => {
  473. const data = {
  474. param: queryTerm.value,
  475. url: '/setlListUpld/exportExcel',
  476. fileName: `${value}.xlsx`,
  477. }
  478. setTimeout(() => {
  479. downloadExcel(data)
  480. }, 500)
  481. }).catch((e) => {
  482. })
  483. } else {
  484. ElMessage.error('请先查询出数据')
  485. }
  486. }
  487. const remoteMethod = (val) => {
  488. if (val.length > 1) {
  489. getRenYuan(val).then((res) => {
  490. referPhysicians.value = res
  491. })
  492. }
  493. }
  494. const shuaXin = () => {
  495. queryCurrentPage()
  496. }
  497. /* 限制时间 */
  498. const xianZhiShiJian = ref(null)
  499. const xianZhiShiJianClick = () => {
  500. xianZhiShiJian.value.xianZhiShiJianDialog = true
  501. }
  502. /* 修改管床医生 */
  503. const guanChuangYiShen = ref({
  504. yiShenCode: '',
  505. patNo: '',
  506. times: 0,
  507. })
  508. const xiuGaiYiShen = ref(false)
  509. const huoQuXiuGaiYiShen = (code, name, patNo, times) => {
  510. if (stringNotBlank(code)) {
  511. referPhysicians.value = [{code: code, name: name}]
  512. guanChuangYiShen.value.yiShenCode = code
  513. }
  514. xiuGaiYiShen.value = true
  515. guanChuangYiShen.value.patNo = patNo
  516. guanChuangYiShen.value.times = times
  517. }
  518. const xiuGaiGuanChuangYiShenClick = () => {
  519. xiuGaiGuanChuangYiShen(guanChuangYiShen.value.patNo, guanChuangYiShen.value.times, guanChuangYiShen.value.yiShenCode).then((res) => {
  520. xiuGaiYiShen.value = false
  521. })
  522. }
  523. onMounted(() => {
  524. getInsutypes().then((res) => {
  525. insutypes.value = res
  526. getClrTypes().then((res2) => {
  527. clrTypes.value = res2
  528. })
  529. })
  530. getMedType().then((res) => {
  531. medTypes.value = res
  532. })
  533. getDept().then((res) => {
  534. disDepts.value = res
  535. })
  536. clrOptins.value = clrOptinsData
  537. setTimeout(() => {
  538. if (!shenHeQuanXian()) {
  539. referPhysicians.value = [{code: store.state.user.info.code, name: store.state.user.info.name}]
  540. queryTerm.value.medType = ['22', '2101']
  541. queryTerm.value.insutype = xianZhongChuQu(insutypes.value, ['340', '350', '360', '510', '410'])
  542. queryTerm.value.psnType = xianZhongChuQu(getPsnType, ["13"])
  543. queryTerm.value.clrOptins = xianZhongChuQu(clrOptins.value, ["439900", "430121 "])
  544. }
  545. // queryTermDialog.value = true
  546. }, 1000)
  547. })
  548. return {
  549. queryTerm,
  550. clockinShortcuts,
  551. handleSizeChange,
  552. handleCurrentChange,
  553. insutypes,
  554. query,
  555. upldAllList,
  556. upldSelections,
  557. disDepts,
  558. clrTypes,
  559. medTypes,
  560. getPsnType,
  561. queryTermDialog,
  562. chongZhi,
  563. queryTermRef,
  564. store,
  565. spanWidth,
  566. zheDieXianShi,
  567. jieSuanDanXinXi,
  568. jieSuanDanData,
  569. handleSelectionChange,
  570. exportExcel,
  571. referPhysicians,
  572. clrOptins,
  573. jieSuanDanDataDialog,
  574. remoteMethod,
  575. auditFlags,
  576. shuaXin,
  577. xianZhiShiJian,
  578. xianZhiShiJianClick,
  579. shenHeQuanXian,
  580. guanChuangYiShen,
  581. huoQuXiuGaiYiShen,
  582. xiuGaiGuanChuangYiShenClick,
  583. xiuGaiYiShen,
  584. auditName,
  585. dept,
  586. decTypes,
  587. flags: ref([
  588. {code: 0, name: '全部'},
  589. {code: 1, name: '未传'},
  590. {code: 2, name: '已传'}
  591. ])
  592. }
  593. }
  594. }
  595. </script>
  596. <style scoped>
  597. </style>