From e2ffe9683ef007a45afbcdd897985d64cdcc7391 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期四, 24 十一月 2022 11:26:31 +0800
Subject: [PATCH] 修改
---
src/views/operate/video/index.vue | 385 +++++++++++++++---------------------------------------
1 files changed, 110 insertions(+), 275 deletions(-)
diff --git a/src/views/operate/video/index.vue b/src/views/operate/video/index.vue
index 8974f3b..49f765d 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,23 @@
<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"
+ :destroy-on-close="true"
+ :key="dialogTitle"
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 v-if="isShowDialog" :isUpdate="isUpdate" :dialogData="dialogData" @closeDialog="closeDialog" />
</el-dialog>
<div class="tools">
@@ -181,8 +141,6 @@
:total="totalNum"
:page-size="pageSize"
@current-change="changeCurrentPage"
- @prev-click="handlePrev"
- @next-click="handleNext"
>
</el-pagination>
</div>
@@ -191,87 +149,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 +206,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 +268,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,131 +281,81 @@
});
},
// 鍒犻櫎鍗曟潯鏁版嵁
- 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) => {
- console.log(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;
- console.log(statusArr);
- // 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;
+ this.searchVideoList();
},
- // 澶勭悊鏃堕棿
- 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;
@@ -532,7 +364,6 @@
header {
background-color: #09152f;
- border: 1pox solid #fff;
.headerContent {
padding: 0 40px;
@@ -591,7 +422,6 @@
background-color: #09152f;
margin-top: 20px;
padding-bottom: 50px;
- border: 1pox solid #fff;
.btn span:hover {
cursor: pointer;
@@ -605,8 +435,9 @@
margin-bottom: 10px;
.type-item {
- width: 80px;
+ min-width: 80px;
text-align: center;
+ padding-right: 10px;
&:hover {
cursor: pointer;
@@ -709,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