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]}&current=${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