App.vue 9.4 KB

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