浏览代码

更新枣泉:1.0.5;E信管理:1.0.2

tiandewen 3 年之前
父节点
当前提交
e2e7540568
共有 100 个文件被更改,包括 11045 次插入2853 次删除
  1. 2 2
      App.vue
  2. 138 129
      common/production-http/production-api.js
  3. 292 202
      common/vmeitime-http/api.js
  4. 2 2
      common/vmeitime-http/interface.js
  5. 二进制
      components/t-i-common/icon/01.png
  6. 二进制
      components/t-i-common/icon/02.png
  7. 二进制
      components/t-i-common/icon/03.png
  8. 二进制
      components/t-i-common/icon/04.png
  9. 二进制
      components/t-i-common/icon/05.png
  10. 二进制
      components/t-i-common/icon/06.png
  11. 二进制
      components/t-i-common/icon/07.png
  12. 二进制
      components/t-i-common/icon/08.png
  13. 二进制
      components/t-i-common/icon/icon.png
  14. 52 24
      components/t-i-common/t-i-common.vue
  15. 1 1
      components/t-m-info/t-m-info.vue
  16. 60 0
      components/t-p-meihuajing/t-p-meihuajing.vue
  17. 二进制
      components/t-p-ningdongyunying/img/bg.jpg
  18. 2 3
      components/t-w-ningdongyunying/t-w-ningdongyunying.vue
  19. 11 3
      components/t-w-zaoquan/t-w-zaoquan.vue
  20. 3 3
      manifest.json
  21. 164 181
      pages.json
  22. 116 73
      pages/index/bars_sort/bars_sort.vue
  23. 二进制
      pages/index/bars_sort/icon/01.png
  24. 二进制
      pages/index/bars_sort/icon/02.png
  25. 二进制
      pages/index/bars_sort/icon/03.png
  26. 二进制
      pages/index/bars_sort/icon/04.png
  27. 二进制
      pages/index/bars_sort/icon/05.png
  28. 二进制
      pages/index/bars_sort/icon/06.png
  29. 二进制
      pages/index/bars_sort/icon/07.png
  30. 二进制
      pages/index/bars_sort/icon/08.png
  31. 196 95
      pages/index/record/record.vue
  32. 46 19
      pages/origanization/communication/origanization/origanization.vue
  33. 二进制
      pages/origanization/communication/origanization/personal_information/icon/top.png
  34. 489 0
      pages/origanization/communication/origanization/personal_information/personal_information.vue
  35. 42 19
      pages/origanization/communication/origanization/search/search.vue
  36. 二进制
      pages/production/personnel_orientation/icon/00.png
  37. 二进制
      pages/production/personnel_orientation/icon/01.png
  38. 208 111
      pages/production/personnel_orientation/personnel_orientation.vue
  39. 1 1
      pages/tabbar/index/index.vue
  40. 4 2
      pages/workbench/duty_information/duty_information.vue
  41. 7 2
      pages/workbench/h5/h5.vue
  42. 735 0
      pages/workbench/meeting_arrangements/detail/detail.vue
  43. 二进制
      pages/workbench/meeting_arrangements/detail/icon/icon_1.png
  44. 二进制
      pages/workbench/meeting_arrangements/detail/icon/icon_2.png
  45. 二进制
      pages/workbench/meeting_arrangements/detail/icon/icon_3.png
  46. 二进制
      pages/workbench/meeting_arrangements/detail/icon/icon_4.png
  47. 二进制
      pages/workbench/meeting_arrangements/detail/icon/join.png
  48. 127 0
      pages/workbench/meeting_arrangements/detail/should_list/should_list.vue
  49. 96 0
      pages/workbench/meeting_arrangements/meeting_arrangements.vue
  50. 2 2
      unpackage/dist/build/app-plus/app-config-service.js
  51. 2 2
      unpackage/dist/build/app-plus/app-service.js
  52. 1 1
      unpackage/dist/build/app-plus/app-view.js
  53. 二进制
      unpackage/dist/build/app-plus/components/t-i-common/icon/01.png
  54. 二进制
      unpackage/dist/build/app-plus/components/t-i-common/icon/02.png
  55. 二进制
      unpackage/dist/build/app-plus/components/t-i-common/icon/03.png
  56. 二进制
      unpackage/dist/build/app-plus/components/t-i-common/icon/04.png
  57. 二进制
      unpackage/dist/build/app-plus/components/t-i-common/icon/05.png
  58. 二进制
      unpackage/dist/build/app-plus/components/t-i-common/icon/06.png
  59. 二进制
      unpackage/dist/build/app-plus/components/t-i-common/icon/07.png
  60. 二进制
      unpackage/dist/build/app-plus/components/t-i-common/icon/08.png
  61. 二进制
      unpackage/dist/build/app-plus/components/t-p-ningdongyunying/img/bg.jpg
  62. 1 1
      unpackage/dist/build/app-plus/manifest.json
  63. 二进制
      unpackage/dist/build/app-plus/pages/index/bars_sort/icon/01.png
  64. 二进制
      unpackage/dist/build/app-plus/pages/index/bars_sort/icon/02.png
  65. 二进制
      unpackage/dist/build/app-plus/pages/index/bars_sort/icon/03.png
  66. 二进制
      unpackage/dist/build/app-plus/pages/index/bars_sort/icon/04.png
  67. 二进制
      unpackage/dist/build/app-plus/pages/index/bars_sort/icon/05.png
  68. 二进制
      unpackage/dist/build/app-plus/pages/index/bars_sort/icon/06.png
  69. 二进制
      unpackage/dist/build/app-plus/pages/index/bars_sort/icon/07.png
  70. 二进制
      unpackage/dist/build/app-plus/pages/index/bars_sort/icon/08.png
  71. 二进制
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/top.png
  72. 二进制
      unpackage/dist/build/app-plus/pages/production/personnel_orientation/icon/00.png
  73. 二进制
      unpackage/dist/build/app-plus/pages/production/personnel_orientation/icon/01.png
  74. 二进制
      unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/icon_1.png
  75. 二进制
      unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/icon_2.png
  76. 二进制
      unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/icon_3.png
  77. 二进制
      unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/icon_4.png
  78. 二进制
      unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/join.png
  79. 2 2
      unpackage/dist/dev/app-plus/app-config-service.js
  80. 4869 1810
      unpackage/dist/dev/app-plus/app-service.js
  81. 3373 162
      unpackage/dist/dev/app-plus/app-view.js
  82. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/01.png
  83. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/02.png
  84. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/03.png
  85. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/04.png
  86. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/05.png
  87. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/06.png
  88. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/07.png
  89. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/08.png
  90. 二进制
      unpackage/dist/dev/app-plus/components/t-i-common/icon/icon.png
  91. 二进制
      unpackage/dist/dev/app-plus/components/t-p-ningdongyunying/img/bg.jpg
  92. 1 1
      unpackage/dist/dev/app-plus/manifest.json
  93. 二进制
      unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/01.png
  94. 二进制
      unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/02.png
  95. 二进制
      unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/03.png
  96. 二进制
      unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/04.png
  97. 二进制
      unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/05.png
  98. 二进制
      unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/06.png
  99. 二进制
      unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/07.png
  100. 0 0
      unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/08.png

+ 2 - 2
App.vue

@@ -5,10 +5,10 @@
 			// 启动初始化
 
 			// 煤矿鉴别-名称
-			uni.setStorageSync('mine_code', 'ningdongyunying');
+			// uni.setStorageSync('mine_code', 'ningdongyunying');
 			// uni.setStorageSync('mine_code', 'shicaocun');
 			// uni.setStorageSync('mine_code', 'meihuajing');
-			// uni.setStorageSync('mine_code', 'zaoquan');
+			uni.setStorageSync('mine_code', 'zaoquan');
 
 		},
 		onShow: function() {

+ 138 - 129
common/production-http/production-api.js

@@ -21,12 +21,12 @@ export const test = (data) => {
 		//判断返回状态 执行相应操作
 		return response;
 	}
-    return http.request({
+	return http.request({
 		baseUrl: 'https://unidemo.dcloud.net.cn/',
-        url: 'ajax/echo/text?name=uni-app',
+		url: 'ajax/echo/text?name=uni-app',
 		dataType: 'text',
-        data,
-    })
+		data,
+	})
 }
 
 // 默认全部导出  import api from '@/common/vmeitime-http/'
@@ -40,7 +40,7 @@ export const test = (data) => {
 // 	this.$api.getNavs({
 // 		noncestr: Date.now(),
 // 		user:123456,
-		
+
 // 	}).then((res)=>{
 // 		this.res = '请求结果 : ' + JSON.stringify(res);
 // 		console.log('request success', res)
@@ -86,77 +86,77 @@ export const test = (data) => {
 // 人员定位
 // 当前人员统计
 export const personnel_people_now = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/people/now',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/people/now',
+		data,
+	})
 }
 // 职能科室人数统计
 export const personnel_office_total = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/office/total',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/office/total',
+		data,
+	})
 }
 // 基层区队人数统计
 export const personnel_basic_total = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/basic/total',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/basic/total',
+		data,
+	})
 }
 // 今日各部门人数统计
 export const personnel_depart_today = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/depart/today',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/depart/today',
+		data,
+	})
 }
 // 下井人员查询
 export const personnel_people_search = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/people/search',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/people/search',
+		data,
+	})
 }
 // 部门下井人员列表
 export const personnel_depart_people = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/depart/people',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/depart/people',
+		data,
+	})
 }
 
 // 人员定位统计
 // 下井月份列表
 export const personnel_downwell_monthlist_once = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/downwell/monthlist/once',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/downwell/monthlist/once',
+		data,
+	})
 }
 // 当月下井信息
 export const personnel_downwell_month_once = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/downwell/month/once',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/downwell/month/once',
+		data,
+	})
 }
 // 当月下井记录
 export const personnel_downwell_month_info = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/downwell/month/info',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/downwell/month/info',
+		data,
+	})
 }
 
 
@@ -166,19 +166,19 @@ export const personnel_downwell_month_info = (data) => {
 
 // 人员轨迹
 export const personnel_downwell_once_info = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/downwell/once/info',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/downwell/once/info',
+		data,
+	})
 }
 // 定位信息
 export const personnel_people_info = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/personnel/people/info',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/personnel/people/info',
+		data,
+	})
 }
 
 
@@ -186,91 +186,91 @@ export const personnel_people_info = (data) => {
 
 // 模拟量统计
 export const jt_safety_simulation_total = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/jt/safety/simulation/total',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/jt/safety/simulation/total',
+		data,
+	})
 }
 // 开关量统计
 export const jt_safety_sluice_total = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/jt/safety/sluice/total',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/jt/safety/sluice/total',
+		data,
+	})
 }
 // 开关量模拟量查询
 export const jt_safety_info_search = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/jt/safety/info/search',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/jt/safety/info/search',
+		data,
+	})
 }
 // 监测类型详情
 export const jt_safety_info_total = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/jt/safety/info/total',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/jt/safety/info/total',
+		data,
+	})
 }
 // 监测详情
 export const jt_safety_info_detail = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/jt/safety/info/detail',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/jt/safety/info/detail',
+		data,
+	})
 }
 // 安全监测报警列表
 export const jt_safety_Safety_bj_info = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/jt/safety/Safety/bj/info',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/jt/safety/Safety/bj/info',
+		data,
+	})
 }
 
 // 通风管理
 
 export const jt_safety_aerator_list = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/jt/safety/aerator/list',
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/jt/safety/aerator/list',
+		data,
+	})
 }
 
 // 井口计量
 // 今日产量
 export const coalmine_days_output = (data) => {
-    return http.request({
-        url: '/coalmine/days/output',
-        data,
-    })
+	return http.request({
+		url: '/coalmine/days/output',
+		data,
+	})
 }
 // 工作面列表
 export const coalmine_working_face = (data) => {
-    return http.request({
-        url: '/coalmine/working/face',
-        data,
-    })
+	return http.request({
+		url: '/coalmine/working/face',
+		data,
+	})
 }
 // 工作面详情
 export const coalmine_working_face_info = (data) => {
-    return http.request({
-        url: '/coalmine/working/face/info',
-        data,
-    })
+	return http.request({
+		url: '/coalmine/working/face/info',
+		data,
+	})
 }
 // 产量趋势
 export const coalmine_one_trend = (data) => {
-    return http.request({
-        url: '/coalmine/one/trend',
-        data,
-    })
+	return http.request({
+		url: '/coalmine/one/trend',
+		data,
+	})
 }
 
 
@@ -367,33 +367,42 @@ export const coalmine_trend = (data) => {
 
 // 人员定位统计
 export const personnel_mineall_total = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/personnel/mineall/total',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/personnel/mineall/total',
+		data,
+	})
 }
 
 // 风险预控
 
 // 矿列表
 export const danger_mine = (data) => {
-    return http.request({
-        url: '/danger/mine',
-        data,
-    })
+	return http.request({
+		url: '/danger/mine',
+		data,
+	})
 }
 // 隐患列表
 export const danger_depart = (data) => {
-    return http.request({
-        url: '/danger/depart',
-        data,
-    })
+	return http.request({
+		url: '/danger/depart',
+		data,
+	})
 }
 // 隐患详情
 export const danger_depart_info = (data) => {
-    return http.request({
-        url: '/danger/depart/info',
-        data,
-    })
-}
+	return http.request({
+		url: '/danger/depart/info',
+		data,
+	})
+}
+
+// 获取人员定位信息正常状态
+export const messageUpdateStatus = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/personnel/people/messageUpdateStatus',
+		data,
+	})
+}

+ 292 - 202
common/vmeitime-http/api.js

@@ -21,12 +21,12 @@ export const test = (data) => {
 		//判断返回状态 执行相应操作
 		return response;
 	}
-    return http.request({
+	return http.request({
 		baseUrl: 'https://unidemo.dcloud.net.cn/',
-        url: 'ajax/echo/text?name=uni-app',
+		url: 'ajax/echo/text?name=uni-app',
 		dataType: 'text',
-        data,
-    })
+		data,
+	})
 }
 
 // 默认全部导出  import api from '@/common/vmeitime-http/'
