b8c13a19c19497b3e188638a914b7dd0.json 45 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\components\\uploadVideo2\\index.vue?vue&type=style&index=0&id=065e850b&scoped=true&lang=scss","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\components\\uploadVideo2\\index.vue","mtime":1761614938988},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\css-loader\\index.js","mtime":1761614929364},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1761614937403},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\postcss-loader\\src\\index.js","mtime":1761614935133},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1761614936391},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQoubmFtZVN0eWxlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICB6LWluZGV4OiA5Ow0KICBiYWNrZ3JvdW5kOiAjZWVlOw0KICBoZWlnaHQ6IDIwcHg7DQogIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICBjb2xvcjogIzU1NTsNCiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjsNCiAgcGFkZGluZzogMCA1cHg7DQogIGxlZnQ6IDU2cHg7DQogIGJvdHRvbTogLTE4cHg7DQp9DQoNCi5pY29uYmlhbmppMSB7DQogIGZvbnQtc2l6ZTogMTNweDsNCn0NCg0KLnNlbGVjdFRyZWVDbGFzcyB7DQogIGJhY2tncm91bmQ6ICNkNWU4ZmM7DQp9DQoudHJlZV90aXQgew0KICBwYWRkaW5nLXRvcDogN3B4Ow0KfQ0KLnRyZWVCb3ggew0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiAxMDAlOw0KICBtYXgtd2lkdGg6IDE4MHB4Ow0KfQ0KLmlzLW1vZGFsIC5waWN0cnVlTGlzdF9waWMgew0KICB3aWR0aDogMTAwcHg7DQogIG1hcmdpbjogMTBweCA1cHggIWltcG9ydGFudDsNCiAgLmltZyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHdpZHRoOiAxMDBweDsNCiAgICBoZWlnaHQ6IDEwMHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDgsIDI0OCwgMjQ4KTsNCiAgICBwYWRkaW5nOiAycHg7DQogICAgaW1nIHsNCiAgICAgIG1heC13aWR0aDogOTZweDsNCiAgICAgIG1heC1oZWlnaHQ6IDk2cHg7DQogICAgICAvLyBvYmplY3QtZml0OiBjb3ZlcjsNCiAgICB9DQogICAgLm9wZXJhdGUtaGVpZ2h0IHsNCiAgICAgIGJvdHRvbTogLThweDsNCiAgICB9DQogIH0NCn0NCi5waWN0cnVlTGlzdF9waWMgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHdpZHRoOiAxNDZweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDsNCiAgLmltZyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHdpZHRoOiAxNDZweDsNCiAgICBoZWlnaHQ6IDE0NnB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDgsIDI0OCwgMjQ4KTsNCiAgICBwYWRkaW5nOiAzcHg7DQogICAgdmlkZW8gew0KICAgICAgbWF4LXdpZHRoOiAxMDBweDsNCiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4Ow0KICAgICAgLy8gb2JqZWN0LWZpdDogY292ZXI7DQogICAgfQ0KICB9DQoNCiAgcCB7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIGhlaWdodDogMjBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgY29sb3I6ICM1MTVhNmQ7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB9DQoNCiAgLm51bWJlciB7DQogICAgaGVpZ2h0OiAzM3B4Ow0KICB9DQoNCiAgLm51bWJlciB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogMDsNCiAgfQ0KICA6OnYtZGVlcCAuZWwtYmFkZ2VfX2NvbnRlbnQuaXMtZml4ZWQgew0KICAgIHRvcDogMTNweDsNCiAgICByaWdodDogMjVweDsNCiAgfQ0KfQ0KLk5hdiB7DQogIHdpZHRoOiAxMDAlOw0KICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWVlOw0KICBtaW4td2lkdGg6IDIyMHB4Ow0KICBtYXgtd2lkdGg6IG1heC1jb250ZW50Ow0KfQ0KLnRyZWVzLWNvYWRkIHsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KDQogIC5zY29sbGhpZGUgew0KICAgIG92ZXJmbG93LXg6IGhpZGRlbjsNCiAgICBvdmVyZmxvdy15OiBzY3JvbGw7DQogICAgcGFkZGluZzogMHB4IDAgMTBweCAwOw0KICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoNCiAgICAuaXNUcmVlIHsNCiAgICAgIG1pbi1oZWlnaHQ6IDM3NHB4Ow0KICAgICAgbWF4LWhlaWdodDogNTUwcHg7DQogICAgICA6OnYtZGVlcCAuZmlsZS1uYW1lIHsNCiAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgLm5hbWUgew0KICAgICAgICAgIG1heC13aWR0aDogN2VtOw0KICAgICAgICB9DQogICAgICAgIC5pY29uIHsNCiAgICAgICAgICB3aWR0aDogMTJweDsNCiAgICAgICAgICBoZWlnaHQ6IDEycHg7DQogICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIDo6di1kZWVwIC5lbC10cmVlLW5vZGUgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7DQogICAgICB9DQogICAgICA6OnYtZGVlcCAuZWwtdHJlZS1ub2RlX19jaGlsZHJlbiAuZWwtdHJlZS1ub2RlIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgICAgfQ0KICAgICAgOjp2LWRlZXAgLmVsLXRyZWUtbm9kZV9fY29udGVudCB7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBoZWlnaHQ6IDM2cHg7DQogICAgICB9DQogICAgICA6OnYtZGVlcCAuY3VzdG9tLXRyZWUtbm9kZSB7DQogICAgICAgIGZsZXg6IDE7DQogICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsNCiAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOw0KICAgICAgICBsaW5lLWhlaWdodDogMTNweDsNCiAgICAgIH0NCiAgICAgIDo6di1kZWVwIC5pcy1jdXJyZW50IHsNCiAgICAgICAgYmFja2dyb3VuZDogI2YxZjlmZiAhaW1wb3J0YW50Ow0KICAgICAgICBjb2xvcjogdmFyKC0tcHJldi1jb2xvci1wcmltYXJ5KSAhaW1wb3J0YW50Ow0KICAgICAgfQ0KICAgICAgOjp2LWRlZXAgLmlzLWN1cnJlbnQgLmN1c3RvbS10cmVlLW5vZGUgew0KICAgICAgICBjb2xvcjogdmFyKC0tcHJldi1jb2xvci1wcmltYXJ5KSAhaW1wb3J0YW50Ow0KICAgICAgfQ0KICAgIH0NCiAgfQ0KDQogIC5zY29sbGhpZGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQp9DQoNCi50cmVlU2VsIDo6di1kZWVwIC5pdnUtc2VsZWN0LWRyb3Bkb3duLWxpc3Qgew0KICBwYWRkaW5nOiAwIDVweCAhaW1wb3J0YW50Ow0KICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICB3aWR0aDogMjAwcHg7DQp9DQouaW1hZ2VzTm8gew0KICBkaXNwbGF5OiBmbGV4Ow0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgbWFyZ2luOiA2NXB4IDA7DQoNCiAgLmltYWdlc05vX3NwIHsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgY29sb3I6ICNkYmRiZGI7DQogICAgbGluZS1oZWlnaHQ6IDM7DQogIH0NCn0NCg0KLk1vZGFsIHsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMTAwJTsNCiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50Ow0KfQ0KLmZpbGwtd2luZG93IHsNCiAgaGVpZ2h0OiAxMDB2aDsNCn0NCi5jb2xMZWZ0IHsNCiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KICBoZWlnaHQ6IDEwMCU7DQogIGRpc3BsYXk6IGZsZXg7DQogIGZsZXgtd3JhcDogbm93cmFwOw0KfQ0KDQouY29udGVyIHsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMTAwJTsNCiAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDsNCiAgLmljb25saWViaWFvIHsNCiAgICBmb250LXNpemU6IDEycHg7DQogIH0NCn0NCg0KLmNvbnRlciAuYm50IHsNCiAgd2lkdGg6IDEwMCU7DQogIHBhZGRpbmc6IDAgMHB4IDIwcHggMHB4Ow0KICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KDQouY29udGVyIC5waWN0cnVlTGlzdCB7DQogIC8vIHdpZHRoOiAxMDAlOw0KICBvdmVyZmxvdy14OiBoaWRkZW47DQogIG92ZXJmbG93LXk6IGF1dG87DQogIG1pbi1oZWlnaHQ6IDQ2M3B4Ow0KfQ0KLmNvbnRlciAucGljdHJ1ZUxpc3QuaXMtbW9kYWwgew0KICBtYXgtaGVpZ2h0OiA0ODBweDsNCn0NCi5yaWdodC1jb2wgew0KICAvLyBmbGV4OiAxOw0KfQ0KLmNvbnRlciAucGljdHJ1ZUxpc3QgaW1nIHsNCiAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KLmNvbnRlciAucGljdHJ1ZUxpc3QgLmltZy5vbiB7DQogIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXByZXYtY29sb3ItcHJpbWFyeSk7DQp9DQoNCi5jb250ZXIgLmZvb3RlciB7DQogIHBhZGRpbmc6IDAgMjBweCAxMHB4IDIwcHg7DQp9DQoudGFiQm94X2ltZyB7DQogIGRpc3BsYXk6IGZsZXg7DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogIHZpZGVvIHsNCiAgICBtYXgtd2lkdGg6IDkwcHg7DQogICAgbWF4LWhlaWdodDogMzBweDsNCiAgfQ0KfQ0KLnJlYWwtbmFtZSB7DQogIGZsZXg6IDE7DQp9DQouZGYtYWljIHsNCiAgZGlzcGxheTogZmxleDsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCn0NCi5kZW1vLWJhZGdlIHsNCiAgd2lkdGg6IDQycHg7DQogIGhlaWdodDogNDJweDsNCiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KfQ0KDQouYm50IDo6di1kZWVwIC5pdnUtdHJlZS1jaGlsZHJlbiB7DQogIHBhZGRpbmc6IDVweCAwOw0KfQ0KDQouY2FyZC10cmVlIHsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCiAgaGVpZ2h0OiA3MnB4Ow0KICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICBvdmVyZmxvdy14OiBzY3JvbGw7IC8qIOiuvue9rua6ouWHuua7muWKqCAqLw0KICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICBvdmVyZmxvdy15OiBoaWRkZW47DQogIC8qIOmakOiXj+a7muWKqOadoSAqLw0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogZmlyZWZveCAqLw0KICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIDEwKyAqLw0KfQ0KLmNhcmQtdHJlZTo6LXdlYmtpdC1zY3JvbGxiYXIgew0KICBkaXNwbGF5OiBub25lOyAvKiBDaHJvbWUgU2FmYXJpICovDQp9DQoudGFicyB7DQogIGJhY2tncm91bmQ6ICNmZmY7DQogIHBhZGRpbmctdG9wOiAxMHB4Ow0KICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDsNCn0NCi5vcGVyYXRlLWl0ZW0gew0KICBkaXNwbGF5OiBmbGV4Ow0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgbWFyZ2luOiA1cHggMDsNCn0NCi5vcGVyYXRlLWhlaWdodCB7DQogIGRpc3BsYXk6IGZsZXg7DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICBoZWlnaHQ6IDE2cHg7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm90dG9tOiAtMTBweDsNCn0NCi5vcGVyYXRlIHsNCiAgY29sb3I6IHZhcigtLXByZXYtY29sb3ItcHJpbWFyeSk7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCn0NCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAu3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/components/uploadVideo2","sourcesContent":["<template>\r\n <div class=\"Modal\">\r\n <div class=\"colLeft\">\r\n <div class=\"Nav\">\r\n <div class=\"trees-coadd\">\r\n <div v-if=\"isPage\" class=\"tree_tit\" v-db-click @click=\"addSort\">\r\n <i class=\"el-icon-circle-plus\"></i>\r\n 添加分类\r\n </div>\r\n <div class=\"scollhide\">\r\n <div :class=\"isPage ? 'tree' : 'isTree'\">\r\n <el-tree\r\n :data=\"treeData\"\r\n node-key=\"id\"\r\n default-expand-all\r\n highlight-current\r\n :expand-on-click-node=\"false\"\r\n @node-click=\"appendBtn\"\r\n :current-node-key=\"treeId\"\r\n >\r\n <span class=\"custom-tree-node\" slot-scope=\"{ data }\">\r\n <!-- <span class=\"file-name\">\r\n <i class=\"icon el-icon-folder-remove\"></i>\r\n {{ data.title }}</span\r\n > -->\r\n <!-- <span class=\"file-name\">\r\n <img v-if=\"!data.pid\" class=\"icon\" src=\"@/assets/images/file.jpg\" />\r\n <span class=\"name line1\">{{ data.title }}</span>\r\n </span> -->\r\n <div class=\"file-name\">\r\n <img v-if=\"!data.pid\" class=\"icon\" src=\"@/assets/images/file.jpg\" />\r\n <el-tooltip class=\"item\" effect=\"dark\" :content=\"data.title\" placement=\"top\">\r\n <div class=\"text line1\">\r\n {{ data.title }}\r\n </div>\r\n </el-tooltip>\r\n </div>\r\n <span>\r\n <el-dropdown @command=\"(command) => clickMenu(data, command)\">\r\n <i class=\"el-icon-more el-icon--right\"></i>\r\n <template slot=\"dropdown\">\r\n <el-dropdown-menu>\r\n <el-dropdown-item command=\"1\">新增分类</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.id\" command=\"2\">编辑分类</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.id\" command=\"3\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </span>\r\n </span>\r\n </el-tree>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"conter\">\r\n <div class=\"bnt acea-row row-middle df-jcsb\">\r\n <div class=\"\">\r\n <el-button\r\n class=\"mr14\"\r\n type=\"primary\"\r\n :disabled=\"checkPicList.length === 0\"\r\n v-db-click\r\n @click=\"checkPics\"\r\n size=\"small\"\r\n v-if=\"isShow !== 0\"\r\n >使用选中视频</el-button\r\n >\r\n <!-- <el-button size=\"small\" type=\"primary\" v-db-click @click=\"uploadModal\">上传视频</el-button> -->\r\n <el-button\r\n class=\"mr14\"\r\n v-if=\"upload_type !== '1'\"\r\n type=\"primary\"\r\n size=\"small\"\r\n v-db-click\r\n @click=\"zh_uploadFile\"\r\n >上传视频</el-button\r\n >\r\n <el-upload\r\n v-if=\"upload_type === '1'\"\r\n :show-file-list=\"false\"\r\n :action=\"fileUrl\"\r\n :before-upload=\"videoSaveToUrl\"\r\n :data=\"uploadData\"\r\n :headers=\"header\"\r\n :multiple=\"true\"\r\n style=\"display: inline-block\"\r\n accept=\".mp4\"\r\n >\r\n <el-button class=\"mr14\" size=\"small\" type=\"primary\">上传视频</el-button>\r\n </el-upload>\r\n <el-button\r\n class=\"mr14\"\r\n size=\"small\"\r\n :disabled=\"!checkPicList.length && !ids.length\"\r\n v-db-click\r\n @click.stop=\"editPicList()\"\r\n >删除视频</el-button\r\n >\r\n <el-cascader\r\n v-model=\"pids\"\r\n placeholder=\"视频移动至\"\r\n style=\"width: 150px\"\r\n class=\"treeSel\"\r\n :options=\"treeData2\"\r\n :props=\"{ checkStrictly: true, emitPath: false, label: 'title', value: 'id' }\"\r\n clearable\r\n size=\"small\"\r\n @visible-change=\"moveImg\"\r\n ></el-cascader>\r\n </div>\r\n <div>\r\n <el-input\r\n class=\"mr14\"\r\n v-model=\"fileData.real_name\"\r\n placeholder=\"请输入视频名\"\r\n size=\"small\"\r\n style=\"width: 150px\"\r\n @change=\"searchFile\"\r\n >\r\n <i slot=\"suffix\" class=\"el-icon-search el-input__icon\" v-db-click @click=\"getFileList\"></i>\r\n </el-input>\r\n <el-radio-group class=\"mr10\" v-if=\"isPage\" v-model=\"lietStyle\" size=\"small\" @input=\"radioChange\">\r\n <el-radio-button label=\"list\">\r\n <i class=\"el-icon-menu\"></i>\r\n </el-radio-button>\r\n <el-radio-button label=\"table\">\r\n <!-- <i class=\"el-icon-files\"></i> -->\r\n <span class=\"iconfont iconliebiao\"></span>\r\n </el-radio-button>\r\n </el-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"pictrueList acea-row\" :class=\"{ 'is-modal': !isPage }\">\r\n <div v-if=\"lietStyle == 'list'\" style=\"width: 100%\">\r\n <div v-show=\"isShowPic\" class=\"imagesNo\">\r\n <i class=\"el-icon-picture\" style=\"color: #dbdbdb; font-size: 60px\"></i>\r\n <span class=\"imagesNo_sp\">视频库为空</span>\r\n </div>\r\n <div ref=\"imgListBox\" class=\"acea-row mb10\">\r\n <div\r\n class=\"pictrueList_pic mb10 mt10\"\r\n v-for=\"(item, index) in pictrueList\"\r\n :key=\"index\"\r\n :style=\"{ margin: picmargin }\"\r\n @mouseenter=\"enterMouse(item)\"\r\n @mouseleave=\"enterMouse(item)\"\r\n >\r\n <p class=\"number\" v-if=\"item.num > 0\">\r\n <el-badge :value=\"item.num\" type=\"primary\">\r\n <a href=\"#\" class=\"demo-badge\"></a>\r\n </el-badge>\r\n </p>\r\n <div\r\n class=\"img\"\r\n :class=\"item.isSelect ? 'on' : ''\"\r\n v-db-click\r\n @click.stop=\"changImage(item, index, pictrueList)\"\r\n >\r\n <video :src=\"item.satt_dir\" />\r\n </div>\r\n\r\n <div class=\"operate-item\" @mouseenter=\"enterLeave(item)\" @mouseleave=\"enterLeave(item)\">\r\n <p v-if=\"!item.isEdit\">\r\n {{ item.editName }}\r\n </p>\r\n <el-input size=\"small\" type=\"text\" v-model=\"item.real_name\" v-else @blur=\"bindTxt(item)\" />\r\n <div class=\"operate-height\">\r\n <span class=\"operate mr10\" v-db-click @click=\"editPicList(item.att_id)\" v-if=\"item.isShowEdit\"\r\n >删除</span\r\n >\r\n <span class=\"operate mr10\" v-db-click @click=\"item.isEdit = !item.isEdit\" v-if=\"item.isShowEdit\"\r\n >改名</span\r\n >\r\n <span class=\"operate\" v-db-click @click=\"lookImg(item)\" v-if=\"item.isShowEdit\">查看</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <el-table\r\n v-if=\"lietStyle == 'table'\"\r\n ref=\"table\"\r\n :data=\"pictrueList\"\r\n v-loading=\"loading\"\r\n highlight-row\r\n :row-key=\"getRowKey\"\r\n @selection-change=\"handleSelectRow\"\r\n no-data-text=\"暂无数据\"\r\n no-filtered-data-text=\"暂无筛选结果\"\r\n >\r\n <el-table-column type=\"selection\" width=\"60\" :reserve-selection=\"true\"> </el-table-column>\r\n <el-table-column label=\"视频名称\" min-width=\"190\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"df-aic\">\r\n <div class=\"tabBox_img mr10\">\r\n <video :src=\"scope.row.att_dir\" @click=\"lookImg(scope.row)\" />\r\n </div>\r\n <span v-if=\"!scope.row.isEdit\" class=\"line2 real-name\">{{ scope.row.real_name }}</span>\r\n <el-input\r\n size=\"small\"\r\n type=\"text\"\r\n style=\"width: 90%\"\r\n v-model=\"scope.row.real_name\"\r\n v-else\r\n @blur=\"bindTxt(scope.row)\"\r\n />\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"上传时间\" min-width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.time }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"170\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"editPicList(scope.row)\">删除</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"scope.row.isEdit = !scope.row.isEdit\">{{\r\n scope.row.isEdit ? '确定' : '重命名'\r\n }}</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"lookImg(scope.row)\">查看</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n <div class=\"footer acea-row row-right\">\r\n <pagination\r\n v-if=\"total\"\r\n :total=\"total\"\r\n :pageCount=\"9\"\r\n layout=\"total, prev, pager, next\"\r\n :page.sync=\"fileData.page\"\r\n @pagination=\"pageChange\"\r\n :limit.sync=\"fileData.limit\"\r\n ></pagination>\r\n </div>\r\n </div>\r\n </div>\r\n <uploadImg\r\n ref=\"upload\"\r\n :isPage=\"isPage\"\r\n :isIframe=\"isIframe\"\r\n :categoryId=\"treeId\"\r\n :categoryList=\"treeData\"\r\n @uploadSuccess=\"uploadSuccess\"\r\n ></uploadImg>\r\n <el-dialog title=\"查看视频\" append-to-body :visible.sync=\"videoModal\" width=\"1024px\">\r\n <video :src=\"imageUrl\" controls />\r\n </el-dialog>\r\n <input type=\"file\" ref=\"refid\" style=\"display: none\" @change=\"zh_uploadFile_change\" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n getCategoryListApi,\r\n createApi,\r\n fileListApi,\r\n categoryEditApi,\r\n moveApi,\r\n fileUpdateApi,\r\n videoCloudUpload,\r\n} from '@/api/uploadPictures';\r\nimport { productGetTempKeysApi, uploadType } from '@/api/product';\r\nimport { uploadByPieces } from '@/utils/upload'; //引入uploadByPieces方法\r\n\r\nimport Setting from '@/setting';\r\nimport { getCookies } from '@/libs/util';\r\nimport uploadImg from '@/components/uploadImg';\r\nimport { VueTreeList, Tree, TreeNode } from 'vue-tree-list';\r\nimport { isVideoUpload } from '@/utils';\r\nexport default {\r\n name: 'uploadPictures',\r\n components: { uploadImg, VueTreeList },\r\n props: {\r\n isChoice: {\r\n type: String,\r\n default: 'one',\r\n },\r\n isPage: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n isIframe: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n gridBtn: {\r\n type: Object,\r\n default: null,\r\n },\r\n gridPic: {\r\n type: Object,\r\n default: null,\r\n },\r\n isShow: {\r\n type: Number,\r\n default: 1,\r\n },\r\n pageLimit: {\r\n type: Number,\r\n default: 0,\r\n },\r\n },\r\n data() {\r\n return {\r\n spinShow: false,\r\n fileUrl: Setting.apiBaseURL + '/file/upload',\r\n modalPic: false,\r\n treeData: [],\r\n treeData2: [],\r\n pictrueList: [],\r\n uploadData: {}, // 上传参数\r\n checkPicList: [],\r\n uploadName: {\r\n name: '',\r\n all: 1,\r\n type: 1,\r\n },\r\n formValidate: { id: 0 },\r\n FromData: null,\r\n treeId: '',\r\n isJudge: false,\r\n buttonProps: {\r\n type: 'default',\r\n size: 'small',\r\n },\r\n fileData: {\r\n pid: 0,\r\n real_name: '',\r\n page: 1,\r\n limit: this.pageLimit || 18,\r\n type: 1,\r\n },\r\n total: 0,\r\n pids: 0,\r\n list: [],\r\n modalTitleSs: '',\r\n isShowPic: false,\r\n header: {},\r\n ids: [], // 选中附件的id集合\r\n lietStyle: 'list',\r\n imageUrl: '',\r\n loading: false,\r\n multipleSelection: [],\r\n picmargin: '5px', //默认距离右边距离\r\n videoModal: false,\r\n upload_type: '',\r\n upload: {\r\n videoIng: false, // 是否显示进度条;\r\n },\r\n };\r\n },\r\n mounted() {\r\n if (this.isPage) {\r\n let hang = parseInt((document.body.clientHeight - this.$refs.imgListBox.clientHeight - 325) / 180); //计算行数\r\n let col = parseInt(this.$refs.imgListBox.clientWidth / 156); //计算列数\r\n this.fileData.limit = col * hang; //计算分页数量\r\n this.picmargin = parseInt(this.$refs.imgListBox.clientWidth - col * 146) / (2 * col) + 'px'; //平均分布计算margin距离\r\n }\r\n this.getToken();\r\n this.uploadType();\r\n this.getList();\r\n this.getFileList();\r\n },\r\n methods: {\r\n //获取视频上传类型\r\n uploadType() {\r\n uploadType().then((res) => {\r\n this.upload_type = res.data.upload_type;\r\n });\r\n },\r\n beforeUpload() {\r\n this.uploadData = {};\r\n let promise = new Promise((resolve) => {\r\n this.$nextTick(function () {\r\n resolve(true);\r\n });\r\n });\r\n return promise;\r\n },\r\n zh_uploadFile() {\r\n this.$refs.refid.click();\r\n },\r\n zh_uploadFile_change(evfile) {\r\n let that = this;\r\n if (evfile.target.files[0].type !== 'video/mp4') {\r\n return that.$message.error('只能上传mp4文件');\r\n }\r\n console.log('111');\r\n debugger;\r\n let types = {\r\n key: evfile.target.files[0].name,\r\n contentType: evfile.target.files[0].type,\r\n };\r\n productGetTempKeysApi(types).then((res) => {\r\n console.log(res, evfile, res.data.type);\r\n that.$videoCloud\r\n .videoUpload({\r\n type: res.data.type,\r\n evfile: evfile,\r\n res: res,\r\n uploading(status, progress) {\r\n that.upload.videoIng = status;\r\n },\r\n })\r\n .then((res) => {\r\n videoCloudUpload({\r\n pid: this.treeId || 0,\r\n video_path: res.url,\r\n video_name: evfile.target.files[0].name,\r\n }).then((res) => {\r\n this.getFileList();\r\n });\r\n })\r\n .catch((res) => {\r\n that.$message.error(res);\r\n });\r\n });\r\n },\r\n videoSaveToUrl(file) {\r\n if (isVideoUpload(file))\r\n uploadByPieces({\r\n file: file, // 视频实体\r\n pieceSize: 3, // 分片大小\r\n success: (data) => {\r\n this.progress = 100;\r\n videoCloudUpload({\r\n pid: this.treeId || 0,\r\n video_path: data.file_path,\r\n video_name: file.name,\r\n }).then((res) => {\r\n this.getFileList();\r\n this.$message.success('视频上传成功');\r\n });\r\n },\r\n error: (e) => {\r\n this.$message.error(e.msg);\r\n },\r\n uploading: (chunk, allChunk) => {\r\n this.videoIng = true;\r\n let st = Math.floor((chunk / allChunk) * 100);\r\n this.progress = st;\r\n },\r\n });\r\n return false;\r\n },\r\n radioChange() {\r\n this.initData();\r\n },\r\n lookImg(item) {\r\n this.imageUrl = item.att_dir;\r\n this.videoModal = true;\r\n },\r\n onDel(node) {\r\n let method = node.cate_id ? routeDel : routeCateDel;\r\n this.$msgbox({\r\n title: '提示',\r\n message: '是否确定删除该菜单',\r\n showCancelButton: true,\r\n cancelButtonText: '取消',\r\n confirmButtonText: '删除',\r\n iconClass: 'el-icon-warning',\r\n confirmButtonClass: 'btn-custom-cancel',\r\n })\r\n .then(() => {\r\n method(node.id)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n node.remove();\r\n })\r\n .catch((err) => {\r\n this.$message.error(err);\r\n });\r\n })\r\n .catch(() => {});\r\n },\r\n\r\n onChangeName(params) {\r\n if (params.eventType == 'blur') {\r\n let data = {\r\n name: params.newName,\r\n id: params.id,\r\n };\r\n interfaceEditName(data)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n })\r\n .catch((err) => {\r\n this.$message.error(err);\r\n });\r\n }\r\n },\r\n // 添加分类\r\n addSort() {\r\n this.append({ id: this.treeId || 0 });\r\n },\r\n // 点击菜单\r\n clickMenu(data, name) {\r\n if (name == 1) {\r\n this.append(data);\r\n } else if (name == 2) {\r\n this.editPic(data);\r\n } else if (name == 3) {\r\n this.remove(data, '分类');\r\n }\r\n },\r\n uploadSuccess() {\r\n this.fileData.page = 1;\r\n this.initData();\r\n this.getFileList();\r\n },\r\n uploadModal() {\r\n this.$refs.upload.uploadModal = true;\r\n },\r\n enterMouse(item) {\r\n item.realName = !item.realName;\r\n },\r\n enterLeave(item) {\r\n item.isShowEdit = !item.isShowEdit;\r\n },\r\n // 上传头部token\r\n getToken() {\r\n this.header['Authori-zation'] = 'Bearer ' + getCookies('token');\r\n },\r\n moveImg(status) {\r\n if (!status) {\r\n this.getMove();\r\n } else {\r\n if (!this.ids.toString()) {\r\n this.$message.warning('请先选择视频');\r\n return;\r\n }\r\n }\r\n },\r\n searchImg() {},\r\n // 移动分类\r\n getMove() {\r\n let data = {\r\n pid: this.pids,\r\n images: this.ids.toString(),\r\n };\r\n if (!data.images) return;\r\n moveApi(data)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\r\n this.getFileList();\r\n this.pids = 0;\r\n this.checkPicList = [];\r\n this.ids = [];\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n delImg(id) {\r\n let ids = {\r\n ids: id,\r\n };\r\n let delfromData = {\r\n title: '删除选中视频',\r\n url: `file/file/delete`,\r\n method: 'POST',\r\n ids: ids,\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.getFileList();\r\n this.checkPicList = [];\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 删除视频\r\n editPicList(id) {\r\n let ids = {\r\n ids: id || this.ids.toString(),\r\n };\r\n let delfromData = {\r\n title: '删除选中视频',\r\n url: `file/file/delete`,\r\n method: 'POST',\r\n ids: ids,\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.getFileList();\r\n this.initData();\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n initData() {\r\n this.checkPicList = [];\r\n this.ids = [];\r\n this.multipleSelection = [];\r\n },\r\n // 鼠标移入 移出\r\n onMouseOver(root, node, data) {\r\n event.preventDefault();\r\n data.flag = !data.flag;\r\n if (data.flag2) {\r\n data.flag2 = false;\r\n }\r\n },\r\n // 点击树\r\n appendBtn(data) {\r\n this.treeId = data.id;\r\n this.fileData.page = 1;\r\n this.getFileList();\r\n },\r\n // 点击添加\r\n append(data) {\r\n this.treeId = data.id;\r\n this.getFrom();\r\n },\r\n // 删除分类\r\n remove(data, tit) {\r\n this.tits = tit;\r\n let delfromData = {\r\n title: '删除 [ ' + data.title + ' ] ' + '分类',\r\n url: `file/category/${data.id}`,\r\n method: 'DELETE',\r\n ids: '',\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.getList();\r\n this.checkPicList = [];\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 编辑树表单\r\n editPic(data) {\r\n this.$modalForm(categoryEditApi(data.id)).then(() => this.getList());\r\n },\r\n // 搜索分类\r\n changePage() {\r\n this.getList('search');\r\n },\r\n // 分类列表树\r\n getList(type) {\r\n let data = {\r\n title: '全部视频',\r\n id: '',\r\n pid: 0,\r\n };\r\n getCategoryListApi(this.uploadName)\r\n .then(async (res) => {\r\n if (type !== 'search') {\r\n this.treeData2 = JSON.parse(JSON.stringify([...res.data.list]));\r\n }\r\n res.data.list.unshift(data);\r\n this.treeData = res.data.list;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n loadData(item, callback) {\r\n getCategoryListApi({\r\n pid: item.id,\r\n })\r\n .then(async (res) => {\r\n const data = res.data.list;\r\n callback(data);\r\n })\r\n .catch((res) => {});\r\n },\r\n addFlag(treedata) {\r\n treedata.map((item) => {\r\n this.$set(item, 'flag', false);\r\n this.$set(item, 'flag2', false);\r\n item.children && this.addFlag(item.children);\r\n });\r\n },\r\n // 新建分类\r\n add() {\r\n this.treeId = 0;\r\n this.getFrom();\r\n },\r\n searchFile() {\r\n this.fileData.page = 1;\r\n this.getFileList();\r\n },\r\n // 文件列表\r\n getFileList() {\r\n this.fileData.pid = this.treeId;\r\n fileListApi(this.fileData)\r\n .then(async (res) => {\r\n res.data.list.forEach((el) => {\r\n el.isSelect = false;\r\n el.isEdit = false;\r\n el.isShowEdit = false;\r\n el.realName = false;\r\n el.num = 0;\r\n this.editName(el);\r\n });\r\n this.pictrueList = res.data.list;\r\n\r\n if (this.pictrueList.length) {\r\n this.isShowPic = false;\r\n } else {\r\n this.isShowPic = true;\r\n }\r\n this.total = res.data.count;\r\n this.$nextTick(() => {\r\n //确保dom加载完毕\r\n // this.showSelectData();\r\n });\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n showSelectData() {\r\n if (this.multipleSelection.length > 0) {\r\n // 判断是否存在勾选过的数据\r\n this.pictrueList.forEach((row) => {\r\n // 获取数据列表接口请求到的数据\r\n this.multipleSelection.forEach((item) => {\r\n // 勾选到的数据\r\n if (row.att_id === item.att_id) {\r\n // this.$refs.table.toggleRowSelection(item, true); // 若有重合,则回显该条数据\r\n }\r\n });\r\n });\r\n }\r\n },\r\n getRowKey(row) {\r\n return row.att_id;\r\n },\r\n //对象数组去重;\r\n unique(arr) {\r\n let result = arr.reduce((acc, curr) => {\r\n const x = acc.find((item) => item.att_id === curr.att_id);\r\n if (!x) {\r\n return acc.concat([curr]);\r\n } else {\r\n return acc;\r\n }\r\n }, []);\r\n return result;\r\n },\r\n // 选中某一行\r\n handleSelectRow(selection) {\r\n let arr = this.unique(selection);\r\n const uniqueArr = [];\r\n const ids = [];\r\n for (let i = 0; i < arr.length; i++) {\r\n const item = arr[i];\r\n if (!ids.includes(item.att_id)) {\r\n uniqueArr.push(item);\r\n ids.push(item.att_id);\r\n }\r\n }\r\n this.ids = ids;\r\n this.multipleSelection = uniqueArr;\r\n },\r\n pageChange(index) {\r\n this.fileData.page = index;\r\n this.getFileList();\r\n this.checkPicList = [];\r\n },\r\n // 新建分类表单\r\n getFrom() {\r\n this.$modalForm(createApi({ id: this.treeId, type: 1 })).then((res) => {\r\n this.getList();\r\n });\r\n },\r\n // 上传之前\r\n beforeUpload(file) {\r\n // if (file.size > 2097152) {\r\n // this.$message.error(file.name + \"大小超过2M!\");\r\n // } else\r\n if (!/image\\/\\w+/.test(file.type)) {\r\n this.$message.error('请上传以jpg、jpeg、png等结尾的视频文件'); //FileExt.toLowerCase()\r\n return false;\r\n }\r\n this.uploadData = {\r\n pid: this.treeId,\r\n };\r\n let promise = new Promise((resolve) => {\r\n this.$nextTick(function () {\r\n resolve(true);\r\n });\r\n });\r\n return promise;\r\n },\r\n // 上传成功\r\n handleSuccess(res, file, fileList) {\r\n if (res.status === 200) {\r\n this.$message.success(res.msg);\r\n this.fileData.page = 1;\r\n this.getFileList();\r\n } else {\r\n this.$message.error(res.msg);\r\n }\r\n },\r\n // 关闭\r\n cancel() {\r\n this.$emit('changeCancel');\r\n },\r\n // 选中视频\r\n changImage(item, index, row) {\r\n let activeIndex = 0;\r\n if (!item.isSelect) {\r\n item.isSelect = true;\r\n this.checkPicList.push(item);\r\n } else {\r\n item.isSelect = false;\r\n this.checkPicList.map((el, index) => {\r\n if (el.att_id == item.att_id) {\r\n activeIndex = index;\r\n }\r\n });\r\n this.checkPicList.splice(activeIndex, 1);\r\n }\r\n\r\n this.ids = [];\r\n this.checkPicList.map((item, i) => {\r\n this.ids.push(item.att_id);\r\n });\r\n this.pictrueList.map((el, i) => {\r\n if (el.isSelect) {\r\n this.checkPicList.filter((el2, j) => {\r\n if (el.att_id == el2.att_id) {\r\n el.num = j + 1;\r\n }\r\n });\r\n } else {\r\n el.num = 0;\r\n }\r\n });\r\n },\r\n // 点击使用选中视频\r\n checkPics() {\r\n console.log(this.checkPicList, 'this.checkPicList', this.isChoice);\r\n if (this.isChoice === 'one') {\r\n if (this.checkPicList.length > 1) return this.$message.warning('最多只能选一张视频');\r\n this.$emit('getVideo', this.checkPicList[0].att_dir);\r\n } else {\r\n let maxLength = this.$route.query.maxLength;\r\n if (maxLength != undefined && this.checkPicList.length > Number(maxLength))\r\n return this.$message.warning('最多只能选' + maxLength + '张视频');\r\n this.$emit('getPicD', this.checkPicList);\r\n this.$emit('getVideo', this.checkPicList);\r\n }\r\n },\r\n editName(item) {\r\n let it = item.real_name.split('.');\r\n let it1 = it[1] == undefined ? [] : it[1];\r\n let len = it[0].length + it1.length;\r\n item.editName = len < 10 ? item.real_name : item.real_name.substr(0, 4) + '...' + item.real_name.substr(-5, 5);\r\n },\r\n // 修改视频文字上传\r\n bindTxt(item) {\r\n if (item.real_name == '') {\r\n this.$message.error('请填写内容');\r\n }\r\n fileUpdateApi(item.att_id, {\r\n real_name: item.real_name,\r\n })\r\n .then((res) => {\r\n this.editName(item);\r\n item.isEdit = false;\r\n this.$message.success(res.msg);\r\n })\r\n .catch((error) => {\r\n this.$message.error(error.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.nameStyle {\r\n position: absolute;\r\n white-space: nowrap;\r\n z-index: 9;\r\n background: #eee;\r\n height: 20px;\r\n line-height: 20px;\r\n color: #555;\r\n border: 1px solid #ebebeb;\r\n padding: 0 5px;\r\n left: 56px;\r\n bottom: -18px;\r\n}\r\n\r\n.iconbianji1 {\r\n font-size: 13px;\r\n}\r\n\r\n.selectTreeClass {\r\n background: #d5e8fc;\r\n}\r\n.tree_tit {\r\n padding-top: 7px;\r\n}\r\n.treeBox {\r\n width: 100%;\r\n height: 100%;\r\n max-width: 180px;\r\n}\r\n.is-modal .pictrueList_pic {\r\n width: 100px;\r\n margin: 10px 5px !important;\r\n .img {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100px;\r\n height: 100px;\r\n background-color: rgb(248, 248, 248);\r\n padding: 2px;\r\n img {\r\n max-width: 96px;\r\n max-height: 96px;\r\n // object-fit: cover;\r\n }\r\n .operate-height {\r\n bottom: -8px;\r\n }\r\n }\r\n}\r\n.pictrueList_pic {\r\n position: relative;\r\n width: 146px;\r\n cursor: pointer;\r\n // margin-right: 20px !important;\r\n .img {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 146px;\r\n height: 146px;\r\n background-color: rgb(248, 248, 248);\r\n padding: 3px;\r\n video {\r\n max-width: 100px;\r\n max-height: 100px;\r\n // object-fit: cover;\r\n }\r\n }\r\n\r\n p {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n height: 20px;\r\n font-size: 12px;\r\n color: #515a6d;\r\n text-align: center;\r\n }\r\n\r\n .number {\r\n height: 33px;\r\n }\r\n\r\n .number {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n }\r\n ::v-deep .el-badge__content.is-fixed {\r\n top: 13px;\r\n right: 25px;\r\n }\r\n}\r\n.Nav {\r\n width: 100%;\r\n border-right: 1px solid #eee;\r\n min-width: 220px;\r\n max-width: max-content;\r\n}\r\n.trees-coadd {\r\n width: 100%;\r\n border-radius: 4px;\r\n overflow: hidden;\r\n position: relative;\r\n\r\n .scollhide {\r\n overflow-x: hidden;\r\n overflow-y: scroll;\r\n padding: 0px 0 10px 0;\r\n box-sizing: border-box;\r\n\r\n .isTree {\r\n min-height: 374px;\r\n max-height: 550px;\r\n ::v-deep .file-name {\r\n display: flex;\r\n align-items: center;\r\n .name {\r\n max-width: 7em;\r\n }\r\n .icon {\r\n width: 12px;\r\n height: 12px;\r\n margin-right: 8px;\r\n }\r\n }\r\n ::v-deep .el-tree-node {\r\n margin-right: 16px;\r\n }\r\n ::v-deep .el-tree-node__children .el-tree-node {\r\n margin-right: 0;\r\n }\r\n ::v-deep .el-tree-node__content {\r\n width: 100%;\r\n height: 36px;\r\n }\r\n ::v-deep .custom-tree-node {\r\n flex: 1;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding-right: 20px;\r\n font-size: 13px;\r\n font-weight: 400;\r\n color: rgba(0, 0, 0, 0.6);\r\n line-height: 13px;\r\n }\r\n ::v-deep .is-current {\r\n background: #f1f9ff !important;\r\n color: var(--prev-color-primary) !important;\r\n }\r\n ::v-deep .is-current .custom-tree-node {\r\n color: var(--prev-color-primary) !important;\r\n }\r\n }\r\n }\r\n\r\n .scollhide::-webkit-scrollbar {\r\n display: none;\r\n }\r\n}\r\n\r\n.treeSel ::v-deep .ivu-select-dropdown-list {\r\n padding: 0 5px !important;\r\n box-sizing: border-box;\r\n width: 200px;\r\n}\r\n.imagesNo {\r\n display: flex;\r\n justify-content: center;\r\n flex-direction: column;\r\n align-items: center;\r\n margin: 65px 0;\r\n\r\n .imagesNo_sp {\r\n font-size: 13px;\r\n color: #dbdbdb;\r\n line-height: 3;\r\n }\r\n}\r\n\r\n.Modal {\r\n width: 100%;\r\n height: 100%;\r\n background: #fff !important;\r\n}\r\n.fill-window {\r\n height: 100vh;\r\n}\r\n.colLeft {\r\n padding-right: 0 !important;\r\n height: 100%;\r\n display: flex;\r\n flex-wrap: nowrap;\r\n}\r\n\r\n.conter {\r\n width: 100%;\r\n height: 100%;\r\n margin-left: 20px !important;\r\n .iconliebiao {\r\n font-size: 12px;\r\n }\r\n}\r\n\r\n.conter .bnt {\r\n width: 100%;\r\n padding: 0 0px 20px 0px;\r\n box-sizing: border-box;\r\n}\r\n\r\n.conter .pictrueList {\r\n // width: 100%;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n min-height: 463px;\r\n}\r\n.conter .pictrueList.is-modal {\r\n max-height: 480px;\r\n}\r\n.right-col {\r\n // flex: 1;\r\n}\r\n.conter .pictrueList img {\r\n max-width: 100%;\r\n}\r\n.conter .pictrueList .img.on {\r\n border: 2px solid var(--prev-color-primary);\r\n}\r\n\r\n.conter .footer {\r\n padding: 0 20px 10px 20px;\r\n}\r\n.tabBox_img {\r\n display: flex;\r\n align-items: center;\r\n video {\r\n max-width: 90px;\r\n max-height: 30px;\r\n }\r\n}\r\n.real-name {\r\n flex: 1;\r\n}\r\n.df-aic {\r\n display: flex;\r\n align-items: center;\r\n}\r\n.demo-badge {\r\n width: 42px;\r\n height: 42px;\r\n background: transparent;\r\n border-radius: 6px;\r\n display: inline-block;\r\n}\r\n\r\n.bnt ::v-deep .ivu-tree-children {\r\n padding: 5px 0;\r\n}\r\n\r\n.card-tree {\r\n background: #fff;\r\n height: 72px;\r\n box-sizing: border-box;\r\n overflow-x: scroll; /* 设置溢出滚动 */\r\n white-space: nowrap;\r\n overflow-y: hidden;\r\n /* 隐藏滚动条 */\r\n border-radius: 4px;\r\n scrollbar-width: none; /* firefox */\r\n -ms-overflow-style: none; /* IE 10+ */\r\n}\r\n.card-tree::-webkit-scrollbar {\r\n display: none; /* Chrome Safari */\r\n}\r\n.tabs {\r\n background: #fff;\r\n padding-top: 10px;\r\n border-radius: 5px 5px 0 0;\r\n}\r\n.operate-item {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n margin: 5px 0;\r\n}\r\n.operate-height {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 16px;\r\n position: absolute;\r\n bottom: -10px;\r\n}\r\n.operate {\r\n color: var(--prev-color-primary);\r\n font-size: 12px;\r\n white-space: nowrap;\r\n}\r\n</style>\r\n"]}]}