瀏覽代碼

feat:静态数据&医疗领域store&递归树工具函数

yangfeng 3 年之前
父節點
當前提交
7b63015e7c
共有 4 個文件被更改,包括 81 次插入1 次删除
  1. 28 0
      src/assets/js/selector.js
  2. 3 1
      src/store/index.js
  3. 24 0
      src/store/medical.js
  4. 26 0
      src/utils/globalFunctions.js

+ 28 - 0
src/assets/js/selector.js

@@ -519,3 +519,31 @@ export const branchJson = [
   '渠道',
   '其他'
 ]
+
+// 医疗机构经营性质
+export const hospitalNatureExp = [
+  {
+    name: '全部',
+    code: '0',
+    level: '0',
+    children: []
+  },
+  {
+    name: '公立',
+    code: '1',
+    level: '1',
+    children: []
+  },
+  {
+    name: '私立',
+    code: '2',
+    level: '1',
+    children: []
+  },
+  {
+    name: '其他',
+    code: '3',
+    level: '1',
+    children: []
+  }
+]

+ 3 - 1
src/store/index.js

@@ -3,6 +3,7 @@ import Vuex from 'vuex'
 
 import user from './user'
 import forcast from './forcast'
+import medical from './medical'
 
 if (process.env.NODE_ENV !== 'production') {
   Vue.use(Vuex)
@@ -17,6 +18,7 @@ export default new Vuex.Store({
   getters: {},
   modules: {
     user,
-    forcast
+    forcast,
+    medical
   }
 })

+ 24 - 0
src/store/medical.js

@@ -0,0 +1,24 @@
+import { defaultLocalPageData } from '@/utils/'
+export default {
+  namespaced: true,
+  state: () => ({
+    // 医院等级
+    hospitalLevel: defaultLocalPageData('medical-login-clear-hospital-level', []),
+    // 医院类型
+    hospitalType: defaultLocalPageData('medical-login-clear-hospital-type', [])
+  }),
+  mutations: {
+    // 存储医院等级
+    setHospitalLevel (state, list) {
+      state.hospitalLevel = list
+      localStorage.setItem('medical-login-clear-hospital-level', JSON.stringify(state.hospitalLevel))
+    },
+    // 存储医院类型
+    setHospitalType (state, list) {
+      state.hospitalType = list
+      localStorage.setItem('medical-login-clear-hospital-type', JSON.stringify(state.hospitalType))
+    }
+  },
+  actions: {},
+  getters: {}
+}

+ 26 - 0
src/utils/globalFunctions.js

@@ -589,3 +589,29 @@ export function dateMatter(time, drag = 'normal') {
 
   return timeStr;
 }
+
+export function transData (jsonArr, idStr, pidStr, childrenStr) {
+  // 存放的最终结果树数组
+  const result = []
+  const id = idStr
+  const pid = pidStr
+  const children = childrenStr
+  const len = jsonArr.length
+  // 遍历得到以id为键名的对象(建立整棵树的索引)
+  const hash = {}
+  jsonArr.forEach(item => {
+    hash[item[id]] = item
+  })
+  for (let j = 0; j < len; j++) {
+    const jsonArrItem = jsonArr[j];
+    const hashItem = hash[jsonArrItem[pid]];
+    if (hashItem) {
+      // 如果当前项还没有children属性,则添加该属性并设置为空数组
+      !hashItem[children] && (hashItem[children] = [])
+      hashItem[children].push(jsonArrItem)
+    } else {
+      result.push(jsonArrItem)
+    }
+  }
+  return result
+}