widget-pie-nightingale.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. /*
  2. * @Descripttion: 南丁格尔玫瑰图 json
  3. * @version:
  4. * @Author: qianlishi
  5. * @Date: 2021-08-29 07:32:40
  6. * @LastEditors: qianlishi
  7. * @LastEditTime: 2021-09-28 14:18:05
  8. */
  9. export const widgetPieNightingale = {
  10. code: 'WidgetPieNightingaleRoseArea',
  11. type: 'chart',
  12. label: '南丁格尔玫瑰图',
  13. icon: 'iconnandinggeermeiguitu',
  14. options: {
  15. // 配置
  16. setup: [
  17. {
  18. type: 'el-input-text',
  19. label: '图层名称',
  20. name: 'layerName',
  21. required: false,
  22. placeholder: '',
  23. value: '南丁格尔玫瑰图',
  24. },
  25. {
  26. type: 'vue-color',
  27. label: '背景颜色',
  28. name: 'background',
  29. required: false,
  30. placeholder: '',
  31. value: ''
  32. },
  33. {
  34. type: 'el-select',
  35. label: '饼图模式',
  36. name: 'nightingleRosetype',
  37. required: false,
  38. placeholder: '',
  39. selectOptions: [
  40. {code: 'area', name: '面积模式'},
  41. {code: 'radius', name: '半径模式'},
  42. ],
  43. value: 'area'
  44. },
  45. [
  46. {
  47. name: '标题设置',
  48. list: [
  49. {
  50. type: 'el-switch',
  51. label: '标题',
  52. name: 'isNoTitle',
  53. required: false,
  54. placeholder: '',
  55. value: true
  56. },
  57. {
  58. type: 'el-input-text',
  59. label: '标题',
  60. name: 'titleText',
  61. required: false,
  62. placeholder: '',
  63. value: ''
  64. },
  65. {
  66. type: 'vue-color',
  67. label: '字体颜色',
  68. name: 'textColor',
  69. required: false,
  70. placeholder: '',
  71. value: '#fff'
  72. },
  73. {
  74. type: 'el-select',
  75. label: '字体粗细',
  76. name: 'textFontWeight',
  77. required: false,
  78. placeholder: '',
  79. selectOptions: [
  80. {code: 'normal', name: '正常'},
  81. {code: 'bold', name: '粗体'},
  82. {code: 'bolder', name: '特粗体'},
  83. {code: 'lighter', name: '细体'}
  84. ],
  85. value: 'normal'
  86. },
  87. {
  88. type: 'el-input-number',
  89. label: '字体大小',
  90. name: 'textFontSize',
  91. required: false,
  92. placeholder: '',
  93. value: 20
  94. },
  95. {
  96. type: 'el-select',
  97. label: '字体位置',
  98. name: 'textAlign',
  99. required: false,
  100. placeholder: '',
  101. selectOptions: [
  102. {code: 'center', name: '居中'},
  103. {code: 'left', name: '左对齐'},
  104. {code: 'right', name: '右对齐'},
  105. ],
  106. value: 'left'
  107. },
  108. {
  109. type: 'el-input-text',
  110. label: '副标题',
  111. name: 'subText',
  112. required: false,
  113. placeholder: '',
  114. value: ''
  115. },
  116. {
  117. type: 'vue-color',
  118. label: '字体颜色',
  119. name: 'subTextColor',
  120. required: false,
  121. placeholder: '',
  122. value: ''
  123. },
  124. {
  125. type: 'el-select',
  126. label: '字体粗细',
  127. name: 'subTextFontWeight',
  128. required: false,
  129. placeholder: '',
  130. selectOptions: [
  131. {code: 'normal', name: '正常'},
  132. {code: 'bold', name: '粗体'},
  133. {code: 'bolder', name: '特粗体'},
  134. {code: 'lighter', name: '细体'}
  135. ],
  136. value: 'normal'
  137. },
  138. {
  139. type: 'el-input-number',
  140. label: '字体大小',
  141. name: 'subTextFontSize',
  142. required: false,
  143. placeholder: '',
  144. value: 12
  145. },
  146. ],
  147. },
  148. {
  149. name: '数值设定',
  150. list: [
  151. {
  152. type: 'el-switch',
  153. label: '显示',
  154. name: 'isShow',
  155. required: false,
  156. placeholder: '',
  157. value: true,
  158. },
  159. {
  160. type: 'el-switch',
  161. label: '数值',
  162. name: 'numberValue',
  163. require: false,
  164. placeholder: '',
  165. value: true,
  166. },
  167. {
  168. type: 'el-switch',
  169. label: '百分比',
  170. name: 'percentage',
  171. require: false,
  172. placeholder: '',
  173. value: false,
  174. },
  175. {
  176. type: 'el-input-number',
  177. label: '字体大小',
  178. name: 'fontSize',
  179. required: false,
  180. placeholder: '',
  181. value: 14,
  182. },
  183. {
  184. type: 'vue-color',
  185. label: '字体颜色',
  186. name: 'subTextColor',
  187. required: false,
  188. placeholder: '',
  189. value: ''
  190. },
  191. {
  192. type: 'el-select',
  193. label: '字体粗细',
  194. name: 'fontWeight',
  195. required: false,
  196. placeholder: '',
  197. selectOptions: [
  198. {code: 'normal', name: '正常'},
  199. {code: 'bold', name: '粗体'},
  200. {code: 'bolder', name: '特粗体'},
  201. {code: 'lighter', name: '细体'}
  202. ],
  203. value: 'normal'
  204. },
  205. ],
  206. },
  207. {
  208. name: '提示语设置',
  209. list: [
  210. {
  211. type: 'el-input-number',
  212. label: '字体字号',
  213. name: 'tipsFontSize',
  214. required: false,
  215. placeholder: '',
  216. value: 16
  217. },
  218. {
  219. type: 'vue-color',
  220. label: '字体颜色',
  221. name: 'tipsColor',
  222. required: false,
  223. placeholder: '',
  224. value: '#00FEFF'
  225. },
  226. ],
  227. },
  228. {
  229. name: '图例操作',
  230. list: [
  231. {
  232. type: 'el-switch',
  233. label: '图例',
  234. name: 'isShowLegend',
  235. required: false,
  236. placeholder: '',
  237. value: true,
  238. },
  239. {
  240. type: 'vue-color',
  241. label: '字体颜色',
  242. name: 'legendColor',
  243. required: false,
  244. placeholder: '',
  245. value: '#fff',
  246. },
  247. {
  248. type: 'el-input-number',
  249. label: '字体大小',
  250. name: 'legendFontSize',
  251. required: false,
  252. placeholder: '',
  253. value: 16,
  254. },
  255. {
  256. type: 'el-input-number',
  257. label: '图例宽度',
  258. name: 'legendWidth',
  259. required: false,
  260. placeholder: '',
  261. value: 15,
  262. },
  263. {
  264. type: 'el-select',
  265. label: '横向位置',
  266. name: 'lateralPosition',
  267. required: false,
  268. placeholder: '',
  269. selectOptions: [
  270. {code: 'center', name: '居中'},
  271. {code: 'left', name: '左对齐'},
  272. {code: 'right', name: '右对齐'},
  273. ],
  274. value: 'center'
  275. },
  276. {
  277. type: 'el-select',
  278. label: '纵向位置',
  279. name: 'longitudinalPosition',
  280. required: false,
  281. placeholder: '',
  282. selectOptions: [
  283. {code: 'top', name: '顶部'},
  284. {code: 'bottom', name: '底部'},
  285. ],
  286. value: 'top'
  287. },
  288. {
  289. type: 'el-select',
  290. label: '布局前置',
  291. name: 'layoutFront',
  292. required: false,
  293. placeholder: '',
  294. selectOptions: [
  295. {code: 'vertical', name: '竖排'},
  296. {code: 'horizontal', name: '横排'},
  297. ],
  298. value: 'horizontal'
  299. },
  300. ],
  301. },
  302. {
  303. name: '自定义配色',
  304. list: [
  305. {
  306. type: 'customColor',
  307. label: '',
  308. name: 'customColor',
  309. required: false,
  310. value: [{color: '#FF801C'}, {color: '#F5FF46'}, {color: '#00FE65'}, {color: '#00FEFF'}, {color: '#ffa800'}]
  311. },
  312. ],
  313. },
  314. ],
  315. ],
  316. // 数据
  317. data: [
  318. {
  319. type: 'el-radio-group',
  320. label: '数据类型',
  321. name: 'dataType',
  322. require: false,
  323. placeholder: '',
  324. selectValue: true,
  325. selectOptions: [
  326. {
  327. code: 'staticData',
  328. name: '静态数据',
  329. },
  330. {
  331. code: 'dynamicData',
  332. name: '动态数据',
  333. },
  334. ],
  335. value: 'staticData',
  336. },
  337. {
  338. type: 'el-input-number',
  339. label: '刷新时间(毫秒)',
  340. name: 'refreshTime',
  341. relactiveDom: 'dataType',
  342. relactiveDomValue: 'dynamicData',
  343. value: 5000
  344. },
  345. {
  346. type: 'el-button',
  347. label: '静态数据',
  348. name: 'staticData',
  349. required: false,
  350. placeholder: '',
  351. relactiveDom: 'dataType',
  352. relactiveDomValue: 'staticData',
  353. value: [{"value": 1048,"name": "搜索引擎"},{"value": 735, "name": "直接访问"},{"value": 580, "name": "邮件营销"},{"value": 484,"name":"联盟广告"},{"value":300,"name":"视频广告"}],
  354. },
  355. {
  356. type: 'dycustComponents',
  357. label: '',
  358. name: 'dynamicData',
  359. required: false,
  360. placeholder: '',
  361. relactiveDom: 'dataType',
  362. chartType: 'widget-piechart',
  363. dictKey: 'PIE_PROPERTIES',
  364. relactiveDomValue: 'dynamicData',
  365. value: '',
  366. },
  367. ],
  368. // 坐标
  369. position: [
  370. {
  371. type: 'el-input-number',
  372. label: '左边距',
  373. name: 'left',
  374. required: false,
  375. placeholder: '',
  376. value: 0,
  377. },
  378. {
  379. type: 'el-input-number',
  380. label: '上边距',
  381. name: 'top',
  382. required: false,
  383. placeholder: '',
  384. value: 0,
  385. },
  386. {
  387. type: 'el-input-number',
  388. label: '宽度',
  389. name: 'width',
  390. required: false,
  391. placeholder: '该容器在1920px大屏中的宽度',
  392. value: 400,
  393. },
  394. {
  395. type: 'el-input-number',
  396. label: '高度',
  397. name: 'height',
  398. required: false,
  399. placeholder: '该容器在1080px大屏中的高度',
  400. value: 200,
  401. },
  402. ],
  403. }
  404. }