index.scss 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236
  1. @use 'mobile';
  2. $primary-color: var(--fm-color-primary);
  3. $primary-background-color: var(--fm-widget-bg-color);
  4. *, :after, :before {
  5. -webkit-box-sizing: border-box;
  6. -moz-box-sizing: border-box;
  7. box-sizing: border-box;
  8. }
  9. .fa-icon{
  10. width: auto;
  11. height: 1em; /* 或任意其它字体大小相对值 */
  12. /* 要在 Safari 中正常工作,需要再引入如下两行代码 */
  13. max-width: 100%;
  14. max-height: 100%;
  15. vertical-align: middle;
  16. }
  17. .FormMaking{
  18. font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
  19. -webkit-font-smoothing: antialiased;
  20. -moz-osx-font-smoothing: grayscale;
  21. color: var(--fm-text-color-primary);
  22. background: var(--fm-bg-base);
  23. height: 100%;
  24. border: 1px solid var(--fm-border-color);
  25. min-width: 1000px;
  26. text-align: left;
  27. &.is-fullscreen{
  28. position: fixed;
  29. top: 0;
  30. bottom: 0;
  31. left: 0;
  32. right: 0;
  33. height: 100% !important;
  34. width: 100% !important;
  35. }
  36. &.fm-form{
  37. padding: 0;
  38. }
  39. .el-container{
  40. height: 100% !important;
  41. }
  42. &>.el-container{
  43. background: var(--fm-bg-base);
  44. }
  45. .FormMaking-main{
  46. position: relative;
  47. overflow: hidden;
  48. &>.el-container{
  49. position: absolute;
  50. top: 0;
  51. bottom: 0;
  52. left: 0;
  53. right: 0;
  54. }
  55. }
  56. main{
  57. padding: 0;
  58. }
  59. footer{
  60. height: 30px;
  61. line-height: 30px;
  62. border-top: 1px solid var(--fm-border-color);
  63. font-size: 12px;
  64. text-align: right;
  65. color: $primary-color;
  66. background: var(--fm-footer-bg-color);
  67. a{
  68. color: $primary-color;
  69. }
  70. }
  71. .left-tabs{
  72. height: 100%;
  73. .el-tabs__header{
  74. // height: 45px;
  75. margin: 0;
  76. .fm-iconfont{
  77. font-size: 20px;
  78. }
  79. }
  80. .el-tabs__content{
  81. height: calc(100% - 45px);
  82. .el-tab-pane{
  83. height: 100%;
  84. }
  85. }
  86. >.el-tabs__header .el-tabs__nav{
  87. border: 0;
  88. }
  89. >.el-tabs__header .el-tabs__item{
  90. border: 0;
  91. height: 45px;
  92. line-height: 45px;
  93. padding: 0 0 0 12px;
  94. .el-tooltip__trigger{
  95. height: 30px;
  96. line-height: 30px;
  97. display: inline-block;
  98. vertical-align: middle;
  99. }
  100. }
  101. }
  102. }
  103. .fm-report-table__wrapper{
  104. overflow: auto;
  105. .form-table{
  106. margin: -5px;
  107. }
  108. .antd-form-table{
  109. margin: -5px;
  110. }
  111. .form-subform{
  112. margin: -6px;
  113. }
  114. .form-subform-item{
  115. padding: 0;
  116. +.form-subform-item{
  117. margin-top: -1px;
  118. }
  119. }
  120. .fm-report-table__wrapper{
  121. margin: -6px;
  122. }
  123. +.fm-report-table__wrapper{
  124. margin-top: -1px;
  125. }
  126. }
  127. .fm-report-table__table{
  128. border-top-style: solid;
  129. border-left-style: solid;
  130. // width: 100%;
  131. table-layout: fixed;
  132. border-collapse: collapse;
  133. // margin-bottom: 18px;
  134. .fm-report-table__td {
  135. border-bottom-style: solid;
  136. border-right-style: solid;
  137. padding: 5px;
  138. .el-form-item:not(.is-error){
  139. margin-bottom: 0;
  140. }
  141. .ant-form-item{
  142. margin-bottom: 0;
  143. }
  144. .form-table{
  145. .el-form-item:not(.is-error){
  146. margin-bottom: 18px;
  147. }
  148. .el-form-item--default{
  149. &.el-form-item:not(.is-error){
  150. margin-bottom: 22px;
  151. }
  152. }
  153. }
  154. }
  155. }
  156. .center-container{
  157. border-left: 1px solid var(--fm-border-color);
  158. border-right: 1px solid var(--fm-border-color);
  159. .btn-bar{
  160. height: 45px;
  161. line-height: 45px;
  162. font-size: 18px;
  163. border-bottom: solid 2px var(--fm-border-color);
  164. text-align: right;
  165. &.el-header{
  166. padding: 0 10px;
  167. }
  168. .btn-diviler{
  169. height: 25px;
  170. float: left;
  171. width: 1px;
  172. background: var(--fm-border-color);
  173. margin: 10px;
  174. }
  175. .btn-bar-action{
  176. height: 45px;
  177. line-height: 45px;
  178. font-size: 24px;
  179. float: left;
  180. a{
  181. width: 30px;
  182. height: 30px;
  183. color: var(--fm-text-color-regular);
  184. display: inline-block;
  185. text-align: center;
  186. // vertical-align: middle;
  187. line-height: 30px;
  188. border-radius: 3px;
  189. margin-right: 5px;
  190. cursor: pointer;
  191. &.disabled{
  192. color: var(--fm-text-color-disabled);
  193. cursor: not-allowed;
  194. &:hover{
  195. color: var(--fm-text-color-disabled);
  196. }
  197. }
  198. &:hover{
  199. color: var(--fm-text-color-primary);
  200. }
  201. .fm-iconfont{
  202. font-size: 20px;
  203. }
  204. }
  205. }
  206. .btn-bar-plat{
  207. height: 45px;
  208. line-height: 45px;
  209. font-size: 24px;
  210. float: left;
  211. a{
  212. width: 30px;
  213. height: 30px;
  214. color: var(--fm-text-color-regular);
  215. display: inline-block;
  216. text-align: center;
  217. // vertical-align: middle;
  218. line-height: 30px;
  219. border-radius: 3px;
  220. margin-right: 5px;
  221. cursor: pointer;
  222. &.active{
  223. background: var(--fm-fill);
  224. color: $primary-color;
  225. }
  226. .fm-iconfont{
  227. font-size: 20px;
  228. }
  229. }
  230. }
  231. }
  232. .el-main{
  233. padding: 0;
  234. position: relative;
  235. background: var(--fm-main-bg-color);
  236. }
  237. }
  238. .components-list{
  239. padding: 0;
  240. margin: -1px 0;
  241. width: 100%;
  242. height: 100%;
  243. .el-collapse-item__header{
  244. padding: 8px 12px;
  245. }
  246. .el-collapse-item__content{
  247. padding-bottom: 0;
  248. }
  249. ul{
  250. position: relative;
  251. overflow: hidden;
  252. padding: 0 10px 10px;
  253. margin: 0;
  254. }
  255. .form-edit-widget-label{
  256. box-sizing: border-box;
  257. font-size: 12px;
  258. display: block;
  259. width: 46%;
  260. line-height: 28px;
  261. position: relative;
  262. float: left;
  263. left: 0;
  264. overflow: hidden;
  265. text-overflow: ellipsis;
  266. white-space: nowrap;
  267. margin: 2%;
  268. color: var(--fm-text-color-primary);
  269. border: 1px solid var(--fm-border-color);
  270. border-radius: 6px;
  271. background: var(--fm-border-color-extra);
  272. // opacity: 1;
  273. // transform: scale(1);
  274. // transition: all 0.5s;
  275. // border: 1px solid var(--fm-border-color-extra);
  276. &.is-disabled{
  277. // display: none;
  278. // opacity: 0;
  279. // transform: scale(0);
  280. a{
  281. color: var(--fm-text-color-disabled);
  282. cursor: not-allowed;
  283. }
  284. &:hover{
  285. border: 1px solid var(--fm-border-color);
  286. a{
  287. color: var(--fm-text-color-disabled);
  288. }
  289. }
  290. }
  291. &.is-new::before{
  292. display: block;
  293. content: 'new';
  294. position: absolute;
  295. right: -10px;
  296. top: -12px;
  297. font-size: 12px;
  298. background: var(--el-color-danger);
  299. color: var(--el-color-white);
  300. // height: 15px;
  301. line-height: 15px;
  302. padding: 10px 10px 0px 3px;
  303. border-radius: 5px;
  304. transform: scale(0.8);
  305. }
  306. a{
  307. color: var(--fm-text-color-primary);
  308. }
  309. &:hover{
  310. color: $primary-color;
  311. border: 1px dashed $primary-color;
  312. a{
  313. color: $primary-color;
  314. }
  315. }
  316. &>a{
  317. display: block;
  318. cursor: move;
  319. padding: 0 4px;
  320. .icon{
  321. margin-right: 4px;
  322. margin-left: 4px;
  323. font-size: 14px;
  324. display: inline-block;
  325. vertical-align: middle;
  326. &.custom > span {
  327. width: 14px;
  328. height: 14px;
  329. margin-top: -2px;
  330. vertical-align: middle;
  331. > * {
  332. vertical-align: top;
  333. width: 100%;
  334. height: 100%;
  335. }
  336. }
  337. }
  338. span{
  339. display: inline-block;
  340. vertical-align: middle;
  341. }
  342. }
  343. }
  344. }
  345. .fm-form{
  346. padding: 10px;
  347. &.fm-vant-form{
  348. padding: 0;
  349. padding-bottom: 20px;
  350. }
  351. }
  352. .fm-generate-preview-container{
  353. display: flex;
  354. flex-direction: column;
  355. .fm-form{
  356. margin: 0 auto;
  357. }
  358. .el-dialog__body{
  359. height: calc(100% - 130px);
  360. }
  361. }
  362. .fm-generate-preview{
  363. box-shadow: var(--fm-box-shadow);
  364. height: 100%;
  365. overflow: auto;
  366. &.pc{
  367. border-radius: 0px;
  368. }
  369. &.mobile{
  370. width: 375px;
  371. margin: auto;
  372. border-radius: 12px;
  373. @include mobile.mobileRender;
  374. }
  375. &.pad{
  376. width: 770px;
  377. margin: auto;
  378. border-radius: 5px;
  379. }
  380. }
  381. .widget-form-container{
  382. position: absolute;
  383. overflow-x: auto;
  384. &.pc{
  385. border: 0;
  386. background: var(--fm-fill-lighter);
  387. border-radius: 2px;
  388. box-shadow: var(--fm-fill-lighter) 0 4px 12px;
  389. top: 10px;
  390. left: 20px;
  391. right: 20px;
  392. bottom: 10px;
  393. border: 5px solid var(--fm-border-color);
  394. }
  395. &.mobile{
  396. width: 375px;
  397. margin: auto;
  398. border: 0;
  399. background: var(--fm-fill-lighter);
  400. border-radius: 20px;
  401. box-shadow: var(--fm-fill-lighter) 0 4px 12px;
  402. top: 10px;
  403. left: 16px;
  404. right: 16px;
  405. bottom: 10px;
  406. overflow: hidden;
  407. // padding: 5px;
  408. border: 8px solid var(--fm-border-color);
  409. @include mobile.mobileRender;
  410. }
  411. &.pad{
  412. width: 770px;
  413. margin: auto;
  414. border: 0;
  415. background: var(--fm-fill-lighter);
  416. border-radius: 5px;
  417. box-shadow: var(--fm-fill-lighter) 0 4px 12px;
  418. top: 10px;
  419. left: 26px;
  420. right: 26px;
  421. bottom: 10px;
  422. border: 5px solid var(--fm-border-color);
  423. }
  424. .form-empty{
  425. position: absolute;
  426. text-align: center;
  427. width: 300px;
  428. height: 20px !important;
  429. min-height: 20px !important;
  430. font-size: 20px;
  431. top: 50%;
  432. width: 100%;
  433. margin-top: -10px;
  434. color: var(--fm-text-color-placeholder);
  435. }
  436. form{
  437. // height: calc(100% - 10px);
  438. // >div{
  439. // height: calc(100% - 10px);
  440. // }
  441. min-height: 100%;
  442. height: 100%;
  443. background: var(--fm-bg-base);
  444. // border: 2px inset var(--fm-container-inset-color);
  445. position: relative;
  446. >div{
  447. min-height: 100%;
  448. height: 100%;
  449. }
  450. .el-scrollbar__view{
  451. min-height: 100%;
  452. height: 100%;
  453. }
  454. }
  455. .widget-form-list{
  456. // min-height: calc(100% - 20px);
  457. min-height: 100%;
  458. padding-bottom: 50px;
  459. .widget-empty{
  460. position: absolute;
  461. text-align: center;
  462. width: 300px;
  463. height: 20px;
  464. font-size: 16px;
  465. top: 15px;
  466. left: 50%;
  467. margin-left: -150px;
  468. color: var(--fm-text-color-placeholder);
  469. }
  470. .widget-view-model{
  471. position: absolute;
  472. // top: -8px;
  473. top: 2px;
  474. right: 3px;
  475. font-size: 12px;
  476. color: var(--fm-model-color);
  477. opacity: 0;
  478. z-index: 8;
  479. font-weight: 500;
  480. line-height: 22px;
  481. }
  482. .widget-view-type{
  483. position: absolute;
  484. left: 0;
  485. top: 0;
  486. padding: 2px 5px;
  487. line-height: 22px;
  488. background: $primary-color;
  489. z-index: 10;
  490. opacity: 0;
  491. display: none;
  492. color: var(--fm-white);
  493. font-size: 14px;
  494. }
  495. .is-hover > .widget-view-type{
  496. opacity: 0.8;
  497. display: inline-block;
  498. }
  499. .is-hover > .widget-view-model{
  500. opacity: 0.8;
  501. display: inline-block;
  502. }
  503. .active > .widget-view-model{
  504. opacity: 0.8;
  505. }
  506. .active >.widget-view-type{
  507. display: none;
  508. }
  509. .widget-col-list{
  510. min-height: 50px;
  511. min-width: 50px;
  512. border: 2px inset var(--fm-container-inset-color);
  513. background: var(--fm-bg-base);
  514. }
  515. .widget-inline-list{
  516. min-height: 50px;
  517. min-width: 50px;
  518. > div{
  519. display: inline-block;
  520. vertical-align: top;
  521. }
  522. > li{
  523. display: inline-block;
  524. vertical-align: top;
  525. }
  526. .ghost{
  527. background: var(--fm-drag-color);
  528. border: 2px solid var(--fm-drag-color);
  529. position: relative;
  530. content: '';
  531. min-height: 50px;
  532. width: 5px !important;
  533. list-style: none;
  534. font-size: 0;
  535. overflow: hidden;
  536. outline: none;
  537. margin: 2px;
  538. display: inline-block;
  539. &::after{
  540. background: var(--fm-drag-color);
  541. position: absolute;
  542. top: 0;
  543. left: 0;
  544. bottom: 0;
  545. right: 0;
  546. z-index: 9999;
  547. content: '';
  548. outline: none;
  549. }
  550. }
  551. }
  552. .widget-view{
  553. // padding-bottom: 18px;
  554. position: relative;
  555. border: 1px dashed var(--fm-border-color-lighter);
  556. // border: 1px dashed transparent;
  557. // background-color: var(--fm-fill-extra);
  558. margin: 2px;
  559. overflow: hidden;
  560. min-height: 50px;
  561. min-width: 50px;
  562. .fm-item-tooltip{
  563. font-size: 12px;
  564. color: var(--fm-text-color-secondary);
  565. }
  566. .fm-label-wrap{
  567. display: block;
  568. .el-form-item__content{
  569. margin-left: 0 !important;
  570. }
  571. .el-form-item__label{
  572. justify-content: flex-start;
  573. }
  574. }
  575. .el-form-item__content{
  576. position: static;
  577. // line-height: 1;
  578. }
  579. &.is_req{
  580. .el-form-item__label::before{
  581. content: '*';
  582. color: #f56c6c;
  583. margin-right: 4px;
  584. }
  585. }
  586. &.is_hidden{
  587. background: var(--fm-hide-bg-color);
  588. opacity: 0.8;
  589. }
  590. .widget-view-description{
  591. height: 15px;
  592. line-height: 15px;
  593. font-size:13px;
  594. margin-top: 6px;
  595. color:var(--fm-text-color-secondary);
  596. }
  597. .widget-view-action{
  598. position: absolute;
  599. right: 0;
  600. bottom: 0;
  601. height: 28px;
  602. line-height: 28px;
  603. background: $primary-color;
  604. z-index: 10;
  605. opacity: 0.8;
  606. &:hover{
  607. opacity: 1;
  608. }
  609. i{
  610. font-size: 14px;
  611. color: var(--fm-white);
  612. margin: 0 5px;
  613. cursor: pointer;
  614. }
  615. }
  616. .widget-view-drag{
  617. position: absolute;
  618. left: -2px;
  619. top: -2px;
  620. bottom: -18px;
  621. height: 28px;
  622. line-height: 28px;
  623. background: $primary-color;
  624. z-index: 10;
  625. opacity: 0.8;
  626. // display: none;
  627. &:hover{
  628. opacity: 1;
  629. }
  630. i{
  631. font-size: 14px;
  632. color: var(--fm-white);
  633. margin: 0 5px;
  634. cursor: move;
  635. }
  636. }
  637. &::after{
  638. position: absolute;
  639. left: 0;
  640. right: 0;
  641. top: 0;
  642. bottom: 0;
  643. display: block;
  644. z-index: 8;
  645. content: '';
  646. }
  647. &.is-hover{
  648. background: $primary-background-color;
  649. outline: 1px solid $primary-color;
  650. outline-offset: 0px;
  651. &.active{
  652. outline: 2px solid $primary-color;
  653. border: 1px solid $primary-color;
  654. outline-offset: 0;
  655. }
  656. .widget-view-drag{
  657. display: block;
  658. }
  659. }
  660. &.active{
  661. outline: 2px solid $primary-color;
  662. border: 1px solid $primary-color;
  663. }
  664. &.ghost{
  665. background: var(--fm-drag-color);
  666. border: 2px solid var(--fm-drag-color);
  667. outline-width: 0;
  668. height: 3px;
  669. box-sizing: border-box;
  670. font-size: 0;
  671. content: '';
  672. overflow: hidden;
  673. padding: 0;
  674. margin: 2px;
  675. }
  676. }
  677. .widget-subform{
  678. padding: 5px;
  679. background-color: var(--fm-container-fill-color);
  680. box-sizing: border-box;
  681. .widget-subform-wrapper{
  682. min-height: 50px;
  683. width:100%;
  684. background: var(--fm-bg-base);
  685. margin: 0;
  686. overflow: auto;
  687. position: relative;
  688. }
  689. &.active{
  690. outline: 2px solid var(--fm-container-color);
  691. border: 1px solid var(--fm-container-color);
  692. }
  693. &.is-hover{
  694. background: var(--fm-container-bg-color);
  695. outline: 1px solid var(--fm-container-color);
  696. outline-offset: 0px;
  697. &.active{
  698. outline: 2px solid var(--fm-container-color);
  699. border: 1px solid var(--fm-container-color);
  700. outline-offset: 0;
  701. }
  702. >.widget-view-type{
  703. background: var(--fm-container-color);
  704. }
  705. }
  706. .widget-view-action.widget-subform-action{
  707. background: var(--fm-container-color);
  708. }
  709. .widget-view-drag.widget-subform-drag{
  710. background: var(--fm-container-color);
  711. }
  712. &::after{
  713. display: none;
  714. }
  715. &.ghost{
  716. background: var(--fm-drag-color);
  717. outline-width: 0;
  718. height: 5px;
  719. min-height: 0px;
  720. box-sizing: border-box;
  721. font-size: 0;
  722. content: '';
  723. overflow: hidden;
  724. padding: 0;
  725. position: relative;
  726. outline: none;
  727. border: 0;
  728. margin: 2px;
  729. &::after{
  730. background: var(--fm-drag-color);
  731. position: absolute;
  732. top:0;
  733. left: 0;
  734. right: 0;
  735. bottom: 0;
  736. content: '';
  737. display: block;
  738. z-index: 999;
  739. }
  740. }
  741. }
  742. .widget-dialog{
  743. padding: 5px;
  744. background-color: var(--fm-container-fill-color);
  745. box-sizing: border-box;
  746. &.is_hidden{
  747. opacity: 1;
  748. }
  749. .el-dialog{
  750. margin: 0;
  751. }
  752. &.active{
  753. outline: 2px solid var(--fm-container-color);
  754. border: 1px solid var(--fm-container-color);
  755. }
  756. &.is-hover{
  757. background: var(--fm-container-bg-color);
  758. outline: 1px solid var(--fm-container-color);
  759. outline-offset: 0px;
  760. &.active{
  761. outline: 2px solid var(--fm-container-color);
  762. border: 1px solid var(--fm-container-color);
  763. outline-offset: 0;
  764. }
  765. >.widget-view-type{
  766. background: var(--fm-container-color);
  767. }
  768. }
  769. .widget-view-action.widget-subform-action{
  770. background: var(--fm-container-color);
  771. }
  772. .widget-view-drag.widget-subform-drag{
  773. background: var(--fm-container-color);
  774. }
  775. &::after{
  776. display: none;
  777. }
  778. &.ghost{
  779. background: var(--fm-drag-color);
  780. outline-width: 0;
  781. height: 5px;
  782. min-height: 0px;
  783. box-sizing: border-box;
  784. font-size: 0;
  785. content: '';
  786. overflow: hidden;
  787. padding: 0;
  788. position: relative;
  789. outline: none;
  790. border: 0;
  791. margin: 2px;
  792. &::after{
  793. background: var(--fm-drag-color);
  794. position: absolute;
  795. top:0;
  796. left: 0;
  797. right: 0;
  798. bottom: 0;
  799. content: '';
  800. display: block;
  801. z-index: 999;
  802. }
  803. }
  804. }
  805. .widget-card{
  806. padding: 5px;
  807. background-color: var(--fm-container-fill-color);
  808. box-sizing: border-box;
  809. &.active{
  810. outline: 2px solid var(--fm-container-color);
  811. border: 1px solid var(--fm-container-color);
  812. }
  813. &.is-hover{
  814. background: var(--fm-container-bg-color);
  815. outline: 1px solid var(--fm-container-color);
  816. outline-offset: 0px;
  817. &.active{
  818. outline: 2px solid var(--fm-container-color);
  819. border: 1px solid var(--fm-container-color);
  820. outline-offset: 0;
  821. }
  822. >.widget-view-type{
  823. background: var(--fm-container-color);
  824. }
  825. }
  826. .widget-view-action.widget-subform-action{
  827. background: var(--fm-container-color);
  828. }
  829. .widget-view-drag.widget-subform-drag{
  830. background: var(--fm-container-color);
  831. }
  832. &::after{
  833. display: none;
  834. }
  835. &.ghost{
  836. background: var(--fm-drag-color);
  837. outline-width: 0;
  838. height: 5px;
  839. min-height: 0px;
  840. box-sizing: border-box;
  841. font-size: 0;
  842. content: '';
  843. overflow: hidden;
  844. padding: 0;
  845. position: relative;
  846. outline: none;
  847. border: 0;
  848. margin: 2px;
  849. &::after{
  850. background: var(--fm-drag-color);
  851. position: absolute;
  852. top:0;
  853. left: 0;
  854. right: 0;
  855. bottom: 0;
  856. content: '';
  857. display: block;
  858. z-index: 999;
  859. }
  860. }
  861. }
  862. .widget-group{
  863. padding: 5px;
  864. background-color: var(--fm-container-fill-color);
  865. box-sizing: border-box;
  866. &.active{
  867. outline: 2px solid var(--fm-container-color);
  868. border: 1px solid var(--fm-container-color);
  869. }
  870. &.is-hover{
  871. background: var(--fm-container-bg-color);
  872. outline: 1px solid var(--fm-container-color);
  873. outline-offset: 0px;
  874. &.active{
  875. outline: 2px solid var(--fm-container-color);
  876. border: 1px solid var(--fm-container-color);
  877. outline-offset: 0;
  878. }
  879. >.widget-view-type{
  880. background: var(--fm-container-color);
  881. }
  882. }
  883. .widget-view-action.widget-subform-action{
  884. background: var(--fm-container-color);
  885. }
  886. .widget-view-drag.widget-subform-drag{
  887. background: var(--fm-container-color);
  888. }
  889. &::after{
  890. display: none;
  891. }
  892. &.ghost{
  893. background: var(--fm-drag-color);
  894. outline-width: 0;
  895. height: 5px;
  896. min-height: 0px;
  897. box-sizing: border-box;
  898. font-size: 0;
  899. content: '';
  900. overflow: hidden;
  901. padding: 0;
  902. position: relative;
  903. outline: none;
  904. border: 0;
  905. margin: 2px;
  906. &::after{
  907. background: var(--fm-drag-color);
  908. position: absolute;
  909. top:0;
  910. left: 0;
  911. right: 0;
  912. bottom: 0;
  913. content: '';
  914. display: block;
  915. z-index: 999;
  916. }
  917. }
  918. }
  919. .widget-inline{
  920. padding: 5px;
  921. background-color: var(--fm-container-fill-color);
  922. .widget-inline-content{
  923. min-height: 50px;
  924. width:100%;
  925. border: 2px inset var(--fm-container-inset-color);
  926. background: var(--fm-bg-base);
  927. flex:1;
  928. margin: 0;
  929. overflow: auto;
  930. position: relative;
  931. .table-empty{
  932. position: absolute;
  933. text-align: center;
  934. width: 300px;
  935. height: 0;
  936. font-size: 16px;
  937. top: 10px;
  938. left: 50%;
  939. margin-left: -150px;
  940. color: var(--fm-text-color-placeholder);
  941. z-index: 2;
  942. }
  943. }
  944. &.active{
  945. outline: 2px solid var(--fm-container-color);
  946. border: 1px solid var(--fm-container-color);
  947. }
  948. &.is-hover{
  949. background: var(--fm-container-bg-color);
  950. outline: 1px solid var(--fm-container-color);
  951. outline-offset: 0px;
  952. &.active{
  953. outline: 2px solid var(--fm-container-color);
  954. border: 1px solid var(--fm-container-color);
  955. outline-offset: 0;
  956. }
  957. >.widget-view-type{
  958. background: var(--fm-container-color);
  959. }
  960. }
  961. .widget-view-action.widget-inline-action{
  962. background: var(--fm-container-color);
  963. }
  964. .widget-view-drag.widget-inline-drag{
  965. background: var(--fm-container-color);
  966. }
  967. &::after{
  968. display: none;
  969. }
  970. &.ghost{
  971. background: var(--fm-drag-color);
  972. outline-width: 0;
  973. height: 5px;
  974. min-height: 0px;
  975. box-sizing: border-box;
  976. font-size: 0;
  977. content: '';
  978. overflow: hidden;
  979. padding: 0;
  980. position: relative;
  981. outline: none;
  982. border: 0;
  983. margin: 2px;
  984. &::after{
  985. background: var(--fm-drag-color);
  986. position: absolute;
  987. top:0;
  988. left: 0;
  989. right: 0;
  990. bottom: 0;
  991. content: '';
  992. display: block;
  993. z-index: 999;
  994. }
  995. }
  996. }
  997. .widget-table{
  998. padding-bottom: 0;
  999. padding: 5px;
  1000. background-color: var(--fm-container-fill-color);
  1001. .widget-table-wrapper{
  1002. min-height: 50px;
  1003. background: var(--fm-bg-base);
  1004. display: flex;
  1005. justify-content: flex-start;
  1006. &.mobile{
  1007. display: block;
  1008. border: 1px solid var(--fm-border-color);
  1009. background: var(--fm-fill-lighter);
  1010. .widget-table-top{
  1011. height: 36px;
  1012. line-height: 36px;
  1013. padding: 0 10px;
  1014. background: var(--fm-fill-lighter);
  1015. border-bottom: 1px solid var(--fm-border-color);
  1016. font-weight: 500;
  1017. }
  1018. }
  1019. .widget-table-row{
  1020. td{
  1021. border-bottom: 0;
  1022. }
  1023. }
  1024. .widget-table-left{
  1025. width: 51px;
  1026. border-left: 1px solid var(--fm-border-color);
  1027. border-right: 1px solid var(--fm-border-color);
  1028. border-top: 1px solid var(--fm-border-color);
  1029. flex: none;
  1030. overflow: hidden;
  1031. display: flex;
  1032. flex-direction: column;
  1033. .widget-table-left__top{
  1034. height: 50px;
  1035. text-align: center;
  1036. padding: 8px;
  1037. border-bottom: 1px solid var(--fm-border-color);
  1038. }
  1039. .widget-table-left__body{
  1040. border-bottom: 1px solid var(--fm-border-color);
  1041. flex: 1;
  1042. text-align: center;
  1043. padding: 8px 0;
  1044. }
  1045. }
  1046. .widget-table-view{
  1047. border: 1px solid var(--fm-border-color);
  1048. background-color: var(--fm-fill-extra);
  1049. width: 200px;
  1050. // float: left;
  1051. height: 100%;
  1052. position: relative;
  1053. display: block;
  1054. .el-table{
  1055. height: 100%;
  1056. }
  1057. .el-table th.required>div::before{
  1058. content: '*';
  1059. color: #f56c6c;
  1060. margin-right: 4px;
  1061. background: transparent;
  1062. vertical-align: top;
  1063. }
  1064. &.is_req{
  1065. .el-form-item__label::before{
  1066. content: '*';
  1067. color: #f56c6c;
  1068. margin-right: 4px;
  1069. }
  1070. }
  1071. &.is_hidden{
  1072. th,td{
  1073. background: var(--fm-hide-bg-color);
  1074. opacity: 0.8;
  1075. }
  1076. }
  1077. .widget-view-description{
  1078. height: 15px;
  1079. line-height: 15px;
  1080. font-size:13px;
  1081. margin-top: 6px;
  1082. color: var(--fm-text-color-secondary);
  1083. }
  1084. .widget-view-action{
  1085. position: absolute;
  1086. right: 0;
  1087. bottom: 0;
  1088. height: 28px;
  1089. line-height: 28px;
  1090. background: $primary-color;
  1091. z-index: 10;
  1092. opacity: 0.8;
  1093. &:hover{
  1094. opacity: 1;
  1095. }
  1096. i{
  1097. font-size: 14px;
  1098. color: var(--fm-white);
  1099. margin: 0 5px;
  1100. cursor: pointer;
  1101. }
  1102. }
  1103. .widget-view-drag{
  1104. position: absolute;
  1105. left: -2px;
  1106. top: -2px;
  1107. bottom: -18px;
  1108. height: 28px;
  1109. line-height: 28px;
  1110. background: $primary-color;
  1111. z-index: 9;
  1112. // display: none;
  1113. i{
  1114. font-size: 14px;
  1115. color: var(--fm-white);
  1116. margin: 0 5px;
  1117. cursor: move;
  1118. }
  1119. }
  1120. &::after{
  1121. position: absolute;
  1122. left: 0;
  1123. right: 0;
  1124. top: 0;
  1125. bottom: 0;
  1126. display: block;
  1127. content: '';
  1128. z-index: 8;
  1129. }
  1130. &::before{
  1131. display: none;
  1132. }
  1133. &.is-hover{
  1134. background: $primary-background-color;
  1135. outline: 1px solid $primary-color;
  1136. outline-offset: -1px;
  1137. &.active{
  1138. // outline: 1px solid $primary-color;
  1139. border: 1px solid $primary-color;
  1140. outline: 1px solid $primary-color;
  1141. outline-offset: -1px;
  1142. }
  1143. .widget-view-drag{
  1144. display: block;
  1145. }
  1146. > .widget-view-type{
  1147. opacity: 0.8;
  1148. display: inline-block;
  1149. }
  1150. }
  1151. &.active{
  1152. outline: 1px solid $primary-color;
  1153. border: 1px solid $primary-color;
  1154. outline-offset: -1px;
  1155. > .widget-view-type{
  1156. display: none;
  1157. }
  1158. }
  1159. &.mobile{
  1160. border: 1px dashed var(--fm-border-color-lighter);
  1161. background-color: var(--fm-fill-extra);
  1162. width: calc(100% - 4px);
  1163. float: unset;
  1164. height: auto;
  1165. position: relative;
  1166. display: block;
  1167. margin: 2px;
  1168. &.is_hidden{
  1169. background: var(--fm-hide-bg-color);
  1170. opacity: 0.8;
  1171. }
  1172. }
  1173. }
  1174. .widget-table-content{
  1175. width:100%;
  1176. border: 2px inset var(--fm-container-inset-color);
  1177. background: var(--fm-bg-base);
  1178. flex:1;
  1179. margin: 0;
  1180. overflow: auto;
  1181. position: relative;
  1182. .table-empty{
  1183. position: absolute;
  1184. text-align: center;
  1185. width: 300px;
  1186. height: 20px;
  1187. font-size: 16px;
  1188. top: 30px;
  1189. left: 50%;
  1190. margin-left: -150px;
  1191. color: var(--fm-text-color-placeholder);
  1192. }
  1193. &>div{
  1194. height: 100%;
  1195. }
  1196. .el-table__inner-wrapper{
  1197. position: unset;
  1198. }
  1199. .widget-table-col{
  1200. height: 100%;
  1201. display: flex;
  1202. .ghost{
  1203. background: var(--fm-drag-color);
  1204. border: 2px solid var(--fm-drag-color);
  1205. position: relative;
  1206. content: '';
  1207. float: left;
  1208. height: calc(100% - 4px);
  1209. width: 5px !important;
  1210. list-style: none;
  1211. font-size: 0;
  1212. overflow: hidden;
  1213. outline: none;
  1214. margin: 2px;
  1215. &::after{
  1216. background: var(--fm-drag-color);
  1217. position: absolute;
  1218. top: 0;
  1219. left: 0;
  1220. bottom: 0;
  1221. right: 0;
  1222. z-index: 9999;
  1223. content: '';
  1224. outline: none;
  1225. }
  1226. }
  1227. }
  1228. &.mobile{
  1229. min-height: 100px;
  1230. .widget-table-col{
  1231. display: block;
  1232. .ghost{
  1233. background: var(--fm-drag-color);
  1234. border: 2px solid var(--fm-drag-color);
  1235. position: relative;
  1236. content: '';
  1237. height: 5px;
  1238. width: calc(100% - 4px) !important;
  1239. list-style: none;
  1240. font-size: 0;
  1241. overflow: hidden;
  1242. outline: none;
  1243. margin: 2px;
  1244. float: unset;
  1245. &::after{
  1246. background: var(--fm-drag-color);
  1247. position: absolute;
  1248. top: 0;
  1249. left: 0;
  1250. bottom: 0;
  1251. right: 0;
  1252. z-index: 9999;
  1253. content: '';
  1254. outline: none;
  1255. }
  1256. }
  1257. }
  1258. }
  1259. }
  1260. }
  1261. &.active{
  1262. outline: 2px solid var(--fm-container-color);
  1263. border: 1px solid var(--fm-container-color);
  1264. }
  1265. &.is-hover{
  1266. background: var(--fm-container-bg-color);
  1267. outline: 1px solid var(--fm-container-color);
  1268. outline-offset: 0px;
  1269. &.active{
  1270. outline: 2px solid var(--fm-container-color);
  1271. border: 1px solid var(--fm-container-color);
  1272. outline-offset: 0;
  1273. }
  1274. >.widget-view-type{
  1275. background: var(--fm-container-color);
  1276. }
  1277. }
  1278. .widget-view-action.widget-col-action{
  1279. background: var(--fm-container-color);
  1280. }
  1281. .widget-view-drag.widget-col-drag{
  1282. background: var(--fm-container-color);
  1283. }
  1284. &::after{
  1285. display: none;
  1286. }
  1287. &.ghost{
  1288. background: var(--fm-drag-color);
  1289. outline-width: 0;
  1290. height: 5px;
  1291. min-height: 0;
  1292. box-sizing: border-box;
  1293. font-size: 0;
  1294. content: '';
  1295. overflow: hidden;
  1296. padding: 0;
  1297. position: relative;
  1298. outline: none;
  1299. border: 0;
  1300. margin: 2px;
  1301. &::after{
  1302. background: var(--fm-drag-color);
  1303. position: absolute;
  1304. top:0;
  1305. left: 0;
  1306. right: 0;
  1307. bottom: 0;
  1308. content: '';
  1309. display: block;
  1310. z-index: 999;
  1311. }
  1312. }
  1313. }
  1314. .widget-report-item{
  1315. padding: 5px;
  1316. background-color: var(--fm-container-fill-color);
  1317. min-height: 50px;
  1318. min-width: 50px;
  1319. position: relative;
  1320. box-sizing: border-box;
  1321. &.active{
  1322. outline: 2px solid var(--fm-container-color);
  1323. border: 1px solid var(--fm-container-color);
  1324. outline-offset: -1px;
  1325. }
  1326. &.is-hover{
  1327. background: var(--fm-container-bg-color);
  1328. outline: 1px solid var(--fm-container-color);
  1329. border: 1px solid var(--fm-container-color);
  1330. outline-offset: 0;
  1331. &.active{
  1332. outline: 2px solid var(--fm-container-color);
  1333. border: 1px solid var(--fm-container-color);
  1334. outline-offset: -1px;
  1335. }
  1336. >.widget-view-type{
  1337. background: var(--fm-container-color);
  1338. }
  1339. }
  1340. &.selected {
  1341. background: var(--fm-container-color);
  1342. opacity: 0.6;
  1343. }
  1344. &::after{
  1345. display: none;
  1346. }
  1347. }
  1348. .widget-report-header{
  1349. border-bottom-style: solid;
  1350. border-right-style: solid;
  1351. padding: 0;
  1352. background-color: var(--fm-container-color);
  1353. border: 1px solid var(--fm-container-color);
  1354. opacity: 0.8;
  1355. cursor: pointer;
  1356. &.active{
  1357. opacity: 1;
  1358. outline: 0 solid var(--fm-container-color);
  1359. border: 1px solid var(--fm-container-color);
  1360. outline-offset: 0px;
  1361. // opacity: 0.8;
  1362. }
  1363. &.is-hover{
  1364. opacity: 1;
  1365. outline: 0 solid var(--fm-container-color);
  1366. background-color: var(--fm-container-color);
  1367. outline-offset: 0px;
  1368. }
  1369. }
  1370. .widget-report{
  1371. padding: 5px;
  1372. // padding-bottom: 5;
  1373. background-color: var(--fm-container-fill-color);
  1374. box-sizing: border-box;
  1375. &>div{
  1376. overflow: auto;
  1377. padding: 1px;
  1378. }
  1379. &.active{
  1380. outline: 2px solid var(--fm-container-color);
  1381. border: 1px solid var(--fm-container-color);
  1382. }
  1383. &.is-hover{
  1384. background: var(--fm-container-bg-color);
  1385. outline: 1px solid var(--fm-container-color);
  1386. outline-offset: 0px;
  1387. &.active{
  1388. outline: 2px solid var(--fm-container-color);
  1389. border: 1px solid var(--fm-container-color);
  1390. outline-offset: 0;
  1391. }
  1392. >.widget-view-type{
  1393. background: var(--fm-container-color);
  1394. }
  1395. }
  1396. &.ghost{
  1397. background: var(--fm-drag-color);
  1398. border: 2px solid var(--fm-drag-color);
  1399. outline-width: 0;
  1400. height: 3px;
  1401. min-height: 3px;
  1402. box-sizing: border-box;
  1403. font-size: 0;
  1404. content: '';
  1405. overflow: hidden;
  1406. padding: 0;
  1407. margin: 2px;
  1408. }
  1409. .widget-view-action.widget-col-action{
  1410. background: var(--fm-container-color);
  1411. overflow: hidden;
  1412. .el-dropdown{
  1413. margin-top: 7px;
  1414. }
  1415. .el-dropdown-link::selection{
  1416. background: var(--fm-container-color) !important;
  1417. }
  1418. }
  1419. .widget-view-drag.widget-col-drag{
  1420. background: var(--fm-container-color);
  1421. overflow: hidden;
  1422. }
  1423. &::after{
  1424. display: none;
  1425. }
  1426. }
  1427. .widget-tab{
  1428. padding: 5px;
  1429. background-color: var(--fm-container-fill-color);
  1430. &.active{
  1431. outline: 2px solid var(--fm-container-color);
  1432. border: 1px solid var(--fm-container-color);
  1433. }
  1434. &.is-hover{
  1435. background: var(--fm-container-bg-color);
  1436. outline: 1px solid var(--fm-container-color);
  1437. outline-offset: 0px;
  1438. &.active{
  1439. outline: 2px solid var(--fm-container-color);
  1440. border: 1px solid var(--fm-container-color);
  1441. outline-offset: 0;
  1442. }
  1443. >.widget-view-type{
  1444. background: var(--fm-container-color);
  1445. }
  1446. }
  1447. &.ghost{
  1448. background: var(--fm-drag-color);
  1449. border: 2px solid var(--fm-drag-color);
  1450. outline-width: 0;
  1451. height: 3px;
  1452. min-height: 3px;
  1453. box-sizing: border-box;
  1454. font-size: 0;
  1455. content: '';
  1456. overflow: hidden;
  1457. padding: 0;
  1458. margin: 2px;
  1459. }
  1460. .widget-view-action.widget-col-action{
  1461. background: var(--fm-container-color);
  1462. }
  1463. .widget-view-drag.widget-col-drag{
  1464. background: var(--fm-container-color);
  1465. }
  1466. &::after{
  1467. display: none;
  1468. }
  1469. }
  1470. .widget-collapse{
  1471. padding: 5px;
  1472. background-color: var(--fm-container-fill-color);
  1473. &.active{
  1474. outline: 2px solid var(--fm-container-color);
  1475. border: 1px solid var(--fm-container-color);
  1476. }
  1477. &.is-hover{
  1478. background: var(--fm-container-bg-color);
  1479. outline: 1px solid var(--fm-container-color);
  1480. outline-offset: 0px;
  1481. &.active{
  1482. outline: 2px solid var(--fm-container-color);
  1483. border: 1px solid var(--fm-container-color);
  1484. outline-offset: 0;
  1485. }
  1486. >.widget-view-type{
  1487. background: var(--fm-container-color);
  1488. }
  1489. }
  1490. &.ghost{
  1491. background: var(--fm-drag-color);
  1492. border: 2px solid var(--fm-drag-color);
  1493. outline-width: 0;
  1494. height: 3px;
  1495. min-height: 3px;
  1496. box-sizing: border-box;
  1497. font-size: 0;
  1498. content: '';
  1499. overflow: hidden;
  1500. padding: 0;
  1501. margin: 2px;
  1502. }
  1503. .widget-view-action.widget-col-action{
  1504. background: var(--fm-container-color);
  1505. }
  1506. .widget-view-drag.widget-col-drag{
  1507. background: var(--fm-container-color);
  1508. }
  1509. &::after{
  1510. display: none;
  1511. }
  1512. }
  1513. .widget-col{
  1514. padding-bottom: 0;
  1515. padding: 5px;
  1516. // margin-left: 2px !important;
  1517. // margin-right: 2px !important;
  1518. background-color: var(--fm-container-fill-color);
  1519. position: relative;
  1520. &.active{
  1521. outline: 2px solid var(--fm-container-color);
  1522. border: 1px solid var(--fm-container-color);
  1523. }
  1524. &.is-hover{
  1525. background: var(--fm-container-bg-color);
  1526. outline: 1px solid var(--fm-container-color);
  1527. outline-offset: 0px;
  1528. &.active{
  1529. outline: 2px solid var(--fm-container-color);
  1530. border: 1px solid var(--fm-container-color);
  1531. outline-offset: 0;
  1532. }
  1533. >.widget-view-type{
  1534. background: var(--fm-container-color);
  1535. }
  1536. }
  1537. .el-col{
  1538. min-height: 50px;
  1539. }
  1540. &.ghost{
  1541. background: var(--fm-drag-color);
  1542. border: 2px solid var(--fm-drag-color);
  1543. outline-width: 0;
  1544. height: 3px;
  1545. min-height: 3px;
  1546. box-sizing: border-box;
  1547. font-size: 0;
  1548. content: '';
  1549. overflow: hidden;
  1550. padding: 0;
  1551. margin: 2px;
  1552. display: block;
  1553. }
  1554. .widget-view-action.widget-col-action{
  1555. background: var(--fm-container-color);
  1556. }
  1557. .widget-view-drag.widget-col-drag{
  1558. background: var(--fm-container-color);
  1559. }
  1560. &::after{
  1561. display: none;
  1562. }
  1563. }
  1564. .widget-col-item{
  1565. padding: 5px;
  1566. position: relative;
  1567. box-sizing: border-box;
  1568. border: 1px dashed var(--fm-border-color);
  1569. // margin: 1px;
  1570. &.active{
  1571. outline: 2px solid var(--fm-container-color);
  1572. border: 1px solid var(--fm-container-color);
  1573. outline-offset: -1px;
  1574. }
  1575. &.is-hover{
  1576. background: var(--fm-container-bg-color);
  1577. outline: 1px solid var(--fm-container-color);
  1578. outline-offset: 0;
  1579. &.active{
  1580. outline: 2px solid var(--fm-container-color);
  1581. border: 1px solid var(--fm-container-color);
  1582. outline-offset: -1px;
  1583. }
  1584. >.widget-view-type{
  1585. background: var(--fm-container-color);
  1586. }
  1587. }
  1588. &::after{
  1589. display: none;
  1590. }
  1591. }
  1592. .ghost{
  1593. background: var(--fm-drag-color);
  1594. border: 2px solid var(--fm-drag-color);
  1595. outline-width: 0;
  1596. height: 3px;
  1597. box-sizing: border-box;
  1598. font-size: 0;
  1599. content: '';
  1600. overflow: hidden;
  1601. padding: 0;
  1602. margin: 2px;
  1603. }
  1604. }
  1605. .ghost{
  1606. background: var(--fm-drag-color);
  1607. border: 2px solid var(--fm-drag-color);
  1608. position: relative;
  1609. margin: 2px;
  1610. &::after{
  1611. background: var(--fm-drag-color);
  1612. }
  1613. }
  1614. li.ghost{
  1615. height: 5px;
  1616. list-style: none;
  1617. font-size: 0;
  1618. overflow: hidden;
  1619. margin: 2px;
  1620. }
  1621. .ghost{
  1622. background: var(--fm-drag-color);
  1623. border: 2px solid var(--fm-drag-color);
  1624. position: relative;
  1625. margin: 2px;
  1626. &::after{
  1627. background: var(--fm-drag-color);
  1628. }
  1629. }
  1630. li.ghost{
  1631. height: 5px;
  1632. list-style: none;
  1633. font-size: 0;
  1634. overflow: hidden;
  1635. margin: 2px;
  1636. }
  1637. }
  1638. .widget-left-panel{
  1639. position: relative;
  1640. overflow: unset;
  1641. &.hide-status{
  1642. width: 0;
  1643. .container-left-arrow{
  1644. &::after{
  1645. transform: translate(-50%,-50%) rotate(180deg);
  1646. left: 60%;
  1647. }
  1648. }
  1649. }
  1650. .container-left-arrow{
  1651. position: absolute;
  1652. width: 16px;
  1653. height: 50px;
  1654. top: 50%;
  1655. right: -15px;
  1656. transform: translateY(-50%);
  1657. background-color: transparent;
  1658. box-sizing: border-box;
  1659. z-index: 10;
  1660. cursor: pointer;
  1661. display: flex;
  1662. flex-direction: column;
  1663. align-items: center;
  1664. justify-content: center;
  1665. &::before{
  1666. content: "";
  1667. position: absolute;
  1668. border-radius: 0 10px 10px 0;
  1669. box-sizing: border-box;
  1670. border-left: 0;
  1671. border-color: var(--fm-border-color);
  1672. border-style: solid;
  1673. top: 0;
  1674. right: 0;
  1675. bottom: 0;
  1676. left: 0;
  1677. background: var(--fm-bg-base);
  1678. z-index: 11;
  1679. transform: perspective(50px) rotateY(30deg);
  1680. transform-style: preserve-3d;
  1681. transition: all .15s;
  1682. }
  1683. &::after{
  1684. content: " ";
  1685. display: block;
  1686. position: absolute;
  1687. width: 0px;
  1688. height: 0px;
  1689. border-width: 5px;
  1690. border-color: transparent;
  1691. border-right-color: var(--fm-text-color-placeholder);
  1692. border-style: solid;
  1693. left: 20%;
  1694. top: 50%;
  1695. -webkit-mask-size: 100% 100%;
  1696. mask-size: 100% 100%;
  1697. -webkit-mask-repeat: no-repeat;
  1698. mask-repeat: no-repeat;
  1699. transform: translate(-50%,-50%) rotate(0deg);
  1700. z-index: 12;
  1701. }
  1702. }
  1703. }
  1704. .widget-config-container{
  1705. position: relative;
  1706. overflow: unset;
  1707. &.hide-status{
  1708. width: 0;
  1709. .container-right-arrow{
  1710. &::after{
  1711. transform: translate(-50%,-50%) rotate(0deg);
  1712. left: 45%;
  1713. }
  1714. }
  1715. }
  1716. .container-right-arrow{
  1717. position: absolute;
  1718. width: 16px;
  1719. height: 50px;
  1720. top: 50%;
  1721. left: -15px;
  1722. transform: translateY(-50%);
  1723. background-color: transparent;
  1724. box-sizing: border-box;
  1725. z-index: 10;
  1726. cursor: pointer;
  1727. display: flex;
  1728. flex-direction: column;
  1729. align-items: center;
  1730. justify-content: center;
  1731. &::before{
  1732. content: "";
  1733. position: absolute;
  1734. border-radius: 10px 0 0 10px;
  1735. box-sizing: border-box;
  1736. border-right: 0;
  1737. border-color: var(--fm-border-color);
  1738. border-style: solid;
  1739. top: 0;
  1740. right: 0;
  1741. bottom: 0;
  1742. left: 0;
  1743. background: var(--fm-bg-base);
  1744. z-index: -1;
  1745. transform: perspective(50px) rotateY(-30deg);
  1746. transition: all .15s;
  1747. }
  1748. &::after{
  1749. content: "";
  1750. display: block;
  1751. position: absolute;
  1752. width: 0px;
  1753. height: 0px;
  1754. border-width: 5px;
  1755. border-color: transparent;
  1756. border-right-color: var(--fm-text-color-placeholder);
  1757. border-style: solid;
  1758. left: 75%;
  1759. top: 50%;
  1760. -webkit-mask-size: 100% 100%;
  1761. mask-size: 100% 100%;
  1762. -webkit-mask-repeat: no-repeat;
  1763. mask-repeat: no-repeat;
  1764. transform: translate(-50%,-50%) rotate(180deg);
  1765. }
  1766. }
  1767. .el-header{
  1768. border-bottom: solid 2px var(--fm-border-color);
  1769. padding: 0 5px;
  1770. }
  1771. .config-tab{
  1772. height: 45px;
  1773. line-height: 45px;
  1774. display: inline-block;
  1775. width: 145px;
  1776. text-align: center;
  1777. font-size: 14px;
  1778. font-weight: 500;
  1779. position: relative;
  1780. cursor: pointer;
  1781. &.active{
  1782. border-bottom: solid 2px $primary-color;
  1783. }
  1784. }
  1785. .config-content{
  1786. padding: 0;
  1787. position: relative;
  1788. .el-scrollbar{
  1789. overflow: unset;
  1790. }
  1791. .el-scrollbar__bar{
  1792. // right: -8px;
  1793. }
  1794. .empty{
  1795. position: absolute;
  1796. text-align: center;
  1797. width: 100px;
  1798. height: 20px;
  1799. font-size: 20px;
  1800. top: 50%;
  1801. width: 90%;
  1802. margin-top: -10px;
  1803. color: var(--fm-text-color-placeholder);
  1804. }
  1805. .el-form-item__label{
  1806. padding: 0;
  1807. font-weight: 500;
  1808. }
  1809. .el-form-item {
  1810. border-bottom: solid 1px var(--fm-border-color-lighter);
  1811. padding-bottom: 10px;
  1812. margin: 10px;
  1813. .el-form-item__label{
  1814. font-size: 13px;
  1815. }
  1816. .el-form-item__content{
  1817. display: block;
  1818. *:not(i,.input-with-select *,svg){
  1819. font-size: 13px;
  1820. }
  1821. }
  1822. }
  1823. .validate-block{
  1824. +.validate-block{
  1825. margin-top: 10px;
  1826. }
  1827. .message-input{
  1828. margin-left: 24px;
  1829. width: 239px;
  1830. }
  1831. }
  1832. .drag-item-bk{
  1833. background: var(--fm-fill-lighter);
  1834. }
  1835. }
  1836. .ghost{
  1837. background: var(--fm-bg-base);
  1838. border: 1px dashed $primary-color;
  1839. margin: 2px;
  1840. &::after{
  1841. background: var(--fm-bg-base);
  1842. display: block;
  1843. content: '';
  1844. position: absolute;
  1845. top: 0;
  1846. left: 0;
  1847. right: 0;
  1848. bottom: 0;
  1849. }
  1850. }
  1851. ul{
  1852. margin: 0;
  1853. padding: 0;
  1854. }
  1855. li.ghost{
  1856. list-style: none;
  1857. font-size: 0;
  1858. display: block;
  1859. position: relative;
  1860. margin: 2px;
  1861. }
  1862. .fm-options-item{
  1863. .el-input-group__prepend{
  1864. font-size: 12px;
  1865. width: 80px;
  1866. text-align: left;
  1867. }
  1868. }
  1869. }
  1870. .viewer-container{
  1871. z-index: 99999 !important;
  1872. }
  1873. .fm-widget-config-collapse{
  1874. margin-top: -11px;
  1875. .el-collapse-item + .el-collapse-item{
  1876. margin-top: 2px;
  1877. }
  1878. .el-collapse-item__content{
  1879. padding-bottom: 0;
  1880. .el-form-item:last-child{
  1881. border: 0;
  1882. }
  1883. }
  1884. .el-collapse-item__header{
  1885. background: var(--el-border-color-lighter);
  1886. // border: 0;
  1887. height: 36px;
  1888. line-height: 36px;
  1889. padding: 10px;
  1890. width: 100%;
  1891. }
  1892. }
  1893. @media screen and (max-width: 768px){
  1894. @include mobile.mobileRender;
  1895. .fm-generate-dialog{
  1896. width: 100% !important;
  1897. }
  1898. .fm-generate-ant-dialog{
  1899. .ant-modal{
  1900. width: 100% !important;
  1901. }
  1902. }
  1903. }