timesheet source code
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

552 líneas
10KB

  1. html,
  2. body {
  3. margin: 0px !important;
  4. overflow: hidden;
  5. }
  6. .titlebar_gradient {
  7. /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f6e6b4+0,ed9017+100 */
  8. background: rgb(246,230,180); /* Old browsers */
  9. background: -moz-linear-gradient(top, rgba(246,230,180,1) 0%, rgba(237,144,23,1) 100%); /* FF3.6-15 */
  10. background: -webkit-linear-gradient(top, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* Chrome10-25,Safari5.1-6 */
  11. background: linear-gradient(to bottom, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  12. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6e6b4', endColorstr='#ed9017',GradientType=0 ); /* IE6-9 */
  13. }
  14. .timesheets {
  15. width: calc(100vw - 300px);
  16. height: 100vh;
  17. margin: 0px;
  18. padding: 0px;
  19. left: 150px;
  20. position: fixed;
  21. background-color: red;
  22. overflow: hidden;
  23. }
  24. .peoplebar {
  25. position: fixed;
  26. top: 0px;
  27. width: 150px;
  28. height: 100vh;
  29. background: lightgrey;
  30. overflow: hidden;
  31. }
  32. .peoplebar.left {
  33. border-radius: 5px 0px 0px 0px;
  34. left: 0px;
  35. }
  36. .peoplebar.right {
  37. right: 0px;
  38. border-radius: 0px 5px 0px 0px;
  39. }
  40. .timesheets .sheettitle {
  41. padding-top: 8px;
  42. text-align: center;
  43. background-color: lightgrey;
  44. height: 40px;
  45. text-shadow: 1px 1px 1px #fcfcfc;
  46. }
  47. .timesheets .workspace {
  48. height: calc(100vh - 180px);
  49. background-color: white;
  50. overflow-x: hidden;
  51. overflow-y: scroll;
  52. }
  53. .timesheets .statusbar {
  54. position: relative;
  55. height: 40px;
  56. background-color: ivory;
  57. box-shadow: 1px 1px 10px black;
  58. }
  59. /* staff search bar*/
  60. .b_search {
  61. position: relative;
  62. height: 40px;
  63. }
  64. .b_search input {
  65. margin-top: 5px;
  66. padding-left: 20px;
  67. padding-right: 20px;
  68. border-radius: 20px;
  69. box-shadow: 1px 1px 2px grey inset;
  70. height: 30px;
  71. }
  72. .b_search .ticon-search {
  73. position: absolute;
  74. top: 15px;
  75. left: 5px;
  76. }
  77. .b_search .ticon-times-circle-o {
  78. position: absolute;
  79. top: 15px;
  80. right: 5px;
  81. }
  82. .peoplebar button {
  83. width: 100%;
  84. padding: 0px;
  85. height: 20px;
  86. }
  87. .peoplebar .stafflist,
  88. .peoplebar .clientlist {
  89. height: calc(100vh - 80px);
  90. background-color: dimgrey;
  91. overflow: hidden;
  92. /* scroll-behavior: smooth; */
  93. }
  94. .peopleitem {
  95. position: relative;
  96. margin-top: 10px;
  97. margin-bottom: 10px;
  98. height: 120px;
  99. background: transparent;
  100. }
  101. /* hover box */
  102. div.peopleitem > label {
  103. -webkit-perspective: 1000px;
  104. perspective: 1000px;
  105. -webkit-transform-style: preserve-3d;
  106. transform-style: preserve-3d;
  107. display: block;
  108. width: 100%;
  109. height: 100%;
  110. position: absolute;
  111. left: 50%;
  112. top: 50%;
  113. -webkit-transform: translate(-50%, -50%);
  114. transform: translate(-50%, -50%);
  115. cursor: pointer;
  116. }
  117. div.peopleitem .card {
  118. position: relative;
  119. height: 100%;
  120. width: 95%;
  121. margin: auto;
  122. -webkit-transform-style: preserve-3d;
  123. transform-style: preserve-3d;
  124. -webkit-transition: all 600ms;
  125. transition: all 600ms;
  126. z-index: 20;
  127. border: 1px solid black;
  128. box-shadow: 1px 1px 10px black;
  129. }
  130. div.peopleitem .card > div {
  131. position: absolute;
  132. height: 100%;
  133. width: 100%;
  134. background: #FFF;
  135. text-align: center;
  136. /* line-height: 200px; */
  137. -webkit-backface-visibility: hidden;
  138. backface-visibility: hidden;
  139. border-radius: 2px;
  140. }
  141. div.peopleitem .card .back {
  142. background: #222;
  143. color: #FFF;
  144. -webkit-transform: rotateX(180deg);
  145. transform: rotateX(180deg);
  146. }
  147. div.peopleitem label:hover .card {
  148. -webkit-transform: rotateX(20deg);
  149. transform: rotateX(20deg);
  150. box-shadow: 0 20px 20px rgba(50,50,50,.2);
  151. }
  152. div.peopleitem input {
  153. display: none;
  154. }
  155. div.peopleitem :checked + .card {
  156. transform: rotateX(180deg);
  157. -webkit-transform: rotateX(180deg);
  158. }
  159. div.peopleitem label:hover :checked + .card {
  160. transform: rotateX(160deg);
  161. -webkit-transform: rotateX(160deg);
  162. box-shadow: 0 20px 20px rgba(255,255,255,.2);
  163. }
  164. /* end of hover box */
  165. .satusbar {
  166. position: relative;
  167. }
  168. .statusbar * {
  169. vertical-align: top;
  170. text-shadow: 1px 1px 1px #fcfcfc;
  171. }
  172. .statusbar div {
  173. position: relative;
  174. display: inline;
  175. }
  176. .statusbar .xero {
  177. width: 40px;
  178. height: 100%;
  179. margin-left: 5px;
  180. margin-right: 5px;
  181. display: inline-block;
  182. background-color: white;
  183. box-shadow: inset 0px 0px 2px dotted white;
  184. border-radius: 100px;
  185. background-image: url(http://acaresydney.com.au/wp-content/uploads/2019/06/xero.png);
  186. background-size: 40px;
  187. box-shadow: 0px 0px 10px white;
  188. }
  189. .statusbar .wifi i,
  190. .statusbar .xero i {
  191. font-size: 20px;
  192. color: red;
  193. position: absolute;
  194. right: 0px;
  195. top: -5px;
  196. }
  197. .statusbar .wifi {
  198. width: 40px;
  199. height: 100%;
  200. margin-left: 0px;
  201. margin-right: 100px;
  202. display: inline-block;
  203. background-color: white;
  204. box-shadow: inset 0px 0px 2px black;
  205. border-radius: 100px;
  206. background-image: url(http://acaresydney.com.au/wp-content/uploads/2019/06/wnet.png);
  207. background-size: 40px;
  208. box-shadow: 0px 0px 10px white;
  209. }
  210. .statusbar .xero:hover,
  211. .statusbar .wifi:hover {
  212. box-shadow: 0px 0px 3px black;
  213. }
  214. .statusbar .wages {
  215. text-align: center;
  216. width: 150px;
  217. height: 100%;
  218. display: inline-block;
  219. background-color: transparent;
  220. font-size: 24px;
  221. font-weight: bold;
  222. color: dimgrey;
  223. border: 1px dotted white;
  224. position: absolute;
  225. right: 400px;
  226. }
  227. .statusbar .workinghours {
  228. background-color: transparent;
  229. width: 175px;
  230. height: 100%;
  231. display: inline-block;
  232. position: absolute;
  233. right: 220px;
  234. }
  235. .workinghours label {
  236. transform: unset;
  237. left: 0;
  238. top: 0;
  239. width: 50px;
  240. height: 100%;
  241. padding: 0.5em;
  242. text-align: left;
  243. display: inline-block;
  244. color: #A974D;
  245. font-weight: bolder;
  246. line-height: 15px;
  247. background-color: transparent;
  248. margin-right: 0px;
  249. }
  250. .statusbar input {
  251. margin: 0px;
  252. width: 115px;
  253. height: 100%;
  254. display: inline-block;
  255. font-size: 24px;
  256. background: transparent;
  257. text-align: center;
  258. }
  259. .statusbar button[name='confirmschedule'] {
  260. margin-top: 5px;
  261. margin-bottom: 5px ;
  262. text-shadow: 0px 0px 2px black;
  263. width: 200px ;
  264. height: calc( 100% - 10px );
  265. font-weight: bolder;
  266. position: absolute;
  267. right: 10px;
  268. }
  269. div.sheetsheader {
  270. height: 100px;
  271. background: darkorange;
  272. position: relative;
  273. }
  274. div.prevweek {
  275. display: inline-block;
  276. height: 70px;
  277. width: 40px;
  278. font-size: 36px;
  279. padding-top: 5px;
  280. padding-left: 2px;
  281. float: left;
  282. background: darkorange;
  283. }
  284. div.prevweek span:hover,
  285. div.nextweek span:hover {
  286. box-shadow: 1px 1px 10px black;
  287. }
  288. div.nextweek {
  289. display: inline-block;
  290. height: 70px;
  291. width: 40px;
  292. font-size: 36px;
  293. padding-top: 5px;
  294. padding-left: 4px;
  295. float: right;
  296. }
  297. div.weekly {
  298. width: calc( 100% - 80px ) ;
  299. display: inline-block;
  300. background-color: black;
  301. height: 70px;
  302. }
  303. div.weekly div {
  304. margin: 0px;
  305. }
  306. div.weekly div.weekname {
  307. position: relative;
  308. width: 130px;
  309. top: -5px;
  310. border: 2px solid grey;
  311. border-radius: 10px;
  312. text-align: center;
  313. background-color: white;
  314. }
  315. div.weekly div.weekname.prev {
  316. position: absolute;
  317. left: 100px;
  318. z-index: 1;
  319. }
  320. div.weekly div.weekname.next {
  321. position: absolute;
  322. right: 100px;
  323. z-index: 1;
  324. }
  325. div.weekly div.copyprogress {
  326. position: absolute;
  327. top: 0px;
  328. display: inline-block;
  329. width: calc(100% - 80px);
  330. height: 15px;
  331. background-color: yellow;
  332. top: 0px;
  333. border-radius: 2px;
  334. box-shadow: inset 1px 1px 2px black;
  335. }
  336. div.copyprogress div[name='copyschedule'] {
  337. position: absolute;
  338. color: white;
  339. top: 0px;
  340. left: 200px;
  341. width: 100px;
  342. height: 15px;
  343. padding: 0px;
  344. border-radius: 10px;
  345. text-align: center;
  346. background-color: black;
  347. }
  348. div.weekdays {
  349. position: absolute;
  350. top: 15px;
  351. width: calc(100% - 80px);
  352. height: 55px;
  353. background-color: darkorange;
  354. text-align: center;
  355. }
  356. div.week1,
  357. div.week2 {
  358. display: inline-block;
  359. width: 45%;
  360. height: 55px;
  361. background-color: darkorange;
  362. text-align: justify;
  363. border: 1px dashed lightgrey;
  364. padding-left: 10px;
  365. padding-right: 10px;
  366. }
  367. div.week1:after,
  368. div.week2:after {
  369. content: '';
  370. display: inline-block;
  371. width: 100%;
  372. }
  373. div.week1 {
  374. position: relative;
  375. left: -10px;
  376. }
  377. div.week2 {
  378. position: relative;
  379. left: 10px;
  380. }
  381. div.week1 > div,
  382. div.week2 > div {
  383. display: inline-block;
  384. text-align: center;
  385. width: 10%;
  386. height: 40px;
  387. color: white;
  388. margin-top: 5px;
  389. font-weight: bolder;
  390. }
  391. div.week1 > div {
  392. color: #2c87f0;
  393. box-shadow: 0px 0px 10px white inset;
  394. }
  395. div.week2 > div {
  396. background-color: #2c87f0;
  397. box-shadow: 0px 0px 10px white inset;
  398. }
  399. div.sheettableheader {
  400. margin-top: 0px;
  401. height: 30px;
  402. background-color: lightgrey;
  403. overflow-x: hidden;
  404. overflow-y: scroll;
  405. }
  406. div.bday,
  407. div.bdate,
  408. div.btos,
  409. div.bstart,
  410. div.bfinish,
  411. div.bhours,
  412. div.bstaff,
  413. div.bclients,
  414. div.bconfirmed,
  415. div.bdelete {
  416. display: block;
  417. float: left;
  418. background-color: black;
  419. text-align: center;
  420. border: 1px dotted white;
  421. font-weight: bolder;
  422. font-size: 20px;
  423. color: white;
  424. /* box-shadow: 1px 1px 10px black; */
  425. width: 10%;
  426. height: 30px;
  427. }
  428. div.bdelete,
  429. div.bconfirmed {
  430. width: 5%;
  431. }
  432. div.btos {
  433. width: 20%;
  434. }
  435. div.assignment > div {
  436. color: navy;
  437. background-color: white;
  438. font-size: 20px;
  439. font-weight: lighter;
  440. border: 1px dotted lightgrey;
  441. }
  442. /* peple item card*/
  443. .peopleitem div span.checked {
  444. color:orange;
  445. }
  446. .peopleitem div.card div.front > div[name="title"] {
  447. height: auto;
  448. text-align: center;
  449. background-color: lightgrey;
  450. }
  451. div.front > span[name='icon'] {
  452. width: 100%;
  453. height: 15px;
  454. background-color: dimgrey;
  455. color: white;
  456. }
  457. div.back > span.icon{
  458. width: 100%;
  459. background-color: lightgrey;
  460. color: dimgrey
  461. }
  462. div.front > span.badge, div.back > span.badge {
  463. border-radius: 50%;
  464. display: inline-block;
  465. padding-left: 8px;
  466. padding-right: 8px;
  467. text-align: center;
  468. position:absolute;
  469. right : -5px;
  470. top: -5px;
  471. }
  472. span.badge.blue{
  473. color: #fff;
  474. box-shadow: 1px 1px 10px black;
  475. background-color: black;
  476. }
  477. span.badge.pink{
  478. color: black;
  479. box-shadow: 1px 1px 10px white;
  480. background-color: white;
  481. }