Browse Source

抖音点赞活动

sunlupeng 7 months ago
parent
commit
dd56da356d

+ 4 - 4
config/dev.env.js

@@ -4,10 +4,10 @@ module.exports = {
   // 本地数据库:登录用户名 admin123,密码 admin123
   // BASE_API: '"http://192.168.100.87:9083/admin"',
   // OS_API: '"http://192.168.100.87:9083/admin"',
-  // BASE_API: '"http://47.103.79.143:9085/admin"',
-  // OS_API: '"http://47.103.79.143:9085/admin"',
-  OS_API: '"https://xiaoyou.dgtis.com/admin"',
-  BASE_API: '"https://xiaoyou.dgtis.com/admin"',
+  BASE_API: '"http://47.103.79.143:9085/admin"',
+  OS_API: '"http://47.103.79.143:9085/admin"',
+  // OS_API: '"https://xiaoyou.dgtis.com/admin"',
+  // BASE_API: '"https://xiaoyou.dgtis.com/admin"',
   
   
   

+ 2 - 2
src/api/yeZhanManage/likeList.js

@@ -2,7 +2,7 @@ import request from '@/utils/request'
 
 export function list(query) {
   return request({
-    url: '/mall-integral-obtain/certificate/sys/page',
+    url: '/mall-video/admin/page',
     method: 'get',
     params:query
   })
@@ -10,7 +10,7 @@ export function list(query) {
 
 export function complete(query) {
   return request({
-    url: '/mall-integral-obtain/certificate/complete',
+    url: '/mall-video/admin/complete',
     method: 'post',
     params:query
   })

+ 1 - 1
src/api/yeZhanManage/mallVideo.js

@@ -18,7 +18,7 @@ export function updateItem(data) {
 
 export function list(query) {
   return request({
-    url: '/mall-video-info/page',
+    url: '/mall-video-info/list',
     method: 'get',
     params:query
   })

+ 191 - 193
src/views/yeZhanManage/likeList.vue

@@ -1,203 +1,201 @@
 <template>
-    <div class="app-container calendar-list-container">
-      <!-- 查询和其他操作 -->
-      <div class="filter-container">
-        <el-input clearable class="filter-item" style="width: 200px;" placeholder="证书类型"
-                v-model="listQuery.name"></el-input>
-                <el-input clearable class="filter-item" style="width: 200px;" placeholder="证书名称"
-                v-model="listQuery.title"></el-input>
-                <el-input clearable class="filter-item" style="width: 200px;" placeholder="上传人"
-                v-model="listQuery.userName"></el-input>
-        <el-select v-model="listQuery.status" clearable placeholder="审批状态" style="top: -4px; width: 200px">
-          <el-option :key="item.type" v-for="item in statusTypeList" :label="item.name" :value="item.type">
-          </el-option>
-        </el-select>
-        <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-        <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
-      </div>
-  
-      <!-- 查询结果 -->
-      <el-table size="small" :data="list" v-loading="listLoading"
-        element-loading-text="正在查询中。。。" border fit highlight-current-row>
-        <el-table-column type="index" label="序号" header-align="center" align="center">
-        </el-table-column>
-        <el-table-column align="center" min-width="200px" label="附件">
-          <template slot-scope="props">
-                <div v-for="(item, index) in props.row.files" :key="index">
-                  <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-                </div>
-              </template>
-        </el-table-column>
-        <el-table-column align="center" min-width="150px" label="证书大类" prop="typeName">
-        </el-table-column>
-        <el-table-column align="center" prop="categoryName" min-width="100" label="证书类型">
-        </el-table-column>
-        <el-table-column align="center" prop="title" min-width="100" label="证书名称">
-        </el-table-column>
-        <el-table-column align="center" min-width="80px" label="上传人" prop="userName">
-        </el-table-column>
-        <el-table-column align="center" min-width="250px" label="公司" prop="companyName">
-        </el-table-column>
-        <el-table-column align="center" min-width="250px" label="部门" prop="deptName">
-        </el-table-column>
-        <el-table-column align="center" min-width="80px" label="获得积分" prop="integral">
-        </el-table-column>
-        <el-table-column align="center" min-width="80px" label="审核状态" prop="statusName">
-        </el-table-column>
-        <el-table-column align="center" min-width="100px" label="日期" prop="createTime">
-        </el-table-column>
-        <el-table-column align="center" label="操作" width="150px" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <el-button :disabled="scope.row.status == 0?false:true" type="primary" size="small" @click="handleComplete(scope.row.id,0)">通过</el-button>
-            <el-button :disabled="scope.row.status == 0?false:true" type="warning" size="small" @click="handleCreate(scope.row.id)">不通过</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-  
-      <!-- 分页 -->
-      <div class="pagination-container">
-        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-          :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-          layout="total, sizes, prev, pager, next, jumper" :total="total">
-        </el-pagination>
-      </div>
-      <!-- 添加或修改对话框 -->
-      <el-dialog :close-on-click-modal="false" title="证书审批" :visible.sync="dialogFormVisible" width="40%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px">
-                <el-form-item label="审批内容" prop="content">
-                  <el-input type="textarea" :rows="2" placeholder="请输入审批内容" v-model="dataForm.content"></el-input>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button type="primary" @click="handleComplete(certificateId,1)">确定</el-button>
-            </div>
-        </el-dialog>
+  <div class="app-container calendar-list-container">
+    <!-- 查询和其他操作 -->
+    <div class="filter-container">
+      <el-input clearable class="filter-item" style="width: 200px;" placeholder="抖音"
+        v-model="listQuery.platformName"></el-input>
+      <el-input clearable class="filter-item" style="width: 200px;" placeholder="视频系列"
+        v-model="listQuery.videoSeries"></el-input>
+      <el-input clearable class="filter-item" style="width: 200px;" placeholder="视频名称"
+        v-model="listQuery.videoName"></el-input>
+      <el-input clearable class="filter-item" style="width: 200px;" placeholder="抖音账号"
+        v-model="listQuery.tiktokAccount"></el-input>
+      <el-select v-model="listQuery.status" clearable placeholder="状态" class="filter-item" style="width: 200px">
+        <el-option :key="item.type" v-for="item in statusTypeList" :label="item.name" :value="item.type">
+        </el-option>
+      </el-select>
+      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
+      <el-button class="filter-item" type="primary" v-waves icon="el-icon-download"
+        @click="handleDownLoad">导出</el-button>
+    </div>
+
+    <!-- 查询结果 -->
+    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
+      highlight-current-row>
+      <el-table-column type="index" label="序号" header-align="center" align="center">
+      </el-table-column>
+      <el-table-column align="center" min-width="150px" label="平台" prop="platformName">
+      </el-table-column>
+      <el-table-column align="center" min-width="100" label="账号" prop="accountName">
+      </el-table-column>
+      <el-table-column align="center" min-width="100" label="视频系列" prop="videoSeries">
+      </el-table-column>
+      <el-table-column align="center" min-width="100" label="第几集" prop="episodeNumber">
+      </el-table-column>
+      <el-table-column align="center" min-width="100" label="视频名称" prop="videoName">
+      </el-table-column>
+      <el-table-column align="center" min-width="100" label="抖音账号" prop="tiktokAccount">
+      </el-table-column>
+      <el-table-column align="center" min-width="80px" label="状态" prop="statusName">
+      </el-table-column>
+      <el-table-column align="center" min-width="200px" label="附件">
+        <template slot-scope="props">
+          <div v-for="(item, index) in props.row.files" :key="index">
+            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" label="操作" width="150px" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button :disabled="scope.row.status == 0 ? false : true" type="primary" size="small"
+            @click="handleCreate(scope.row.id,0)">通过</el-button>
+          <el-button :disabled="scope.row.status == 0 ? false : true" type="warning" size="small"
+            @click="handleCreate(scope.row.id,1)">不通过</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- 分页 -->
+    <div class="pagination-container">
+      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
+        layout="total, sizes, prev, pager, next, jumper" :total="total">
+      </el-pagination>
     </div>
-  </template>
-  <script>
-  import {
-    complete,
-    list,
-  } from "@/api/yeZhanManage/likeList";
-  import waves from "@/directive/waves"; // 水波纹指令
-  import Tinymce from "@/components/Tinymce";
-  
-  export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        certificateId:'',
-        dialogFormVisible: false,
-        dataForm: {
-          content: ''
+    <!-- 添加或修改对话框 -->
+    <el-dialog :close-on-click-modal="false" title="点赞审批" :visible.sync="dialogFormVisible" width="40%">
+      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px">
+        <el-form-item label="积分" prop="integral" v-if="flag == 0">
+          <el-input-number :min="0" :step="1" v-model="dataForm.integral" style="width: 200px"></el-input-number>
+        </el-form-item>
+        <el-form-item label="审批内容" prop="content" v-else>
+          <el-input type="textarea" :rows="2" placeholder="请输入审批内容" v-model="dataForm.content" style="width: 200px"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">取消</el-button>
+        <el-button type="primary" @click="handleComplete">确定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import {
+  complete,
+  list,
+} from "@/api/yeZhanManage/likeList";
+import waves from "@/directive/waves"; // 水波纹指令
+import Tinymce from "@/components/Tinymce";
+
+export default {
+  components: { Tinymce },
+  directives: { waves },
+  data() {
+    return {
+      uploadInfoId: '',
+      flag: '',
+      dialogFormVisible: false,
+      dataForm: {
+        integral:undefined,
+        content:undefined,
+      },
+      rules: {
+        integral: [{ required: true, message: "积分不能为空", trigger: "blur" }],
+        content: [{ required: true, message: "审批内容不能为空", trigger: "blur" }],
+      },
+      statusTypeList: [
+        {
+          type: 0,
+          name: "待审核",
         },
-        rules: {
-          content: [{ required: true, message: "审批内容不能为空", trigger: "blur" }],
+        {
+          type: 1,
+          name: "已通过",
         },
-        statusTypeList: [
-          {
-            type: 0,
-            name: "审核中",
-          },
-          {
-            type: 1,
-            name: "通过",
-          },
-          {
-            type: 2,
-            name: "不通过",
-          },
-        ],
-        list: [
-        ],
-        total: 0,
-        listLoading: false,
-        listQuery: {
-          page: 1,
-          limit: 10,
-          name:'',
-          title:'',
-          userName:'',
-          status: "",
+        {
+          type: 2,
+          name: "未通过",
         },
-      };
+      ],
+      list: [
+      ],
+      total: 0,
+      listLoading: false,
+      listQuery: {
+        page: 1,
+        limit: 10,
+        platformName: '',
+        videoSeries: '',
+        videoName: '',
+        tiktokAccount: '',
+        status: "",
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    handleDownLoad() {
+      window.location.href = process.env.BASE_API + '/mall-video/export/likeList?platformName=' + this.listQuery.platformName + '&videoSeries=' + this.listQuery.videoSeries + '&videoName=' + this.listQuery.videoName + '&tiktokAccount=' + this.listQuery.tiktokAccount + '&status=' + this.listQuery.status;
+    },
+    getList() {
+      this.listLoading = true;
+      list(this.listQuery)
+        .then((response) => {
+          this.list = response.data.data.items;
+          this.total = response.data.data.total;
+          this.listLoading = false;
+        })
+        .catch(() => {
+          this.list = [];
+          this.total = 0;
+          this.listLoading = false;
+        });
     },
-    created() {
+
+    handleFilter() {
+      this.listQuery.page = 1;
       this.getList();
     },
-    methods: {
-      handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-integral-obtain/export/certificate?name=' + this.listQuery.name + '&title=' + this.listQuery.title + '&userName=' + this.listQuery.userName + '&status=' + this.listQuery.status;
-        },
-      getList() {
-        this.listLoading = true;
-        list(this.listQuery)
-          .then((response) => {
-            this.list = response.data.data.items;
-            this.total = response.data.data.total;
-            this.listLoading = false;
-          })
-          .catch(() => {
-            this.list = [];
-            this.total = 0;
-            this.listLoading = false;
+
+    handleSizeChange(val) {
+      this.listQuery.limit = val;
+      this.getList();
+    },
+
+    handleCurrentChange(val) {
+      this.listQuery.page = val;
+      this.getList();
+    },
+    handleCreate(uploadInfoId, flag) {
+      this.uploadInfoId = uploadInfoId;
+      this.flag = flag;
+      this.dialogFormVisible = true;
+      this.$nextTick(() => {
+        this.dataForm.content = undefined;
+        this.dataForm.integral = undefined;
+        this.$refs["dataForm"].clearValidate();
+      });
+    },
+    handleComplete() {
+      this.$refs["dataForm"].validate((valid) => {
+        if (valid) {
+          complete({ uploadInfoId: uploadInfoId, flag: flag, integral: this.dataForm.integral, content: this.dataForm.content }).then(() => {
+            this.dialogFormVisible = false;
+            this.$notify({
+              title: "成功",
+              message: "操作成功",
+              type: "success",
+              duration: 2000,
+            });
+            this.getList();
           });
-      },
-  
-      handleFilter() {
-        this.listQuery.page = 1;
-        this.getList();
-      },
-  
-      handleSizeChange(val) {
-        this.listQuery.limit = val;
-        this.getList();
-      },
-  
-      handleCurrentChange(val) {
-        this.listQuery.page = val;
-        this.getList();
-      },
-      handleCreate(id) {
-        this.dialogFormVisible = true;
-        this.certificateId = id;
-        this.$nextTick(() => {
-            this.dataForm.content = '';
-            this.$refs["dataForm"].clearValidate();
-        });
-      },
-      handleComplete(certificateId,flag){
-        if(flag==1){
-          this.$refs["dataForm"].validate((valid) => {
-          if (valid) {
-            complete({certificateId:certificateId,flag:flag,content:this.dataForm.content}).then(() => {
-                  this.dialogFormVisible = false;
-                        this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                        this.getList();
-                    });
-          }
-        })  
-        }else{
-          complete({certificateId:certificateId,flag:flag}).then(() => {
-                        this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                        this.getList();
-                    });
         }
-        
-      }
-      
-    },
-  };
-  </script>
+      })
+
+    }
+
+  },
+};
+</script>

+ 2 - 2
src/views/yeZhanManage/likeRules.vue

@@ -35,7 +35,7 @@
     data() {
       return {
         dataForm: {
-          type:'trainrule',
+          type:'interactiveRule',
           title: '',
           content: "",
         },
@@ -53,7 +53,7 @@
     
       getDetail() {
           this.loading = true
-          likeRulesDetail({noticeType:'trainrule'}).then(response => {
+          likeRulesDetail({noticeType:'interactiveRule'}).then(response => {
             this.dataForm.title = response.data.data.title;
             this.dataForm.content = response.data.data.content;
             this.dataForm.id = response.data.data.id;