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.

766 lines
36 KiB

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