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.

718 lines
33 KiB

3 years ago
2 years ago
3 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
8 months ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
8 months ago
3 weeks ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
3 weeks ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 month ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 weeks ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
1 year ago
2 months ago
1 month ago
1 year ago
1 year ago
1 year ago
4 weeks ago
1 month ago
6 days ago
19 hours ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 months ago
1 month ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. import Vue from "vue";
  2. import Vuex from "vuex";
  3. // import { getapi, postapi, putapi, deletapi } from "@/api/api";
  4. // import { arrayReduce } from "@/utlis/proFunc";
  5. Vue.use(Vuex);
  6. export default new Vuex.Store({
  7. state: {
  8. sysConfig: { apiurl: '' }, //
  9. pickerOptions: {
  10. disabledDate(time) {
  11. return time.getTime() > Date.now();
  12. },
  13. shortcuts: [{
  14. text: '今天',
  15. onClick(picker) {
  16. picker.$emit('pick', new Date());
  17. }
  18. }, {
  19. text: '昨天',
  20. onClick(picker) {
  21. const date = new Date();
  22. date.setTime(date.getTime() - 3600 * 1000 * 24);
  23. picker.$emit('pick', date);
  24. }
  25. }, {
  26. text: '一周前',
  27. onClick(picker) {
  28. const date = new Date();
  29. date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
  30. picker.$emit('pick', date);
  31. }
  32. }, {
  33. text: '半月前',
  34. onClick(picker) {
  35. const date = new Date();
  36. date.setTime(date.getTime() - 3600 * 1000 * 24 * 15);
  37. picker.$emit('pick', date);
  38. }
  39. }, {
  40. text: '一月前',
  41. onClick(picker) {
  42. const date = new Date();
  43. date.setTime(date.getTime() - 3600 * 1000 * 24 * 30);
  44. picker.$emit('pick', date);
  45. }
  46. }, {
  47. text: '三月前',
  48. onClick(picker) {
  49. const date = new Date();
  50. date.setTime(date.getTime() - 3600 * 1000 * 24 * 92);
  51. picker.$emit('pick', date);
  52. }
  53. }, {
  54. text: '半年前',
  55. onClick(picker) {
  56. const date = new Date();
  57. date.setTime(date.getTime() - 3600 * 1000 * 24 * 183);
  58. picker.$emit('pick', date);
  59. }
  60. }, {
  61. text: '一年前',
  62. onClick(picker) {
  63. const date = new Date();
  64. date.setTime(date.getTime() - 3600 * 1000 * 24 * 365);
  65. picker.$emit('pick', date);
  66. }
  67. }, {
  68. text: '三年前',
  69. onClick(picker) {
  70. const date = new Date();
  71. date.setTime(date.getTime() - 3600 * 1000 * 24 * 1096);
  72. picker.$emit('pick', date);
  73. }
  74. }]
  75. },
  76. changepassword: '', //用户密码
  77. set: "qqqq",
  78. importexcel: {
  79. },
  80. router: {
  81. path: '',
  82. },
  83. window: {
  84. pageHeight: 960, //页面高度
  85. pageWidth: 1920, //页面宽度
  86. pageHeaderHeight: 50, //container-header 高度
  87. pageMarginWidth: 10, //container-左右边距和
  88. pageMarginHeight: 10, //container-上下边距和
  89. cardHeaderHeight: 45, //card-header 高度
  90. shift: false, //是否按下 shift键
  91. ctrl: false, //是否按下 ctrl键
  92. export: false, //是否导出excel
  93. export2: false, //是否导出excel
  94. },
  95. elProgress: { //通用进度条相关参数
  96. display: false, //是否显示
  97. textInside: true,
  98. strokeWidth: 30,
  99. percentage: 0
  100. },
  101. customerOrg: {
  102. //体检单位设置
  103. oprStatus: '', //空,add,edit 三种状态
  104. customerOrgTree: [], //体检单位列表
  105. customerOrgTreeBak: [], //体检单位列表
  106. defaultExpandedKeys: [], //当前选中树的节点
  107. treeCurrentNodekey: '', //当前选中树的节点
  108. treeprops: {
  109. label: "displayName", //displayName
  110. value: "id",
  111. id: "id",
  112. children: "treeChildren",
  113. }, //树形组件的数据结构
  114. customerOrgId: "", //当前单位ID(可根据此值是否为空,判断是新增还是编辑)
  115. customerOrgRd: { id: "", isLock: "N", isActive: "Y", isLockBox: false, isActiveBox: true, }, //单个体检单位记录值
  116. customerOrgRegisterList: [{ id: 'uuid' }], //单位体检次数登记列表
  117. contactPersonList: [], //联系人列表
  118. contactMethodList: [], //联系方式列表
  119. orgEditStyle: '', //编辑表单样式
  120. orgDetailStyle: '', //体检次数样式
  121. orgDetailHeight: 300, //体检次数LIST表格高度
  122. personStyle: '', //联系人样式
  123. },
  124. //体检单位分组
  125. personnelUnit: {
  126. customerOrgGroupId: "",
  127. personnelgrouping: [], //人员分组
  128. id: "", //根据Id选择的数据
  129. form: { id: "" }, //列表每一项
  130. nogroupselected: [], //已选分组
  131. },
  132. //体检人员登记 add by pengjun
  133. patientRegister: {
  134. customerOrgs: [], // 体检单位列表(含个人)列表
  135. customerOrgTreeAll: [], //体检单位列表(含个人)树
  136. patientRegisterId: "", //当前人员ID(可根据此值是否为空,判断是新增还是编辑)
  137. patientRegisterTimes: 0, //体检人员登记窗口显示次数(弃用)
  138. addTimes: 0, //用于触发新增时初始化赋值
  139. saveTimes: 0, //用于体检登记时,触发分组调整保存
  140. photo: "/pic/Photo.jpg", //单独抽出,拍照时会更新
  141. cameraVisble: false, //拍照控件显示
  142. lisRequestVisble: false, //检验条码补打
  143. mergeAsbitemVisble: false, //合并项目
  144. patientRegisterRd: { id: "" }, //体检人员记录
  145. patientRegisterRdInit: {
  146. id: "", //id
  147. patientId: "00000000-0000-0000-0000-000000000000", //档案号ID 选择了档案就传档案号,未选就传00000-0000...
  148. patientNo: "", //档案号
  149. customerOrgId: null, //单位编号
  150. customerOrgGroupId: null, //分组
  151. medicalPackageId: null, //套餐
  152. patientName: "", //姓名
  153. birthDate: "", //字符串 如:2012-01-29
  154. sexId: "U", //性别 默认未知U
  155. age: null, //年龄
  156. jobCardNo: "", //工卡号
  157. medicalCardNo: "", //体检卡号
  158. maritalStatusId: "9", //婚姻状况 默认未知
  159. medicalTypeId: null, //体检类别
  160. personnelTypeId: null, //人员类别
  161. jobPost: "", //职务
  162. jobTitle: "", //职称
  163. photo: "/pic/Photo.jpg", //照片
  164. salesman: "", //介绍人
  165. sexHormoneTermId: null, //性激素期限
  166. isNameHide: "N", //隐藏姓名
  167. isPhoneFollow: "N", //电话随访
  168. isVip: "N", //vip客户
  169. remark: "", //
  170. isLock: "N", //是否锁住
  171. completeFlag: "1", //完成标志 0:预登记,1:未检,2:部份已检,3:已总检 【创建编辑时不操作】
  172. isMedicalStart: "N", //体检开始标志 【创建编辑时不操作】
  173. patientRegisterNo: "", //条码号 【创建编辑时不操作】
  174. medicalTimes: 1, //条码号 【创建编辑时不操作】
  175. medicalCenterId: null, //体检中心
  176. address: "", //地址
  177. email: "", //email
  178. idNo: "", //身份证号
  179. telephone: "", //电话
  180. mobileTelephone: "", //手机号
  181. nationId: null, //民族编号
  182. postalCode: "", //邮编
  183. creatorId: null,
  184. creationTime: "",
  185. lastModificationTime: "",
  186. lastModifierId: null,
  187. }, //体检人员记录(初始值)一般创建用
  188. customerOrgGroupAsb: [], //选中分组所包含的组合项目
  189. medicalPackageAsb: [], //选中套餐所包含的组合项目
  190. customerOrgGroupChange: 0, //控制体检列表记录切换时,0 无需触发更换分组操作
  191. medicalPackageChange: 0, //控制体检列表记录切换时,0 无需触发更换套餐操作
  192. query: {
  193. dateType: 'creationTime', //登记日期
  194. dateRange: null, //日期范围
  195. startDate: null,
  196. endDate: null,
  197. containRefuse: true, //包含弃检项目
  198. times: 0, //触发查询次数
  199. customerOrgId: "", //体检单位ID
  200. CustomerOrgParentId: "", //单位父级ID
  201. customerOrgFlag: true, //单位作为查询条件
  202. customerOrgRegister: { id: '' }, //单位体检次数
  203. customerOrgGroupIds: [], //体检分组
  204. checkAsbs: null,
  205. patientRegisterNo: '',
  206. pacsNo: '',
  207. lisNo: '',
  208. patientName: '', //姓名
  209. sex: '', //性别
  210. idCardNo: '', //身份证号
  211. isReportPrint:'', // 报告是否打印
  212. isSeries: 'N',
  213. isSmsComplete: "N",
  214. isPhoneComplete: "N",
  215. diagnosisLevelId: [],
  216. medicalTypeIds: [],
  217. completeFlags: [],
  218. medicalConclusionId:[],
  219. personnelTypeIds:[],
  220. isRecoverGuide:''
  221. }, //查询条件
  222. customerOrgGroup: [], //分组(针对单位)
  223. patientRegisterAbs: [], //人员已选组合项目
  224. prList: [], //体检登记记录
  225. },
  226. //体检医生诊台
  227. doctorCheck: {
  228. prBase: {
  229. id: '', //体检登记ID
  230. }, //人员体检登记显示基本信息
  231. RegisterCheckEdit: {
  232. id: '',
  233. checkDoctorId: null,
  234. checkDate: '',
  235. completeFlag: '0',
  236. LastModificationTime: '',
  237. LastModifierId: null,
  238. isLock: 'N',
  239. isAudit: 'N',
  240. auditorUserId: null,
  241. auditTime: '',
  242. }, //组合项目详情
  243. checkRequestNo:'', // 医生诊台当前检查条码号
  244. doctorCheckDialogVisible: false,
  245. RegisterCheckList: [], //人员体检 组合项目列表
  246. RegisterCheck: {}, //单组合项目记录
  247. RegisterCheckId: '', //
  248. checkItemList: [], //组合项目包含的明细项目
  249. checkItem: {}, //单项目记录
  250. preResult: {}, // 上次结果
  251. checkSummaryList: [], //小结
  252. checkSuggestionList: [], //建议
  253. singleDetailedProject: {}, //单明细项目记录
  254. combinationCriticalValue: true //是否组合项目危急弹窗
  255. },
  256. //总检医生
  257. sumDoctorCheck: {
  258. sumDoctorCheckDialogVisible: false,
  259. sumDiagnosisVisible: false,
  260. sumPREdit: {}, //总检医生时间等相关信息(sumPREditInit)
  261. summaryList: [], //综述
  262. suggestionList: [], //建议
  263. diagnosisList: [], //诊断
  264. historySummary:'', //历次综述(出现在报告中的)
  265. },
  266. report: {
  267. dialogCusOrgOCX: false, //通用单位查询控件显示
  268. dataCusOrgOCX: [], //通用单位查询的数据
  269. dialogAsbitemOCX: false,
  270. dataAsbitemOCX: [], //通用组合项目查询的数据
  271. },
  272. diagnosis: {
  273. dialogCusOrgOCX: false, //通用单位查询控件显示
  274. dataCusOrgOCX: [], //通用单位查询的数据
  275. dialogAsbitemOCX: false,
  276. dataAsbitemOCX: [], //通用诊断查询的数据
  277. },
  278. project: {
  279. dialogCusOrgOCX: false, //通用单位查询控件显示
  280. dataCusOrgOCX: [], //通用单位查询的数据
  281. dialogAsbitemOCX: false,
  282. dataAsbitemOCX: [], //通用项目查询的数据
  283. },
  284. //公共字典数据(量大的数据字典推荐用 indexedDB ) add by pengjun
  285. dict: {
  286. personOrgId: "00000000-0000-0000-0000-000000000001", //个人体检单位ID
  287. organization: [], //体检中心
  288. sex: [], //性别(人员档案用)
  289. forSex: [], //适用性别
  290. medicalType: [], //体检类别
  291. personnelType: [], //人员类别
  292. maritalStatus: [], //婚姻状况
  293. forMaritalStatus: [{ id: '0', displayName: '未婚' }, { id: '1', displayName: '已婚' }, { id: 'A', displayName: '全部' }], //适用婚姻
  294. sexHormoneTerm: [], //性激素期
  295. nation: [], //民族
  296. birthPlace: [], //籍惯 ,出生地
  297. diagnosisLevel: [], //诊断级别
  298. completeFlag: [
  299. //体检完成标志
  300. { id: "0", displayName: "预登记" },
  301. { id: "1", displayName: "正式登记" },
  302. { id: "2", displayName: "部份已检" },
  303. { id: "3", displayName: "已总检" },
  304. ],
  305. checkCompleteFlag: [
  306. //体检完成标志
  307. { id: "0", displayName: "未检" },
  308. { id: "1", displayName: "已检" },
  309. { id: "2", displayName: "弃检" },
  310. ],
  311. sumAudit: [
  312. //总检审核
  313. { id: "Y", displayName: "已审核" },
  314. { id: "N", displayName: "未审核" }
  315. ],
  316. payType: [
  317. //支付方式,比如是0自费、2免费、1单位支付
  318. { id: "0", displayName: "个人支付" },
  319. { id: "1", displayName: "单位支付" },
  320. { id: "2", displayName: "赠送" },
  321. ],
  322. cardMode: [
  323. { id: "0", displayName: "充值卡" },
  324. { id: "1", displayName: "积分卡" },
  325. ],
  326. cardType: [], //会员卡类别
  327. billFlag: [
  328. { id: "0", displayName: "收费" },
  329. { id: "1", displayName: "退费" },
  330. { id: "2", displayName: "充值" },
  331. ],
  332. checkTypeFlag: [
  333. { id: "0", displayName: "检验" },
  334. { id: "1", displayName: "功能检查" },
  335. ],
  336. menuType: [
  337. { id: "0", displayName: "仅菜单节点" },
  338. { id: "1", displayName: "菜单及页面" },
  339. { id: "2", displayName: "仅页面节点" },
  340. { id: "3", displayName: "按钮或事件" },
  341. ],
  342. lineModeFlag: [
  343. { id: "0", displayName: "不换行" },
  344. { id: "1", displayName: "换行" },
  345. { id: "2", displayName: "继承项目类别换行属性" },
  346. ],
  347. qztlType: [
  348. { id: "0", displayName: "高原" },
  349. { id: "1", displayName: "健康" }
  350. ],
  351. occCheckType: [
  352. { id: "0", displayName: "上岗前" },
  353. { id: "1", displayName: "在岗期间" },
  354. { id: "2", displayName: "离岗时" },
  355. { id: "3", displayName: "离岗后" },
  356. ],
  357. degree: [
  358. { id: "/", displayName: "/" },
  359. { id: "-", displayName: "-" },
  360. { id: "+-", displayName: "+-" },
  361. { id: "+", displayName: "+" },
  362. { id: "++", displayName: "++" },
  363. { id: "+++", displayName: "+++" },
  364. { id: "++++", displayName: "++++" },
  365. { id: "+++++", displayName: "+++++" },
  366. ],
  367. poison: [], //毒害因素
  368. poisonList: [], //毒害因素 不分组
  369. symptom: [], //症状
  370. medicalPackage: [], //所有套餐
  371. customerOrgGroupAll: [], //所有分组,不限单位,不限次数
  372. customerOrg: [], //所有单位,非树结构
  373. payMode: [], //支付方式
  374. itemTypeTree: [], //体检类别 树结构
  375. asbItemAll: [], //所有组合项目
  376. asbItem: [], //显示的 未选组合项目
  377. asbItemQuick: [], //显示的 未选组合项目(供快速选择)
  378. diagnosisLevel: [], //诊断级别
  379. medicalCenter: [], // 体检中心
  380. roomType: [
  381. { id: "0", displayName: "普通" },
  382. { id: "1", displayName: "采血室" }
  383. ],
  384. queueFlag: [
  385. { id: "0", displayName: "候诊" },
  386. { id: "1", displayName: "已呼" },
  387. { id: "2", displayName: "过号" },
  388. ],
  389. },
  390. // 项目特有的对象数据 project private
  391. projPriv: {
  392. idNos: {
  393. Code: "Success", //读取成功/失败
  394. Name: "刘滔",
  395. Sex: "男",
  396. Nation: "汉",
  397. Birthday: "1986-01-22",
  398. Address: "湖南省长沙县春华镇九木村新元组367号",
  399. DepartmentIC: "长沙县公安局",
  400. StartDateIC: "2019-11-25",
  401. EndDateIC: "2039-11-25",
  402. IDCode: "430121198601223693",
  403. Photo: "base64编码字符串"
  404. }, //读取身份证信息
  405. },
  406. // 多层数据传递时使用(统一归结在此,便于管理)
  407. dataTransOpts: {
  408. // 强制刷新(如触发数据刷新的ID值没有变化时,但也想强制刷新数据:
  409. // S--single 单记录刷新,M--more 多记录刷新,D--detail
  410. // 当父子组件都在存在多记录刷新时 父组件用 M,子组件用 D
  411. refresh: {
  412. adp_roles: { S: 0, M: 0 }, // 角色
  413. adp_users: { S: 0, M: 0 }, // 用户
  414. asbitem: { S: 0, M: 0 }, // 组合项目
  415. customer_org: { S: 0, M: 0 }, // 体检单位
  416. contact_method: { S: 0, M: 0 }, // 联系方式
  417. contact_person: { S: 0, M: 0 }, // 体检单位联系人
  418. customer_org_register: { S: 0, M: 0 }, // 单位体检次数
  419. customer_org_group: { S: 0, M: 0 }, // 单位分组
  420. customer_org_group_detail: { S: 0, M: 0 }, // 单位分组包含的组合项目明细
  421. charge: { S: 0, M: 0 }, // 收费
  422. menu_info: { S: 0, M: 0 }, // 菜单与页面
  423. lis_request: { S: 0, M: 0 }, // 检验申请(条码)
  424. patient_register: { S: 0, M: 0 }, // 体检人员记录
  425. register_check_asbitem: { S: 0, M: 0, D: 0, OnlyRefreshAsbitem: 0 }, // 体检人员登记的项目(合并前)
  426. register_check: { S: 0, M: 0 }, // 体检人员登记的项目(合并后)
  427. register_check_item: { S: 0, M: 0 }, // 体检人员登记的明细项目
  428. role_menu_info: { S: 0, M: 0 }, // 角色对应的菜单
  429. sum_diagnosis: { S: 0, M: 0 }, // 总检诊断
  430. sumDoctor: { S: 0, M: 0 }, // 总检--综述 触发强制刷新 (sumDoctor.M 合并包含:综述、建议、对比、历史等,不包含总检诊断)
  431. room: { S: 0, M: 0 }, // 房间
  432. room_detail: { S: 0, M: 0 }, // 房间关联的组合项目
  433. common_table: { S: 0, M: 0 }, // 公共表
  434. common_table_type: { S: 0, M: 0 }, //
  435. third_medical_center: { S: 0, M: 0 }, //
  436. third_medical_center_booking_date: { S: 0, M: 0 }, //
  437. bigtext_result_type: { S: 0, M: 0 }, //
  438. bigtext_result_template: { S: 0, M: 0 },
  439. },
  440. //表当前数据(单条记录 S--single)
  441. tableS: {
  442. adp_roles: { id: '' }, // 角色
  443. adp_users: { id: '' }, // 用户
  444. asbitem: { id: '' }, // 组合项目
  445. customer_org: { id: '', parent_id: '' }, // 体检单位
  446. contact_method: { id: '' }, // 联系方式
  447. contact_person: { id: '' }, // 体检单位联系人
  448. customer_org_register: { id: '' }, // 单位体检次数 pid/单位一级节点
  449. customer_org_group: { id: '' }, // 单位分组
  450. customer_org_group_detail: { id: '' }, // 单位分组包含的组合项目明细
  451. charge: { id: '' }, // 收费
  452. menu_info: { id: '' }, // 菜单与页面
  453. lis_request: { id: '' }, // 检验申请(条码)
  454. patient_register: { id: '', patientRegisterNo: '' }, // 体检人员记录
  455. register_check_asbitem: { id: '' }, // 体检人员登记的项目(合并前)
  456. register_check: { id: '' }, // 体检人员登记的项目(合并后)
  457. register_check_item: { id: '' }, // 体检人员登记的明细项目
  458. role_menu_info: { id: '' }, // 角色对应的菜单
  459. sum_diagnosis: { id: '' }, // 总检诊断
  460. patient_occupational_disease: { id: '', patientRegisterId: '' }, // 职业病基本信息
  461. occModifiable: { //虚拟职业病允许修改表
  462. isPatientOccupationalDiseaseUpdate: "N", //基本信息
  463. isPatientPoisonsUpdate: "N", //接害因素
  464. isPatientPastMedicalHistorysUpdate: "N", // 既往病史
  465. isPatientOccupationalMedicalHistorysUpdate: "N", // 职业病史
  466. isPatientOccupationalHistorysUpdate: "N", // 职业史
  467. isPatientSymptomsUpdate: "N", // 症状
  468. isOccSummary: 'N', // 修改总检结论
  469. },
  470. appoint_patient_register: {}, // 预约登记数据
  471. room: { id: '' }, // 房间
  472. room_detail: { id: '' }, // 房间关联组合项目
  473. common_table: { id: '' }, // 公共表
  474. common_table_type: { id: '' }, // 公共表
  475. third_medical_center: { id: '' }, // 公共表
  476. third_medical_center_booking_date: { id: '' }, // 公共表
  477. bigtext_result_type: { id: '' },
  478. bigtext_result_template: { id: '' }
  479. },
  480. //表当前数据(多条记录 M--more)
  481. tableM: {
  482. adp_roles: [], // 角色
  483. adp_users: [], // 用户
  484. asbitem: [], // 组合项目
  485. customer_org: [], // 体检单位
  486. contact_method: [], // 联系方式
  487. contact_person: [], // 体检单位联系人
  488. customer_org_register: [], // 单位体检次数
  489. customer_org_group: [], // 单位分组
  490. customer_org_group_detail: [], // 单位分组包含的组合项目明细
  491. charge: [], // 收费
  492. menu_info: [], // 菜单与页面
  493. lis_request: [], // 检验申请(条码)
  494. patient_register: [], // 体检人员记录
  495. register_check_asbitem: [], // 体检人员登记的项目(合并前)
  496. register_check: [], // 体检人员登记的项目(合并后)
  497. register_check_item: [], // 体检人员登记的明细项目
  498. role_menu_info: [], // 角色对应的菜单
  499. sum_diagnosis: [], // 总检诊断
  500. patient_poison: [], // 病人毒害因素
  501. patient_occupational_history: [], // 病人职业史
  502. patient_symptom: [], // 病人症状
  503. patient_past_medical_history: [], // 既往病史
  504. patient_occupational_medical_history: [], // 职业病史
  505. appoint_register_asbitem: [], // 预约所选组合项目
  506. room: [], // 房间
  507. room_detail: [], // 房间关联组合项目
  508. common_table: [], // 公共表
  509. },
  510. plus: {
  511. PatientRegisterEditQuery: 0, // 更新查询条件
  512. clearPatientRegisterQuery: 0, // 清空人员登记界面查询条件(重新赋值体检单位)
  513. PatientRegisterEditGroupBatch: 0, // 刷新批量调整分组窗口
  514. PatientRegisterEditItemBatch: 0, // 刷新批量调整项目窗口
  515. PatientRegisterEditDoctorBatch: 0, // 刷新批量调整项目检查医生窗口
  516. PatientRegisterEditMedicalTypeBatch:0, // 刷新批量调整体检类别窗口
  517. PatientRegisterEditPersonnelTypeBatch:0, // 刷新批量调整人员类别窗口
  518. PatientRegisterEditRemarkBatch:0, // 刷新批量调整备注窗口
  519. PatientRegisterForChoose: 0, // 体检人员查询窗口
  520. OccDisease: 0, // 职业病
  521. WebBooking: 0, // 网上预约
  522. WebBookingMzak: 0, // 人寿预约
  523. ImportOrgData: 0, // 导入企业(青藏公司)数据
  524. queue: 0, // 排队信息
  525. doctorAutoNext:0, //触发医生诊台保存结果后自动下一个功能
  526. },
  527. // 登记时复制分组与套餐用
  528. copyGroup:{
  529. itemTypeIds: '', //被选中的项目类别ID
  530. asbItem: [], //左侧显示的未选组合项目
  531. asbItemAll: [], //所有未选组合项目
  532. },
  533. doctorCutPics:[], // 医生诊台剪切图片用
  534. sumCutRows:[], // 总检剪切诊断用
  535. },
  536. // 弹窗控制
  537. dialogWin: {
  538. ContactPersonEdit: false, // 联系人
  539. CustomerOrgGroupEdit: false, // 单位分组 新增/编辑
  540. charge: false, // 收费窗口
  541. PatientList: false, // 体检人员档案列表
  542. PatientRegisterEdit: false, // 体检人员登记 新增/编辑
  543. PatientRegisterForChoose: false, // 体检人员登记列表
  544. PatientRegisterEditItemBatch: false, //批量调整项目
  545. PatientRegisterEditGroupBatch: false, //批量调整分组
  546. PatientRegisterEditDoctorBatch: false, // 批量调整检查项目医生
  547. PatientRegisterEditMedicalTypeBatch: false, // 批量调整体检类别
  548. PatientRegisterEditPersonnelTypeBatch:false, // 刷新批量调整人员类别窗口
  549. PatientRegisterEditRemarkBatch:false, // 刷新批量调整备注窗口
  550. MenuPageSet: false, // 设置角色菜单权限
  551. LocalConfig: false, // 设置窗口
  552. AsbChargeRequest: false, // 收费申请
  553. OccDisease: false, // 职业病
  554. Label: false, // 补打条码
  555. WebBooking: false, // 网上预约
  556. WebBookingMzak: false, // 网上预约--人寿
  557. ImportOrgData: false, // 导入企业(青藏公司)数据
  558. RoomEdit: false, //房间
  559. queue: false, // 排队信息
  560. FollowCriticalCheck: false, // 危急值
  561. CommonTableTypeEdit: false, //公共表类别
  562. CommonTableEdit: false, //公共表
  563. PacsTemplate: false, // pacs结果模版
  564. ThirdMedicalCenterEdit: false,
  565. BigtextResultTypeEdit: false,
  566. BigtextResultTemplateEdit: false,
  567. }
  568. },
  569. getters: {
  570. },
  571. mutations: {
  572. //同步更改状态
  573. //通用设置 state 值 option {key:,value:} add by pengjun
  574. setData(state, option) {
  575. let array = option.key.split(".");
  576. switch (array.length) {
  577. case 1:
  578. state[array[0]] = option.value;
  579. break;
  580. case 2:
  581. state[array[0]][array[1]] = option.value;
  582. break;
  583. case 3:
  584. state[array[0]][array[1]][array[2]] = option.value;
  585. break;
  586. case 4:
  587. state[array[0]][array[1]][array[2]][array[3]] = option.value;
  588. break;
  589. }
  590. },
  591. doctorCheckPrBaseInit(state) {
  592. state.doctorCheck.prBase = {
  593. id: '', //体检登记ID
  594. patientRegisterNo: '', //条码号
  595. patientNo: '', //档案号
  596. patientName: '', //姓名
  597. sexId: '', //性别
  598. medicalTimes: '', //体检次数
  599. maritalStatusId: '', //婚姻
  600. creationTime: '', //体检日期
  601. customerOrgParentName: '', //单位
  602. customerOrgName: '', //部门
  603. medicalTypeId: '', //体检类别
  604. personnelTypeId: '', //人员类别
  605. nationId: '', //民族
  606. mobileTelephone: '', //手机
  607. } //人员体检登记显示基本信息
  608. },
  609. sumPREditInit(state) {
  610. state.dataTransOpts.tableS.patient_register = {
  611. id: '', //体检登记ID
  612. completeFlag: '', //完成状态
  613. summaryDoctor: '', //总检医生
  614. summaryDate: '', //总检日期
  615. isAudit: '', //审核状态
  616. auditDoctor: '', //审核医生
  617. auditDate: '', //审核日期
  618. isLock: '', //锁定状态
  619. patientId: '', //人员档案ID
  620. } //人员体检登记显示基本信息
  621. },
  622. },
  623. actions: {
  624. // //获取体检人员所选组合项目
  625. // getPatientRegisterAbs(context, id) {
  626. // //console.log(`vuex getPatientRegisterAbs /api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, context.state.dict.asbItemAll)
  627. // if (id) {
  628. // getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`).then(
  629. // (res) => {
  630. // console.log(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, res)
  631. // if (res.code == 1) {
  632. // let patientRegisterAbs = []
  633. // res.data.forEach(e => {
  634. // e.standTotal = e.amount * e.standardPrice
  635. // e.total = e.amount * e.chargePrice
  636. // patientRegisterAbs.push(e)
  637. // });
  638. // context.commit("setData", {
  639. // key: "patientRegister.patientRegisterAbs",
  640. // value: patientRegisterAbs,
  641. // });
  642. // context.commit("setData", {
  643. // key: "dict.asbItem",
  644. // value: arrayReduce(
  645. // [...context.state.dict.asbItem], [...context.state.patientRegister.patientRegisterAbs],
  646. // "id=asbitemId"
  647. // ),
  648. // });
  649. // context.commit("setData", {
  650. // key: "dict.asbItemQuick",
  651. // value: arrayReduce([...context.state.dict.asbItemAll], [...context.state.patientRegister.patientRegisterAbs], "id=asbitemId"),
  652. // });
  653. // //console.log(`getPatientRegisterAbs ${id}`,context.state.dict.asbItemQuick)
  654. // }
  655. // }
  656. // );
  657. // } else {
  658. // context.commit("setData", {
  659. // key: "patientRegister.patientRegisterAbs",
  660. // value: [],
  661. // });
  662. // context.commit("setData", {
  663. // key: "dict.asbItem",
  664. // value: [...context.state.dict.asbItemAll],
  665. // });
  666. // context.commit("setData", {
  667. // key: "dict.asbItemQuick",
  668. // value: [...context.state.dict.asbItemAll],
  669. // });
  670. // }
  671. // },
  672. // //获取单位分组 /api/app/customer-org-group/in-customer-org-id/3a0c0444-d7a0-871f-4074-19faf1655caf
  673. // getCustomerOrgGroup(context, customerOrgld) {
  674. // console.log(`vuex /api/app/customer-org-group/in-customer-org-id/${customerOrgld}`);
  675. // getapi(`/api/app/customer-org-group/in-customer-org-id/${customerOrgld}`)
  676. // .then((res) => {
  677. // console.log("vuex getCustomerOrgGroup", res.data);
  678. // if (res.code == 1) {
  679. // //this.patientRegister.customerOrgGroup = res.data
  680. // context.commit("setData", {
  681. // key: "patientRegister.customerOrgGroup",
  682. // value: res.data,
  683. // });
  684. // }
  685. // });
  686. // },
  687. },
  688. modules: {},
  689. });