App.vue 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  1. <template>
  2. <div id="app" v-cloak>
  3. <router-view v-if="isRouterAlive" v-cloak />
  4. </div>
  5. </template>
  6. <script>
  7. import Vue from "vue";
  8. export default {
  9. name: "App",
  10. provide() {
  11. return {
  12. reloads: this.reloads,
  13. };
  14. },
  15. data() {
  16. return {
  17. isRouterAlive: true,
  18. };
  19. },
  20. created() {},
  21. methods: {
  22. reloads() {
  23. this.isRouterAlive = false;
  24. this.$nextTick(function () {
  25. this.isRouterAlive = true;
  26. });
  27. },
  28. },
  29. };
  30. </script>
  31. <style lang="scss">
  32. * {
  33. margin: 0;
  34. padding: 0;
  35. touch-action: none !important;
  36. }
  37. [v-cloak] {
  38. display: none !important;
  39. }
  40. html {
  41. --color-primary: #00a79d;
  42. }
  43. // 13817a
  44. body {
  45. background-color: #eef4f9 !important;
  46. }
  47. /* 出去多选框中的关闭按钮 */
  48. .el-select__tags .el-tag__close.el-icon-close {
  49. display: none;
  50. }
  51. .el-checkbox__input.is-focus {
  52. visibility: hidden;
  53. }
  54. .el-checkbox__inner:hover {
  55. background-color: val(--color-primary);
  56. }
  57. .el-checkbox__input.is-checked .el-checkbox__inner,
  58. .el-checkbox__input.is-indeterminate .el-checkbox__inner {
  59. background-color: var(--color-primary);
  60. border-color: var(--color-primary);
  61. }
  62. .el-select__tags .el-tag__close.el-icon-close {
  63. display: inline-block;
  64. }
  65. .el-checkbox__input.is-checked + .el-checkbox__label {
  66. color: #606266;
  67. }
  68. .el-tabs__item {
  69. font-size: 15px !important;
  70. }
  71. </style>
  72. <style lang="scss">
  73. .el-loading-spinner .circular {
  74. width: 42px;
  75. height: 42px;
  76. animation: loading-rotate 2s linear infinite;
  77. display: none;
  78. }
  79. .el-loading-spinner {
  80. // width: 180px!important;
  81. // height: 63px;
  82. // background: linear-gradient(to bottom, #fff 100%, #00f 100%);
  83. // ./icons/svg/loading.svg
  84. // background: url('~@/assets/images/mycard.png');
  85. // mask-image: url('assets/img/loading.png');
  86. // -webkit-mask-repeat: no-repeat;
  87. // mask-repeat: no-repeat;
  88. // -webkit-mask-position: center;
  89. // mask-position: center;
  90. // animation: raise 4s ease-in-out infinite;
  91. padding-top: 5px;
  92. position: absolute;
  93. left: 50%;
  94. margin-left: -40px;
  95. width: 60px !important;
  96. height: 60px;
  97. border-radius: 10px;
  98. background-color: #fff;
  99. -webkit-animation: rotateplane 1.5s infinite ease-in-out;
  100. animation: rotateplane 1.5s infinite ease-in-out;
  101. .iconfont {
  102. font-size: 40px;
  103. }
  104. }
  105. @-webkit-keyframes rotateplane {
  106. 0% {
  107. -webkit-transform: translateZ(120px);
  108. }
  109. 50% {
  110. -webkit-transform: translateZ(120px) rotateY(180deg);
  111. }
  112. 100% {
  113. -webkit-transform: translateZ(120px) rotateY(180deg);
  114. }
  115. }
  116. @keyframes rotateplane {
  117. 0% {
  118. transform: translateZ(120px) rotateY(0deg);
  119. -webkit-transform: translateZ(120px) rotateY(0deg);
  120. }
  121. 50% {
  122. transform: translateZ(120px) rotateY(-179.9deg);
  123. -webkit-transform: translateZ(120px) rotateY(-179.9deg);
  124. }
  125. 100% {
  126. transform: translateZ(120px) rotateY(0deg);
  127. -webkit-transform: translateZ(120px) rotateY(0deg);
  128. }
  129. }
  130. .el-table {
  131. width: 99% !important;
  132. border-left: 1px solid #ebeef5;
  133. border-right: 1px solid #ebeef5;
  134. }
  135. .el-tabs__content {
  136. overflow: auto;
  137. }
  138. .el-tabs__item:focus.is-active.is-focus:not(:active) {
  139. box-shadow: none;
  140. border-top-left-radius: 20px;
  141. border-top-right-radius: 20px;
  142. }
  143. input::-webkit-outer-spin-button,
  144. input::-webkit-inner-spin-button {
  145. -webkit-appearance: none;
  146. }
  147. input[type="number"] {
  148. -moz-appearance: textfield;
  149. }
  150. .el-input__inner {
  151. line-height: 1px !important;
  152. }
  153. .el-dialog {
  154. margin-bottom: 10vh;
  155. .el-dialog__header {
  156. // background: #363d55;
  157. background: var(--color-primary);
  158. padding: 15px 20px 15px;
  159. .el-dialog__title {
  160. color: #fff;
  161. }
  162. .el-dialog__headerbtn .el-dialog__close {
  163. color: #fff;
  164. }
  165. }
  166. }
  167. .el-tabs__item.is-active {
  168. // color: var(--color-primary) !important;
  169. // font-size: 14px;
  170. font-weight: 600;
  171. }
  172. .el-tabs__item:hover {
  173. // color: var(--color-primary) !important;
  174. // font-size: 14px;
  175. font-weight: 600;
  176. }
  177. // 选择框组件
  178. .el-form-item__content {
  179. font-size: 14px !important;
  180. }
  181. .el-select {
  182. width: 180px !important;
  183. }
  184. .el-input__count {
  185. background-color: transparent !important;
  186. }
  187. .multiple.el-select {
  188. width: 180px !important;
  189. }
  190. .searchBtn {
  191. width: 100px;
  192. height: 36px;
  193. line-height: 36px;
  194. background-color: #f85043;
  195. color: #fff;
  196. font-size: 14px;
  197. text-align: center;
  198. border-radius: 4px;
  199. position: relative;
  200. top: 3px;
  201. cursor: pointer;
  202. }
  203. .newBand {
  204. min-width: 100px;
  205. max-width: 150px;
  206. padding: 0 10px;
  207. height: 36px;
  208. line-height: 36px;
  209. margin-bottom: 20px;
  210. background-color: var(--color-primary);
  211. border: 1px solid var(--color-primary);
  212. cursor: pointer;
  213. color: #fff;
  214. font-size: 14px;
  215. text-align: center;
  216. border-radius: 4px;
  217. position: relative;
  218. top: 3px;
  219. }
  220. .btn-primary {
  221. background-color: var(--color-primary);
  222. border-color: var(--color-primary);
  223. color: #fff;
  224. margin-bottom: 20px;
  225. min-width: 100px;
  226. &:focus,
  227. &:hover {
  228. // background-color: #0e726c;
  229. // border-color: #0e726c;
  230. color: #fff;
  231. }
  232. }
  233. // 公用的搜索组件
  234. .searchWrap {
  235. display: flex;
  236. flex-direction: row;
  237. justify-content: flex-start;
  238. align-items: center;
  239. font-size: 14px;
  240. font-weight: 500;
  241. color: rgba(119, 119, 119, 1);
  242. height: 30px;
  243. margin-bottom: 30px;
  244. p {
  245. font-size: 14px;
  246. padding-left: 4px;
  247. }
  248. .searchItem {
  249. margin-left: 20px;
  250. position: relative;
  251. box-sizing: border-box;
  252. min-width: 116px;
  253. padding: 0 25px;
  254. height: 30px;
  255. line-height: 30px;
  256. background: rgba(246, 246, 246, 1);
  257. border-radius: 15px;
  258. color: #777;
  259. font-size: 14px;
  260. .el-icon-close {
  261. position: absolute;
  262. right: 5px;
  263. top: 8px;
  264. }
  265. }
  266. }
  267. .headWrap {
  268. padding: 40px 0;
  269. display: flex;
  270. flex-direction: row;
  271. justify-content: space-between;
  272. align-items: center;
  273. .left {
  274. width: 1100px;
  275. display: flex;
  276. flex-direction: row;
  277. justify-content: flex-start;
  278. align-items: center;
  279. flex-wrap: wrap;
  280. .headItem {
  281. width: 320px;
  282. height: 30px;
  283. color: #444;
  284. border-right: 1px solid #979797;
  285. p {
  286. font-size: 14px;
  287. line-height: 30px;
  288. span {
  289. font-size: 22px;
  290. line-height: 30px;
  291. }
  292. }
  293. &:nth-child(1) {
  294. width: 256px;
  295. }
  296. &:nth-child(2n) {
  297. text-align: center;
  298. }
  299. &:nth-child(3n) {
  300. border-right: 1px solid #fff;
  301. text-align: center;
  302. }
  303. &:nth-child(4n) {
  304. text-align: left !important;
  305. width: 256px;
  306. }
  307. &:nth-child(5n) {
  308. text-align: center;
  309. }
  310. }
  311. }
  312. }
  313. // 公用编剧模板
  314. .m-container {
  315. box-sizing: border-box;
  316. // background-color: #eef4f9;
  317. width: 100%;
  318. min-height: 560px;
  319. padding-top: 10px;
  320. .m-core {
  321. padding: 18px 20px 40px;
  322. margin-bottom: 20px;
  323. border-radius: 2px;
  324. background-color: #fff;
  325. position: relative;
  326. }
  327. & > h2 {
  328. height: 48px;
  329. line-height: 48px;
  330. position: relative;
  331. font-size: 26px;
  332. font-weight: 600;
  333. padding-bottom: 15px;
  334. display: flex;
  335. flex-direction: row;
  336. justify-content: flex-start;
  337. align-items: center;
  338. color: #212121;
  339. // border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  340. .term {
  341. height: 32px;
  342. line-height: 32px;
  343. border-radius: 24px;
  344. width: 100px;
  345. color: var(--color-primary);
  346. border: 1px solid var(--color-primary);
  347. font-size: 14px;
  348. text-align: center;
  349. margin-right: 12px;
  350. &:nth-child(1) {
  351. margin-left: 47px;
  352. }
  353. }
  354. .term.active {
  355. color: #fff;
  356. background-color: var(--color-primary);
  357. }
  358. .squrt {
  359. // margin-right: 15px;
  360. // height: 34px;
  361. // width: 8px;
  362. // background-color: var(--color-primary);
  363. }
  364. }
  365. }
  366. .btnWrap {
  367. display: flex;
  368. flex-direction: row;
  369. justify-content: flex-end;
  370. div {
  371. line-height: 40px;
  372. text-align: center;
  373. color: #fff;
  374. border-radius: 4px;
  375. margin-right: 20px;
  376. cursor: pointer;
  377. }
  378. .nextBtn {
  379. width: 120px;
  380. height: 40px;
  381. background-color: var(--color-primary);
  382. }
  383. .okBtn {
  384. width: 120px;
  385. height: 40px;
  386. background-color: #f97215;
  387. }
  388. .closeBtn {
  389. width: 120px;
  390. height: 40px;
  391. background-color: #777;
  392. }
  393. }
  394. ::-webkit-scrollbar {
  395. width: 8px; /* 纵向滚动条*/
  396. height: 8px; /* 横向滚动条 */
  397. background-color: #fff;
  398. }
  399. /*定义滚动条轨道 内阴影*/
  400. ::-webkit-scrollbar-track {
  401. -webkit-box-shadow: inset 0 0 8px rgba(0, 0, 0, 0);
  402. background-color: #fff;
  403. }
  404. /*定义滑块 内阴影*/
  405. ::-webkit-scrollbar-thumb {
  406. -webkit-box-shadow: inset 0 0 8px rgba(0, 0, 0, 0);
  407. background-color: #d5d5d5;
  408. }
  409. .el-input.is-disabled .el-input__inner {
  410. color: #333;
  411. opacity: 1;
  412. }
  413. .horizontal-scrollbar {
  414. .el-scrollbar__wrap {
  415. overflow-x: hidden;
  416. // margin-bottom: -8px !important;
  417. margin-right: -8px !important;
  418. .el-scrollbar__view {
  419. white-space: nowrap;
  420. }
  421. }
  422. }
  423. </style>
  424. <style lang="less">
  425. .main-dot {
  426. position: relative;
  427. &::after {
  428. content: "";
  429. display: block;
  430. position: absolute;
  431. height: 8px;
  432. width: 8px;
  433. background-color: #f56c6c;
  434. border-radius: 50%;
  435. right: 5px;
  436. top: 5px;
  437. }
  438. }
  439. .el-select__tags {
  440. overflow: hidden;
  441. flex-wrap: nowrap!important;
  442. }
  443. .select-all {
  444. .el-select__tags {
  445. flex-wrap: nowrap!important;
  446. }
  447. }
  448. .el-select__tags {
  449. .el-tag.el-tag--info.el-tag--small.el-tag--light {
  450. display: flex;
  451. flex-direction: row;
  452. justify-content: space-between;
  453. align-items: center;
  454. .el-select__tags-text {
  455. flex-wrap: nowrap;
  456. max-width: 60px;
  457. overflow: hidden;
  458. text-overflow: ellipsis;
  459. display: inline-block;
  460. }
  461. }
  462. }
  463. </style>