uploadFileToCreateClassDialog.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477
  1. <template>
  2. <div>
  3. <el-dialog
  4. :center="true"
  5. :visible.sync="show"
  6. :close-on-click-modal="false"
  7. :modal="false"
  8. width="auto"
  9. height="auto"
  10. class="uploadFileToCreateClassDialog"
  11. >
  12. <div class="box">
  13. <div class="b_head">
  14. <span>文件上传与配置</span>
  15. <img
  16. src="../../../../assets/icon/classroomObservation/close.svg"
  17. @click="close()"
  18. />
  19. </div>
  20. <div class="b_main">
  21. <div class="b_m_left">
  22. <img
  23. src="../../../../assets/icon/classroomObservation/file_processing.svg"
  24. />
  25. <span>文件格式支持:mp4、wav、txt 文件</span>
  26. </div>
  27. <div class="b_m_right">
  28. <span>配置</span>
  29. <div>
  30. <span>自动编码</span>
  31. <el-switch
  32. v-model="automaticCoding"
  33. active-color="#13ce66"
  34. inactive-color="#ff4949"
  35. >
  36. </el-switch>
  37. </div>
  38. <div>
  39. <span>分析模板</span>
  40. <el-cascader
  41. size="small"
  42. v-model="analysisTemplate"
  43. :options="options"
  44. ></el-cascader>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="b_bottom">
  49. <el-button size="small" @click="close()">取消</el-button>
  50. <el-button size="small" type="primary" @click="submit"
  51. >确定修改</el-button
  52. >
  53. </div>
  54. </div>
  55. </el-dialog>
  56. </div>
  57. </template>
  58. <script>
  59. export default {
  60. data() {
  61. return {
  62. loading: false,
  63. show: false,
  64. loading: false,
  65. automaticCoding: false,
  66. analysisTemplate: "",
  67. options: [
  68. {
  69. value: "zhinan",
  70. label: "指南",
  71. children: [
  72. {
  73. value: "shejiyuanze",
  74. label: "设计原则",
  75. children: [
  76. {
  77. value: "yizhi",
  78. label: "一致"
  79. },
  80. {
  81. value: "fankui",
  82. label: "反馈"
  83. },
  84. {
  85. value: "xiaolv",
  86. label: "效率"
  87. },
  88. {
  89. value: "kekong",
  90. label: "可控"
  91. }
  92. ]
  93. },
  94. {
  95. value: "daohang",
  96. label: "导航",
  97. children: [
  98. {
  99. value: "cexiangdaohang",
  100. label: "侧向导航"
  101. },
  102. {
  103. value: "dingbudaohang",
  104. label: "顶部导航"
  105. }
  106. ]
  107. }
  108. ]
  109. },
  110. {
  111. value: "zujian",
  112. label: "组件",
  113. children: [
  114. {
  115. value: "basic",
  116. label: "Basic",
  117. children: [
  118. {
  119. value: "layout",
  120. label: "Layout 布局"
  121. },
  122. {
  123. value: "color",
  124. label: "Color 色彩"
  125. },
  126. {
  127. value: "typography",
  128. label: "Typography 字体"
  129. },
  130. {
  131. value: "icon",
  132. label: "Icon 图标"
  133. },
  134. {
  135. value: "button",
  136. label: "Button 按钮"
  137. }
  138. ]
  139. },
  140. {
  141. value: "form",
  142. label: "Form",
  143. children: [
  144. {
  145. value: "radio",
  146. label: "Radio 单选框"
  147. },
  148. {
  149. value: "checkbox",
  150. label: "Checkbox 多选框"
  151. },
  152. {
  153. value: "input",
  154. label: "Input 输入框"
  155. },
  156. {
  157. value: "input-number",
  158. label: "InputNumber 计数器"
  159. },
  160. {
  161. value: "select",
  162. label: "Select 选择器"
  163. },
  164. {
  165. value: "cascader",
  166. label: "Cascader 级联选择器"
  167. },
  168. {
  169. value: "switch",
  170. label: "Switch 开关"
  171. },
  172. {
  173. value: "slider",
  174. label: "Slider 滑块"
  175. },
  176. {
  177. value: "time-picker",
  178. label: "TimePicker 时间选择器"
  179. },
  180. {
  181. value: "date-picker",
  182. label: "DatePicker 日期选择器"
  183. },
  184. {
  185. value: "datetime-picker",
  186. label: "DateTimePicker 日期时间选择器"
  187. },
  188. {
  189. value: "upload",
  190. label: "Upload 上传"
  191. },
  192. {
  193. value: "rate",
  194. label: "Rate 评分"
  195. },
  196. {
  197. value: "form",
  198. label: "Form 表单"
  199. }
  200. ]
  201. },
  202. {
  203. value: "data",
  204. label: "Data",
  205. children: [
  206. {
  207. value: "table",
  208. label: "Table 表格"
  209. },
  210. {
  211. value: "tag",
  212. label: "Tag 标签"
  213. },
  214. {
  215. value: "progress",
  216. label: "Progress 进度条"
  217. },
  218. {
  219. value: "tree",
  220. label: "Tree 树形控件"
  221. },
  222. {
  223. value: "pagination",
  224. label: "Pagination 分页"
  225. },
  226. {
  227. value: "badge",
  228. label: "Badge 标记"
  229. }
  230. ]
  231. },
  232. {
  233. value: "notice",
  234. label: "Notice",
  235. children: [
  236. {
  237. value: "alert",
  238. label: "Alert 警告"
  239. },
  240. {
  241. value: "loading",
  242. label: "Loading 加载"
  243. },
  244. {
  245. value: "message",
  246. label: "Message 消息提示"
  247. },
  248. {
  249. value: "message-box",
  250. label: "MessageBox 弹框"
  251. },
  252. {
  253. value: "notification",
  254. label: "Notification 通知"
  255. }
  256. ]
  257. },
  258. {
  259. value: "navigation",
  260. label: "Navigation",
  261. children: [
  262. {
  263. value: "menu",
  264. label: "NavMenu 导航菜单"
  265. },
  266. {
  267. value: "tabs",
  268. label: "Tabs 标签页"
  269. },
  270. {
  271. value: "breadcrumb",
  272. label: "Breadcrumb 面包屑"
  273. },
  274. {
  275. value: "dropdown",
  276. label: "Dropdown 下拉菜单"
  277. },
  278. {
  279. value: "steps",
  280. label: "Steps 步骤条"
  281. }
  282. ]
  283. },
  284. {
  285. value: "others",
  286. label: "Others",
  287. children: [
  288. {
  289. value: "dialog",
  290. label: "Dialog 对话框"
  291. },
  292. {
  293. value: "tooltip",
  294. label: "Tooltip 文字提示"
  295. },
  296. {
  297. value: "popover",
  298. label: "Popover 弹出框"
  299. },
  300. {
  301. value: "card",
  302. label: "Card 卡片"
  303. },
  304. {
  305. value: "carousel",
  306. label: "Carousel 走马灯"
  307. },
  308. {
  309. value: "collapse",
  310. label: "Collapse 折叠面板"
  311. }
  312. ]
  313. }
  314. ]
  315. },
  316. {
  317. value: "ziyuan",
  318. label: "资源",
  319. children: [
  320. {
  321. value: "axure",
  322. label: "Axure Components"
  323. },
  324. {
  325. value: "sketch",
  326. label: "Sketch Templates"
  327. },
  328. {
  329. value: "jiaohu",
  330. label: "组件交互文档"
  331. }
  332. ]
  333. }
  334. ]
  335. };
  336. },
  337. computed: {},
  338. methods: {
  339. open(data) {
  340. this.loading = false;
  341. this.show = true;
  342. },
  343. close() {
  344. this.show = false;
  345. this.init();
  346. },
  347. init() {
  348. this.loading = false;
  349. },
  350. submit() {
  351. this.$message.info("确认上传");
  352. this.close();
  353. }
  354. }
  355. };
  356. </script>
  357. <style scoped>
  358. .uploadFileToCreateClassDialog >>> .el-dialog {
  359. width: 900px !important;
  360. border-radius: 8px;
  361. background-color: #fff;
  362. overflow: hidden;
  363. }
  364. .uploadFileToCreateClassDialog >>> .el-dialog__body {
  365. width: 900px !important;
  366. height: auto;
  367. flex-shrink: 0;
  368. box-sizing: border-box;
  369. overflow: auto;
  370. }
  371. .uploadFileToCreateClassDialog >>> .el-dialog__header {
  372. display: none !important;
  373. }
  374. .box {
  375. width: 900px;
  376. height: 500px;
  377. background: #fafafa;
  378. border-radius: 15px;
  379. box-shadow: 0px 6px 30px 5px rgba(0, 0, 0, 0.05),
  380. 0px 16px 24px 2px rgba(0, 0, 0, 0.04), 0px 8px 10px -5px rgba(0, 0, 0, 0.08);
  381. }
  382. .b_head {
  383. width: 100%;
  384. height: 50px;
  385. border-radius: 15px 15px 0 0;
  386. background: #fff;
  387. display: flex;
  388. align-items: center;
  389. justify-content: space-between;
  390. box-sizing: border-box;
  391. padding: 0 20px;
  392. }
  393. .b_head > span {
  394. font-size: 16px;
  395. font-weight: bold;
  396. color: #000;
  397. }
  398. .b_head > img {
  399. width: 20px;
  400. height: 20px;
  401. cursor: pointer;
  402. }
  403. .b_main {
  404. width: 100%;
  405. height: calc(100% - 50px - 70px);
  406. background: #fafafa;
  407. padding: 20px 20px 0 20px;
  408. box-sizing: border-box;
  409. display: flex;
  410. align-items: center;
  411. justify-content: space-around;
  412. }
  413. .b_bottom {
  414. width: 100%;
  415. height: 70px;
  416. display: flex;
  417. align-items: center;
  418. justify-content: flex-end;
  419. box-sizing: border-box;
  420. padding: 0 20px;
  421. }
  422. .b_main > div {
  423. border-radius: 15px;
  424. width: 400px;
  425. height: 350px;
  426. box-sizing: border-box;
  427. border: rgba(150, 155, 163, 1) 1px dashed;
  428. }
  429. .b_m_left {
  430. background-color: #fff;
  431. display: flex;
  432. flex-direction: column;
  433. align-items: center;
  434. justify-content: center;
  435. }
  436. .b_m_left > img {
  437. width: 140px;
  438. height: 140px;
  439. }
  440. .b_m_left > span {
  441. font-size: 16px;
  442. color: #000;
  443. }
  444. .b_m_right {
  445. box-sizing: border-box;
  446. padding: 20px;
  447. }
  448. .b_m_right > span {
  449. font-size: 16px;
  450. font-weight: bold;
  451. color: #000;
  452. }
  453. .b_m_right>div{
  454. margin-top: 20px;
  455. font-size: 16px;
  456. color: #000;
  457. }
  458. </style>