From 0027df1e43c4e1bdfc2646987e85210a695647e1 Mon Sep 17 00:00:00 2001 From: luobisheng <727299681@qq.com> Date: 星期三, 16 十一月 2022 17:06:09 +0800 Subject: [PATCH] 图片,视频资源部分 --- src/views/operate/video/index.vue | 375 +++++++++++++++-------------------------------------- 1 files changed, 106 insertions(+), 269 deletions(-) diff --git a/src/views/operate/video/index.vue b/src/views/operate/video/index.vue index 16f938f..c19bd91 100644 --- a/src/views/operate/video/index.vue +++ b/src/views/operate/video/index.vue @@ -6,22 +6,26 @@ <span>绛涢�夋潯浠�:</span> <div class="option"> <el-input - v-model="info.type" + v-model="searchContent" placeholder="璇疯緭鍏ュ唴瀹�" ></el-input> </div> <span>涓婁紶鏃堕棿:</span> <div class="option"> - <el-input - v-model="info.startTime" - placeholder="閫夋嫨涓婁紶鏃堕棿" - ></el-input> + <el-date-picker + v-model="datePicked" + type="datetimerange" + value-format="yyyy-MM-dd HH:mm:ss" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> </div> <div class="findBtn"> - <el-button type="primary" @click="handleView(scope.row)">鏌ヨ</el-button> + <el-button type="primary" @click="searchVideoList">鏌ヨ</el-button> </div> <div class="findBtn"> - <el-button type="primary" @click="addVideo">娣诲姞瑙嗛</el-button> + <el-button type="primary" @click="handleOpera(null, 'create')">娣诲姞瑙嗛</el-button> </div> </div> </div> @@ -54,18 +58,24 @@ @selection-change="tableChange" > <el-table-column type="selection" min-width="5"> </el-table-column> - <el-table-column prop="code" label="鎵�灞炰簨浠剁紪鍙�" min-width="18"> + <el-table-column prop="baseId" label="鎵�灞炰簨浠剁紪鍙�" min-width="18"> </el-table-column> - <el-table-column prop="questionType" label="闂绫诲瀷" min-width="8"> + <el-table-column prop="category" label="闂绫诲埆" min-width="8"> + <template slot-scope="scope"> + <span>{{ getCategory(scope.row.category).label }}</span> + </template> </el-table-column> - <el-table-column prop="bigType" label="澶х被鍚嶇О" min-width="8"> + <el-table-column prop="eventSource" label="浜嬩欢鏉ユ簮" min-width="8"> + <template slot-scope="scope"> + <span>{{ getEventSource(scope.row.eventSource).label }}</span> + </template> </el-table-column> - <el-table-column prop="smallType" label="灏忕被鍚嶇О" min-width="8"> + <el-table-column prop="regionName" label="绀惧尯鍚嶇О" min-width="8"> </el-table-column> - <el-table-column prop="videoId" label="瑙嗛Id" min-width="8"> + <el-table-column prop="id" label="瑙嗛Id" min-width="8"> </el-table-column> <el-table-column - prop="uploadTime" + prop="createTime" label="涓婁紶鏃堕棿" min-width="15" v-if="mystatus === 1" @@ -74,73 +84,21 @@ <el-table-column prop="operation" label="鎿嶄綔" min-width="15"> <template slot-scope="scope"> <div class="operation"> - <span @click="handleFind(scope.row)">鏌ョ湅</span> + <span @click="handleOpera(scope.row, 'view')">鏌ョ湅</span> <span class="line">|</span> - <span @click="handleUpdate(scope.row)">淇敼</span> + <span @click="handleOpera(scope.row, 'update')">淇敼</span> <span class="line">|</span> <span @click="handleDelete(scope.row)">鍒犻櫎</span> </div> </template> </el-table-column> </el-table> - <!-- 璇︽儏椤靛睍绀� --> - <el-dialog - :visible.sync="dialogView" - width="80%" - title="鍩虹淇℃伅(浜哄伐)" - v-if="dialogView" - :before-close="handleClose" - > - <MyDetail :info="info" v-if="mystatus == 1 ? true : false"></MyDetail> - <MyIllDetail :info="info" v-else></MyIllDetail> - </el-dialog> - <!-- 涓婁紶椤甸潰 --> - <!-- <el-dialog :visible.sync="dialogUpload" width="80%" title="涓婁紶澶勭疆缁撴灉" v-if="dialogUpload" - :before-close="handleClose"> --> - <!-- <uploadVio v-if="mystatus === 1" :caseId="caseId" :mycode="caseCode" @closeDialog="closeDialog"></uploadVio> - <uploadIll v-else :caseId="caseId" :mycode="caseCode" @closeDialog="closeDialog"></uploadIll> --> - <!-- </el-dialog> --> - <!-- tools --> <!-- 鏌ョ湅淇敼椤甸潰 --> <el-dialog - :visible.sync="dialogUpdate" + :visible.sync="isShowDialog" width="40%" - title="淇敼" - v-if="dialogUpdate" - :before-close="handleClose" - > - <updateInterface /> - <!-- :updateFlag="updateFlag" - :userInfo="userInfo" - :getDepartList="context === '' ? getUserList : search" - @changeDialog="changMyDialog" --> - </el-dialog> - <el-dialog - :visible.sync="dialogcheck" - width="40%" - title="鏌ョ湅" - v-if="dialogcheck" - :before-close="handleClose" - > - <detailInterface /> - <!-- :updateFlag="updateFlag" - :userInfo="userInfo" - :getDepartList="context === '' ? getUserList : search" - @changeDialog="changMyDialog" --> - </el-dialog> - - <el-dialog - :visible.sync="dialogAdd" - width="40%" - title="娣诲姞" - v-if="dialogAdd" - :before-close="handleClose" - > - <createInterface /> - <!-- :updateFlag="updateFlag" - :userInfo="userInfo" - :getDepartList="context === '' ? getUserList : search" - @changeDialog="changMyDialog" --> + :title="dialogTitle"> + <updateInterface :isUpdate="isUpdate" :dialogData="dialogData" /> </el-dialog> <div class="tools"> @@ -181,8 +139,6 @@ :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage" - @prev-click="handlePrev" - @next-click="handleNext" > </el-pagination> </div> @@ -191,87 +147,21 @@ </main> </div> </template> -<script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script> <script> -import createInterface from "./createInterface"; import updateInterface from "./updateInterface"; -import detailInterface from "./detailInterface"; +import videoManagement from "@/api/operate/videoManagement"; +import { CATEGOTY, EVENT_SOURCE } from "@/utils/helper"; + export default { - components: { - createInterface, - updateInterface, - detailInterface - }, + components: { updateInterface }, data() { return { - dialogUpdate: false, - dialogcheck: false, - tableData: [ - { - code: "VID202210010001", - questionType: "杩濊", - bigType: "鍩庡競缁垮寲", - smallType: - "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", - videoId: "12010", - uploadTime: "2022-10-31 20:20:01", - imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - }, - { - code: "VID202210010002", - questionType: "杩濊", - bigType: "鍩庡競缁垮寲", - smallType: - "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", - videoId: "12010", - uploadTime: "2022-10-31 20:20:01", - imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - } - , - { - code: "VID202210010003", - questionType: "杩濊", - bigType: "鍩庡競缁垮寲", - smallType: - "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", - videoId: "12010", - uploadTime: "2022-10-31 20:20:01", - imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - } - , - { - code: "VID202210010004", - questionType: "杩濊", - bigType: "鍩庡競缁垮寲", - smallType: - "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", - videoId: "12010", - uploadTime: "2022-10-31 20:20:01", - imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - } - , - { - code: "VID202210010005", - questionType: "杩濊", - bigType: "鍩庡競缁垮寲", - smallType: - "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", - videoId: "12010", - uploadTime: "2022-10-31 20:20:01", - imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - } - ], - context: "", - dialogUpload: false, - // dialogUpdate: false, - dialogView: false, - updateFlag: false, - userInfo: {}, + isShowDialog: false, + searchContent: '', + datePicked: null, + tableData: [], + isUpdate: false, + dialogData: null, info: {}, totalNum: 5, pageSize: 10, @@ -314,55 +204,49 @@ ], statusArr: [], mystatus: 1, - caseId: "", - caseCode: null, - dialogAdd: false, }; + }, + computed: { + dialogTitle() { + if (this.isUpdate && this.dialogData) { + return '鏇存柊'; + } + if (this.isUpdate && !this.dialogData) { + return '鍒涘缓'; + } + if (!this.isUpdate) { + return '鏌ョ湅'; + } + } }, created() { this.statusArr[0] = 6; + this.searchVideoList(); this.typeList.forEach((item) => { if (item.checked) { this.statusArr[1] = item.value; } }); - this.getUserList(); }, methods: { - //淇敼 - handleUpdate() { - this.dialogUpdate = true; - }, - // 鏌ョ湅 - handleFind(data) { - console.log(data); - this.userInfo = data; - this.dialogcheck = true; - }, // 椤堕儴涓嬫媺妗� setMystatus(value) { - console.log(value); this.statusArr[1] = value; this.changeTypeChecked(value - 1); - this.getUserList(); }, // 鎵归噺鍒犻櫎 mulDelete(idArr) { - console.log(idArr); - this.$axios({ - method: "delete", - url: "sccg/violations/batch_delete?ids=" + idArr, - }).then((res) => { - this.getUserList(); - this.$message({ - message: res.message, - type: res.code === 200 ? "success" : "warning", - }); - }); + videoManagement.deleteVideoRescources({ ids: idArr }) + .then(() => { + this.$message.success('鎿嶄綔鎴愬姛'); + this.searchVideoList(); + }) + .catch(err => { + this.$message.error(`${err}`); + }) }, // 鎵ц涓嬫媺妗嗘搷浣� selectChange(list) { - console.log(this.tempList); if (this.tempList.length !== 0) { if (list === 3) { this.preMyIdx = list; @@ -382,11 +266,7 @@ list.forEach((item) => { this.tempList.push(item.code); }); - if (list.length === this.tableData.length) { - this.all = true; - } else { - this.all = false; - } + this.all = list.length === this.tableData.length; }, // 鍏ㄩ�� selectAll() { @@ -399,129 +279,84 @@ }); }, // 鍒犻櫎鍗曟潯鏁版嵁 - handleDelete({ number }) { - console.log(number); + handleDelete({ id }) { this.$confirm("纭鍒犻櫎锛�") - .then((_) => { - console.log(1); - this.$axios({ - method: "delete", - url: `sccg/violations/delete?id=${number}`, - }).then((res) => { - this.$message({ - type: res.code === 200 ? "success" : "warning", - message: res.message, - }); - - this.getUserList(); - }); + .then(() => { + videoManagement.deleteVideoRescource({ id }) + .then(() => { + this.$message.success('鎿嶄綔鎴愬姛'); + this.searchVideoList(); + }) + .catch(err => { + this.$message.error(`${err}`); + }) }) - .catch((_) => { - console.log(2); - }); }, - // 鑾峰彇鐢ㄦ埛鍒楄〃 - getUserList() { - const { currentPage, pageSize, context, statusArr } = this; - // this.$axios({ - // method: 'get', - // url: `sccg/base_case/query?state=${statusArr[0]}¤t=${currentPage}&size=${pageSize}&resource=2&type=${statusArr[1]}` - // }).then(res => { - // this.totalNum = res.data.total; - // this.tableData = res.data.records; - // console.log(res); - // }) + searchVideoList() { + const startTime = this.datePicked ? this.datePicked[0] : null; + const endTime = this.datePicked ? this.datePicked[1] : null; + videoManagement.getVideoResources({ current: this.currentPage, size: this.pageSize, + type: this.searchContent, startTime, endTime }) + .then(res => { + this.tableData = res.records; + this.totalNum = res.total; + }) + .catch(err => this.$message.error(`${err}`)) }, // 鏇存敼杩濊/杩濆缓 changeTypeChecked(idx) { this.typeList.forEach((item, index) => { - if (index === idx) { - item.checked = true; - } else { - item.checked = false; - } + item.checked = index === idx; }); this.mystatus = idx + 1; - console.log(this.mystatus); this.statusArr[1] = this.typeList[idx].value; - this.getUserList(); }, // 璁剧疆琛ㄦ牸鏂戦┈绾� tableRowClassName({ row, rowIndex }) { - if ((rowIndex + 1) % 2 == 0) { + if ((rowIndex + 1) % 2 === 0) { return "warning-row"; } else { return "success-row"; } - return ""; }, // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� changeCurrentPage(page) { this.currentPage = page; - this.getUserList(); + this.searchVideoList(); }, - // 涓婁竴椤电偣鍑讳簨浠� - handlePrev(page) { - this.currentPage = page; - this.getUserList(); + + handleOpera(data, type) { + this.isShowDialog = true; + this.isUpdate = type !== 'view'; + this.dialogData = data; }, - // 涓嬩竴椤电偣鍑讳簨浠� - handleNext(page) { - this.currentPage = page; - this.getUserList(); - }, - addVideo() { - this.dialogAdd = true; - }, + handleClose(done) { this.$confirm("纭鍏抽棴锛�") - .then((_) => { - this.dialogUpload = false; - // this.dialogUpdate = false; + .then(() => { done(); }) - .catch((_) => {}); - }, - handleClose(done) { - this.$confirm("纭鍏抽棴锛�") - .then((_) => { - this.dialogUpload = false; - // this.dialogUpdate = false; - done(); - }) - .catch((_) => {}); - }, - async JumpView(data) { - await this.getEventInfo(data.code); - }, - // 鑾峰彇妗堜欢淇℃伅 - async getEventInfo(code) { - await this.$axios({ - method: "get", - url: `sccg/base_case/baseCaseDetail/${code}`, - }).then((res) => { - this.info = res.data; - this.dialogView = true; - }); - }, - opernDialog(data) { - this.dialogUpload = true; - this.caseId = data.id; - this.caseCode = data.code; - // console.log(data); }, // 鍏抽棴涓婁紶鐣岄潰 - closeDialog({ flag }) { - this.dialogUpload = flag; - this.getUserList(); + closeDialog() { + this.isShowDialog = false; }, // 澶勭悊鏃堕棿 filterTime(time) { return helper(time); }, + + getCategory(value) { + return CATEGOTY.find(item => item.value === value); + }, + + getEventSource(value) { + return EVENT_SOURCE.find(item => item.value === value); + } }, }; </script> + <style lang="scss" scoped> .userList { text-align: left; @@ -530,7 +365,6 @@ header { background-color: #09152f; - border: 1pox solid #fff; .headerContent { padding: 0 40px; @@ -589,7 +423,6 @@ background-color: #09152f; margin-top: 20px; padding-bottom: 50px; - border: 1pox solid #fff; .btn span:hover { cursor: pointer; @@ -707,5 +540,9 @@ .line { padding: 0 5px; } + + :deep(.el-range-input) { + background-color: #09152f; + } } </style> \ No newline at end of file -- Gitblit v1.8.0