pdf.vue 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. <template>
  2. <div>
  3. <!-- 封面 -->
  4. <div class="cd_box fm">
  5. <div class="cb_db adf">
  6. <div class="cb_db_l">{{ datetime }}</div>
  7. </div>
  8. <img class="fm_img" src="@/assets/images/agent/pdf_logo.png">
  9. <div class="fm_title">
  10. <div class="pt_p">PERILL</div>
  11. <div class="pt_name">团队诊断报告</div>
  12. <div class="pt_tip">{{ reportData?.cover?.title }}</div>
  13. </div>
  14. <div class="fm_pre adfac" style="margin-top: 195px;">
  15. <div class="fmp_l">报告撰写人:</div>
  16. <div class="fmp_r">{{ reportData?.cover?.realName }}</div>
  17. </div>
  18. <div class="fm_pre adfac">
  19. <div class="fmp_l">客户名称:</div>
  20. <div class="fmp_r">{{ reportData?.cover?.enterpriseName }}</div>
  21. </div>
  22. <div class="fm_pre adfac">
  23. <div class="fmp_l">团队名称:</div>
  24. <div class="fmp_r">{{ reportData?.cover?.teamName }}</div>
  25. </div>
  26. <div class="fm_pre adfac">
  27. <div class="fmp_l">成员人数:</div>
  28. <div class="fmp_r">{{ reportData?.cover?.userNum }}</div>
  29. </div>
  30. <div class="fm_pre adfac">
  31. <div class="fmp_l">报告时间:</div>
  32. <div class="fmp_r">{{ reportData?.cover?.genDate }}</div>
  33. </div>
  34. <div class="cd_page">1/{{ 53 }}</div>
  35. </div>
  36. <!-- 第二页 -->
  37. <div class="cd_box js">
  38. <div class="cb_db adf">
  39. <div class="cb_db_l cdl">{{ datetime }}</div>
  40. </div>
  41. <div class="cb_content">
  42. <div class="mddj_title adfac">
  43. <img src="@/assets/images/agent/pdf_title.png">
  44. <span>介绍</span>
  45. </div>
  46. <p>PERILL模型由发展辅导领域的先驱、世界领先的教练及管理思维和团队绩效的作者大卫·克勒特巴克教授开发。该模型运用复杂的适应性思维,通过6个PERILL支柱来指导团队。这6个关键因素相互作用,共同推动或阻碍团队绩效。</p>
  47. <p>以下报告提取了参与PERILL诊断问卷的团队成员提供的分数,并将其应用于PERILL模型。本报告的目的是总结团队中高功能和潜在功能障碍的领域,以帮助推动团队的整体表现。</p>
  48. <p>该PERILL报告的结果可以帮助企业与团队更好地了解其优势、问题和差距,或需要克服的潜在挑战,以提高团队绩效、声誉和协作。</p>
  49. <div class="big_title">PERILL的六大支柱</div>
  50. <p>PERILL诊断提供了一个复杂的概述,不是离散的问题,也不是简单的优点和缺点,而是团队系统的复杂性。它询问了6个影响因素(如下所述)的问题,以找出团队系统元素之间的联系,以及它们如何可能影响团队高效运作的能力。</p>
  51. <div class="js_boxs">
  52. <div class="jb_pre">
  53. <div class="jbp_zm">P</div>
  54. <img src="@/assets/images/agent/pdf_img_p.png">
  55. <div class="jbp_title" style="line-height: 30px;">目的与动机</div>
  56. <p style="margin-top: 0;">是否存在一个明确的存在理由和清晰的方向,能够激发团队成员的动力并抓住他们的想象力?</p>
  57. <p>个人身份和集体身份是否围绕共同目标达成一致?</p>
  58. </div>
  59. <div class="jb_pre">
  60. <div class="jbp_zm">E</div>
  61. <img src="@/assets/images/agent/pdf_img_e.png">
  62. <div class="jbp_title" style="line-height: 12px;">外部流程及系统与架构</div>
  63. <p style="margin-top: 0;">团队如何与其各类利益相关者互动?</p>
  64. <p>团队如何理解这些利益相关者以及利益相关者如何理解团队?此外,团队又该如何管理相互冲突的期望、获取资源等?</p>
  65. </div>
  66. <div class="jb_pre">
  67. <div class="jbp_zm">R</div>
  68. <img src="@/assets/images/agent/pdf_img_r.png">
  69. <div class="jbp_title" style="line-height: 30px;">关系</div>
  70. <p style="margin-top: 0;">团队成员之间是否相互信任和尊重?</p>
  71. <p>团队成员之间是否相互信任和尊重?</p>
  72. <p>团队成员之间的关系是否有助于实现真正紧密的协作?</p>
  73. </div>
  74. <div class="jb_pre">
  75. <div class="jbp_zm">I</div>
  76. <img src="@/assets/images/agent/pdf_img_i.png">
  77. <div class="jbp_title" style="line-height: 12px;">内部流程及系统与架构</div>
  78. <p style="margin-top: 0;">团队在平衡责任与自主权方面是如何实现功能性协作的?</p>
  79. <p>它的敏捷性如何,沟通方式怎样,决策流程的运作效果有多好?</p>
  80. </div>
  81. <div class="jb_pre">
  82. <div class="jbp_zm">L</div>
  83. <img src="@/assets/images/agent/pdf_img_l.png">
  84. <div class="jbp_title" style="line-height: 30px;">学习</div>
  85. <p style="margin-top: 0;">团队如何提高绩效,提高技能和资源,以应对当前和未来的任务?</p>
  86. <p>它如何管理能力和提高效率?</p>
  87. </div>
  88. </div>
  89. <div class="js_single_box adf">
  90. <div class="jsb_zm">L</div>
  91. <div class="jsb_l adffcacjc">
  92. <img src="@/assets/images/agent/pdf_img_l.png">
  93. <p>领导力</p>
  94. </div>
  95. <div class="jsb_r adffcacjc">
  96. 领导力的特质与行为如何对团队运作及其他因素产生调节影响,且这种影响是正向还是负向的?
  97. </div>
  98. </div>
  99. </div>
  100. <div class="cd_page">2/{{ 53 }}</div>
  101. </div>
  102. </div>
  103. </template>
  104. <script setup name="">
  105. const props = defineProps({
  106. reportData:{
  107. type: Object,
  108. default: () => {}
  109. }
  110. })
  111. import * as echarts from "echarts";
  112. import { ref, getCurrentInstance, onMounted } from 'vue'
  113. const { proxy } = getCurrentInstance();
  114. const reportData = ref(props.reportData);
  115. const zttdznRef = ref(null)
  116. const pjgxRef = ref(null);
  117. const datetime = proxy.parseTime(new Date(), '{yy}-{mm}-{dd} {hh}:{ii}');
  118. const mddjTableDatas = ref([
  119. {
  120. title: '我们可以集体明确地表达我们的共同目标',
  121. datas: [
  122. { name: '玛丽', score: 1, status:1 },
  123. { name: '千斤顶', score: 16, status:2 },
  124. { name: '汤姆', score: 16, status:2 },
  125. { name: '阿尔法', score: 20, status:2 },
  126. { name: '总评分', score: 13, status:1 },
  127. { name: 'Variance', score: 19, status:2 }
  128. ]
  129. },
  130. {
  131. title: '我们对团队在这里要做的事情高度一致',
  132. datas: [
  133. { name: '玛丽', score: 1, status:1 },
  134. { name: '千斤顶', score: 9, status:1 },
  135. { name: '汤姆', score: 12, status:1 },
  136. { name: '阿尔法', score: 16, status:2 },
  137. { name: '总评分', score: 10, status:1 },
  138. { name: 'Variance', score: 15, status:2 }
  139. ]
  140. },
  141. {
  142. title: '我们善于将团队优先事项置于个人优先事项之前',
  143. datas: [
  144. { name: '玛丽', score: 1, status:1 },
  145. { name: '千斤顶', score: 12, status:1 },
  146. { name: '汤姆', score: 36, status:3 },
  147. { name: '阿尔法', score: 18, status:2 },
  148. { name: '总评分', score: 17, status:2 },
  149. { name: 'Variance', score: 35, status:1 }
  150. ]
  151. },
  152. {
  153. title: '我们可以集体明确地表达我们的共同目标',
  154. datas: [
  155. { name: '玛丽', score: 1, status:1 },
  156. { name: '千斤顶', score: 16, status:2 },
  157. { name: '汤姆', score: 16, status:2 },
  158. { name: '阿尔法', score: 20, status:2 },
  159. { name: '总评分', score: 13, status:1 },
  160. { name: 'Variance', score: 19, status:2 }
  161. ]
  162. },
  163. {
  164. title: '我们对团队在这里要做的事情高度一致',
  165. datas: [
  166. { name: '玛丽', score: 1, status:1 },
  167. { name: '千斤顶', score: 9, status:1 },
  168. { name: '汤姆', score: 12, status:1 },
  169. { name: '阿尔法', score: 16, status:2 },
  170. { name: '总评分', score: 10, status:1 },
  171. { name: 'Variance', score: 15, status:2 }
  172. ]
  173. },
  174. {
  175. title: '我们善于将团队优先事项置于个人优先事项之前',
  176. datas: [
  177. { name: '玛丽', score: 1, status:1 },
  178. { name: '千斤顶', score: 12, status:1 },
  179. { name: '汤姆', score: 36, status:3 },
  180. { name: '阿尔法', score: 18, status:2 },
  181. { name: '总评分', score: 17, status:2 },
  182. { name: 'Variance', score: 35, status:1 }
  183. ]
  184. },
  185. {
  186. title: '我们可以集体明确地表达我们的共同目标',
  187. datas: [
  188. { name: '玛丽', score: 1, status:1 },
  189. { name: '千斤顶', score: 16, status:2 },
  190. { name: '汤姆', score: 16, status:2 },
  191. { name: '阿尔法', score: 20, status:2 },
  192. { name: '总评分', score: 13, status:1 },
  193. { name: 'Variance', score: 19, status:2 }
  194. ]
  195. },
  196. {
  197. title: '我们对团队在这里要做的事情高度一致',
  198. datas: [
  199. { name: '玛丽', score: 1, status:1 },
  200. { name: '千斤顶', score: 9, status:1 },
  201. { name: '汤姆', score: 12, status:1 },
  202. { name: '阿尔法', score: 16, status:2 },
  203. { name: '总评分', score: 10, status:1 },
  204. { name: 'Variance', score: 15, status:2 }
  205. ]
  206. },
  207. {
  208. title: '我们善于将团队优先事项置于个人优先事项之前',
  209. datas: [
  210. { name: '玛丽', score: 1, status:1 },
  211. { name: '千斤顶', score: 12, status:1 },
  212. { name: '汤姆', score: 36, status:3 },
  213. { name: '阿尔法', score: 18, status:2 },
  214. { name: '总评分', score: 17, status:2 },
  215. { name: 'Variance', score: 35, status:1 }
  216. ]
  217. },
  218. {
  219. title: '我们可以集体明确地表达我们的共同目标',
  220. datas: [
  221. { name: '玛丽', score: 1, status:1 },
  222. { name: '千斤顶', score: 16, status:2 },
  223. { name: '汤姆', score: 16, status:2 },
  224. { name: '阿尔法', score: 20, status:2 },
  225. { name: '总评分', score: 13, status:1 },
  226. { name: 'Variance', score: 19, status:2 }
  227. ]
  228. },
  229. {
  230. title: '我们对团队在这里要做的事情高度一致',
  231. datas: [
  232. { name: '玛丽', score: 1, status:1 },
  233. { name: '千斤顶', score: 9, status:1 },
  234. { name: '汤姆', score: 12, status:1 },
  235. { name: '阿尔法', score: 16, status:2 },
  236. { name: '总评分', score: 10, status:1 },
  237. { name: 'Variance', score: 15, status:2 }
  238. ]
  239. },
  240. {
  241. title: '我们善于将团队优先事项置于个人优先事项之前',
  242. datas: [
  243. { name: '玛丽', score: 1, status:1 },
  244. { name: '千斤顶', score: 12, status:1 },
  245. { name: '汤姆', score: 36, status:3 },
  246. { name: '阿尔法', score: 18, status:2 },
  247. { name: '总评分', score: 17, status:2 },
  248. { name: 'Variance', score: 35, status:1 }
  249. ]
  250. },
  251. {
  252. title: '我们可以集体明确地表达我们的共同目标',
  253. datas: [
  254. { name: '玛丽', score: 1, status:1 },
  255. { name: '千斤顶', score: 16, status:2 },
  256. { name: '汤姆', score: 16, status:2 },
  257. { name: '阿尔法', score: 20, status:2 },
  258. { name: '总评分', score: 13, status:1 },
  259. { name: 'Variance', score: 19, status:2 }
  260. ]
  261. },
  262. {
  263. title: '我们对团队在这里要做的事情高度一致',
  264. datas: [
  265. { name: '玛丽', score: 1, status:1 },
  266. { name: '千斤顶', score: 9, status:1 },
  267. { name: '汤姆', score: 12, status:1 },
  268. { name: '阿尔法', score: 16, status:2 },
  269. { name: '总评分', score: 10, status:1 },
  270. { name: 'Variance', score: 15, status:2 }
  271. ]
  272. },
  273. {
  274. title: '我们善于将团队优先事项置于个人优先事项之前',
  275. datas: [
  276. { name: '玛丽', score: 1, status:1 },
  277. { name: '千斤顶', score: 12, status:1 },
  278. { name: '汤姆', score: 36, status:3 },
  279. { name: '阿尔法', score: 18, status:2 },
  280. { name: '总评分', score: 17, status:2 },
  281. { name: 'Variance', score: 35, status:1 }
  282. ]
  283. },
  284. ])
  285. const initZttdznChart = () => {
  286. let myChart = echarts.init(zttdznRef.value);
  287. let option = {
  288. tooltip: {
  289. trigger: 'axis',
  290. axisPointer: {
  291. type: 'shadow'
  292. }
  293. },
  294. legend: {},
  295. grid: {
  296. left: '3%',
  297. right: '8%',
  298. bottom: '3%',
  299. containLabel: true
  300. },
  301. xAxis: {
  302. type: 'value',
  303. boundaryGap: [0, 0.01]
  304. },
  305. yAxis: {
  306. type: 'category',
  307. data: ['Brazil', 'Indonesia', 'USA', 'India', 'China', 'World']
  308. },
  309. series: [
  310. {
  311. name: '2011',
  312. type: 'bar',
  313. data: [18203, 23489, 29034, 104970, 131744, 630230],
  314. itemStyle:{
  315. color: function(params) {
  316. var colorList = ['#c23531','#2f4554', '#61a0a8', '#d48265', '#91c7ae','#749f83'];
  317. return colorList[params.dataIndex]
  318. }
  319. }
  320. }
  321. ]
  322. };
  323. myChart.setOption(option)
  324. }
  325. const initPlgxChart = () => {
  326. let myChart = echarts.init(pjgxRef.value);
  327. let option = {
  328. color:['#F9CE7F'],
  329. legend: {
  330. data: ['Allocated Budget']
  331. },
  332. radar: {
  333. indicator: [
  334. { name: 'Sales', max: 6500,
  335. axisLabel : {
  336. show: true
  337. }
  338. },
  339. { name: 'Administration', max: 16000 },
  340. { name: 'Information Technology', max: 30000 },
  341. { name: 'Customer Support', max: 38000 },
  342. { name: 'Development', max: 52000 },
  343. { name: 'Marketing', max: 25000 }
  344. ],
  345. radius:'55%',
  346. },
  347. series: [
  348. {
  349. name: 'Budget vs spending',
  350. type: 'radar',
  351. areaStyle: {},
  352. data: [
  353. {
  354. value: [4200, 3000, 20000, 35000, 50000, 18000],
  355. name: 'Allocated Budget'
  356. }
  357. ]
  358. }
  359. ]
  360. }
  361. myChart.setOption(option)
  362. }
  363. onMounted(() => {
  364. initZttdznChart();
  365. initPlgxChart();
  366. })
  367. </script>
  368. <style scoped lang="scss">
  369. @import url(./pdf.scss);
  370. .cd_box{
  371. width: 100%;
  372. height: 891px;
  373. color: #A1A1A1;
  374. }
  375. </style>