|
|
@@ -201,7 +201,45 @@
|
|
|
<div v-else v-html="integralRules"></div>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="积分充值" name="fifth">
|
|
|
- <Ipay></Ipay>
|
|
|
+ <Ipay v-if="activeName=='fifth'"></Ipay>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="抖音叶盏点赞活动" name="sixth">
|
|
|
+ <el-table size="small" :data="dataListZan" border style="margin-top: 20px;width: 960px">
|
|
|
+ <el-table-column type="index" width="50" align="center" label="序号"></el-table-column>
|
|
|
+ <el-table-column min-width="100" align="center" label="平台" prop="platformName">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column min-width="100" align="center" label="账号" prop="accountName">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column min-width="100" align="center" label="视频系列" prop="videoSeries">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column min-width="100" align="center" label="第几集" prop="episodeNumber">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column min-width="100" align="center" label="视频名称" prop="videoName">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column min-width="100" align="center" label="抖音账号" prop="tiktokAccount">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column min-width="100" align="center" label="状态" prop="uploadStatus">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column min-width="200" align="center" 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 fixed="right" align="center" label="操作" width="80px" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="primary" size="small" @click="handleClickView(scope.row.id)">上传</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <!-- 分页 -->
|
|
|
+ <div class="myPage">
|
|
|
+ <el-pagination @size-change="handleSizeChangeZan" @current-change="handleCurrentChangeZan"
|
|
|
+ :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="10"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper" :total="totalZan">
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</div>
|
|
|
@@ -336,11 +374,38 @@
|
|
|
<el-button size="small" type="primary" @click="submitFormTrain">确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog title="上传点赞" :visible.sync="dialogVisibleZan" width="40%">
|
|
|
+ <el-form :rules="rulesZan" ref="dataFormZan" :model="dataFormZan" label-width="100px">
|
|
|
+ <el-form-item label="抖音账号:" prop="tiktokAccount">
|
|
|
+ <el-input clearable style="width: 95%;" size="small" v-model="dataFormZan.tiktokAccount"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="事项" prop="matters">
|
|
|
+ <el-checkbox-group v-model="dataFormZan.matters">
|
|
|
+ <el-checkbox v-for="item in typeListZan" :key="item.dictLabel" :label="item.dictLabel" name="type"></el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="证明附件:" prop="fileIds">
|
|
|
+ <el-upload :action="fileUrl" :file-list="dataFormZan.files" :on-success="handleAvatarSuccessZan"
|
|
|
+ :before-upload="beforeUploadFileZan" :on-remove="handleRemoveZan">
|
|
|
+ <el-button size="small" type="primary">点击上传</el-button>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="上传说明:">
|
|
|
+ <el-card shadow="never" style="width: 95%;padding: 0;min-height: 100px;line-height: normal;">
|
|
|
+ <div v-html="remarkHtml"></div>
|
|
|
+ </el-card>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" type="primary" @click="submitFormZan">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script scoped>
|
|
|
import Ipay from '@/views/Ipay.vue'
|
|
|
import { certificatePage, certificateUpload, notice, certificatType, dictList, allUserList, citeList, uploadCite, editCite, trainList, uploadTrain,editTrain,remarkHtml } from "@/api/allApi";
|
|
|
+import { zanList, uploadZan } from "@/api/zanApi";
|
|
|
import { handleTree } from '@/utils/index'
|
|
|
export default {
|
|
|
components: {
|
|
|
@@ -351,6 +416,7 @@ export default {
|
|
|
currentPage: 1,
|
|
|
remarkHtml:'',
|
|
|
citeLogsList:[],
|
|
|
+ typeListZan: [],
|
|
|
trainLogsList:[],
|
|
|
integralRules: '',
|
|
|
typeList: [],
|
|
|
@@ -443,6 +509,26 @@ export default {
|
|
|
sitePhotos: [],
|
|
|
content: '',
|
|
|
},
|
|
|
+
|
|
|
+ dataListZan: [],
|
|
|
+ dialogVisibleZan: false,
|
|
|
+ rulesZan: {
|
|
|
+ tiktokAccount: [{ required: true, message: "请填写抖音账号", trigger: "blur" }],
|
|
|
+ matters: [{ required: true, message: "请选择事项", trigger: "blur" }],
|
|
|
+ fileIds: [{ required: true, message: "请上传附件", trigger: "blur" }],
|
|
|
+ },
|
|
|
+ totalZan: 0,
|
|
|
+ listQueryZan: {
|
|
|
+ page: 1,
|
|
|
+ limit: 10,
|
|
|
+ },
|
|
|
+ dataFormZan: {
|
|
|
+ tiktokAccount: '',
|
|
|
+ matters: [],
|
|
|
+ fileIds: '',
|
|
|
+ files: [],
|
|
|
+ },
|
|
|
+
|
|
|
dialogStatus:'',
|
|
|
textMap: {
|
|
|
create: "上传",
|
|
|
@@ -453,13 +539,13 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.getTypeListCite();
|
|
|
+ this.getTypeListZan();
|
|
|
this.getAllUserList();
|
|
|
this.getDataListCite();
|
|
|
this.getDataListTrain();
|
|
|
this.getTypeList();
|
|
|
this.getDataList();
|
|
|
this.getIntegralNotice();
|
|
|
- this.getRemarkHtml('trainrule');
|
|
|
},
|
|
|
methods: {
|
|
|
getRemarkHtml(val) {
|
|
|
@@ -468,6 +554,16 @@ export default {
|
|
|
this.remarkHtml = response.data.data.content
|
|
|
})
|
|
|
},
|
|
|
+ handleClickCreateZan(id){
|
|
|
+ this.dialogVisibleZan = true;
|
|
|
+ this.dataFormZan = {
|
|
|
+ videoId: id,
|
|
|
+ tiktokAccount: '',
|
|
|
+ matters: [],
|
|
|
+ fileIds: '',
|
|
|
+ files: [],
|
|
|
+ }
|
|
|
+ },
|
|
|
handleClickCreate(val){
|
|
|
this.dialogStatus = 'create';
|
|
|
if(val=='上传表彰'){
|
|
|
@@ -625,6 +721,12 @@ export default {
|
|
|
},
|
|
|
handleClick(tab, event) {
|
|
|
console.log(tab.name, event);
|
|
|
+ if(tab.name=='fourth'){
|
|
|
+ this.getRemarkHtml('trainrule');
|
|
|
+ }
|
|
|
+ if(tab.name=='sixth'){
|
|
|
+ this.getRemarkHtml('zanRule');
|
|
|
+ }
|
|
|
},
|
|
|
getIntegralNotice() {
|
|
|
notice({ noticeType: 'certificatNotice' }).then(response => {
|
|
|
@@ -718,6 +820,11 @@ export default {
|
|
|
this.typeListCite = response.data.data;
|
|
|
})
|
|
|
},
|
|
|
+ getTypeListZan() {
|
|
|
+ dictList({ dictType: 'matter' }).then(response => {
|
|
|
+ this.typeListZan = response.data.data;
|
|
|
+ })
|
|
|
+ },
|
|
|
getAllUserList() {
|
|
|
allUserList().then(response => {
|
|
|
this.recipientsList = response.data.data;
|
|
|
@@ -823,10 +930,7 @@ export default {
|
|
|
},
|
|
|
|
|
|
|
|
|
- handleClickTrain(row, tag) {
|
|
|
- console.log(row);
|
|
|
|
|
|
- },
|
|
|
handleRemoveTrain(file, fileList) {
|
|
|
console.log(file, fileList);
|
|
|
let fileIds = [];
|
|
|
@@ -960,7 +1064,6 @@ export default {
|
|
|
},
|
|
|
getDataListTrain() {
|
|
|
trainList(this.listQueryCite).then(response => {
|
|
|
- debugger
|
|
|
this.dataListTrain = response.data.data.items;
|
|
|
this.totalTrain = response.data.data.total;
|
|
|
})
|
|
|
@@ -974,6 +1077,83 @@ export default {
|
|
|
this.getDataListTrain()
|
|
|
},
|
|
|
|
|
|
+ handleRemoveZan(file, fileList) {
|
|
|
+ console.log(file, fileList);
|
|
|
+ let fileIds = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ fileIds.push(id);
|
|
|
+ }
|
|
|
+ this.dataFormZan.fileIds = fileIds.join(",");
|
|
|
+ },
|
|
|
+ beforeUploadFileZan(file) {
|
|
|
+ console.log(file);
|
|
|
+ const size = file.size / 1024 / 1024;
|
|
|
+ console.log(size);
|
|
|
+ if (size > 10) {
|
|
|
+ this.$message.error("文件大小不能超过10MB!");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleAvatarSuccessZan(res, file, fileList) {
|
|
|
+ console.log(file, fileList);
|
|
|
+ console.log("------", "==========");
|
|
|
+ console.log("res = ", res);
|
|
|
+
|
|
|
+ let fileIds = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let response = fileList[i].response;
|
|
|
+ if (response.errno && response.errno != "0") {
|
|
|
+ this.$message.error("该文件上传失败,已被移除,请重新上传!");
|
|
|
+ // 上传失败移除该 file 对象
|
|
|
+ fileList.splice(i, 1);
|
|
|
+ } else {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ fileIds.push(id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.dataFormZan.fileIds = fileIds.join(",");
|
|
|
+ },
|
|
|
+ submitFormZan() {
|
|
|
+ this.$refs['dataFormZan'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ uploadZan(this.dataFormZan)
|
|
|
+ .then((response) => {
|
|
|
+ this.dialogVisibleZan = false;
|
|
|
+ this.$notify({
|
|
|
+ title: "成功",
|
|
|
+ message: "上传成功",
|
|
|
+ type: "success",
|
|
|
+ duration: 2000,
|
|
|
+ });
|
|
|
+ this.dataFormZan.tiktokAccount = '';
|
|
|
+ this.dataFormZan.matters = [];
|
|
|
+ this.dataFormZan.fileIds = '';
|
|
|
+ this.dataFormZan.files = [];
|
|
|
+ this.listQueryZan.page = 1;
|
|
|
+ this.getDataListZan();
|
|
|
+ })
|
|
|
+ .catch(() => { });
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getDataListZan() {
|
|
|
+ zanList(this.listQueryZan).then(response => {
|
|
|
+ this.dataListZan = response.data.data.items;
|
|
|
+ this.totalZan = response.data.data.total;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleSizeChangeZan(val) {
|
|
|
+ this.listQueryZan.limit = val
|
|
|
+ this.getDataListZan()
|
|
|
+ },
|
|
|
+ handleCurrentChangeZan(val) {
|
|
|
+ this.listQueryZan.page = val
|
|
|
+ this.getDataListZan()
|
|
|
+ },
|
|
|
+
|
|
|
},
|
|
|
};
|
|
|
</script>
|