@@ -40,7 +40,7 @@ export const test = (data) => {
 // 	this.$api.getNavs({
 // 		noncestr: Date.now(),
 // 		user:123456,
-		
+
 // 	}).then((res)=>{
 // 		this.res = '请求结果 : ' + JSON.stringify(res);
 // 		console.log('request success', res)
@@ -58,48 +58,48 @@ export const test = (data) => {
 
 // 请求首页分类链接
 export const home_link = (data) => {
-    return http.request({
-        url: '/home/links',
-        data,
-    })
+	return http.request({
+		url: '/home/links',
+		data,
+	})
 }
 // 请求首页导航链接
 export const homeNav_list = (data) => {
-    return http.request({
-        url: '/homeNav/list',
-        data,
-    })
+	return http.request({
+		url: '/homeNav/list',
+		data,
+	})
 }
 
 
 // 登录
 export const login = (data) => {
-    return http.request({
+	return http.request({
 		method: "POST",
-        url: '/oauth/token',
-        data,
-    })
+		url: '/oauth/token',
+		data,
+	})
 }
 
 // 首页
 // 首页公告
 export const notice_list = (data) => {
 	return http.request({
-		url:'/notice/list',
+		url: '/notice/list',
 		data
 	})
 }
 // 首页轮播图
 export const scrollImg_list = (data) => {
 	return http.request({
-		url:'/scrollImg/list',
+		url: '/scrollImg/list',
 		data
 	})
 }
 // 首页新闻动态 
 export const article_list = (data) => {
 	return http.request({
-		url:'/article/list',
+		url: '/article/list',
 		data
 	})
 }
@@ -107,165 +107,165 @@ export const article_list = (data) => {
 // 消息推送
 // 消息列表
 export const message_list = (data) => {
-    return http.request({
-        url: '/message/list',
-        data,
-    })
+	return http.request({
+		url: '/message/list',
+		data,
+	})
 }
 // 标记已读
 export const message_read = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/message/read',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/message/read',
+		data,
+	})
 }
 // 未读消息数
 export const message_unread_num = (data) => {
-    return http.request({
-        url: '/message/unread_num',
-        data,
-    })
+	return http.request({
+		url: '/message/unread_num',
+		data,
+	})
 }
 
 // 梅花井 业务审核管理
 // 业务审核列表
 export const worksheet_check_listmei = (data) => {
-    return http.request({
-        url: '/worksheet/check/listmei',
-        data,
-    })
+	return http.request({
+		url: '/worksheet/check/listmei',
+		data,
+	})
 }
 // 业务审核详情
 export const worksheet_checkmei = (data) => {
-    return http.request({
-        url: '/worksheet/checkmei/' + data.id,
-        data,
-    })
+	return http.request({
+		url: '/worksheet/checkmei/' + data.id,
+		data,
+	})
 }
 // 提交审核
 export const worksheet_checkmei_tijiao = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/worksheet/checkmei/' + data.id,
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/worksheet/checkmei/' + data.id,
+		data,
+	})
 }
 // 我的业务列表
 export const worksheet_apply_listmei = (data) => {
-    return http.request({
-        url: '/worksheet/apply/listmei',
-        data,
-    })
+	return http.request({
+		url: '/worksheet/apply/listmei',
+		data,
+	})
 }
 //我的业务撤回 
 export const worksheet_orderdel = (data) => {
-    return http.request({
-		method:"POST",
-        url: '/worksheet/orderdel/' + data.id,
-        data,
-    })
+	return http.request({
+		method: "POST",
+		url: '/worksheet/orderdel/' + data.id,
+		data,
+	})
 }
 //我的业务详情 
 export const worksheet_applymei = (data) => {
-    return http.request({
-        url: '/worksheet/applymei/' + data.id,
-        data,
-    })
+	return http.request({
+		url: '/worksheet/applymei/' + data.id,
+		data,
+	})
 }
 
 // 业务申请
 // 业务选择列表
 export const worksheet_classify_list = (data) => {
-    return http.request({
-        url: '/worksheet/classify/list',
-        data,
-    })
+	return http.request({
+		url: '/worksheet/classify/list',
+		data,
+	})
 }
 // 可申请业务列表
 export const worksheet_design_list = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/worksheet/design/list',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/worksheet/design/list',
+		data,
+	})
 }
 // 可申请业务详情
 export const worksheet_designmei = (data) => {
-    return http.request({
-        url: '/worksheet/designmei/' + data.id,
-        data,
-    })
+	return http.request({
+		url: '/worksheet/designmei/' + data.id,
+		data,
+	})
 }
 // 强制浏览限制
 export const worksheet_force_query = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/worksheet/force/query',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/worksheet/force/query',
+		data,
+	})
 }
 
 
 // 我的
 // 上传头像
 export const user_avatar_upload = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/user/avatar/upload',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/user/avatar/upload',
+		data,
+	})
 }
 // 发送验证码
 export const sms_vcode = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/sms/vcode',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/sms/vcode',
+		data,
+	})
 }
 
 // 忘记密码,不需要token的发送验证码
 export const sms_send_v_code = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/sms/send_v_code',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/sms/send_v_code',
+		data,
+	})
 }
 // 绑定手机号
 export const user_mobile_set = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/user/mobile/set',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/user/mobile/set',
+		data,
+	})
 }
 // 修改密码
 export const user_repassword = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/user/repassword',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/user/repassword',
+		data,
+	})
 }
 
 // 忘记密码
 export const user_forget_password = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/user/forget_password',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/user/forget_password',
+		data,
+	})
 }
 
 // 上传手写签名
 export const worksheet_baseimg = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/worksheet/baseimg',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/worksheet/baseimg',
+		data,
+	})
 }
 
 
@@ -274,161 +274,251 @@ export const worksheet_baseimg = (data) => {
 
 // 生产公告
 export const dispatch_bulletin = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/dispatch/bulletin',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/dispatch/bulletin',
+		data,
+	})
 }
 
 // 模拟量统计
 export const safety_simulation_total = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/safety/simulation/total',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/safety/simulation/total',
+		data,
+	})
 }
 
 
 // 用户权限设置
 export const workbench_leader_mailbox_check = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/workbench/leader_mailbox/check',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/workbench/leader_mailbox/check',
+		data,
+	})
 }
 
 // 隐患排查待办数量
 export const troubleshoot_getDBNum = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/troubleshoot/getDBNum',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/troubleshoot/getDBNum',
+		data,
+	})
 }
 
 // 工作台
 export const workbench_index = (data) => {
-    return http.request({
-        url: '/workbench/index',
-        data,
-    })
+	return http.request({
+		url: '/workbench/index',
+		data,
+	})
 }
 
 // 工作台
 // 发票助手
 export const workbench_invoice_info = (data) => {
-    return http.request({
-        url: '/workbench/invoice/info',
-        data,
-    })
+	return http.request({
+		url: '/workbench/invoice/info',
+		data,
+	})
 }
 // 值班信息
 // 获取值班月份 所有人
 export const notice_all_list_month = (data) => {
-    return http.request({
-        url: '/notice/all_list/month',
-        data,
-    })
+	return http.request({
+		url: '/notice/all_list/month',
+		data,
+	})
 }
 // 获取值班信息-所有人
 export const notice_all_list_list = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/notice/all_list/list',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/notice/all_list/list',
+		data,
+	})
 }
 // 获取值班月份-个人
 export const notice_my_list_month = (data) => {
-    return http.request({
-        url: '/notice/my_list/month',
-        data,
-    })
+	return http.request({
+		url: '/notice/my_list/month',
+		data,
+	})
 }
 // 获取值班信息-个人
 export const notice_my_list_list = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/notice/my_list/list',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/notice/my_list/list',
+		data,
+	})
 }
 
 // 获取部门列表
 export const section_getGroupList = (data) => {
-    return http.request({
-        url: '/section/getGroupList',
-        data,
-    })
+	return http.request({
+		url: '/section/getGroupList',
+		data,
+	})
 }
 // 获取单个部门人员列表
 export const user_list = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/user/list',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/user/list',
+		data,
+	})
 }
 
 
 // 积分
 // 添加员工积分
 export const staff_integral_increase = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/staff/integral/increase',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/staff/integral/increase',
+		data,
+	})
 }
 //查询员工积分
 export const staff_integral_query = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/staff/integral/query',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/staff/integral/query',
+		data,
+	})
 }
 // 查询当日员工积分获取情况
 export const staff_integral_list = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/staff/integral/list',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/staff/integral/list',
+		data,
+	})
 }
 
 // 搜索全矿人员
 export const user_search = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/user/search',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/user/search',
+		data,
+	})
 }
 // 获取个人信息
 export const user_getUinfo = (data) => {
-    return http.request({
-        url: '/user/getUinfo',
-        data,
-    })
-}	
+	return http.request({
+		url: '/user/getUinfo',
+		data,
+	})
+}
 
 // 下井记录 重名人员列表
 export const user_getPersonnelListByName = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/user/getPersonnelListByName',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/user/getPersonnelListByName',
+		data,
+	})
 }
 // 绑定人名和下井信息
 export const user_updateUserMessage = (data) => {
-    return http.request({
-		method:'POST',
-        url: '/user/updateUserMessage',
-        data,
-    })
+	return http.request({
+		method: 'POST',
+		url: '/user/updateUserMessage',
+		data,
+	})
+}
+
+
+// 首页 获取常用功能链接
+export const getCommonMenuList = (data) => {
+	return http.request({
+		method: 'POST',
+		url: '/workbench/common_menu/getCommonMenuList',
+		data,
+	})
+}
+// 添加常用链接
+export const addCommonMenu = (data) => {
+	return http.request({
+		method: 'POST',
+		url: '/workbench/common_menu/addCommonMenu',
+		data,
+	})
+}
+// 修改排序及删除
+export const editCommonMenu = (data) => {
+	return http.request({
+		method: 'POST',
+		url: '/workbench/common_menu/editCommonMenu',
+		data,
+	})
+}
+
+
+// 会议安排 三会一课
+// 会议列表
+export const conference_list = (data) => {
+	return http.request({
+		url: '/conference/list',
+		data,
+	})
+}
+// 会议详情
+export const conference_one = (data) => {
+	return http.request({
+		url: '/conference/one',
+		data,
+	})
+}
+// 应到人
+export const conference_staff_list = (data) => {
+	return http.request({
+		url: '/conference/staff/list',
+		data,
+	})
+}
+
+// 获取投票详情
+export const conference_vote_list = (data) => {
+	return http.request({
+		url: '/conference/vote/list',
+		data,
+	})
+}
+// 获取状态
+export const get_staff_status = (data) => {
+	return http.request({
+		url: '/conference/staff/status',
+		data,
+	})
+}
+
+// 签到
+export const conference_staff_status = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/conference/staff/status',
+		data,
+	})
+}
+
+// 获取投票参数
+export const conference_staff_vote = (data) => {
+	return http.request({
+		url: '/conference/staff/vote',
+		data,
+	})
+}
+// 投票接口
+export const conference_staff_vote_take = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/conference/staff/vote/take',
+		data,
+	})
 }

+ 2 - 2
common/vmeitime-http/interface.js

