light-matrix.vue 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. <template>
  2. <div class="light-matrix-small">
  3. <table>
  4. <tbody>
  5. <tr v-for="(row, i) of table.groupDatas" :key="i">
  6. <td v-for="(col, j) of row" :key="j">
  7. <div class="card" :class="col.color">
  8. {{ col.tag }}
  9. </div>
  10. </td>
  11. </tr>
  12. </tbody>
  13. </table>
  14. </div>
  15. </template>
  16. <script>
  17. import util from "@/helper/util.js";
  18. export default {
  19. // 名称
  20. name: "LightMatrix1",
  21. // 使用组件
  22. components: {},
  23. // 数据
  24. data() {
  25. return {
  26. table: {
  27. col: 42,
  28. datas: [
  29. {
  30. tag: "A01",
  31. color: "gray",
  32. },
  33. ],
  34. groupDatas: [
  35. [
  36. {
  37. tag: "A01",
  38. color: "gray",
  39. },
  40. {
  41. tag: "A01",
  42. color: "gray",
  43. },
  44. {
  45. tag: "A01",
  46. color: "gray",
  47. },
  48. {
  49. tag: "A01",
  50. color: "gray",
  51. },
  52. {
  53. tag: "A01",
  54. color: "gray",
  55. },
  56. {
  57. tag: "A01",
  58. color: "gray",
  59. },
  60. {
  61. tag: "A01",
  62. color: "gray",
  63. },
  64. {
  65. tag: "A01",
  66. color: "gray",
  67. },
  68. {
  69. tag: "A01",
  70. color: "gray",
  71. },
  72. ],
  73. [
  74. {
  75. tag: "A01",
  76. color: "gray",
  77. },
  78. {
  79. tag: "A01",
  80. color: "red",
  81. },
  82. {
  83. tag: "A01",
  84. color: "red",
  85. },
  86. {
  87. tag: "A01",
  88. color: "orange",
  89. },
  90. {
  91. tag: "A01",
  92. color: "orange",
  93. },
  94. {
  95. tag: "A01",
  96. color: "green",
  97. },
  98. {
  99. tag: "A01",
  100. color: "yellow",
  101. },
  102. {
  103. tag: "A01",
  104. color: "yellow",
  105. },
  106. {
  107. tag: "A01",
  108. color: "blue",
  109. },
  110. ],
  111. [
  112. {
  113. tag: "A01",
  114. color: "gray",
  115. },
  116. {
  117. tag: "A01",
  118. color: "gray",
  119. },
  120. {
  121. tag: "A01",
  122. color: "gray",
  123. },
  124. {
  125. tag: "A01",
  126. color: "gray",
  127. },
  128. {
  129. tag: "A01",
  130. color: "gray",
  131. },
  132. {
  133. tag: "A01",
  134. color: "gray",
  135. },
  136. {
  137. tag: "A01",
  138. color: "gray",
  139. },
  140. {
  141. tag: "A01",
  142. color: "gray",
  143. },
  144. {
  145. tag: "A01",
  146. color: "gray",
  147. },
  148. ],
  149. [
  150. {
  151. tag: "A01",
  152. color: "gray",
  153. },
  154. {
  155. tag: "A01",
  156. color: "gray",
  157. },
  158. {
  159. tag: "A01",
  160. color: "gray",
  161. },
  162. {
  163. tag: "A01",
  164. color: "gray",
  165. },
  166. {
  167. tag: "A01",
  168. color: "gray",
  169. },
  170. {
  171. tag: "A01",
  172. color: "gray",
  173. },
  174. {
  175. tag: "A01",
  176. color: "gray",
  177. },
  178. {
  179. tag: "A01",
  180. color: "gray",
  181. },
  182. {
  183. tag: "A01",
  184. color: "gray",
  185. },
  186. ],
  187. [
  188. {
  189. tag: "A01",
  190. color: "gray",
  191. },
  192. {
  193. tag: "A01",
  194. color: "gray",
  195. },
  196. {
  197. tag: "A01",
  198. color: "gray",
  199. },
  200. {
  201. tag: "A01",
  202. color: "gray",
  203. },
  204. {
  205. tag: "A01",
  206. color: "gray",
  207. },
  208. {
  209. tag: "A01",
  210. color: "gray",
  211. },
  212. {
  213. tag: "A01",
  214. color: "gray",
  215. },
  216. {
  217. tag: "A01",
  218. color: "gray",
  219. },
  220. {
  221. tag: "A01",
  222. color: "gray",
  223. },
  224. ],
  225. [
  226. {
  227. tag: "A01",
  228. color: "gray",
  229. },
  230. {
  231. tag: "A01",
  232. color: "gray",
  233. },
  234. {
  235. tag: "A01",
  236. color: "gray",
  237. },
  238. {
  239. tag: "A01",
  240. color: "gray",
  241. },
  242. {
  243. tag: "A01",
  244. color: "gray",
  245. },
  246. {
  247. tag: "A01",
  248. color: "gray",
  249. },
  250. {
  251. tag: "A01",
  252. color: "gray",
  253. },
  254. {
  255. tag: "A01",
  256. color: "gray",
  257. },
  258. {
  259. tag: "A01",
  260. color: "gray",
  261. },
  262. ],
  263. [
  264. {
  265. tag: "A01",
  266. color: "gray",
  267. },
  268. {
  269. tag: "A01",
  270. color: "gray",
  271. },
  272. {
  273. tag: "A01",
  274. color: "gray",
  275. },
  276. {
  277. tag: "A01",
  278. color: "gray",
  279. },
  280. {
  281. tag: "A01",
  282. color: "gray",
  283. },
  284. {
  285. tag: "A01",
  286. color: "gray",
  287. },
  288. {
  289. tag: "A01",
  290. color: "gray",
  291. },
  292. {
  293. tag: "A01",
  294. color: "gray",
  295. },
  296. {
  297. tag: "A01",
  298. color: "gray",
  299. },
  300. ],
  301. ],
  302. },
  303. };
  304. },
  305. // 函数
  306. methods: {},
  307. // 生命周期钩子
  308. beforeCreate() {
  309. // 创建前
  310. },
  311. created() {
  312. // 创建后
  313. },
  314. beforeMount() {
  315. // 渲染前
  316. },
  317. mounted() {
  318. // 渲染后
  319. },
  320. beforeUpdate() {
  321. // 数据更新前
  322. },
  323. updated() {
  324. // 数据更新后
  325. },
  326. };
  327. </script>
  328. <style lang="less">
  329. @panelHeight: 6.481vh;
  330. @titleHeight: 3.704vh;
  331. .light-matrix-small {
  332. display: flex;
  333. flex-direction: column;
  334. padding: 8px;
  335. background: fade(@gray, 20);
  336. .card {
  337. border-radius: 0.37vh;
  338. padding: 0.185vh 0;
  339. text-align: center;
  340. border: 0.093vh solid;
  341. font-size: 14px;
  342. &.write {
  343. color: @black;
  344. border-color: @write;
  345. background-color: @write;
  346. }
  347. &.green {
  348. color: @green;
  349. border-color: @green;
  350. }
  351. &.blue {
  352. color: @darkBlue;
  353. border-color: @darkBlue;
  354. }
  355. &.pink {
  356. color: @pink;
  357. border-color: @pink;
  358. }
  359. &.red {
  360. color: @write;
  361. border-color: @red;
  362. background-color: @red;
  363. }
  364. &.orange {
  365. color: @orange;
  366. border-color: @orange;
  367. }
  368. &.gray {
  369. color: @gray;
  370. border-color: @gray;
  371. background-color: transparent;
  372. }
  373. }
  374. }
  375. </style>