widget-bar-compare.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659
  1. /*
  2. * @Descripttion: 柱状对比图 json
  3. * @version:
  4. * @Author: qianlishi
  5. * @Date: 2021-08-29 07:39:35
  6. * @LastEditors: qianlishi
  7. * @LastEditTime: 2021-09-28 14:09:58
  8. */
  9. export const widgetBarCompare = {
  10. code: 'widgetBarCompareChart',
  11. type: 'chart',
  12. label: '柱状对比图',
  13. icon: 'iconduibitupu',
  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. {
  35. name: '柱体设置',
  36. list: [
  37. {
  38. type: 'el-slider',
  39. label: '最大宽度',
  40. name: 'maxWidth',
  41. required: false,
  42. placeholder: '',
  43. value: 15,
  44. },
  45. {
  46. type: 'el-slider',
  47. label: '圆角',
  48. name: 'radius',
  49. require: false,
  50. placeholder: '',
  51. value: 5,
  52. },
  53. ],
  54. },
  55. {
  56. name: '标题设置',
  57. list: [
  58. {
  59. type: 'el-switch',
  60. label: '标题',
  61. name: 'isNoTitle',
  62. required: false,
  63. placeholder: '',
  64. value: true,
  65. },
  66. {
  67. type: 'el-input-text',
  68. label: '标题',
  69. name: 'titleText',
  70. required: false,
  71. placeholder: '',
  72. value: '',
  73. },
  74. {
  75. type: 'vue-color',
  76. label: '字体颜色',
  77. name: 'textColor',
  78. required: false,
  79. placeholder: '',
  80. value: '#FFD700'
  81. },
  82. {
  83. type: 'el-select',
  84. label: '字体粗细',
  85. name: 'textFontWeight',
  86. required: false,
  87. placeholder: '',
  88. selectOptions: [
  89. {code: 'normal', name: '正常'},
  90. {code: 'bold', name: '粗体'},
  91. {code: 'bolder', name: '特粗体'},
  92. {code: 'lighter', name: '细体'}
  93. ],
  94. value: 'normal'
  95. },
  96. {
  97. type: 'el-input-number',
  98. label: '字体大小',
  99. name: 'textFontSize',
  100. required: false,
  101. placeholder: '',
  102. value: 20
  103. },
  104. {
  105. type: 'el-select',
  106. label: '字体位置',
  107. name: 'textAlign',
  108. required: false,
  109. placeholder: '',
  110. selectOptions: [
  111. {code: 'center', name: '居中'},
  112. {code: 'left', name: '左对齐'},
  113. {code: 'right', name: '右对齐'},
  114. ],
  115. value: 'center'
  116. },
  117. ],
  118. },
  119. {
  120. name: '图例操作',
  121. list: [
  122. {
  123. type: 'el-switch',
  124. label: '图例显示',
  125. name: 'isShowLegend',
  126. required: false,
  127. placeholder: '',
  128. value: true,
  129. },
  130. {
  131. type: 'el-input-text',
  132. label: '图例名称',
  133. name: 'legendName',
  134. required: false,
  135. placeholder: '多值以'|'隔开',
  136. value: ''
  137. },
  138. {
  139. type: 'vue-color',
  140. label: '字体颜色',
  141. name: 'legendColor',
  142. required: false,
  143. placeholder: '',
  144. value: '#fff',
  145. },
  146. {
  147. type: 'el-input-number',
  148. label: '字体字号',
  149. name: 'legendFontSize',
  150. required: false,
  151. placeholder: '',
  152. value: 12,
  153. },
  154. {
  155. type: 'el-input-number',
  156. label: '图例宽度',
  157. name: 'legendWidth',
  158. required: false,
  159. placeholder: '',
  160. value: 12,
  161. },
  162. {
  163. type: 'el-select',
  164. label: '横向位置',
  165. name: 'lateralPosition',
  166. required: false,
  167. placeholder: '',
  168. selectOptions: [
  169. {code: 'center', name: '居中'},
  170. {code: 'left', name: '左对齐'},
  171. {code: 'right', name: '右对齐'},
  172. ],
  173. value: 'center'
  174. },
  175. {
  176. type: 'el-select',
  177. label: '纵向位置',
  178. name: 'longitudinalPosition',
  179. required: false,
  180. placeholder: '',
  181. selectOptions: [
  182. {code: 'top', name: '顶部'},
  183. {code: 'bottom', name: '底部'},
  184. ],
  185. value: 'top'
  186. },
  187. {
  188. type: 'el-select',
  189. label: '布局前置',
  190. name: 'layoutFront',
  191. required: false,
  192. placeholder: '',
  193. selectOptions: [
  194. {code: 'vertical', name: '竖排'},
  195. {code: 'horizontal', name: '横排'},
  196. ],
  197. value: 'horizontal'
  198. },
  199. ],
  200. },
  201. {
  202. name: '左X轴设置',
  203. list: [
  204. {
  205. type: 'el-switch',
  206. label: '显示',
  207. name: 'hideXLeft',
  208. required: false,
  209. placeholder: '',
  210. value: true,
  211. },
  212. {
  213. type: 'el-input-number',
  214. label: '数值间隔',
  215. name: 'splitNumberLeft',
  216. required: false,
  217. placeholder: '',
  218. value: ''
  219. },
  220. {
  221. type: 'vue-color',
  222. label: '数值颜色',
  223. name: 'XcolorLeft',
  224. required: false,
  225. placeholder: '',
  226. value: '#fff',
  227. },
  228. {
  229. type: 'el-input-number',
  230. label: '数值字号',
  231. name: 'fontSizeXLeft',
  232. required: false,
  233. placeholder: '',
  234. value: 14,
  235. },
  236. {
  237. type: 'el-switch',
  238. label: '刻度线',
  239. name: 'tickLineLeft',
  240. require: false,
  241. placeholder: '',
  242. value: false,
  243. },
  244. {
  245. type: 'el-switch',
  246. label: 'X轴线',
  247. name: 'xLineLeft',
  248. require: false,
  249. placeholder: '',
  250. value: false,
  251. },
  252. {
  253. type: 'vue-color',
  254. label: '轴颜色',
  255. name: 'lineColorXLeft',
  256. required: false,
  257. placeholder: '',
  258. value: '#fff',
  259. },
  260. {
  261. type: 'el-switch',
  262. label: '竖分割线',
  263. name: 'SplitLineLeft',
  264. require: false,
  265. placeholder: '',
  266. value: false,
  267. },
  268. {
  269. type: 'vue-color',
  270. label: '分割线颜色',
  271. name: 'SplitLineColorLeft',
  272. required: false,
  273. placeholder: '',
  274. value: '#fff',
  275. },
  276. {
  277. type: 'el-input-number',
  278. label: '分割线宽度',
  279. name: 'SplitLinefontSizeLeft',
  280. required: false,
  281. placeholder: '',
  282. value: 1,
  283. },
  284. {
  285. type: 'el-switch',
  286. label: '边框线',
  287. name: 'frameLineLeft',
  288. require: false,
  289. placeholder: '',
  290. value: false,
  291. },
  292. ],
  293. },
  294. {
  295. name: '右X轴设置',
  296. list: [
  297. {
  298. type: 'el-switch',
  299. label: '显示',
  300. name: 'hideXRight',
  301. required: false,
  302. placeholder: '',
  303. value: true,
  304. },
  305. {
  306. type: 'el-input-number',
  307. label: '数值间隔',
  308. name: 'splitNumberRight',
  309. required: false,
  310. placeholder: '',
  311. value: ''
  312. },
  313. {
  314. type: 'vue-color',
  315. label: '数值颜色',
  316. name: 'XcolorRight',
  317. required: false,
  318. placeholder: '',
  319. value: '#fff',
  320. },
  321. {
  322. type: 'el-input-number',
  323. label: '数值字号',
  324. name: 'fontSizeXRight',
  325. required: false,
  326. placeholder: '',
  327. value: 14,
  328. },
  329. {
  330. type: 'el-switch',
  331. label: '刻度线',
  332. name: 'tickLineRight',
  333. require: false,
  334. placeholder: '',
  335. value: false,
  336. },
  337. {
  338. type: 'el-switch',
  339. label: 'X轴线',
  340. name: 'xLineRight',
  341. require: false,
  342. placeholder: '',
  343. value: false,
  344. },
  345. {
  346. type: 'vue-color',
  347. label: '轴颜色',
  348. name: 'lineColorXRight',
  349. required: false,
  350. placeholder: '',
  351. value: '#fff',
  352. },
  353. {
  354. type: 'el-switch',
  355. label: '竖分割线',
  356. name: 'SplitLineRight',
  357. require: false,
  358. placeholder: '',
  359. value: false,
  360. },
  361. {
  362. type: 'vue-color',
  363. label: '分割线颜色',
  364. name: 'SplitLineColorRight',
  365. required: false,
  366. placeholder: '',
  367. value: '#fff',
  368. },
  369. {
  370. type: 'el-input-number',
  371. label: '分割线宽度',
  372. name: 'SplitLinefontSizeRight',
  373. required: false,
  374. placeholder: '',
  375. value: 1,
  376. },
  377. {
  378. type: 'el-switch',
  379. label: '边框线',
  380. name: 'frameLineRight',
  381. require: false,
  382. placeholder: '',
  383. value: false,
  384. },
  385. ],
  386. },
  387. {
  388. name: 'Y轴设置',
  389. list: [
  390. {
  391. type: 'el-switch',
  392. label: '显示',
  393. name: 'hideY',
  394. required: false,
  395. placeholder: '',
  396. value: true,
  397. },
  398. {
  399. type: 'vue-color',
  400. label: '数值颜色',
  401. name: 'colorY',
  402. required: false,
  403. placeholder: '',
  404. value: '#fff',
  405. },
  406. {
  407. type: 'el-input-number',
  408. label: '数值字号',
  409. name: 'fontSizeY',
  410. required: false,
  411. placeholder: '',
  412. value: 14,
  413. },
  414. {
  415. type: 'el-select',
  416. label: '数值对齐',
  417. name: 'textAlign',
  418. required: false,
  419. placeholder: '',
  420. selectOptions: [
  421. {code: 'center', name: '居中'},
  422. {code: 'left', name: '左对齐'},
  423. {code: 'right', name: '右对齐'},
  424. ],
  425. value: 'center'
  426. },
  427. {
  428. type: 'el-switch',
  429. label: '刻度线',
  430. name: 'tickLineY',
  431. require: false,
  432. placeholder: '',
  433. value: false,
  434. },
  435. {
  436. type: 'el-switch',
  437. label: 'Y轴线',
  438. name: 'lineY',
  439. require: false,
  440. placeholder: '',
  441. value: false,
  442. },
  443. {
  444. type: 'vue-color',
  445. label: '轴颜色',
  446. name: 'lineColorY',
  447. required: false,
  448. placeholder: '',
  449. value: '#fff',
  450. },
  451. ],
  452. },
  453. {
  454. name: '数值设定',
  455. list: [
  456. {
  457. type: 'el-switch',
  458. label: '显示',
  459. name: 'isShow',
  460. required: false,
  461. placeholder: '',
  462. value: true
  463. },
  464. {
  465. type: 'el-input-number',
  466. label: '字体大小',
  467. name: 'fontSize',
  468. required: false,
  469. placeholder: '',
  470. value: 14
  471. },
  472. {
  473. type: 'vue-color',
  474. label: '字体颜色',
  475. name: 'subTextColor',
  476. required: false,
  477. placeholder: '',
  478. value: '#fff'
  479. },
  480. {
  481. type: 'el-select',
  482. label: '字体粗细',
  483. name: 'fontWeight',
  484. required: false,
  485. placeholder: '',
  486. selectOptions: [
  487. {code: 'normal', name: '正常'},
  488. {code: 'bold', name: '粗体'},
  489. {code: 'bolder', name: '特粗体'},
  490. {code: 'lighter', name: '细体'}
  491. ],
  492. value: 'normal'
  493. },
  494. ],
  495. },
  496. {
  497. name: '提示语设置',
  498. list: [
  499. {
  500. type: 'el-input-number',
  501. label: '字体字号',
  502. name: 'tipsFontSize',
  503. required: false,
  504. placeholder: '',
  505. value: 16
  506. },
  507. {
  508. type: 'vue-color',
  509. label: '字体颜色',
  510. name: 'tipsColor',
  511. required: false,
  512. placeholder: '',
  513. value: '#00FEFF'
  514. },
  515. ],
  516. },
  517. {
  518. name: '坐标轴边距设置',
  519. list: [
  520. {
  521. type: 'el-slider',
  522. label: '左右边距(像素)',
  523. name: 'marginLeftRight',
  524. required: false,
  525. placeholder: '',
  526. value: 10,
  527. },
  528. {
  529. type: 'el-slider',
  530. label: '顶边距(像素)',
  531. name: 'marginTop',
  532. required: false,
  533. placeholder: '',
  534. value: 40,
  535. },
  536. {
  537. type: 'el-slider',
  538. label: '底边距(像素)',
  539. name: 'marginBottom',
  540. required: false,
  541. placeholder: '',
  542. value: 10,
  543. },
  544. ],
  545. },
  546. {
  547. name: '自定义配色',
  548. list: [
  549. {
  550. type: 'customColor',
  551. label: '',
  552. name: 'customColor',
  553. required: false,
  554. value: [{color: '#36c5e7'}, {color: '#e68b55'}],
  555. },
  556. ],
  557. },
  558. ],
  559. ],
  560. // 数据
  561. data: [
  562. {
  563. type: 'el-radio-group',
  564. label: '数据类型',
  565. name: 'dataType',
  566. require: false,
  567. placeholder: '',
  568. selectValue: true,
  569. selectOptions: [
  570. {
  571. code: 'staticData',
  572. name: '静态数据',
  573. },
  574. {
  575. code: 'dynamicData',
  576. name: '动态数据',
  577. },
  578. ],
  579. value: 'staticData',
  580. },
  581. {
  582. type: 'el-input-number',
  583. label: '刷新时间(毫秒)',
  584. name: 'refreshTime',
  585. relactiveDom: 'dataType',
  586. relactiveDomValue: 'dynamicData',
  587. value: 5000
  588. },
  589. {
  590. type: 'el-button',
  591. label: '静态数据',
  592. name: 'staticData',
  593. required: false,
  594. placeholder: '',
  595. relactiveDom: 'dataType',
  596. relactiveDomValue: 'staticData',
  597. value: [
  598. {"axis":"07-25","name":"success","data":"2"},
  599. {"axis":"07-25","name":"fail","data":"10"},
  600. {"axis":"07-26","name":"success","data":"5"},
  601. {"axis":"07-26","name":"fail","data":"20"},
  602. {"axis":"07-27","name":"success","data":"15"},
  603. {"axis":"07-27","name":"fail","data":"30"},
  604. {"axis":"07-28","name":"success","data":"10"},
  605. {"axis":"07-28","name":"fail","data":"12"},
  606. {"axis":"07-29","name":"success","data":"9"},
  607. {"axis":"07-29","name":"fail","data":"16"},
  608. ],
  609. },
  610. {
  611. type: 'dycustComponents',
  612. label: '',
  613. name: 'dynamicData',
  614. required: false,
  615. placeholder: '',
  616. relactiveDom: 'dataType',
  617. relactiveDomValue: 'dynamicData',
  618. chartType: 'widget-stackchart',
  619. dictKey: 'STACK_PROPERTIES',
  620. value: '',
  621. },
  622. ],
  623. // 坐标
  624. position: [
  625. {
  626. type: 'el-input-number',
  627. label: '左边距',
  628. name: 'left',
  629. required: false,
  630. placeholder: '',
  631. value: 0,
  632. },
  633. {
  634. type: 'el-input-number',
  635. label: '上边距',
  636. name: 'top',
  637. required: false,
  638. placeholder: '',
  639. value: 0,
  640. },
  641. {
  642. type: 'el-input-number',
  643. label: '宽度',
  644. name: 'width',
  645. required: false,
  646. placeholder: '该容器在1920px大屏中的宽度',
  647. value: 500,
  648. },
  649. {
  650. type: 'el-input-number',
  651. label: '高度',
  652. name: 'height',
  653. required: false,
  654. placeholder: '该容器在1080px大屏中的高度',
  655. value: 250,
  656. },
  657. ],
  658. }
  659. }