You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

613 lines
21 KiB

2 years ago
2 years ago
1 month ago
3 weeks ago
2 weeks ago
1 month ago
2 weeks ago
2 years ago
1 month ago
2 years ago
3 weeks ago
2 years ago
1 month ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 weeks ago
3 weeks ago
2 weeks ago
3 weeks ago
2 years ago
2 years ago
2 years ago
1 month ago
2 years ago
2 years ago
1 month ago
4 days ago
4 days ago
4 days ago
2 years ago
4 days ago
1 month ago
4 days ago
1 month ago
2 years ago
2 years ago
1 month ago
2 years ago
1 month ago
2 years ago
4 days ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
1 month ago
3 weeks ago
2 weeks ago
4 days ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
1 month ago
2 years ago
1 month ago
3 weeks ago
1 month ago
2 years ago
1 month ago
3 weeks ago
1 month ago
3 weeks ago
1 month ago
2 years ago
1 month ago
3 weeks ago
1 month ago
2 years ago
1 month ago
2 years ago
1 month ago
2 years ago
1 month ago
2 years ago
1 month ago
2 years ago
1 month ago
2 years ago
1 month ago
2 years ago
1 month ago
2 years ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
1 month ago
3 weeks ago
2 weeks ago
3 weeks ago
2 years ago
3 weeks ago
1 month ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
1 month ago
3 weeks ago
2 years ago
2 years ago
3 weeks ago
2 years ago
3 weeks ago
1 month ago
3 weeks ago
2 years ago
3 weeks ago
2 weeks ago
3 weeks ago
2 weeks ago
3 weeks ago
2 weeks ago
3 weeks ago
2 weeks ago
3 weeks ago
2 years ago
4 days ago
3 weeks ago
2 years ago
3 weeks ago
2 years ago
1 month ago
2 years ago
2 years ago
2 years ago
1 month ago
2 years ago
  1. <template>
  2. <div style="display: flex;">
  3. <div :style="'width:' + (window.pageWidth - 200 - 145) + 'px;'">
  4. <el-table :data="tableData" width="100%" border :height="window.pageHeight < 600 ? 330 : window.pageHeight - 240" row-key="id"
  5. size="small" highlight-current-row ref="dataList" @selection-change="handleSelectionChange" @row-click="rowClick">
  6. <el-table-column type="selection" width="40" align="center" />
  7. <el-table-column prop="isRecoverGuide" label="回收" align="center" width="50">
  8. <template slot-scope="scope">
  9. <el-checkbox :value="scope.row.isRecoverGuide == 'Y'" />
  10. </template>
  11. </el-table-column>
  12. <el-table-column prop="completeFlag" label="体检进度">
  13. <template slot-scope="scope">
  14. <div>{{ ldddw(dict.completeFlag, "id", scope.row.completeFlag, "displayName") }}</div>
  15. </template>
  16. </el-table-column>
  17. <el-table-column prop="isLock" label="锁住" width="50">
  18. <template slot-scope="scope">
  19. <i class="el-icon-lock" v-if="scope.row.isLock == 'Y'" style="font-size: 20px; color: red" />
  20. </template>
  21. </el-table-column>
  22. <el-table-column prop="customerOrgParentName" label="单位" width="180">
  23. <template slot-scope="scope">
  24. <div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}
  25. </div>
  26. </template>
  27. </el-table-column>
  28. <el-table-column prop="customerOrgName" label="部门" width="180">
  29. <template slot-scope="scope">
  30. <div>{{ scope.row.customerOrgParentName == scope.row.customerOrgName ? "" : scope.row.customerOrgName }}</div>
  31. </template>
  32. </el-table-column>
  33. <el-table-column prop="patientName" label="姓名" />
  34. <el-table-column prop="sexName" label="性别">
  35. </el-table-column>
  36. <el-table-column prop="age" label="年龄" />
  37. <el-table-column prop="patientRegisterNo" label="条码号" width="150" />
  38. <el-table-column prop="patientNo" label="档案号" />
  39. <el-table-column prop="medicalTimes" label="体检次数"></el-table-column>
  40. <el-table-column label="分组/套餐" width="150">
  41. <template slot-scope="scope">
  42. <div v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId === dict.personOrgId">
  43. {{ scope.row.medicalPackageName }}
  44. </div>
  45. <div v-else>
  46. {{ scope.row.customerOrgGroupName }}
  47. </div>
  48. </template>
  49. </el-table-column>
  50. <el-table-column prop="nationName" label="民族">
  51. </el-table-column>
  52. <el-table-column prop="idNo" label="身份证" width="150" />
  53. <el-table-column prop="birthDate" label="出生日期" width="100">
  54. <template slot-scope="scope">
  55. <div v-if="scope.row.birthDate">
  56. {{ lmoment(scope.row.birthDate, "yyyy-MM-DD") }}
  57. </div>
  58. </template>
  59. </el-table-column>
  60. <el-table-column prop="email" label="邮箱" width="100" />
  61. <el-table-column prop="mobileTelephone" label="手机" width="100" />
  62. <el-table-column prop="telephone" label="电话" width="100" />
  63. <el-table-column prop="address" label="地址" width="300" />
  64. <el-table-column prop="medicalCardNo" label="体检卡号" />
  65. <el-table-column prop="jobCardNo" label="工卡号" />
  66. <el-table-column prop="maritalStatusName" label="婚姻状况">
  67. </el-table-column>
  68. <el-table-column prop="medicalTypeName" label="体检类别">
  69. </el-table-column>
  70. <el-table-column prop="personnelTypeName" label="人员类别">
  71. </el-table-column>
  72. <el-table-column prop="jobPost" label="职务" />
  73. <el-table-column prop="jobTitle" label="职称" />
  74. <el-table-column prop="salesman" label="介绍人" />
  75. <el-table-column prop="isVip" label="VIP">
  76. <template slot-scope="scope">
  77. <el-checkbox :value="scope.row.isVip == 'Y'" />
  78. </template>
  79. </el-table-column>
  80. <el-table-column prop="creatorName" label="登记人" />
  81. <el-table-column prop="creationTime" label="登记日期" width="100">
  82. <template slot-scope="scope">
  83. <div>{{ lmoment(scope.row.creationTime, "yyyy-MM-DD") }}</div>
  84. </template>
  85. </el-table-column>
  86. <el-table-column prop="isUpload" label="上传">
  87. <template slot-scope="scope">
  88. <el-checkbox :value="scope.row.isUpload == 'Y'" />
  89. </template>
  90. </el-table-column>
  91. </el-table>
  92. <div style="display: flex; justify-content: space-between">
  93. <div></div>
  94. <div>
  95. <span style="font-size: 12px">{{ loadOpts.totalCount }} 条记录当前显示{{
  96. tableData.length
  97. }}
  98. </span>
  99. </div>
  100. </div>
  101. </div>
  102. <div style="margin-left: 10px;">
  103. <div class="listBtn">
  104. <el-button type="success" class="commonbutton" @click="btnRecover">回收表单</el-button>
  105. </div>
  106. <div class="listBtn">
  107. <el-button type="primary" class="commonbutton" @click="btnScanRecover">扫码回收</el-button>
  108. </div>
  109. <!-- <div class="listBtn">
  110. <download-excel :fields="jsonFields" :fetch="btnExport" type="xls" :name="tableName">
  111. <el-button type="" style="width:100%">导出excel</el-button>
  112. </download-excel>
  113. </div> -->
  114. </div>
  115. <el-dialog title="扫/输入条码回收体检表(指引单)" :visible.sync="dialogVisible" width="400px" :append-to-body="true"
  116. :close-on-click-modal="false">
  117. <div class="query">
  118. <span class="spanClass">条码号</span> <!-- @change="signByPatientRegisterNo" -->
  119. <el-input ref="tmh" v-model="patientRegisterNo" @keyup.native.enter="signByPatientRegisterNo"></el-input>
  120. </div>
  121. <div slot="footer" class="dialog-footer">
  122. <el-button type="primary" @click="signByPatientRegisterNo" class="commonbutton">确定</el-button>
  123. <el-button @click="dialogVisible = false" class="commonbutton">关闭</el-button>
  124. </div>
  125. </el-dialog>
  126. </div>
  127. </template>
  128. <script>
  129. import moment from "moment";
  130. import { mapState, mapActions } from "vuex";
  131. import { getapi, postapi, putapi, deletapi } from "@/api/api";
  132. import { dddw, objCopy, arrayReduce,arrayExistObj,deepCopy } from "@/utlis/proFunc";
  133. import { savePeoplePhoto } from "../../utlis/proApi";
  134. import PatientRegisterEdit from "../../components/patientRegister/PatientRegisterEdit.vue";
  135. import Camera from "../../components/patientRegister/Camera.vue";
  136. export default {
  137. components: {
  138. PatientRegisterEdit,
  139. Camera,
  140. },
  141. data() {
  142. return {
  143. tableData: [], //列表数据
  144. multipleSelection: [], //选中的数据列表
  145. tableDataCurrentRow:{}, // 单行选中的行
  146. dialogVisible: false,
  147. patientRegisterNo: '',
  148. LocalConfig: {
  149. normal: {
  150. maxResultCount: 100, //分页时单页记录数
  151. },
  152. },
  153. loadOpts: {
  154. totalCount: 0,
  155. skipCount: 0,
  156. maxResultCount: 100,
  157. },
  158. loadOptsInit: {},
  159. lazyLoading:false,
  160. dom:null,
  161. jsonFields: {
  162. 回收:"isRecoverGuide",
  163. 体检进度: "completeFlag",
  164. 锁住: "isLock",
  165. 单位: "customerOrgParentName",
  166. 部门: "customerOrgName",
  167. 姓名: "patientName",
  168. 性别: "sexName",
  169. 年龄: "age",
  170. 条码号: "patientRegisterNo",
  171. 档案号: "patientNo",
  172. 体检次数: "medicalTimes",
  173. 分组套餐: "groupPack",
  174. 民族: "nationName",
  175. 身份证: "idNo",
  176. 出生日期: "birthDate",
  177. 邮箱: "email",
  178. 手机: "mobileTelephone",
  179. 电话: "telephone",
  180. 地址: "address",
  181. 体检卡号: "medicalCardNo",
  182. 工卡号: "jobCardNo",
  183. 婚姻状况: "maritalStatusName",
  184. 体检类别: "medicalTypeName",
  185. 人员类别: "personnelTypeName",
  186. 职务: "jobPost",
  187. 职称: "jobTitle",
  188. 介绍人: "salesman",
  189. VIP: "isVip",
  190. 登记人: "creatorName",
  191. 登记日期: "creationTime",
  192. 上传: "isUpload"
  193. },
  194. tableName:""
  195. };
  196. },
  197. created() {
  198. try {
  199. let LocalConfig = JSON.parse(window.localStorage.getItem("LocalConfig") || null)
  200. if (LocalConfig?.normal?.maxResultCount){
  201. this.LocalConfig.normal.maxResultCount = LocalConfig.normal.maxResultCount
  202. }
  203. } catch (error) {
  204. console.log('window.localStorage.getItem("LocalConfig")', error);
  205. }
  206. // console.log('this.LocalConfig',this.LocalConfig)
  207. this.loadOpts.maxResultCount = Number(
  208. this.LocalConfig.normal.maxResultCount || 100
  209. );
  210. this.loadOptsInit = Object.assign({}, this.loadOpts);
  211. },
  212. //挂载完成
  213. mounted() {
  214. this.$nextTick(() => {
  215. this.scrollFull()
  216. })
  217. },
  218. computed: {
  219. ...mapState(["window", "dict", "patientRegister", "customerOrg"]),
  220. },
  221. methods: {
  222. ...mapActions(["getCustomerOrgGroup", "getPatientRegisterAbs"]),
  223. handleSelectionChange(val) {
  224. this.multipleSelection = val;
  225. },
  226. rowClick(row){
  227. this.tableDataCurrentRow = row
  228. },
  229. // 回收表提交
  230. recoverCore(body) {
  231. postapi(`/api/app/patientregister/updaterecoverguidemany`, body)
  232. .then((res) => {
  233. if (res.code > -1) {
  234. this.$message.success({ showClose: true, message: "操作成功!"});
  235. // 刷新页面回收状态
  236. if(this.multipleSelection.length > 0){
  237. this.multipleSelection.forEach(e => {
  238. e.isRecoverGuide = 'Y'
  239. });
  240. }else{
  241. let lfind = arrayExistObj(this.tableData,'id',body[0].id)
  242. if(lfind > -1){
  243. this.tableData[lfind].isRecoverGuide = 'Y'
  244. }
  245. }
  246. }
  247. })
  248. },
  249. //选中人员记录回收
  250. btnRecover() {
  251. // 有勾选,则操作勾选的,无勾选则按选中的记录
  252. let selectedRds = []
  253. selectedRds = selectedRds.concat(this.multipleSelection)
  254. if(selectedRds.length == 0){
  255. if(this.tableDataCurrentRow.id) selectedRds.push(this.tableDataCurrentRow)
  256. }
  257. if (selectedRds.length == 0) {
  258. this.$message.warning({ showClose: true, message: "请勾选择或选中体检人员,再进行此操作" });
  259. return;
  260. }
  261. let body = []
  262. selectedRds.forEach(e => {
  263. body.push(e.id)
  264. });
  265. this.recoverCore(body)
  266. },
  267. // 点击扫码回收体检表按钮
  268. btnScanRecover() {
  269. this.patientRegisterNo = ''
  270. this.dialogVisible = true
  271. this.$nextTick(() => {
  272. this.$refs['tmh'].focus(); //打开光标定位到条码栏里
  273. });
  274. },
  275. //按条码号查个人数据
  276. signByPatientRegisterNo() {
  277. let patientRegisterNos = [this.patientRegisterNo]
  278. let body = {
  279. patientRegisterNos
  280. }
  281. //console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
  282. postapi('/api/app/PatientRegister/BatchRecoverGuideByPatientRegisterNo', body)
  283. .then((res) => {
  284. if (res.code > -1) {
  285. this.patientRegisterNo = ''
  286. this.$message.success({ showClose: true, message: '操作成功!' })
  287. }
  288. });
  289. },
  290. ldddw(arrayData, key, value, display) {
  291. return dddw(arrayData, key, value, display);
  292. },
  293. lmoment(date, forMat) {
  294. return moment(new Date(date)).format(forMat);
  295. },
  296. //查询
  297. async Query() {
  298. // 查询时,清掉明细数据 (滚动时不清)
  299. this.tableDataCurrentRow = {}; // 清除选择
  300. if (
  301. !(
  302. this.patientRegister.query.isSeries == "Y" &&
  303. this.patientRegister.query.patientRegisterNo
  304. )
  305. ) {
  306. this.tableData = [];
  307. }
  308. this.loadOpts = Object.assign(this.loadOpts, this.loadOptsInit);
  309. await this.getPrList();
  310. },
  311. //数据量多时,滚动加载
  312. async load() {
  313. this.loadOpts.skipCount++;
  314. await this.getPrList();
  315. this.lazyLoading = false
  316. },
  317. // 获取列表数据
  318. async getPrList() {
  319. if (
  320. this.loadOpts.skipCount != 0 &&
  321. this.loadOpts.skipCount * this.loadOpts.maxResultCount >=
  322. this.loadOpts.totalCount
  323. )
  324. return;
  325. // console.log('getPrList', this.loadOpts)
  326. let body = {
  327. skipCount: this.loadOpts.skipCount,
  328. maxResultCount: this.loadOpts.maxResultCount,
  329. };
  330. // console.log(`this.patientRegister.query`, this.patientRegister.query);
  331. if (this.patientRegister.query.customerOrgFlag) {
  332. // if (this.patientRegister.query.CustomerOrgParentId) {
  333. // body.customerOrgId = this.patientRegister.query.CustomerOrgParentId;
  334. // } else {
  335. // if (this.patientRegister.query.customerOrgId)
  336. // body.customerOrgId = this.patientRegister.query.customerOrgId;
  337. // }
  338. if (this.patientRegister.query.customerOrgId)
  339. body.customerOrgId = this.patientRegister.query.customerOrgId;
  340. // 获取单位体检次数与分组
  341. try {
  342. if (
  343. this.patientRegister.query.customerOrgId &&
  344. this.patientRegister.query.customerOrgId != this.dict.personOrgId &&
  345. this.patientRegister.query.customerOrgRegister.id
  346. ) {
  347. body.customerOrgRegisterId =
  348. this.patientRegister.query.customerOrgRegister.id;
  349. body.customerOrgGroupIds =
  350. this.patientRegister.query.customerOrgGroupIds;
  351. }
  352. } catch (error) {
  353. console.error(error)
  354. }
  355. }
  356. if (this.patientRegister.query.sex)
  357. body.sexId = this.patientRegister.query.sex;
  358. if (this.patientRegister.query.patientName)
  359. body.patientName = this.patientRegister.query.patientName;
  360. if (
  361. this.patientRegister.query.medicalTypeIds &&
  362. this.patientRegister.query.medicalTypeIds.length > 0
  363. )
  364. body.medicalTypeIds = this.patientRegister.query.medicalTypeIds;
  365. if (
  366. this.patientRegister.query.completeFlags &&
  367. this.patientRegister.query.completeFlags.length > 0
  368. )
  369. body.completeFlags = this.patientRegister.query.completeFlags;
  370. if (
  371. this.patientRegister.query.personnelTypeIds &&
  372. this.patientRegister.query.personnelTypeIds.length > 0
  373. )
  374. body.personnelTypeIds = this.patientRegister.query.personnelTypeIds;
  375. if (this.patientRegister.query.isRecoverGuide)
  376. body.isRecoverGuide = this.patientRegister.query.isRecoverGuide;
  377. //StartDate EndDate
  378. if (
  379. this.patientRegister.query.startDate &&
  380. this.patientRegister.query.endDate
  381. ) {
  382. body.dateType = this.patientRegister.query.dateType;
  383. body.startDate = moment(this.patientRegister.query.startDate).format(
  384. "yyyy-MM-DD"
  385. );
  386. body.endDate = moment(this.patientRegister.query.endDate).format(
  387. "yyyy-MM-DD"
  388. );
  389. if (body.startDate > body.endDate) {
  390. this.$message.warning({
  391. showClose: true,
  392. message: "起始日期不能大于截止日期,数据校验不通过!",
  393. });
  394. return;
  395. }
  396. }
  397. if (this.patientRegister.query.phone)
  398. body.phone = this.patientRegister.query.phone;
  399. if (this.patientRegister.query.idCardNo) {
  400. body.idNo = this.patientRegister.query.idCardNo;
  401. try {
  402. let sysParmId = "patient_register_query_idno";
  403. let sysParam = await postapi(
  404. "/api/app/SysParmValue/GetSysParmValueBySysParmId",
  405. { sysParmId }
  406. );
  407. // console.log('sysParam', sysParam)
  408. if (sysParam.data != "N") {
  409. body = {
  410. idNo: this.patientRegister.query.idCardNo,
  411. skipCount: this.loadOpts.skipCount,
  412. maxResultCount: this.loadOpts.maxResultCount,
  413. };
  414. }
  415. } catch (error) {
  416. console.log(error);
  417. }
  418. }
  419. if (this.patientRegister.query.patientNo)
  420. body = {
  421. patientNo: this.patientRegister.query.patientNo,
  422. skipCount: this.loadOpts.skipCount,
  423. maxResultCount: this.loadOpts.maxResultCount,
  424. };
  425. if (this.patientRegister.query.patientRegisterNo)
  426. body = {
  427. patientRegisterNo: this.patientRegister.query.patientRegisterNo,
  428. skipCount: this.loadOpts.skipCount,
  429. maxResultCount: this.loadOpts.maxResultCount,
  430. };
  431. // console.log("/api/app/patientregister/getlistinfilter", body);
  432. let upPhoto = "patient_register_read_idno_upPhoto"; // 是否读身份证查询更新照片
  433. let upPhotoParam = await postapi(
  434. "/api/app/SysParmValue/GetSysParmValueBySysParmId",
  435. { sysParmId: upPhoto }
  436. );
  437. let photo = this.patientRegister.photo;
  438. this.patientRegister.photo = "";
  439. postapi("/api/app/patientregister/getlistinfilter", body).then(
  440. async (res) => {
  441. if (res.code > -1) {
  442. // 刷新最大记录数
  443. this.loadOpts.totalCount = res.data.totalCount;
  444. let curLoad = res.data.items;
  445. // let oldCount = 0
  446. // 处理:
  447. // 1、分组/套餐 排序混乱的问题
  448. // 2、扫身份证查询时,无照片自动更新照片(参数控制)
  449. curLoad.forEach((e) => {
  450. // 1、分组/套餐 排序混乱的问题
  451. if (e.customerOrgId == this.dict.personOrgId) {
  452. e.groupPack = e.medicalPackageId;
  453. } else {
  454. e.groupPack = e.customerOrgGroupId;
  455. }
  456. // 2、扫身份证查询时,无照片自动更新照片(参数控制)
  457. if (upPhotoParam != "N" && photo) {
  458. if (!e.photo) {
  459. savePeoplePhoto(e.id, photo);
  460. }
  461. }
  462. });
  463. // 不是连续扫码时,需要判断是否分页查询(连续扫码不清原来的数据)
  464. console.log(
  465. "this.patientRegister.query",
  466. this.patientRegister.query.isSeries,
  467. this.patientRegister.query.patientRegisterNo
  468. );
  469. if (
  470. !(
  471. this.patientRegister.query.isSeries == "Y" &&
  472. this.patientRegister.query.patientRegisterNo
  473. )
  474. ) {
  475. if (body.skipCount == 0) {
  476. //查询
  477. this.tableData = [];
  478. }
  479. }
  480. this.tableData = this.tableData.concat(curLoad);
  481. // else {
  482. // // 懒加载 ,原数据集不用清空
  483. // oldCount = this.tableData.length
  484. // }
  485. // curLoad.forEach((e, index) => {
  486. // this.tableData.push(Object.assign({ index: Number(oldCount) + Number(index), choosed: false }, e))
  487. // })
  488. }
  489. }
  490. );
  491. },
  492. //滚动加载数据
  493. scrollFull() {
  494. this.dom = this.$refs['dataList'].bodyWrapper
  495. console.log('obj', this.dom)
  496. this.dom.addEventListener('scroll', async () => {
  497. // console.log('scrollTop',this.dom.scrollTop,'clientHeight',this.dom.clientHeight,'scrollHeight',this.dom.scrollHeight);
  498. if (this.dom.scrollTop + this.dom.clientHeight + 20 > this.dom.scrollHeight && !this.lazyLoading) {
  499. // 获取到的不是全部数据 当滚动到底部
  500. //console.log('scrollTop', obj.scrollTop, 'clientHeight', obj.clientHeight, 'scrollHeight', obj.scrollHeight);
  501. if (Number(this.loadOpts.skipCount) * Number(this.loadOpts.maxResultCount) >= Number(this.loadOpts.totalCount)) {
  502. this.lazyLoading = false
  503. } else {
  504. this.lazyLoading = true
  505. this.load()
  506. // this.dom.scrollTop = this.dom.scrollTop - 100
  507. }
  508. }
  509. })
  510. },
  511. btnExport(elId) {
  512. let tableDatas = deepCopy(this.tableData)
  513. tableDatas.forEach((e, index) => {
  514. if(e.completeFlag) e.completeFlag = this.ldddw(this.dict.completeFlag, "id", e.completeFlag, "displayName")
  515. if (e.sexId) e.sexId = dddw(this.dict.sex, "id", e.sexId, "displayName")
  516. if (e.medicalPackageId !== this.dict.personOrgId && e.customerOrgId === this.dict.personOrgId) {
  517. e.groupPack = e.medicalPackageName // dddw(this.dict.medicalPackage, "id", e.medicalPackageId, "displayName")
  518. } else if (e.medicalPackageId !== this.dict.personOrgId && e.customerOrgId !== this.dict.personOrgId) {
  519. e.groupPack = e.customerOrgGroupName // dddw(this.dict.customerOrgGroupAll, "id", e.customerOrgGroupId, "displayName")
  520. }
  521. if (e.idNo) e.idNo = e.idNo + '&'
  522. if (e.birthDate) e.birthDate = moment(e.birthDate).format("yyyy-MM-DD")
  523. })
  524. this.tableName = '体检表回收' + moment(new Date()).format('yyyyMMDDHHmmss') + '.xls'
  525. return tableDatas;
  526. },
  527. },
  528. //监听事件
  529. watch: {
  530. //触发查询事件
  531. "patientRegister.query.times"(newVal, oldVal) {
  532. if (newVal != oldVal) {
  533. //alert('触发查询事件')
  534. this.Query();
  535. }
  536. },
  537. },
  538. };
  539. </script>
  540. <style scoped>
  541. .listBtn {
  542. margin-top: 10px;
  543. }
  544. .btnClass {
  545. width: 100px;
  546. }
  547. .query {
  548. margin-right: 10px;
  549. font-size: 14px;
  550. color: #232748;
  551. font-weight: 400;
  552. font-family: "NotoSansSC-Regular";
  553. }
  554. .spanClass {
  555. font-size: 14px;
  556. padding: 0 2px 0 0;
  557. }
  558. </style>