@@ -34,8 +34,8 @@ http.delete('user/1').then((res)=>{
 export default {
 	config: {
 		// baseUrl: "http://colliery.nxjiewei.com/api",
-		baseUrl: "http://ningdongyunying.nxjiewei.com:8011/api",
-		// baseUrl: "http://zaoquan.nxjiewei.com:8011/api",
+		// baseUrl: "http://ningdongyunying.nxjiewei.com:8011/api",
+		baseUrl: "http://zaoquan.nxjiewei.com:8011/api",
 		header: {
 			"Content-Type":"multipart/form-data",
 			'Content-Type':'application/json;charset=UTF-8',

二进制
components/t-i-common/icon/01.png


二进制
components/t-i-common/icon/02.png


二进制
components/t-i-common/icon/03.png


二进制
components/t-i-common/icon/04.png


二进制
components/t-i-common/icon/05.png


二进制
components/t-i-common/icon/06.png


二进制
components/t-i-common/icon/07.png


二进制
components/t-i-common/icon/08.png


二进制
components/t-i-common/icon/icon.png


+ 52 - 24
components/t-i-common/t-i-common.vue

@@ -1,17 +1,24 @@
 <template>
-	<view class="content">
+	<view class="content" v-if="list.length > 0">
 		<view class="title">
-			<view class="text">常用功能</view>
+			<view class="text">我的常用</view>
 			<view class="bars" @click="go_bars()">
 				<uni-icons type="bars" color="#999" size="18"></uni-icons>
 			</view>
 		</view>
 		<view class="list">
-			<view class="item" v-for="(item,index) in 7" :key="index">
+			<view class="item" v-for="(item,index) in list" :key="index" @click="go_record(item.page_id)">
 				<view class="icon">
-					<image src="./icon/icon.png" mode=""></image>
+					<image v-if="index%7 == 1" src="./icon/01.png" mode=""></image>
+					<image v-if="index%7 == 2" src="./icon/02.png" mode=""></image>
+					<image v-if="index%7 == 3" src="./icon/03.png" mode=""></image>
+					<image v-if="index%7 == 4" src="./icon/04.png" mode=""></image>
+					<image v-if="index%7 == 5" src="./icon/05.png" mode=""></image>
+					<image v-if="index%7 == 6" src="./icon/06.png" mode=""></image>
+					<image v-if="index%7 == 7" src="./icon/07.png" mode=""></image>
+					<image v-if="index%7 == 0" src="./icon/08.png" mode=""></image>
 				</view>
-				<view class="name">通知公告</view>
+				<view class="name">{{item.page_name}}</view>
 			</view>
 		</view>
 	</view>
@@ -22,13 +29,32 @@
 		name: "t-i-common",
 		data() {
 			return {
-
+				list: []
 			};
 		},
-		methods:{
-			go_bars(){
+		created() {
+			this.get_link()
+		},
+		methods: {
+			go_bars() {
+				uni.navigateTo({
+					url: "../../index/bars_sort/bars_sort"
+				})
+			},
+
+			get_link() {
+				this.$api.getCommonMenuList({
+
+				}).then((res) => {
+					console.log(res.data)
+
+					this.list = res.data.data
+				})
+			},
+			
+			go_record(pageId){
 				uni.navigateTo({
-					url:"../../index/bars_sort/bars_sort"
+					url:"../../index/record/record?pageId=" + pageId + "&mine_code=" + uni.getStorageSync('mine_code')
 				})
 			}
 		}
@@ -48,15 +74,15 @@
 		display: flex;
 		align-items: baseline;
 		justify-content: space-between;
-	
+
 		.text {
 			font-size: 36rpx;
 		}
-	
+
 		.bars {
 			width: 100rpx;
 			text-align: right;
-	
+
 		}
 	}
 
@@ -66,29 +92,31 @@
 
 		.item {
 			margin-top: 30rpx;
-			margin-right: 25rpx;
-			width: 120rpx;
 
-			float: left;
+			display: flex;
+			align-items: center;
+
+			height: 90rpx;
 
 			.icon {
-				width: 120rpx;
-				text-align: center;
+				width: 40rpx;
+				margin-right: 30rpx;
 
 				image {
-					width: 78rpx;
-					height: 78rpx;
+					display: block;
+					width: 40rpx;
+					height: 40rpx;
 				}
 			}
 
 			.name {
-				text-align: center;
-				font-size: 26rpx;
+				width: 620rpx;
+				line-height: 90rpx;
+				font-size: 28rpx;
+
+				border-bottom: 1rpx solid #DBDBDB;
 			}
 		}
 
-		.item:nth-child(5n) {
-			margin-right: 0;
-		}
 	}
 </style>

+ 1 - 1
components/t-m-info/t-m-info.vue

@@ -3,7 +3,7 @@
 		<view class="user" @click="go_information()">
 			<view class="left">
 				<view class="img">
-					<image v-if="user.avatar" :src="user.avatar" mode=""></image>
+					<image v-if="user.avatar" :src="user.avatar" mode="aspectFill"></image>
 					<view class="avatar" v-if="!user.avatar" :style="{backgroundColor:bgColor[1]}">{{user.name.split('').pop()}}</view>
 				</view>
 				<view class="info">

+ 60 - 0
components/t-p-meihuajing/t-p-meihuajing.vue

@@ -1,5 +1,15 @@
 <template>
 	<view class="content">
+		<view class="item_box" style="background-color: #214269;"
+			@click="go_zdhxt('http://webdevelop.nxjiewei.com/assets/html/meihuajing/zongtu','梅花井总图')">
+			<view class="img">
+				<image src="../t-p-icon/icon_10.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">梅花井巷道图</view>
+				<view class="num"></view>
+			</view>
+		</view>
 		<view class="item_box" style="background-color: #638BD5;" @click="go_production_report()">
 			<view class="img">
 				<image src="../t-p-icon/icon_2.png" mode=""></image>
@@ -81,6 +91,56 @@
 				<view class="tip">697泵房</view>
 			</view>
 		</view>
+		<view class="item_box" style="background-color: #2873FF;"
+			@click="go_zdhxt('http://webdevelop.nxjiewei.com/assets/html/meihuajing/11bf','MeiHuaJing_11BengFang')">
+			<view class="img">
+				<image src="../t-p-icon/icon_8.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">排水系统</view>
+				<view class="tip">11泵房</view>
+			</view>
+		</view>
+		
+		<view class="item_box" style="background-color: #8BC8DA;"
+			@click="go_zdhxt('http://webdevelop.nxjiewei.com/assets/html/meihuajing/yf','MeiHuaJing_YaFengXiTong')">
+			<view class="img">
+				<image src="../t-p-icon/icon_9.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">压风制氮</view>
+				<view class="tip">压风系统</view>
+			</view>
+		</view>
+		<view class="item_box" style="background-color: #8BC8DA;"
+			@click="go_zdhxt('http://webdevelop.nxjiewei.com/assets/html/meihuajing/zd','MeiHuaJing_ZhiDanXiTong')">
+			<view class="img">
+				<image src="../t-p-icon/icon_9.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">压风制氮</view>
+				<view class="tip">制氮系统</view>
+			</view>
+		</view>
+		<view class="item_box" style="background-color: #D3D5D8;"
+			@click="go_zdhxt('http://webdevelop.nxjiewei.com/assets/html/meihuajing/dljc','MeiHuaJing_DianLiJianCe')">
+			<view class="img">
+				<image src="../t-p-icon/icon_6.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">电力监控</view>
+				<view class="tip">供电系统总图</view>
+			</view>
+		</view>
+		<view class="item_box" style="background-color: #9FD4FF;"
+			@click="go_zdhxt('http://webdevelop.nxjiewei.com/assets/html/meihuajing/hxsc','MeiHuaJing_HuanXingShuiCang')">
+			<view class="img">
+				<image src="../t-p-icon/icon_11.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">环形水仓</view>
+			</view>
+		</view>
 	</view>
 </template>
 

二进制
components/t-p-ningdongyunying/img/bg.jpg


+ 2 - 3
components/t-w-ningdongyunying/t-w-ningdongyunying.vue

@@ -113,9 +113,8 @@
 							url:"../../workbench/duty_information/duty_information"
 						})
 					}else if (link.indexOf("/workBench/huiyiList") != -1) {
-						uni.showToast({
-							icon: "none",
-							title: "暂时没有会议"
+						uni.navigateTo({
+							url:"../../workbench/meeting_arrangements/meeting_arrangements"
 						})
 					}
 

+ 11 - 3
components/t-w-zaoquan/t-w-zaoquan.vue

@@ -112,9 +112,12 @@
 							url:"../../workbench/duty_information/duty_information"
 						})
 					}else if(link.indexOf("/workBench/huiyiList") != -1){
-						uni.showToast({
-							icon:"none",
-							title:"暂时没有会议"
+						// uni.showToast({
+						// 	icon:"none",
+						// 	title:"暂时没有会议"
+						// })
+						uni.navigateTo({
+							url:"../../workbench/meeting_arrangements/meeting_arrangements"
 						})
 					}else{
 						uni.showToast({
@@ -188,6 +191,11 @@
 						uni.navigateTo({
 							url:"../../workbench/gridding/gridding"
 						})
+					}else if(link.indexOf("/workBench/evaluate") != -1){
+						console.log("干部评测")
+						uni.navigateTo({
+							url:"../../workbench/h5/h5?mine_code=zaoquan&workBench=pingce"
+						})
 					}
 				}
 				

+ 3 - 3
manifest.json

@@ -1,8 +1,8 @@
 {
-    "name" : "E信管理",
-    "appid" : "__UNI__0C12F60",
+    "name" : "智慧枣泉",
+    "appid" : "__UNI__4B520D3",
     "description" : "",
-    "versionName" : "1.0.1",
+    "versionName" : "1.0.5",
     "versionCode" : "100",
     "transformPx" : false,
     /* 5+App特有相关 */

+ 164 - 181
pages.json

@@ -216,7 +216,8 @@
 		}, {
 			"path": "pages/index/record/record",
 			"style": {
-				"navigationBarTitleText": ""
+				// "navigationBarTitleText": "",
+				"navigationStyle": "custom"
 			}
 
 		}, {
@@ -280,170 +281,168 @@
 				"navigationBarTitleText": "发票助手"
 			}
 
+		}, {
+			"path": "pages/workbench/duty_information/duty_information",
+			"style": {
+				"navigationBarTitleText": "值班信息"
+			}
+
+		}, {
+			"path": "pages/index/search/search",
+			"style": {
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/origanization/communication/origanization/search/search",
+			"style": {
+				"navigationBarTitleText": "组织架构"
+			}
+
+		}, {
+			"path": "pages/origanization/communication/origanization/my_department/my_department",
+			"style": {
+				"navigationBarTitleText": "我的部门"
+			}
+
+		}, {
+			"path": "pages/index/integral/integral",
+			"style": {
+				"navigationBarTitleText": "积分"
+			}
+
+		}, {
+			"path": "pages/index/integral/detail/detail",
+			"style": {
+				"navigationBarTitleText": "积分明细"
+			}
+
+		}, {
+			"path": "pages/workbench/gridding/gridding",
+			"style": {
+				"navigationBarTitleText": " "
+			}
+
+		}
+
+		, {
+			"path": "pages/my/business-audit/business-audit",
+			"style": {
+				"navigationBarTitleText": "工单审核"
+			}
+
+		}, {
+			"path": "pages/my/business-audit/chakan/chakan",
+			"style": {
+				"navigationBarTitleText": ""
+			}
+
+		}, {
+			"path": "pages/my/business-audit/shenhe/shenhe",
+			"style": {
+				"navigationBarTitleText": ""
+			}
+
+		}, {
+			"path": "pages/my/business-my/business-my",
+			"style": {
+				"navigationBarTitleText": "我的工单"
+			}
+
+		}, {
+			"path": "pages/my/business-my/chakan/chakan",
+			"style": {
+				"navigationBarTitleText": ""
+			}
+
+		}, {
+			"path": "pages/workbench/business_classfication/business_classfication",
+			"style": {
+				"navigationBarTitleText": ""
+			}
+
+		}, {
+			"path": "pages/workbench/business_classfication/apply/apply",
+			"style": {
+				"navigationBarTitleText": " "
+			}
+
+		}, {
+			"path": "pages/my/signature/signature",
+			"style": {
+				"navigationBarTitleText": "手写签名"
+			}
+
+		}, {
+			"path": "pages/my/personal_information/personal_information",
+			"style": {
+				"navigationBarTitleText": "个人信息"
+			}
+
+		}, {
+			"path": "pages/production/zaoquan/zidonghua_list/zidonghua_list",
+			"style": {
+				"navigationBarTitleText": ""
+			}
+
+		}, {
+			"path": "pages/production/zaoquan/zidonghua_list/detail/detail",
+			"style": {
+				"navigationBarTitleText": ""
+			}
+
+		}, {
+			"path": "pages/workbench/downhole_statistics_user/downhole_statistics_user",
+			"style": {
+				"navigationBarTitleText": "下井记录"
+			}
+
+		}, {
+			"path": "pages/index/record/record-browse/record-browse",
+			"style": {
+				"navigationBarTitleText": "浏览记录"
+			}
+
+		}, {
+			"path": "pages/ningdongyunying/production_map/production_map",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/index/bars_sort/bars_sort",
+			"style": {
+				"navigationBarTitleText": "常用功能排序"
+			}
+
+		}, {
+			"path": "pages/my/cloud_disk/cloud_disk",
+			"style": {
+				"navigationBarTitleText": "我的云盘"
+			}
+
+		}, {
+			"path": "pages/ningdongyunying/h5/h5",
+			"style": {
+				"navigationBarTitleText": " "
+			}
+
+		}, {
+			"path": "pages/origanization/communication/origanization/personal_information/personal_information",
+			"style": {
+				"navigationBarTitleText": "个人信息"
+			}
+
+		}, {
+			"path": "pages/workbench/meeting_arrangements/meeting_arrangements",
+			"style": {
+				"navigationBarTitleText": "会议安排"
+			}
+
 		}
 	    ,{
-            "path" : "pages/workbench/duty_information/duty_information",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "值班信息"
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/search/search",
-            "style" :                                                                                    
-            {
-                "navigationStyle":"custom"
-            }
-            
-        }
-        ,{
-            "path" : "pages/origanization/communication/origanization/search/search",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "组织架构"
-            }
-            
-        }
-        ,{
-            "path" : "pages/origanization/communication/origanization/my_department/my_department",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的部门"
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/integral/integral",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "积分"
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/integral/detail/detail",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "积分明细"
-            }
-            
-        }
-        ,{
-            "path" : "pages/workbench/gridding/gridding",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": " "
-            }
-            
-        }
-        
-        ,{
-            "path" : "pages/my/business-audit/business-audit",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "工单审核"
-            }
-            
-        }
-        ,{
-            "path" : "pages/my/business-audit/chakan/chakan",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": ""
-            }
-            
-        }
-        ,{
-            "path" : "pages/my/business-audit/shenhe/shenhe",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": ""
-            }
-            
-        }
-        ,{
-            "path" : "pages/my/business-my/business-my",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的工单"
-            }
-            
-        }
-        ,{
-            "path" : "pages/my/business-my/chakan/chakan",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": ""
-            }
-            
-        }
-        ,{
-            "path" : "pages/workbench/business_classfication/business_classfication",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": ""
-            }
-            
-        }
-        ,{
-            "path" : "pages/workbench/business_classfication/apply/apply",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": " "
-            }
-            
-        }
-        ,{
-            "path" : "pages/my/signature/signature",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "手写签名"
-            }
-            
-        }
-        ,{
-            "path" : "pages/my/personal_information/personal_information",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "个人信息"
-            }
-            
-        }
-        ,{
-            "path" : "pages/production/zaoquan/zidonghua_list/zidonghua_list",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": ""
-            }
-            
-        }
-        ,{
-            "path" : "pages/production/zaoquan/zidonghua_list/detail/detail",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": ""
-            }
-            
-        }
-        ,{
-            "path" : "pages/workbench/downhole_statistics_user/downhole_statistics_user",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "下井记录"
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/record/record-browse/record-browse",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "浏览记录"
-            }
-            
-        }
-        ,{
-            "path" : "pages/ningdongyunying/production_map/production_map",
+            "path" : "pages/workbench/meeting_arrangements/detail/detail",
             "style" :                                                                                    
             {
                 "navigationBarTitleText": "",
@@ -452,26 +451,10 @@
             
         }
         ,{
-            "path" : "pages/index/bars_sort/bars_sort",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "常用功能排序"
-            }
-            
-        }
-        ,{
-            "path" : "pages/my/cloud_disk/cloud_disk",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "我的云盘"
-            }
-            
-        }
-        ,{
-            "path" : "pages/ningdongyunying/h5/h5",
+            "path" : "pages/workbench/meeting_arrangements/detail/should_list/should_list",
             "style" :                                                                                    
             {
-                "navigationBarTitleText": " "
+                "navigationBarTitleText": "签到详情"
             }
             
         }

+ 116 - 73
pages/index/bars_sort/bars_sort.vue

@@ -14,15 +14,24 @@
 		*/ 
 		-->
 		<!-- 当前属性设置 isLongTouch关闭长按拖动 isAutoScroll开启自动滚动 feedbackGeneratorState开启触感反馈 rowHeight行高55 -->
-		<HM-dragSorts :list="list" :isLongTouch="false" :isAutoScroll="true" :feedbackGeneratorState="true"  :rowHeight="55" @change="change" @confirm="confirm" @onclick="onclick" >
+		<HM-dragSorts :list="list" :isLongTouch="false" :isAutoScroll="true" :feedbackGeneratorState="true"
+			:rowHeight="55" @change="change" @confirm="confirm" @onclick="onclick">
 			<template v-slot:rowContent="{row}">
 				<view class="row">
-					<image v-if="row.icon" class="icon" :src="row.icon"></image>
-					<text class="text">{{row.name}}</text>
+					<!-- <image v-if="row.icon" class="icon" :src="row.icon"></image> -->
+					<image v-if="row.index%7 == 1" class="icon" src="./icon/01.png" mode=""></image>
+					<image v-if="row.index%7 == 2" class="icon" src="./icon/02.png" mode=""></image>
+					<image v-if="row.index%7 == 3" class="icon" src="./icon/03.png" mode=""></image>
+					<image v-if="row.index%7 == 4" class="icon" src="./icon/04.png" mode=""></image>
+					<image v-if="row.index%7 == 5" class="icon" src="./icon/05.png" mode=""></image>
+					<image v-if="row.index%7 == 6" class="icon" src="./icon/06.png" mode=""></image>
+					<image v-if="row.index%7 == 7" class="icon" src="./icon/07.png" mode=""></image>
+					<image v-if="row.index%7 == 0" class="icon" src="./icon/08.png" mode=""></image>
+					<text class="text">{{row.page_name}}</text>
 				</view>
 			</template>
-		</HM-dragSorts>	
-		
+		</HM-dragSorts>
+
 	</view>
 </template>
 <script>
@@ -38,73 +47,107 @@
 					  
 					n.最后,组件你下载了,代码你也看了,不给个五星好评,我可要打人了啊  (╬ ̄皿 ̄)=○  ヽ(#`Д´)ノ
 				*/
-				list: [
-					{
-						"name": "常用应用1", 
-						"icon": "https://cdn.colorhub.me/ySJOhzQwb6w596c0lDqLQkzET8-ygzR7wsjL83Zzgj0/rs:fill:280:280:0/g:sm/bG9jYWw6Ly8vNmUv/ODcvYTAxMjg4YjVj/N2I1ZTJhOGQ0NmFl/NWU5ODMzNmY0YjFm/NDBhNmU4Ny5qcGVn.jpg", 
-					},
-					{
-						"name": "常用应用2",
-						"icon": "https://cdn.colorhub.me/zu3g7Ra09-XfSrAWZBmnG2zKNtUj2iTb-pPa0UmBOmM/rs:fill:280:280:0/g:sm/bG9jYWw6Ly8vY2Uv/OWIvYTE0YmE1ODE0/NTk1NzFkZDBjZmVm/NWJkNWRlMmQ2Nzhj/YTVkY2U5Yi5qcGVn.jpg"
-					},
-					{
-						"name": "常用应用3",
-						"icon": "https://cdn.colorhub.me/gwKooJQs_cuEcYPAXki4mIj0QQokmfoK9F7CcnylPY4/rs:fill:280:280:0/g:sm/bG9jYWw6Ly8vNGQv/NTUvY2Y4Njc1ZTdi/ZWRkYjgzMWQzMWEx/MjUxY2U2Y2FjZmE3/NmU5NGQ1NS5qcGVn.jpg"
-					},
-					{
-						"name": "常用应用(0001)",
-						"icon": "https://cdn.colorhub.me/nxoruPZz2k8PIvdAOR7RPo_kI_o87nj9CEksLl_KUSE/rs:fill:280:280:0/g:sm/bG9jYWw6Ly8vNzIv/YWQvZmY2NzYzNWNh/ZGU3NTM1NTA5MzI0/MzAwYmI0M2QzZmNm/MDNkNzJhZC5qcGVn.jpg"
-					},
-					{
-						"name": "常用应用(4401)",
-						"icon": "https://cdn.colorhub.me/RBhjyJQzsDku2m0dCRcAp-OAuvg1ACu6AA7DWLgKRu0/rs:auto:280:0:0/g:ce/bG9jYWw6Ly8vMzcv/M2QvNTU3MzA4NzQy/OTA5YjIwOTExMDI3/N2ZlMmRiNjYyMTVk/YmJiMzczZC5qcGVn.jpg"
-					},
-					{
-						"name": "常用应用(7223)",
-						"icon": "https://cdn.colorhub.me/l33TcVYcCQvkB5LW8IFC2hkfhjPWfrTcL2sOHcrVzho/rs:auto:280:0:0/g:ce/bG9jYWw6Ly8vM2Uv/OGEvZTk4NjE3MTE3/NTQyNTc1NDVhZmQ0/YmYwMDQ5YTYyNTQ0/MDIxM2U4YS5qcGVn.jpg"
-					}
-					
-				],
-				ispush:false
+				list: [],
+				ispush: false,
 				
+				index:0
+
 			}
 		},
 		onLoad() {
-			
-		},
-		methods: {
-			onclick(e){
-				console.log('=== onclick start ===');
-				console.log("被点击行: " + JSON.stringify(e.value));
-				console.log("被点击下标: " + JSON.stringify(e.index));
-				console.log('=== onclick end ===');
+			this.$api.getCommonMenuList({
+
+			}).then((res) => {
+				console.log(res.data)
+
+				this.list = res.data.data
 				
+				this.list.forEach((item,index) => {
+				    item.index = index;
+				})
 				
-				// uni.showActionSheet({
-				//     itemList: ['移除常用'],
-				//     success: function (res) {
-				//         console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
-				//     },
-				//     fail: function (res) {
-				//         console.log(res.errMsg);
-				//     }
-				// });
+				console.log(this.list)
+				
+			})
+		},
+		methods: {
+			onclick(e) {
+				// console.log('=== onclick start ===');
+				// console.log("被点击行: " + JSON.stringify(e.value));
+				// console.log("被点击下标: " + JSON.stringify(e.index));
+				// console.log('=== onclick end ===');
+
+				uni.showActionSheet({
+					itemList: ['移除常用'],
+					success: (res) => {
+						console.log(e.value.id)
+						console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
+
+						if (res.tapIndex == 0) {
+							console.log(e.value.id)
+
+							this.list.forEach((item, index) => {
+								console.log(item.id, e.value.id, index)
+								if (item.id == e.value.id) {
+									console.log(item)
+
+									this.list.splice(index, 1)
+								}
+							})
+
+							console.log(this.list);
+							uni.showLoading({
+								mask: true
+							})
+							this.$api.editCommonMenu({
+								data: JSON.stringify(this.list)
+							}).then((res) => {
+								uni.hideLoading()
+								uni.showToast({
+									icon: "none",
+									title: "移除成功"
+								})
+								console.log(res)
+							})
+						}
+					},
+					fail: (res) => {
+						console.log(res.errMsg);
+					}
+				});
 			},
-			change(e){
-				console.log('=== change start ===');
-				console.log("被拖动行: " + JSON.stringify(e.moveRow));
-				console.log('原始下标:',e.index);
-				console.log('移动到:',e.moveTo);
-				console.log('=== change end ===');
+			change(e) {
+				// console.log('=== change start ===');
+				// console.log("被拖动行: " + JSON.stringify(e.moveRow));
+				// console.log('原始下标:', e.index);
+				// console.log('移动到:', e.moveTo);
+				// console.log('=== change end ===');
 			},
-			confirm(e){
-				console.log("this.list: ",this.list);
-				console.log("e.list: ",e.list);
-				console.log('=== confirm start ===');
-				console.log("被拖动行: " + JSON.stringify(e.moveRow));
-				console.log('原始下标:',e.index);
-				console.log('移动到:',e.moveTo);
-				console.log('=== confirm end ===');
+			confirm(e) {
+				console.log("this.list: ", this.list);
+				console.log("e.list: ", e.list);
+
+				this.list = e.list
+				console.log(this.list);
+
+				uni.showLoading({
+					mask: true
+				})
+				this.$api.editCommonMenu({
+					data: JSON.stringify(this.list)
+				}).then((res) => {
+					uni.hideLoading()
+					uni.showToast({
+						icon: "none",
+						title: "排序成功"
+					})
+					console.log(res)
+				})
+				// console.log('=== confirm start ===');
+				// console.log("被拖动行: " + JSON.stringify(e.moveRow));
+				// console.log('原始下标:', e.index);
+				// console.log('移动到:', e.moveTo);
+				// console.log('=== confirm end ===');
 			}
 		}
 	}
@@ -114,22 +157,22 @@
 	page {
 		// background-color: #efeff4; 
 	}
-	
+
 	.content {
-		.row{
+		.row {
 			display: flex;
 			flex-direction: row;
 			align-items: center;
-			.icon{
-				width: 30px;
-				height: 30px;
-				border-radius: 6px;
+
+			.icon {
+				width: 40rpx;
+				height: 40rpx;
 				margin-right: 13px;
 			}
-			.text{
-				font-size: 13px;
+
+			.text {
+				font-size: 14px;
 			}
 		}
 	}
-	
 </style>

二进制
pages/index/bars_sort/icon/01.png


二进制
pages/index/bars_sort/icon/02.png


二进制
pages/index/bars_sort/icon/03.png


二进制
pages/index/bars_sort/icon/04.png


二进制
pages/index/bars_sort/icon/05.png


二进制
pages/index/bars_sort/icon/06.png


二进制
pages/index/bars_sort/icon/07.png


二进制
pages/index/bars_sort/icon/08.png


+ 196 - 95
pages/index/record/record.vue

@@ -1,5 +1,21 @@
 <template>
 	<view>
+		<view class="navbar">
+			<view class="status_bar"></view>
+
+			<view class="box">
+				<view class="left" @click="navbar_back()">
+					<uni-icons type="arrowleft" color="#fff" size="26"></uni-icons>
+				</view>
+				<view class="title">{{navbar_title}}</view>
+				<view class="right" @click="navbar_more()">
+					<uni-icons type="more-filled" color="#fff" size="24"></uni-icons>
+				</view>
+			</view>
+		</view>
+		<view class="status_bar"></view>
+		<view style="height: 88rpx;"></view>
+
 		<view class="pageItemList" v-for="(item,index) in pageItemList" :key="index">
 			<!-- 纯文本模块 -->
 			<view class="TEXT">
@@ -10,7 +26,7 @@
 					</view>
 				</view>
 			</view>
-			
+
 			<!-- 图文模块 -->
 			<view class="IMAGE_TEXT">
 				<view v-if="item.pageRelation.businessType === 'IMAGE_TEXT'">
@@ -19,17 +35,18 @@
 					</view>
 				</view>
 			</view>
-			
+
 			<!-- 图集模块 -->
 			<view class="PICTURE">
 				<view v-if="item.pageRelation.businessType === 'PICTURE'">
-					<view v-if="pictureList_index[index_2] == index" v-for="(item_2,index_2) in pictureList" :key="index_2">
+					<view v-if="pictureList_index[index_2] == index" v-for="(item_2,index_2) in pictureList"
+						:key="index_2">
 						<e-picture :pictureList="pictureList[index_2]"></e-picture>
 					</view>
 				</view>
 			</view>
-			
-			
+
+
 			<!-- 文件模块 -->
 			<view class="FILE">
 				<view v-if="item.pageRelation.businessType === 'FILE'">
@@ -38,7 +55,7 @@
 					</view>
 				</view>
 			</view>
-			
+
 			<!-- 链接模块 -->
 			<view class="LINKS">
 				<view v-if="item.pageRelation.businessType === 'LINKS'">
@@ -47,7 +64,7 @@
 					</view>
 				</view>
 			</view>
-			
+
 			<!-- 视频模块 -->
 			<view class="VIDEO">
 				<view v-if="item.pageRelation.businessType === 'VIDEO'">
@@ -56,129 +73,169 @@
 					</view>
 				</view>
 			</view>
-			
+
 			<!-- 设备铭牌模块 -->
 			<view class="EQUIPMENT">
 				<view v-if="item.pageRelation.businessType === 'EQUIPMENT'">
-					<view v-if="equipmentList_index[index_2] == index" v-for="(item_2,index_2) in equipmentList" :key="index_2">
+					<view v-if="equipmentList_index[index_2] == index" v-for="(item_2,index_2) in equipmentList"
+						:key="index_2">
 						<e-equipment :equipmentList="equipmentList[index_2]"></e-equipment>
 					</view>
 				</view>
 			</view>
-			
+
 		</view>
-		
+
 
 		<!-- 浏览记录 -->
 		<view v-if="browse.length != 0">
 			<e-browse :browse="browse" :mine_code="mine_code" :pageId="pageId" :bgColor="bgColor"></e-browse>
 		</view>
-		
+
 	</view>
 </template>
 
 <script>
-	import {set_base_url} from '@/common/set_base_url.js'
+	import {
+		set_base_url
+	} from '@/common/set_base_url.js'
 	import Base64 from "@/common/js-base64.js"
-	
+
 	export default {
 		data() {
 			return {
-				mine_code:"",
-				base_url:"",
+				navbar_title: "",
+
+
+				mine_code: "",
+				base_url: "",
 				// 二维码ID
-				pageId:'',
-				
+				pageId: '',
+
 				// 模块数组
-				pageItemList:[],
-				
-				
+				pageItemList: [],
+
+
 				// 纯文本模块
-				textVo:[],
+				textVo: [],
 				// 所在模块索引
-				textVo_index:[],
+				textVo_index: [],
 				// base wenben
-				textVo_dataContent:[],
-				
-				
+				textVo_dataContent: [],
+
+
 				// 图文模块
-				imageText:[],
+				imageText: [],
 				// 所在模块索引
-				imageText_index:[],
+				imageText_index: [],
 				// base wenben
-				imageText_dataContent:[],
-				
+				imageText_dataContent: [],
+
 				// 图集模块
-				pictureList:[],
+				pictureList: [],
 				// 所在模块索引
-				pictureList_index:[],
-				
+				pictureList_index: [],
+
 				// 文件模块
-				fileList:[],
+				fileList: [],
 				// 所在模块索引
-				fileList_index:[],
-				
+				fileList_index: [],
+
 				// 链接模块
-				linksList:[],
+				linksList: [],
 				// 所在模块索引
-				linksList_index:[],
-				
+				linksList_index: [],
+
 				// 视频模块
-				videoList:[],
-				videoList_index:[],
-				
+				videoList: [],
+				videoList_index: [],
+
 				// 设备铭牌模块
-				equipmentList:[],
+				equipmentList: [],
 				// 所在模块索引
-				equipmentList_index:[],
-				
-				
-				
+				equipmentList_index: [],
+
+
+
 				// 浏览记录
-				browse:[],
+				browse: [],
 				// 随即色
-				bgColor:[],
-				
-				
+				bgColor: [],
+
+
 			}
 		},
 		onLoad(option) {
 			this.mine_code = option.mine_code
 			// 根据矿编码切换首页接口不同的请求基础路径
 			this.base_url = set_base_url(this.mine_code)
-			
+
 			// 获取二维码ID
 			this.pageId = option.pageId
-			
-			
+
+
 			// 获取二维码详情
 			this.get_inner()
-			
+
 			// 获取浏览记录
 			this.get_browse()
-			
+
 		},
 		methods: {
-			
+			navbar_back() {
+				uni.navigateBack()
+			},
+			navbar_more() {
+				uni.showActionSheet({
+					itemList: ['添加到常用'],
+					success: (res) => {
+						console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
+
+						if (res.tapIndex == 0) {
+							console.log(this.pageId)
+							uni.showLoading({
+								mask: true
+							})
+							this.$api.addCommonMenu({
+								page_id: this.pageId,
+								page_name: this.navbar_title
+							}).then((res) => {
+								uni.hideLoading()
+								uni.showToast({
+									icon: "none",
+									title: "添加成功"
+								})
+								console.log(res)
+							})
+						}
+					},
+					fail: (res) => {
+						console.log(res.errMsg);
+					}
+				});
+			},
+
 			// 获取二维码详情
-			get_inner(){
+			get_inner() {
 				uni.request({
-					url: this.base_url + "/swagger/api/page/v1/detailPage?pageId="+this.pageId+"&sourceType=&organizationIds=&userId=&userName=",
+					url: this.base_url + "/swagger/api/page/v1/detailPage?pageId=" + this.pageId +
+						"&sourceType=&organizationIds=&userId=&userName=",
 					success: (res) => {
 						console.log(res.data.data)
 						const data = res.data.data
-						
+
 						// 设置页面标题
 						uni.setNavigationBarTitle({
 							title: data.page.title
 						})
-						
+						this.navbar_title = data.page.title
+
 						// 获取模块数组
 						this.pageItemList = data.pageItemList
-						
+
 						// 判断模块属性
-						for(let i = 0; i < data.pageItemList.length; i++){
-							if(data.pageItemList[i].pageRelation.businessType === 'TEXT'){
+						for (let i = 0; i < data.pageItemList.length; i++) {
+							if (data.pageItemList[i].pageRelation.businessType === 'TEXT') {
 								// console.log("纯文本模块",i)
 								// 内容模块数组
 								this.textVo.push(data.pageItemList[i].textVo)
@@ -186,13 +243,13 @@
 								this.textVo_index.push(i)
 								// base64解码 替换原数组属性
 								this.textVo_dataContent.push(data.pageItemList[i].textVo.dataContent)
-								for(let i = 0; i < this.textVo_dataContent.length; i++){
+								for (let i = 0; i < this.textVo_dataContent.length; i++) {
 									this.textVo[i].dataContent = Base64.decode(this.textVo_dataContent[i])
 								}
 								// console.log(this.textVo_dataContent)
 								// console.log(this.textVo)
 								// console.log(this.textVo_index)
-							}else if(data.pageItemList[i].pageRelation.businessType === 'IMAGE_TEXT'){
+							} else if (data.pageItemList[i].pageRelation.businessType === 'IMAGE_TEXT') {
 								// console.log("图文模块",i)
 								// 图文模块
 								this.imageText.push(data.pageItemList[i].imageText)
@@ -200,101 +257,145 @@
 								this.imageText_index.push(i)
 								// base64解码 替换原数组属性
 								this.imageText_dataContent.push(data.pageItemList[i].imageText.dataContent)
-								for(let i = 0; i < this.imageText_dataContent.length; i++){
-									this.imageText[i].dataContent = Base64.decode(this.imageText_dataContent[i])
+								for (let i = 0; i < this.imageText_dataContent.length; i++) {
+									this.imageText[i].dataContent = Base64.decode(this.imageText_dataContent[
+										i])
 								}
-							}else if(data.pageItemList[i].pageRelation.businessType === 'PICTURE'){
+							} else if (data.pageItemList[i].pageRelation.businessType === 'PICTURE') {
 								// console.log("图集模块",i)
 								this.pictureList.push(data.pageItemList[i].pictureList)
 								this.pictureList_index.push(i)
-							}else if(data.pageItemList[i].pageRelation.businessType === 'FILE'){
+							} else if (data.pageItemList[i].pageRelation.businessType === 'FILE') {
 								// console.log("文件模块",i)
 								// 文件模块
 								this.fileList.push(data.pageItemList[i].fileList)
 								this.fileList_index.push(i)
-							}else if(data.pageItemList[i].pageRelation.businessType === 'LINKS'){
+							} else if (data.pageItemList[i].pageRelation.businessType === 'LINKS') {
 								// console.log("链接模块",i)
 								this.linksList.push(data.pageItemList[i].linksList)
 								this.linksList_index.push(i)
-							}else if(data.pageItemList[i].pageRelation.businessType === 'VIDEO'){
+							} else if (data.pageItemList[i].pageRelation.businessType === 'VIDEO') {
 								// console.log("视频模块",i)
 								// 视频模块
 								this.videoList.push(data.pageItemList[i].videoList)
 								this.videoList_index.push(i)
-							}else if(data.pageItemList[i].pageRelation.businessType === 'EQUIPMENT'){
+							} else if (data.pageItemList[i].pageRelation.businessType === 'EQUIPMENT') {
 								// console.log("设备铭牌模块",i)
 								// 设备铭牌模块
 								this.equipmentList.push(data.pageItemList[i].equipmentList)
 								this.equipmentList_index.push(i)
-							}else if(data.pageItemList[i].pageRelation.businessType === 'RECORD'){
+							} else if (data.pageItemList[i].pageRelation.businessType === 'RECORD') {
 								// console.log("记录管理模块",i)
 							}
-							
+
 						}
-						
-						
+
+
 					}
 				})
 			},
-			
-			
+
+
 			// 获取浏览记录
-			get_browse(){
+			get_browse() {
 				uni.request({
-					url: this.base_url + "/swagger/api/pageuser/v1/getPageUserByPageId/"+this.pageId,
+					url: this.base_url + "/swagger/api/pageuser/v1/getPageUserByPageId/" + this.pageId,
 					success: (res) => {
 						console.log(res.data.data)
 						this.browse = res.data.data
 						this.browse.length = 3
 						console.log(this.browse)
-						
-						for(let i=0;i<3;i++){
+
+						for (let i = 0; i < 3; i++) {
 							// 获取随机色
 							let r = parseInt(Math.random() * 256)
 							let g = parseInt(Math.random() * 256)
 							let b = parseInt(Math.random() * 256)
-							
+
 							// ES6 字符串拼接
 							// this.bgColor = `rgba(${r},${g},${b},0.3)`
 							let color = "rgba(" + r + "," + g + "," + b + "," + 0.3 + ")"
 							// console.log(color)
 							this.bgColor.push(color)
 						}
-						
+
 						this.$forceUpdate()
 					}
 				})
 			},
-			
-			
+
+
 		},
 	}
 </script>
 
 <style lang="scss">
-	page{
+	page {
 		box-sizing: border-box;
 		padding: 25rpx;
-		
+
 		margin-bottom: 90px;
 	}
-	.pageItemList{
+
+	.pageItemList {
 		width: 700rpx;
 		margin-bottom: 40rpx;
 	}
-	
-	.bottom_btn{
+
+	.bottom_btn {
 		position: fixed;
 		left: 0;
 		bottom: 0;
-		
+
 		width: 750rpx;
 		line-height: 60px;
 		background-color: #009FE8;
 		color: #FFFFFF;
 		text-align: center;
 		font-weight: 700;
-		
+
+	}
+
+
+	// 标题栏
+	.navbar {
+		z-index: 999;
+		width: 750rpx;
+		position: fixed;
+		top: 0;
+		left: 0;
+		background-color: #009FE8;
+
+		color: #FFFFFF;
+
+		.box {
+			background-color: #009FE8;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+
+			height: 88rpx;
+
+			.left {
+				width: 80rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				text-align: center;
+			}
+
+			.title {
+				font-size: 36rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				font-weight: 500;
+			}
+
+			.right {
+				width: 80rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				text-align: left;
+			}
+		}
 	}
-	
 </style>

+ 46 - 19
pages/origanization/communication/origanization/origanization.vue

@@ -38,9 +38,14 @@
 						</view>
 					</view>
 					<view class="list" v-if="active == index">
-						<view class="item" v-for="(item_2,index_2) in user_list" :key="index_2">
-							<view class="icon">{{item_2.name.charAt(0)}}</view>
-							<view class="text">{{item_2.name}} {{item_2.position_name}}</view>
+						<view class="item" v-for="(item_2,index_2) in user_list" :key="index_2" @click="go_user_info(item_2.staff_num)">
+							<view class="left">
+								<view class="icon">{{item_2.name.charAt(0)}}</view>
+								<view class="text">{{item_2.name}} {{item_2.position_name}} {{item_2.mobile}}</view>
+							</view>
+							<view class="right" @click.stop="phone(item_2.mobile)">
+								<uni-icons type="phone"></uni-icons>
+							</view>
 						</view>
 					</view>
 				</view>
@@ -148,6 +153,20 @@
 							'mine_code'),
 					})
 				}
+			},
+		
+			phone(mobile){
+				if(mobile != null){
+					uni.makePhoneCall({
+					    phoneNumber: mobile
+					});
+				}
+			},
+			
+			go_user_info(staff_num){
+				uni.navigateTo({
+					url:"./personal_information/personal_information?staff_num=" + staff_num
+				})
 			}
 		}
 	}
@@ -259,28 +278,36 @@
 						height: 110rpx;
 
 						display: flex;
-						justify-content: left;
+						justify-content: space-between;
 						align-items: center;
 
 						margin-left: 108rpx;
 						border-bottom: 1rpx solid #F3F8F7;
-
-						.icon {
-							width: 35rpx;
-							text-align: center;
-							line-height: 35rpx;
-							border-radius: 50%;
-							border: 1rpx solid #00A1E9;
-
-							font-size: 24rpx;
-							color: #00A1E9;
+						
+						.left{
+							.icon {
+								width: 35rpx;
+								text-align: center;
+								line-height: 35rpx;
+								border-radius: 50%;
+								border: 1rpx solid #00A1E9;
+							
+								font-size: 24rpx;
+								color: #00A1E9;
+							}
+							
+							.text {
+								margin-left: 18rpx;
+								font-size: 30rpx;
+							
+							}
 						}
-
-						.text {
-							margin-left: 18rpx;
-							font-size: 30rpx;
-
+						.right{
+							line-height: 110rpx;
+							width: 90rpx;
+							text-align: center;
 						}
+						
 					}
 				}
 

二进制
pages/origanization/communication/origanization/personal_information/icon/top.png


+ 489 - 0
pages/origanization/communication/origanization/personal_information/personal_information.vue

@@ -0,0 +1,489 @@
+<template>
+	<view>
+		<view class="top">
+			<view class="avatar" @click="change_avatar(info.avatar)">
+				<image v-if="info.avatar" :src="info.avatar" mode="aspectFill"></image>
+				<view class="avatar" v-if="!info.avatar && !info" :style="{backgroundColor:bgColor[1]}">
+					{{info.name.split('').pop()}}
+				</view>
+			</view>
+			<view class="info">
+				<view class="name">{{info.name}}</view>
+				<view class="box">
+					<view class="item">
+						<view class="label">部门</view>
+						<view class="text">{{info.section_fullname}}</view>
+					</view>
+					<view class="item">
+						<view class="label">职务</view>
+						<view class="text">{{info.duty_num}}</view>
+					</view>
+					<view class="item">
+						<view class="label">员工编号</view>
+						<view class="text">{{info.staff_num}}</view>
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<view class="content">
+			<view class="box">
+				<view class="item" @click="change_active(1)">
+					<view class="text" :style="{color:active == 1?'#333':'#8e8e8e'}">个人信息</view>
+					<view class="line" v-if="active == 1"></view>
+				</view>
+				<view class="item" @click="change_active(2)">
+					<view class="text" :style="{color:active == 2?'#333':'#8e8e8e'}">工作经历</view>
+					<view class="line" v-if="active == 2"></view>
+				</view>
+				<view class="item" @click="change_active(3)">
+					<view class="text" :style="{color:active == 3?'#333':'#8e8e8e'}">荣誉及证书</view>
+					<view class="line" v-if="active == 3"></view>
+				</view>
+			</view>
+
+
+			<!-- 个人信息 -->
+			<view class="list_1" v-if="active == 1">
+				<view class="item" @click="binding_phone()">
+					<view class="label">手机号</view>
+					<view class="text">{{info.monile}}</view>
+					<view class="right">
+						<!-- <uni-icons type="arrowright"></uni-icons> -->
+					</view>
+				</view>
+				<view class="item" @click="binding_phone()">
+					<view class="label">手写签名</view>
+					<view class="text"></view>
+					<view class="right">
+						<!-- <uni-icons type="arrowright"></uni-icons> -->
+					</view>
+				</view>
+				<view class="item">
+					<view class="label">岗位分类</view>
+					<view class="text">{{info.job_classify}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">岗位</view>
+					<view class="text">{{info.job}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">职级(职务码)</view>
+					<view class="text">{{info.duty_num}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">性别</view>
+					<view class="text" v-if="info.sex == 1">男</view>
+					<view class="text" v-if="info.sex == 0">女</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">初始学历</view>
+					<view class="text">{{info.start_education}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">最高学历</view>
+					<view class="text">{{info.best_education}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">员工组</view>
+					<view class="text">{{info.group}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">员工子组</view>
+					<view class="text">{{info.group_sub}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">籍贯</view>
+					<view class="text">{{info.native}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">宗教信仰</view>
+					<view class="text">{{info.faith}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">户口性质</view>
+					<view class="text">{{info.registered}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">民族</view>
+					<view class="text">{{info.nation}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">出生日期</view>
+					<view class="text">{{info.birthday}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">身份证号</view>
+					<view class="text">{{info.identity_card}}</view>
+					<view class="right"></view>
+				</view>
+
+				<view class="item">
+					<view class="label">参加工作时间</view>
+					<view class="text">{{info.working_date}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">进入神华系统时间</view>
+					<view class="text">{{info.system_date}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">进入子分公司时间</view>
+					<view class="text">{{info.system_sub_date}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">进入本单位时间</view>
+					<view class="text">{{info.section_date}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">政治面貌</view>
+					<view class="text">{{info.politics}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">参加党派时间</view>
+					<view class="text">{{info.politics_date}}</view>
+					<view class="right"></view>
+				</view>
+			</view>
+
+			<!-- 工作经历 -->
+			<view class="list_2" v-if="active == 2">
+				<view class="item">
+					<view class="text_1">任职时间</view>
+					<view class="text_2">工作单位</view>
+					<view class="text_3">职务</view>
+				</view>
+				<view class="item" v-for="(item,index) in info.work_experience" :key="index" @click="del_job(index)">
+					<view class="text_1">{{item.range_text}}</view>
+					<view class="text_2">{{item.job_unit}}</view>
+					<view class="text_3">{{item.job_post}}</view>
+				</view>
+
+			</view>
+			<!-- 荣誉及证书 -->
+			<view class="list_3" v-if="active == 3">
+				<view class="item" v-for="(item,index) in info.honor" :key="index"
+					@click="click_image(index,item.path)">
+					<view class="img">
+						<image :src="item.path" mode="aspectFill"></image>
+					</view>
+					<view class="text">{{item.imageName}}</view>
+				</view>
+
+			</view>
+		</view>
+
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				staff_num: "",
+				active: 1,
+				info: {},
+				// 头像随机色
+				bgColor: [],
+			};
+		},
+		onLoad(option) {
+			// 设置头像
+			for (let i = 0; i < 2; i++) {
+				// 获取随机色
+				let r = parseInt(Math.random() * 256)
+				let g = parseInt(Math.random() * 256)
+				let b = parseInt(Math.random() * 256)
+
+				// ES6 字符串拼接
+				// this.bgColor = `rgba(${r},${g},${b},0.3)`
+				let color = "rgba(" + r + "," + g + "," + b + "," + 0.3 + ")"
+				// console.log(color)
+				this.bgColor.push(color)
+			}
+			this.staff_num = option.staff_num
+			this.get_info()
+		},
+		methods: {
+			change_active(index) {
+				this.active = index
+			},
+			// 获取个人信息
+			get_info() {
+				this.$api.user_getUinfo({
+					staff_num: this.staff_num
+				}).then((res) => {
+					console.log(res)
+					console.log(res.data.data)
+					this.info = res.data.data
+					this.info.work_experience = JSON.parse(res.data.data.work_experience)
+					this.info.honor = JSON.parse(res.data.data.honor)
+				})
+			},
+
+
+			click_image(index, path) {
+				console.log(index, path)
+				uni.showActionSheet({
+					itemList: ['查看'],
+					success: (res) => {
+
+						if (res.tapIndex == 0) {
+							console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
+
+							uni.previewImage({
+								urls: path.split(','),
+							});
+
+						}
+					},
+					fail: (res) => {
+						console.log(res.errMsg);
+					}
+				})
+			},
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F5F8F8;
+	}
+
+	.top {
+		position: relative;
+		background-color: #FFFFFF;
+		width: 750rpx;
+		height: 490rpx;
+
+		background-image: url(./icon/top.png);
+		background-size: 100% 100%;
+		background-position: 0 -110rpx;
+		background-repeat: no-repeat;
+
+		.avatar {
+			padding-top: 70rpx;
+			text-align: center;
+
+			image {
+				width: 200rpx;
+				height: 200rpx;
+
+				border-radius: 50%;
+			}
+		}
+
+		.info {
+			margin-top: 20rpx;
+
+			.name {
+				text-align: center;
+				font-size: 40rpx;
+				font-weight: 700;
+			}
+
+			.box {
+				margin-top: 30rpx;
+				display: flex;
+				justify-content: space-around;
+
+				.item {
+					width: 250rpx;
+					text-align: center;
+
+					.label {
+						font-size: 30rpx;
+						color: #009FE8;
+						margin-bottom: 10rpx;
+					}
+
+					.text {
+						font-size: 32rpx;
+					}
+				}
+			}
+		}
+
+		.redo {
+			width: 100rpx;
+			height: 100rpx;
+
+			line-height: 100rpx;
+			text-align: center;
+
+
+			position: absolute;
+			top: 0;
+			right: 0;
+		}
+
+		margin-bottom: 20rpx;
+	}
+
+
+	.content {
+		background-color: #FFFFFF;
+
+		.box {
+			display: flex;
+			justify-content: space-around;
+			align-items: center;
+
+			border-bottom: 2rpx solid #F5F8F8;
+
+			.item {
+				height: 95rpx;
+				width: 230rpx;
+				text-align: center;
+
+				position: relative;
+
+				.text {
+					font-size: 34rpx;
+					line-height: 95rpx;
+				}
+
+				.line {
+					margin: -6rpx auto 0;
+					width: 80rpx;
+					height: 6rpx;
+					background-color: #009FE8;
+				}
+			}
+		}
+
+		.list_1 {
+			box-sizing: border-box;
+			padding: 0 50rpx;
+
+			.item {
+				border-bottom: 2rpx solid #F5F8F8;
+				// height: 95rpx;
+				box-sizing: border-box;
+				padding: 30rpx 0;
+				display: flex;
+				// justify-content: space-between;
+				justify-content: space-between;
+				align-items: center;
+				font-size: 32rpx;
+
+				.label {
+					width: 300rpx;
+					text-align: left;
+				}
+
+				.text {
+					width: 300rpx;
+					text-align: left;
+					color: #8e8e8e;
+
+				}
+
+				.right {
+					// width: 100rpx;
+					text-align: right;
+				}
+			}
+
+		}
+
+		.list_2 {
+			box-sizing: border-box;
+			padding: 0 50rpx;
+
+			.item {
+				border-bottom: 2rpx solid #F5F8F8;
+				// height: 95rpx;
+				box-sizing: border-box;
+				padding: 20rpx 0;
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				font-size: 28rpx;
+				text-align: center;
+				color: #8e8e8e;
+
+				.text_1 {
+					width: 190rpx;
+				}
+
+				.text_2 {
+					width: 240rpx;
+
+				}
+
+				.text_3 {
+					width: 160rpx;
+				}
+			}
+
+			.item:first-child {
+				font-size: 32rpx;
+				color: #333;
+			}
+
+		}
+
+		.list_3 {
+			box-sizing: border-box;
+			padding: 50rpx;
+
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 25rpx;
+				margin-bottom: 30rpx;
+
+				width: 200rpx;
+				text-align: center;
+
+				.img {
+					image {
+						width: 200rpx;
+						height: 140rpx;
+					}
+
+					.add {
+						font-size: 110rpx;
+						color: #DCDCDC;
+						text-align: center;
+						height: 140rpx;
+						line-height: 140rpx;
+						background-color: #EEEEEE;
+					}
+				}
+
+				.text {
+					width: 180rpx;
+					font-size: 24rpx;
+					color: #8e8e8e;
+				}
+			}
+
+			.item:nth-child(3n) {
+				margin-right: 0;
+			}
+		}
+	}
+</style>

+ 42 - 19
pages/origanization/communication/origanization/search/search.vue

@@ -21,9 +21,14 @@
 			</view>
 
 			<view class="list">
-				<view class="item" v-for="(item,index) in list" :key="index">
-					<view class="icon">{{item.name.charAt(0)}}</view>
-					<view class="text">{{item.name}} {{item.dept_name}} {{item.duty_num}}</view>
+				<view class="item" v-for="(item,index) in list" :key="index" @click="go_user_info(item.staff_num)">
+					<view class="left">
+						<view class="icon">{{item.name.charAt(0)}}</view>
+						<view class="text">{{item.name}} {{item.dept_name}} {{item.duty_num}}</view>
+					</view>
+					<view class="right" @click.stop="phone(item.mobile)">
+						<uni-icons type="phone"></uni-icons>
+					</view>
 				</view>
 
 				<view v-if="list.length == 0" style="font-size: 32rpx;text-align: center;line-height: 400rpx;">暂无搜索结果
@@ -54,7 +59,19 @@
 					console.log(res)
 					this.list = res.data.data
 				})
-			}
+			},
+			go_user_info(staff_num){
+				uni.navigateTo({
+					url:"../personal_information/personal_information?staff_num=" + staff_num
+				})
+			},
+			phone(mobile){
+				if(mobile != null){
+					uni.makePhoneCall({
+					    phoneNumber: mobile
+					});
+				}
+			},
 		}
 	}
 </script>
@@ -127,27 +144,33 @@
 				height: 110rpx;
 
 				display: flex;
-				justify-content: left;
+				justify-content: space-between;
 				align-items: center;
 
 				margin-left: 58rpx;
 				border-bottom: 1rpx solid #F3F8F7;
 
-				.icon {
-					width: 35rpx;
-					text-align: center;
-					line-height: 35rpx;
-					border-radius: 50%;
-					border: 1rpx solid #00A1E9;
-
-					font-size: 24rpx;
-					color: #00A1E9;
+				.left{
+					display: flex;
+					.icon {
+						width: 35rpx;
+						text-align: center;
+						line-height: 35rpx;
+						border-radius: 50%;
+						border: 1rpx solid #00A1E9;
+					
+						font-size: 24rpx;
+						color: #00A1E9;
+					}
+					
+					.text {
+						margin-left: 18rpx;
+						font-size: 30rpx;
+					
+					}
 				}
-
-				.text {
-					margin-left: 18rpx;
-					font-size: 30rpx;
-
+				.right{
+					
 				}
 			}
 

二进制
pages/production/personnel_orientation/icon/00.png


二进制
pages/production/personnel_orientation/icon/01.png


+ 208 - 111
pages/production/personnel_orientation/personnel_orientation.vue

@@ -3,26 +3,44 @@
 		<!-- 搜索井下人员 -->
 		<p-personnel-orientation-navbar :mine="mine"></p-personnel-orientation-navbar>
 
-		<view class="content"> 
-			
+		<view class="content">
+			<view class="tip_box">
+				<view class="left">
+					<view class="icon">
+						<image v-if="status == 1" src="./icon/01.png" mode=""></image>
+						<image v-if="status == 0" src="./icon/00.png" mode=""></image>
+					</view>
+					<view v-if="status == 1" class="text">数据正常</view>
+					<view v-if="status == 0" class="text">数据异常</view>
+				</view>
+				<view class="right">
+					<view class="text">数据更新时间</view>
+					<view class="time">{{updated_at}}</view>
+				</view>
+			</view>
+
 			<!-- 当前井下人员 -->
 			<p-personnel-orientation-section-1 :mine="mine">
 				<!-- 圆环图 -->
-				<canvas style="width: 720upx; height:500upx;" canvas-id="canvasRing" id="canvasRing" @touchstart="touchRing"></canvas>
+				<canvas style="width: 720upx; height:500upx;" canvas-id="canvasRing" id="canvasRing"
+					@touchstart="touchRing"></canvas>
 
 			</p-personnel-orientation-section-1>
-			
+
 			<p-personnel-orientation-section-3>
 				<!-- 职能科室 -->
 				<view class="section_title">职能科室</view>
-				<canvas style="width: 720upx; height:800upx;" canvas-id="canvasRing2" id="canvasRing2" @touchstart="touchRing2"></canvas>
+				<canvas style="width: 720upx; height:800upx;" canvas-id="canvasRing2" id="canvasRing2"
+					@touchstart="touchRing2"></canvas>
 				<!-- 基层区队 -->
 				<view class="section_title">基层区队</view>
-				<canvas style="width: 720upx; height:800upx;" canvas-id="canvasRing3" id="canvasRing3" @touchstart="touchRing3"></canvas>
+				<canvas style="width: 720upx; height:800upx;" canvas-id="canvasRing3" id="canvasRing3"
+					@touchstart="touchRing3"></canvas>
 			</p-personnel-orientation-section-3>
 			<!-- 各科室下井人数 -->
 			<p-personnel-orientation-section-4 @changeDepart="changeDepart">
-				<canvas style="width: 700upx; height:2500upx;" canvas-id="canvasColumn" id="canvasColumn" class="charts-rotate" @touchstart="touchColumn"></canvas>
+				<canvas style="width: 700upx; height:2500upx;" canvas-id="canvasColumn" id="canvasColumn"
+					class="charts-rotate" @touchstart="touchColumn"></canvas>
 			</p-personnel-orientation-section-4>
 		</view>
 	</view>
@@ -31,7 +49,7 @@
 
 <script>
 	import uCharts from '@/components/u-charts/u-charts.js';
-	
+
 	var _self;
 	var canvaRing = null;
 	var canvaRing2 = null;
@@ -44,8 +62,8 @@
 		data() {
 			return {
 				// 矿编码
-				mine:"",
-				
+				mine: "",
+
 				cWidth: '',
 				cHeight: '',
 				pixelRatio: 1,
@@ -53,23 +71,26 @@
 
 				cWidth2: '', //横屏图表
 				cHeight2: '', //横屏图表
-				
-				
+
+
 				// 今日部门人数统计
-				departType:"now",
-				
-				
-				lastTapTimeoutFunc:null,
-				lastTapDiffTime:0
-				
-				
+				departType: "now",
+
+
+				lastTapTimeoutFunc: null,
+				lastTapDiffTime: 0,
+
+				// 数据正常状态与更新时间
+				status: 1,
+				updated_at: ""
+
 			}
 		},
 		onLoad(option) {
 			console.log(option.mine)
 			// 矿编码
 			this.mine = option.mine
-			
+
 			_self = this;
 			this.cWidth = uni.upx2px(720);
 			this.cHeight = uni.upx2px(500);
@@ -82,37 +103,52 @@
 			this.cWidth2 = uni.upx2px(700);
 			this.cHeight2 = uni.upx2px(2400);
 			this.getServerData4();
-			
-			
+
+
+			// 获取数据正常状态
+			this.$p_api.messageUpdateStatus({
+				mine: this.mine
+			}).then((res) => {
+				// console.log(res.data.data)
+
+				this.status = res.data.data.status
+				this.updated_at = res.data.data.updated_at
+			})
 		},
 		methods: {
 			// 改变今日部门人数统计的参数
-			changeDepart(type){
+			changeDepart(type) {
 				// console.log(type)
-				if(type == 1){
+				if (type == 1) {
 					this.departType = "today"
-				}else{
+				} else {
 					this.departType = "now"
 				}
 				console.log(this.departType)
 				this.getServerData4();
 			},
-			
+
 			// 当前人员统计
-			getServerData(){
+			getServerData() {
 				this.$p_api.personnel_people_now({
-					mine:this.mine
-				}).then((res)=>{
+					mine: this.mine
+				}).then((res) => {
 					// console.log(res)
-					
-					let Ring = {series:[{name:'',data:0}],people_total:0}
-					
+
+					let Ring = {
+						series: [{
+							name: '',
+							data: 0
+						}],
+						people_total: 0
+					}
+
 					// res.data.data.people_distribute 图例
 					Ring.people_total = res.data.data.people_total
-					
-					
+
+
 					const series = res.data.data.people_distribute
-					series.map(function(item,index){
+					series.map(function(item, index) {
 						//新数组的项,用来盛放每一项中的各个参数,每次清空,这样避免改变sevm的值
 						var sevm = {};
 						//给每一项中的参数初始化并赋值
@@ -121,29 +157,35 @@
 						//将项放进新的数组
 						Ring.series[index] = sevm
 					})
-					
+
 					// console.log(Ring)
 					_self.showRing("canvasRing", Ring);
 				})
-				
-			
+
+
 			},
-			
+
 			// 职能科室人数统计
-			getServerData2(){
+			getServerData2() {
 				this.$p_api.personnel_office_total({
-					mine:this.mine
-				}).then((res)=>{
+					mine: this.mine
+				}).then((res) => {
 					// console.log(res)
-					
-					let Ring2 = {series:[{name:'',data:0}],people_total:0}
-					
-					
+
+					let Ring2 = {
+						series: [{
+							name: '',
+							data: 0
+						}],
+						people_total: 0
+					}
+
+
 					Ring2.people_total = res.data.people_total
-					
-					
+
+
 					const series = res.data.data
-					series.map(function(item,index){
+					series.map(function(item, index) {
 						//新数组的项,用来盛放每一项中的各个参数,每次清空,这样避免改变sevm的值
 						var sevm = {};
 						//给每一项中的参数初始化并赋值
@@ -153,26 +195,32 @@
 						//将项放进新的数组
 						Ring2.series[index] = sevm
 					})
-					
+
 					// console.log(Ring2)
 					_self.showRing2("canvasRing2", Ring2);
 				})
-				
+
 			},
-			
+
 			// 基层区队人数统计
-			getServerData3(){
+			getServerData3() {
 				this.$p_api.personnel_basic_total({
-					mine:this.mine
-				}).then((res)=>{
+					mine: this.mine
+				}).then((res) => {
 					// console.log(res.data.data)
-					
-					let Ring3 = {series:[{name:'',data:0}],people_total:0}
-								
+
+					let Ring3 = {
+						series: [{
+							name: '',
+							data: 0
+						}],
+						people_total: 0
+					}
+
 					Ring3.people_total = res.data.people_total
-							
+
 					const series = res.data.data
-					series.map(function(item,index){
+					series.map(function(item, index) {
 						//新数组的项,用来盛放每一项中的各个参数,每次清空,这样避免改变sevm的值
 						var sevm = {};
 						//给每一项中的参数初始化并赋值
@@ -181,13 +229,13 @@
 						//将项放进新的数组
 						Ring3.series[index] = sevm
 					})
-					
+
 					// console.log(Ring3)
 					_self.showRing3("canvasRing3", Ring3);
 				})
 			},
-			
-			
+
+
 			showRing(canvasId, chartData) {
 				canvaRing = new uCharts({
 					$this: _self,
@@ -233,7 +281,7 @@
 			touchRing(e) {
 				canvaRing.showToolTip(e, {
 					format: function(item) {
-						
+
 						return item.name + ':' + item.data + '人'
 					}
 				});
@@ -284,25 +332,26 @@
 			},
 			touchRing2(e) {
 				canvaRing2.showToolTip(e, {
-					
+
 					format: (item) => {
-						
+
 						this.go_depart_people(item)
-						
+
 						return item.name + ':' + item.data + '人'
 					}
 				});
-				
+
 				console.log(e)
-				
+
 			},
-			
-			go_depart_people(item){
-				setTimeout(()=>{
+
+			go_depart_people(item) {
+				setTimeout(() => {
 					uni.navigateTo({
-						url:"./depart-people/depart-people?title="+item.name+"&id="+item.id+"&mine="+this.mine
+						url: "./depart-people/depart-people?title=" + item.name + "&id=" + item.id +
+							"&mine=" + this.mine
 					})
-				},1000)
+				}, 1000)
 			},
 
 
@@ -325,7 +374,7 @@
 						offsetY: 0 * _self.pixelRatio,
 					},
 					subtitle: {
-						name:  chartData.people_total + '人',
+						name: chartData.people_total + '人',
 						color: '#666666',
 						fontSize: 15 * _self.pixelRatio,
 						offsetY: 0 * _self.pixelRatio,
@@ -352,39 +401,39 @@
 				canvaRing3.showToolTip(e, {
 					format: (item) => {
 						// console.log(item)
-						
+
 						this.go_depart_people_2(item)
-						
+
 						return item.name + ':' + item.data + '人'
 					}
 				});
 			},
-			
-			go_depart_people_2(item){
-				setTimeout(()=>{
+
+			go_depart_people_2(item) {
+				setTimeout(() => {
 					uni.navigateTo({
-						url:"./depart-people-2/depart-people-2?title="+item.name+"&mine="+this.mine
+						url: "./depart-people-2/depart-people-2?title=" + item.name + "&mine=" + this.mine
 					})
-				},1000)
+				}, 1000)
 			},
 
 
 			// 今日各部门人数统计
-			getServerData4(){
+			getServerData4() {
 				// console.log(this.departType)
 				this.$p_api.personnel_depart_today({
-					type:this.departType,
-					mine:this.mine
-				}).then((res)=>{
+					type: this.departType,
+					mine: this.mine
+				}).then((res) => {
 					// console.log(res.data.data)
-								
+
 					let ColumnColumn = {
 						"categories": [],
 						"seriesData": []
 					}
-					
+
 					const categories = res.data.data
-					categories.map(function(item,index){
+					categories.map(function(item, index) {
 						//新数组的项,用来盛放每一项中的各个参数,每次清空,这样避免改变sevm的值
 						var sevm = {};
 						//给每一项中的参数初始化并赋值
@@ -392,9 +441,9 @@
 						//将项放进新的数组
 						ColumnColumn.categories[index] = sevm
 					})
-					
+
 					const seriesData = res.data.data
-					seriesData.map(function(item,index){
+					seriesData.map(function(item, index) {
 						//新数组的项,用来盛放每一项中的各个参数,每次清空,这样避免改变sevm的值
 						var sevm = {};
 						//给每一项中的参数初始化并赋值
@@ -402,14 +451,14 @@
 						//将项放进新的数组
 						ColumnColumn.seriesData[index] = sevm
 					})
-					
+
 					// console.log(ColumnColumn)
-					
-					_self.showColumnColumn("canvasColumn",ColumnColumn);
+
+					_self.showColumnColumn("canvasColumn", ColumnColumn);
 				})
-				
+
 			},
-			
+
 			showColumnColumn(canvasId, chartData) {
 				canvaColumn = new uCharts({
 					$this: _self,
@@ -423,19 +472,19 @@
 					pixelRatio: _self.pixelRatio,
 					animation: true,
 					rotate: true,
-					padding:[20,15,4,15],
+					padding: [20, 15, 4, 15],
 					// #ifdef MP-ALIPAY || MP-BAIDU
 					rotateLock: true, //百度及支付宝需要锁定旋转
 					// #endif
 					categories: chartData.categories,
-					series:[{
-						"name":'',
+					series: [{
+						"name": '',
 						"data": chartData.seriesData
 					}],
 					xAxis: {
 						disableGrid: true,
-						rotateLabel:true,
-						
+						rotateLabel: true,
+
 					},
 					yAxis: {
 						// disabled:true
@@ -457,15 +506,15 @@
 							}
 						}
 					}
-					
+
 				});
 
 			},
 			touchColumn(e) {
 				canvaColumn.showToolTip(e, {
 					format: (item, category) => {
-					
-						
+
+
 						let _this = this;
 						let curTime = new Date().getTime();
 						let lastTime = _this.lastTapDiffTime;
@@ -474,11 +523,12 @@
 						let diff = curTime - lastTime;
 						if (diff < 300) {
 							console.log("双击")
-						
+
 							uni.navigateTo({
-								url: "./depart-people-2/depart-people-2?title=" + category + "&departType=" + this.departType+"&mine="+this.mine
+								url: "./depart-people-2/depart-people-2?title=" + category +
+									"&departType=" + this.departType + "&mine=" + this.mine
 							})
-						
+
 							//_this.handleVideo('screen',index)自定义事件
 							clearTimeout(_this.lastTapTimeoutFunc); // 成功触发双击事件时,取消单击事件的执行
 						} else {
@@ -488,13 +538,13 @@
 								//_this.handleVideo('playOrStop',index)自定义事件
 							}, 300);
 						}
-						
-						
-						return category + ':' + item.data +  item.name
+
+
+						return category + ':' + item.data + item.name
 					}
 				});
 			},
-		
+
 		}
 	}
 </script>
@@ -519,4 +569,51 @@
 			color: #232627;
 		}
 	}
+
+	.tip_box {
+		margin-top: 16rpx;
+		background: #FFFFFF;
+		box-shadow: 0rpx 3rpx 29rpx 0rpx rgba(59, 74, 116, 0.14);
+		border-radius: 20rpx;
+
+		box-sizing: border-box;
+		padding: 0 50rpx;
+
+		height: 132rpx;
+
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+		.left {
+			display: flex;
+
+			.icon {
+				margin-right: 20rpx;
+
+				image {
+					width: 52rpx;
+					height: 47rpx;
+				}
+			}
+
+			.text {
+				font-size: 32rpx;
+				font-weight: 700;
+			}
+		}
+
+		.right {
+			.text {
+				font-size: 26rpx;
+				color: #999;
+				margin-bottom: 20rpx;
+			}
+
+			.time {
+				font-size: 30rpx;
+			}
+		}
+
+	}
 </style>

+ 1 - 1
pages/tabbar/index/index.vue

@@ -8,7 +8,7 @@
 		<!-- 固定入口 -->
 		<t-i-icon :iconList="iconList" :mine_code="mine_code"></t-i-icon>
 		<!-- 常用功能 -->
-		<!-- <t-i-common v-if="mine_code == 'ningdongyunying'"></t-i-common> -->
+		<t-i-common v-if="mine_code == 'ningdongyunying'"></t-i-common>
 		<!-- 新闻列表 -->
 		<t-i-news :newsList="newsList" :mine_code="mine_code"></t-i-news>
 

+ 4 - 2
pages/workbench/duty_information/duty_information.vue

@@ -18,8 +18,10 @@
 				<!-- 月份 -->
 				<view class="month">
 					<view class="month_list">
-						<view class="month_item" v-for="(item,index) in month_list" :key="index"  :class="month_item_active===index?'month_item_active':''" @click="click_month_item(index,item)">
-							<text>{{item.month}}</text>
+						
+						<view class="month_item"  v-for="(item,index) in month_list" :key="index"  :class="month_item_active===index?'month_item_active':''" @click="click_month_item(index,item)">
+							
+							<view class="text">{{item.month}}</view>
 						</view>
 						
 					</view>

+ 7 - 2
pages/workbench/h5/h5.vue

@@ -8,11 +8,16 @@
 	export default {
 		data() {
 			return {
-				href:""
+				href: ""
 			};
 		},
 		onLoad(option) {
-			this.href = option.url
+			if(option.mine_code == 'zaoquan' && option.workBench == 'pingce'){
+				this.href = "http://webdevelop.nxjiewei.com/assets/html/pingce/?mine_code=zaoquan&token=" + uni.getStorageSync('Authorization')
+			}else{
+				this.href = option.url
+			}
+			
 		}
 	}
 </script>

+ 735 - 0
pages/workbench/meeting_arrangements/detail/detail.vue

@@ -0,0 +1,735 @@
+<template>
+	<view>
+		<view class="top">
+			<view class="item">
+				<view class="icon">
+					<image src="./icon/icon_1.png" mode=""></image>
+				</view>
+				<view class="title">表决议题</view>
+				<view class="text">{{detail.introduce}}</view>
+			</view>
+			<view class="item">
+				<view class="icon">
+					<image src="./icon/icon_2.png" mode=""></image>
+				</view>
+				<view class="title">会议时间</view>
+				<view class="text">{{detail.time}}</view>
+			</view>
+			<view class="item">
+				<view class="icon">
+					<image src="./icon/icon_3.png" mode=""></image>
+				</view>
+				<view class="title">会议地点</view>
+				<view class="text">{{detail.place}}</view>
+			</view>
+			<view class="item">
+				<view class="icon">
+					<image src="./icon/icon_4.png" mode=""></image>
+				</view>
+				<view class="title">签到时间</view>
+				<view class="text">{{detail.sign_time}}</view>
+			</view>
+		</view>
+
+		<view class="content">
+			<view class="section">
+				<view class="title" style="display: flex;justify-content: space-between;align-items: center;">
+					统计
+					<view class="ringht" @click="should_list_detail()"
+						style="font-size: 28rpx; color: #b0b0b0;font-weight: 500;">签到详情 <uni-icons type="arrowright"
+							size="12" color="#b0b0b0"></uni-icons>
+					</view>
+				</view>
+				<view class="box">
+					<view class="item">
+						<view class="num">{{detail.arrive_num}}</view>
+						<view class="text">应到人数</view>
+					</view>
+					<view class="item">
+						<view class="num">{{detail.actual_num}}</view>
+						<view class="text">实到人数</view>
+					</view>
+					<view class="item">
+						<view class="num">{{detail.leave_num}}</view>
+						<view class="text">请假人数</view>
+					</view>
+				</view>
+			</view>
+			<view class="section section_2">
+				<view class="title">应到人</view>
+				<view class="user_box">
+					<view class="user" v-for="(item,index) in should_list" :key="index">
+						<view class="avatar">
+							<image :src="item.avatar" mode="aspectFill"></image>
+						</view>
+						<view class="name">{{item.name}}</view>
+					</view>
+
+				</view>
+			</view>
+			<view class="section section_2">
+				<view class="title">实到人</view>
+				<view class="user_box">
+					<view class="user" v-for="(item,index) in real_list" :key="index">
+						<view class="avatar">
+							<image :src="item.avatar" mode="aspectFill"></image>
+						</view>
+						<view class="name">{{item.name}}</view>
+					</view>
+
+				</view>
+			</view>
+			<view class="section section_3">
+				<view class="title">投票详情</view>
+				<view class="tip">投票项目:{{vote_list.title}}</view>
+				<view class="tip">表决决议:{{vote_list.remark}}</view>
+				<view class="charts-box">
+					<qiun-data-charts type="pie" :opts="pie_1" :chartData="chartData" background="none" />
+				</view>
+			</view>
+		</view>
+
+		<!-- 进入会议 -->
+		<view class="btn">
+			<view class="left">线上参与</view>
+			<view class="right" @click="click()">
+				<view class="icon">
+					<image src="./icon/join.png" mode=""></image>
+				</view>
+				<view class="text">进入会议室</view>
+			</view>
+		</view>
+
+		<view class="bottom">
+			<view class="box btn_1" v-if="status == 0" @click="sign_in()">签到</view>
+			<view class="box btn_2" v-if="status == 0" @click="open_popup()">请假</view>
+
+			<view class="box btn_1" v-if="status != 0" style="background-color: #DCDCDC;">签到</view>
+			<view class="box btn_2" v-if="status != 0" style="background-color: #C0C4CC;">请假</view>
+			<view class="box btn_3" @click="vote()">投票</view>
+		</view>
+
+
+		<uni-popup ref="popup" type="center">
+			<view
+				style="background-color: #FFFFFF;width: 600rpx;border-radius: 10rpx;margin: 0 auto;box-sizing: border-box;padding: 25rpx;">
+				<view style="border: 1rpx solid #ccc;margin-bottom: 20rpx;border-radius: 10rpx;">
+					<textarea style="height: 200rpx;box-sizing: border-box;padding: 25rpx;width: 550rpx;"
+						v-model="remark" placeholder="请输入请假原因" />
+				</view>
+				<view @click="leave()"
+					style="background-color: #009FE8; height: 90rpx;color: #FFFFFF;text-align: center;line-height: 90rpx;">
+					提交</view>
+			</view>
+		</uni-popup>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				// 当前用户工号
+				staff_num: "",
+				// 会议id
+				id: "",
+				// roomID
+				roomID: "",
+
+				detail: {},
+
+				should_list: [],
+				real_list: [],
+
+
+				// 投票详情
+				vote_list: {},
+
+				// 当前状态
+				status: " ",
+				// 请假原因
+				remark: "",
+				// 投票选项
+				vote_take_list: [],
+
+				// 图表数据
+				chartData: {
+					categories: [],
+					"series": [{
+						"data": []
+					}]
+				},
+				pie_1: {
+					"dataLabel": false,
+					"legend": {
+						"position": "bottom",
+						"float": "center"
+					},
+					"title": {
+						"name": " "
+					},
+					"subtitle": {
+						"name": " "
+					},
+					"extra": {
+						"ring": {
+							"centerColor": "#FFFFFF",
+							"border": true,
+						},
+
+					}
+				}
+			};
+		},
+		onLoad(option) {
+			// 设置会议标题
+			uni.setNavigationBarTitle({
+				title: option.title
+			})
+
+			this.id = option.id
+			this.staff_num = uni.getStorageSync('user').staff_num
+
+
+			// 获取会议详情
+			this.get_detail()
+			// 获取应到人列表
+			this.get_should_list()
+			// 获取实到人数
+			this.get_real_list()
+			// 获取投票详情
+			this.get_vote_detail()
+			// 获取当前签到状态
+			this.get_staff_status()
+		},
+		methods: {
+			// 获取会议信息
+			get_detail() {
+				this.$api.conference_one({
+					id: this.id
+				}).then((res) => {
+					console.log(res.data.data)
+
+					this.detail = res.data.data
+					this.roomID = res.data.data.room_num
+				})
+			},
+			// 获取应到人列表
+			get_should_list() {
+				this.$api.conference_staff_list({
+					id: this.id,
+					status: "all"
+				}).then((res) => {
+					console.log(res.data.data)
+
+					this.should_list = res.data.data
+				})
+			},
+			// 获取实到人数
+			get_real_list() {
+				this.$api.conference_staff_list({
+					id: this.id,
+					status: "arrive"
+				}).then((res) => {
+					console.log(res.data.data)
+
+					this.real_list = res.data.data
+				})
+			},
+			// 进入会议
+			click() {
+				console.log(this.detail)
+
+				if (plus.os.name == 'Android') {
+
+					plus.runtime.launchApplication({
+						pname: 'com.hst.sdkTest',
+						extra: { //要传递过去的参数  
+							// title: '该参数由桥梁APP启动时传递',
+
+							serverip: '42.63.25.245',
+							port: '1089',
+							user: this.staff_num,
+							password: 'jwkj123456',
+							roomid: this.roomID
+						}
+					}, (e) => {
+						console.log('Open system default browser failed: ' + e.message)
+
+						if (e.message == 'null') {
+							uni.showModal({
+								title: '提示',
+								content: '需要下载视频会议插件,是否继续下载?',
+								success: function(res) {
+									if (res.confirm) {
+										console.log('用户点击确定');
+										//打开外部url
+										plus.runtime.openURL(
+											"https://jiewei-icon.oss-cn-beijing.aliyuncs.com/apk/app-hst.apk",
+											res => {
+												uni.showToast({
+													title: '打开当前地址出错啦,请稍后再试',
+													icon: 'none'
+												});
+											})
+									} else if (res.cancel) {
+										console.log('用户点击取消');
+									}
+								}
+							});
+						}
+
+
+					})
+
+				}
+			},
+
+
+			// 签到详情
+			should_list_detail() {
+				uni.navigateTo({
+					url: "./should_list/should_list?id=" + this.id
+				})
+			},
+
+			// 获取当前签到状态
+			get_staff_status() {
+				this.$api.get_staff_status({
+					id: this.id,
+					status: ""
+				}).then((res) => {
+					console.log(res.data.data)
+
+					this.status = res.data.data.status
+				})
+			},
+
+			// 签到
+			sign_in() {
+				this.$api.conference_staff_status({
+					id: this.id,
+					status: 1
+				}).then((res) => {
+					console.log(res.data)
+					
+					this.get_staff_status()
+					// 获取实到人数
+					this.get_real_list()
+					// 获取会议详情
+					this.get_detail()
+
+					if (res.data.code == 1) {
+						uni.showToast({
+							icon: "none",
+							title: res.data.message
+						})
+					} else {
+						uni.showToast({
+							icon: "none",
+							title: "签到成功"
+						})
+					}
+				})
+
+			},
+
+			// 请假
+			open_popup() {
+
+				// 通过组件定义的ref调用uni-popup方法 ,如果传入参数 ,type 属性将失效 ,仅支持 ['top','left','bottom','right','center']
+				this.$refs.popup.open()
+
+			},
+			// 提交请假
+			leave() {
+				uni.showModal({
+					title: '提示',
+					content: '是否提交请假申请?',
+					success: (res) => {
+						if (res.confirm) {
+							console.log('用户点击确定');
+
+							this.$refs.popup.close()
+
+							this.$api.conference_staff_status({
+								id: this.id,
+								status: 2,
+								remark: this.remark
+							}).then((res) => {
+								console.log(res.data)
+
+								if (res.data.code == 1) {
+									uni.showToast({
+										icon: "none",
+										title: res.data.message
+									})
+								} else{
+									uni.showToast({
+										icon: "none",
+										title: "请假成功"
+									})
+								}
+								
+								this.get_staff_status()
+								// 获取实到人数
+								this.get_real_list()
+								// 获取会议详情
+								this.get_detail()
+							})
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
+				});
+			},
+			// 获取投票详情
+			get_vote_detail() {
+				this.$api.conference_vote_list({
+					id: this.id
+				}).then((res) => {
+					console.log(res.data.data[0])
+
+					this.vote_list = res.data.data[0]
+
+					let data = []
+					res.data.data[0].formate.forEach((item, index) => {
+						var sevm = {}
+
+						sevm.name = item.name
+						sevm.value = parseInt(item.num)
+
+						data[index] = sevm
+					})
+					this.chartData.series[0].data = data
+
+					console.log(data)
+
+				})
+			},
+
+			// 投票
+			vote() {
+				uni.showLoading({
+					mask: true
+				});
+				this.$api.conference_staff_vote({
+					id: this.id
+				}).then((res) => {
+					uni.hideLoading()
+					console.log(res)
+
+
+					if (res.data.code == 1) {
+						uni.showToast({
+							icon: "none",
+							title: res.data.message
+						})
+					} else {
+						const id = res.data.data.id
+						this.vote_take_list = res.data.data.content
+
+						uni.showActionSheet({
+							itemList: this.vote_take_list,
+							success: (res) => {
+								console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
+								console.log(this.vote_take_list)
+
+								const take = this.vote_take_list[res.tapIndex]
+
+								uni.showModal({
+									title: '提示',
+									content: '是否确认投' + this.vote_take_list[res.tapIndex] +
+										'票?',
+									success: (res) => {
+										if (res.confirm) {
+											console.log('用户点击确定');
+
+											this.$refs.popup.close()
+
+											this.$api.conference_staff_vote_take({
+												id: id,
+												choice: take
+											}).then((res) => {
+
+												console.log(res.data)
+												if (res.data.code == 1) {
+													uni.showToast({
+														icon: "none",
+														title: res.data
+															.message
+													})
+												} else {
+													uni.showToast({
+														icon: "none",
+														title: "投票成功"
+													})
+													
+													// 获取投票详情
+													this.get_vote_detail()
+												}
+
+											})
+
+
+										} else if (res.cancel) {
+											console.log('用户点击取消');
+										}
+									}
+								});
+							},
+							fail: function(res) {
+								console.log(res.errMsg);
+							}
+						});
+
+					}
+				})
+
+
+
+			}
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F4F7F7;
+
+		padding-bottom: 200rpx;
+
+	}
+
+	/* 请根据需求修改图表容器尺寸,如果父容器没有高度图表则会显示异常 */
+	.charts-box {
+		width: 100%;
+		height: 300px;
+	}
+
+	.top {
+		background-color: #FFFFFF;
+		box-sizing: border-box;
+		padding: 25rpx 50rpx;
+
+		.item {
+			display: flex;
+			align-items: center;
+
+			height: 90rpx;
+			border-bottom: 1rpx solid #F5F6F6;
+
+			.icon {
+				image {
+					display: block;
+					width: 35rpx;
+					height: 35rpx;
+				}
+			}
+
+			.title {
+				margin-left: 22rpx;
+
+				font-size: 28rpx;
+				color: #7e7e7e;
+			}
+
+			.text {
+				margin-left: 66rpx;
+			}
+		}
+
+	}
+
+	.content {
+		margin-top: 20rpx;
+		background-color: #FFFFFF;
+
+		box-sizing: border-box;
+		padding: 50rpx;
+
+		padding-bottom: 20rpx;
+
+		.section {
+			padding-bottom: 50rpx;
+			border-bottom: 1rpx solid #F6F6F6;
+			margin-bottom: 50rpx;
+
+			.title {
+				font-size: 34rpx;
+				font-weight: 700;
+
+				margin-bottom: 30rpx;
+			}
+
+			.box {
+				display: flex;
+				justify-content: space-between;
+
+				.item {
+					width: 166rpx;
+					height: 166rpx;
+					text-align: center;
+
+					border-radius: 50%;
+					box-sizing: border-box;
+					border: 20rpx solid #FBBE42;
+
+					.num {
+						margin-top: 15rpx;
+						font-size: 40rpx;
+					}
+
+					.text {
+						font-size: 22rpx;
+						color: #333;
+					}
+				}
+
+				.item:nth-child(1) {
+					border-color: #FBBE42;
+
+					.num {
+						color: #FBBE42;
+					}
+				}
+
+				.item:nth-child(2) {
+					border-color: #FF7472;
+
+					.num {
+						color: #FF7472;
+					}
+				}
+
+				.item:nth-child(3) {
+					border-color: #A472E6;
+
+					.num {
+						color: #A472E6;
+					}
+				}
+			}
+		}
+
+		.section_2 {
+			.user_box {
+				overflow: hidden;
+
+				.user {
+					float: left;
+					margin-right: 25rpx;
+					width: 110rpx;
+					text-align: center;
+
+					.avatar {
+						margin: 0 auto;
+						width: 100rpx;
+						height: 100rpx;
+
+						border-radius: 50%;
+						overflow: hidden;
+
+						image {
+							width: 100rpx;
+							height: 100rpx;
+
+							display: block;
+						}
+					}
+
+					.name {
+						margin-top: 10rpx;
+						font-size: 22rpx;
+						color: #666666;
+					}
+				}
+
+				.user:nth-child(5n) {
+					margin-right: 0;
+				}
+			}
+		}
+	}
+
+	.btn {
+		margin-top: 20rpx;
+		background-color: #FFFFFF;
+		height: 120rpx;
+
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+		box-sizing: border-box;
+		padding: 0 50rpx;
+
+		.left {
+			font-size: 34rpx;
+			font-weight: 700;
+		}
+
+		.right {
+			width: 260rpx;
+			height: 70rpx;
+			background-color: #009FE8;
+
+			display: flex;
+			align-items: center;
+			justify-content: center;
+
+			border-radius: 15rpx;
+
+			.icon {
+				margin-right: 20rpx;
+
+				image {
+					width: 28rpx;
+					height: 32rpx;
+
+					display: block;
+				}
+			}
+
+			.text {
+				color: #FFFFFF;
+				font-size: 30rpx;
+			}
+		}
+	}
+
+	.bottom {
+		height: 100rpx;
+
+		position: fixed;
+		left: 0;
+		bottom: 0rpx;
+
+		display: flex;
+
+		.box {
+			width: 190rpx;
+			height: 100rpx;
+			line-height: 100rpx;
+			text-align: center;
+			font-size: 34rpx;
+			font-weight: 700;
+			color: #FFFFFF;
+		}
+
+		.btn_1 {
+			width: 370rpx;
+			background-color: #1EDE6A;
+		}
+
+		.btn_2 {
+			background-color: #FF2753;
+		}
+
+		.btn_3 {
+			background-color: #FFA124;
+		}
+	}
+</style>

二进制
pages/workbench/meeting_arrangements/detail/icon/icon_1.png


二进制
pages/workbench/meeting_arrangements/detail/icon/icon_2.png


二进制
pages/workbench/meeting_arrangements/detail/icon/icon_3.png


二进制
pages/workbench/meeting_arrangements/detail/icon/icon_4.png


二进制
pages/workbench/meeting_arrangements/detail/icon/join.png


+ 127 - 0
pages/workbench/meeting_arrangements/detail/should_list/should_list.vue

@@ -0,0 +1,127 @@
+<template>
+	<view>
+		<view class="inner_box">
+			<view class="inner_title">
+				<view class="name name_0">序号</view>
+				<view class="name name_1">工号</view>
+				<view class="name name_2">姓名</view>
+				<view class="name name_2">签到</view>
+				<view class="name name_3">原因</view>
+			</view>
+			<view class="list_item">
+				<view class="item" v-for="(item,index) in list" :key="index">
+					<view class="text text_0">{{index+1}}</view>
+					<view class="text text_1">{{item.staff_num}}</view>
+					<view class="text text_2">{{item.name}}</view>
+					<view class="text text_2" v-if="item.status == 0">未知</view>
+					<view class="text text_2" v-if="item.status == 1" style="color: #1EDE6A;">已签</view>
+					<view class="text text_2" v-if="item.status == 2" style="color: #FF7472;">请假</view>
+					<view class="text text_3">{{item.remark}}</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				list: []
+			};
+		},
+		onLoad(option) {
+			this.$api.conference_staff_list({
+				id: option.id,
+				status: "all"
+			}).then((res) => {
+				console.log(res.data.data)
+
+				this.list = res.data.data
+			})
+		}
+	}
+</script>
+
+<style lang="scss">
+	.inner_box {
+		.inner_title {
+			position: fixed;
+			left: 0;
+			top: 1;
+			z-index: 999;
+			overflow: hidden;
+
+			// padding: 0 25rpx;
+
+			height: 94rpx;
+			background: #F3F6FA;
+
+			display: flex;
+			align-items: center;
+
+			.name {
+				font-size: 27rpx;
+				font-family: PingFangSC-Regular, PingFang SC;
+				font-weight: 400;
+				color: #232627;
+				text-align: center;
+			}
+			
+			.name_0 {
+				width: 130rpx;
+			}
+
+			.name_1 {
+				width: 130rpx;
+			}
+
+			.name_2 {
+				width: 150rpx;
+			}
+
+			.name_3 {
+				width: 190rpx;
+			}
+		}
+
+		.list_item {
+			padding-top: 94rpx;
+
+			.item {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+
+				border-bottom: 1px solid #f3f3f3;
+
+				.text {
+					padding: 20rpx 0;
+					font-size: 25rpx;
+					font-family: PingFangSC-Regular, PingFang SC;
+					font-weight: 400;
+					text-align: center;
+					display: flex;
+					flex-flow: column;
+					justify-content: center;
+					line-height: 40rpx;
+				}
+				
+				.text_0 {
+					width: 130rpx;
+				}
+				.text_1 {
+					width: 130rpx;
+				}
+
+				.text_2 {
+					width: 150rpx;
+				}
+
+				.text_3 {
+					width: 190rpx;
+				}
+			}
+		}
+	}
+</style>

+ 96 - 0
pages/workbench/meeting_arrangements/meeting_arrangements.vue

@@ -0,0 +1,96 @@
+<template>
+	<view>
+		<view class="list">
+			<view class="item" v-for="(item,index) in list" :key="index" @click="go_detail(item.id,item.title)">
+				<view class="line">
+					<!-- <view class="tip">未举办</view> -->
+					<!-- <view class="tip" style="background-color: #009FE8;">开会中</view> -->
+					<!-- <view class="tip" style="background-color: #BEBEBE;">已过期</view> -->
+					<view class="title">{{item.title}}</view>
+				</view>
+				<view class="text">时间:{{item.time}}</view>
+				<view class="text">地点:{{item.place}}</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				list:[]
+			};
+		},
+		onLoad() {
+			this.get_list()
+		},
+		methods:{
+			// 会议列表
+			get_list(){
+				this.$api.conference_list({
+					
+				}).then((res)=>{
+					console.log(res.data.data)
+					
+					this.list = res.data.data
+					
+					if(this.list.length == 0){
+						uni.showToast({
+							icon:"none",
+							title:"暂无会议"
+						})
+						setTimeout(()=>{
+							uni.navigateBack()
+						},1500)
+					}
+				})
+			},
+			go_detail(id,title){
+				uni.navigateTo({
+					url:"./detail/detail?id=" + id + "&title=" + title
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		box-sizing: border-box;
+		padding: 25rpx;
+	}
+	.list{
+		.item{
+			margin-bottom: 20rpx;
+			
+			padding-bottom: 20rpx;
+			border-bottom: 1rpx solid #F0F0F0;
+			.line{
+				display: flex;
+				align-items: center;
+				
+				height: 60rpx;
+				.tip{
+					width: 100rpx;
+					text-align: center;
+					color: #FFFFFF;
+					font-size: 26rpx;
+					
+					background-color: #2ABD62;
+					border-radius: 10rpx;
+				}
+				.title{
+					margin-left: 20rpx;
+					font-size: 34rpx;
+				}
+			}
+			.text{
+				// margin-left: 120rpx;
+				margin-left: 20rpx;
+				font-size: 26rpx;
+				color: #666;
+			}
+		}
+	}
+</style>

文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/build/app-plus/app-config-service.js


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/build/app-plus/app-service.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/build/app-plus/app-view.js


二进制
unpackage/dist/build/app-plus/components/t-i-common/icon/01.png


二进制
unpackage/dist/build/app-plus/components/t-i-common/icon/02.png


二进制
unpackage/dist/build/app-plus/components/t-i-common/icon/03.png


二进制
unpackage/dist/build/app-plus/components/t-i-common/icon/04.png


二进制
unpackage/dist/build/app-plus/components/t-i-common/icon/05.png


二进制
unpackage/dist/build/app-plus/components/t-i-common/icon/06.png


二进制
unpackage/dist/build/app-plus/components/t-i-common/icon/07.png


二进制
unpackage/dist/build/app-plus/components/t-i-common/icon/08.png


二进制
unpackage/dist/build/app-plus/components/t-p-ningdongyunying/img/bg.jpg


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/build/app-plus/manifest.json


二进制
unpackage/dist/build/app-plus/pages/index/bars_sort/icon/01.png


二进制
unpackage/dist/build/app-plus/pages/index/bars_sort/icon/02.png


二进制
unpackage/dist/build/app-plus/pages/index/bars_sort/icon/03.png


二进制
unpackage/dist/build/app-plus/pages/index/bars_sort/icon/04.png


二进制
unpackage/dist/build/app-plus/pages/index/bars_sort/icon/05.png


二进制
unpackage/dist/build/app-plus/pages/index/bars_sort/icon/06.png


二进制
unpackage/dist/build/app-plus/pages/index/bars_sort/icon/07.png


二进制
unpackage/dist/build/app-plus/pages/index/bars_sort/icon/08.png


二进制
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/top.png


二进制
unpackage/dist/build/app-plus/pages/production/personnel_orientation/icon/00.png


二进制
unpackage/dist/build/app-plus/pages/production/personnel_orientation/icon/01.png


二进制
unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/icon_1.png


二进制
unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/icon_2.png


二进制
unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/icon_3.png


二进制
unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/icon_4.png


二进制
unpackage/dist/build/app-plus/pages/workbench/meeting_arrangements/detail/icon/join.png


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/app-plus/app-config-service.js


文件差异内容过多而无法显示
+ 4869 - 1810
unpackage/dist/dev/app-plus/app-service.js


文件差异内容过多而无法显示
+ 3373 - 162
unpackage/dist/dev/app-plus/app-view.js


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/01.png


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/02.png


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/03.png


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/04.png


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/05.png


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/06.png


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/07.png


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/08.png


二进制
unpackage/dist/dev/app-plus/components/t-i-common/icon/icon.png


二进制
unpackage/dist/dev/app-plus/components/t-p-ningdongyunying/img/bg.jpg


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/app-plus/manifest.json


二进制
unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/01.png


二进制
unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/02.png


二进制
unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/03.png


二进制
unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/04.png


二进制
unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/05.png


二进制
unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/06.png


二进制
unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/07.png


+ 0 - 0
unpackage/dist/dev/app-plus/pages/index/bars_sort/icon/08.png


部分文件因为文件数量过多而无法显示