Browse Source

党建声音文章

feature
dai 3 years ago
parent
commit
28c653677a
  1. 142
      src/views/modules/communityParty/article/index.vue
  2. 11
      src/views/modules/cpts/base/index.vue

142
src/views/modules/communityParty/article/index.vue

@ -1,6 +1,7 @@
<template>
<div>
<base-page ref="basePage"
<base-page
ref="basePage"
:searchParams="searchParams"
:tableParams="tableParams"
:tableUrl="tableUrl"
@ -18,77 +19,99 @@
:editElseRules="editElseRules"
:editConfig="editConfig"
:editParamsDiv="5"
:editBtnName="(item) => (!item.latitude ? '待完善' : '修改')"
:editBtnName="(item) => '修改'"
:formBtnFixed="true"
idName="articleId">
idName="articleId"
>
<template v-slot:editOperateSup="{ id, formType, info }">
<el-button v-if="formType != 'watch'"
<el-button
v-if="formType == 'add'"
type="warning"
size="small"
:disabled="draftBtnDisable"
@click="handleClickDraft(info)">存草稿</el-button>
@click="handleClickDraft(info)"
>存草稿</el-button
>
</template>
<template v-slot:listBtnSup="{ item }">
<el-button v-if="
<el-button
v-if="
item.statusFlag == 'published' &&
item.agencyId == $store.state.user.agencyId
"
@click="handleOfflineShow(item)"
type="text"
size="small"
style="color: #666">下线</el-button>
style="color: #666"
>下线</el-button
>
</template>
<template v-slot:listBtnbefore="{ item }">
<el-button v-if="item.isTop == '1'"
<el-button
v-if="item.isTop == '1'"
@click="handleCancleTopArticle(item, 'cancel_top')"
type="text"
size="small"
style="color: #fe6252">取消置顶</el-button>
<el-button v-else
style="color: #fe6252"
>取消置顶</el-button
>
<el-button
v-else
@click="handleTopArticle(item, 'top')"
type="text"
size="small"
style="color: #22c1c3">置顶</el-button>
style="color: #22c1c3"
>置顶</el-button
>
</template>
</base-page>
<el-dialog :visible.sync="offlineShowed"
<el-dialog
:visible.sync="offlineShowed"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="下线"
width="850px"
top="5vh"
class="dialog-h"
@closed="offlineShowed = false">
<offline ref="offlineForm"
@closed="offlineShowed = false"
>
<offline
ref="offlineForm"
@close="offlineShowed = false"
@afterOffline="handleOfflineSuccess"></offline>
@afterOffline="handleOfflineSuccess"
></offline>
</el-dialog>
<el-dialog :visible.sync="showAddImage"
<el-dialog
:visible.sync="showAddImage"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="上传封面图片"
width="650px"
top="5vh"
class="dialog-h"
@closed="showAddImage = false">
@closed="showAddImage = false"
>
<div class="dialog-h-content scroll-h">
<!-- <span>请先上 传封面图片</span> -->
<el-form ref="ref_form"
<el-form
ref="ref_form"
:inline="true"
:model="formData"
class="div_form">
class="div_form"
>
<div class="form_flex">
<div class="form_item">
<el-form-item label=""
<el-form-item
label=""
prop="selImgUrl"
label-width="150px"
style="display: block">
<el-upload :headers="$getElUploadHeaders()"
style="display: block"
>
<el-upload
:headers="$getElUploadHeaders()"
:class="['avatar-uploader', { hide: hideUploadBtn }]"
ref="uploadPic"
:action="uploadUlr"
@ -99,23 +122,20 @@
:file-list="replayImgList"
:on-change="handleEditChange"
:on-success="handleSuccess"
:limit="1">
:limit="1"
>
<span class="font-14">选择图片</span>
</el-upload>
</el-form-item>
</div>
</div>
</el-form>
</div>
<div class="div_btn">
<el-button size="small"
@click="showAddImage = false"> </el-button>
<el-button size="small"
type="primary"
@click="handleAddImage"> </el-button>
<el-button size="small" @click="showAddImage = false"> </el-button>
<el-button size="small" type="primary" @click="handleAddImage"
> </el-button
>
</div>
</el-dialog>
</div>
@ -246,14 +266,14 @@ export default {
exportUrl: "",
addUrl: "/gov/voice/article/addOrSaveDraft",
editUrl: "",
editUrl: "/gov/voice/article/updateArticle",
infoUrl: "/gov/voice/article/detailV2",
delUrl: "",
delUrl: "/gov/voice/article/delete批量",
editAuth(item) {
return false;
return item.statusFlagName == "已发布";
},
delAuth(item) {
return false;
return item.statusFlagName == "已下线";
},
editParams: [
@ -532,9 +552,9 @@ export default {
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile",
replayImgList: [],
hideUploadBtn: false,
selType: 'top',
selArticleId: '',
selImgUrl: ''
selType: "top",
selArticleId: "",
selImgUrl: "",
};
},
components: { basePage, offline },
@ -552,32 +572,29 @@ export default {
},
async handleAddImage() {
console.log('formData', this.formData)
this.topArticle()
console.log("formData", this.formData);
this.topArticle();
},
async handleCancleTopArticle(item, type) {
this.selType = type
this.selArticleId = item.articleId
await this.topArticle()
this.selType = type;
this.selArticleId = item.articleId;
await this.topArticle();
},
async handleTopArticle(item, type) {
this.selType = type;
this.selArticleId = item.articleId;
this.selType = type
this.selArticleId = item.articleId
let hasImage = await this.isHasImage();
let hasImage = await this.isHasImage()
if (hasImage === 'refrsh') {
if (hasImage === "refrsh") {
this.$message.error("请求失败,请重新尝试");
} else if (hasImage === 'no') {
} else if (hasImage === "no") {
// this.$message.info("");
this.showAddImage = true
this.showAddImage = true;
} else {
await this.topArticle()
await this.topArticle();
}
},
async isHasImage() {
@ -586,18 +603,17 @@ export default {
const { data, code, msg } = await requestPost(url, {
articleId: this.selArticleId,
});
if (code === 0) {
// this.formData = data
if (data.imgUrl) {
return 'has'
return "has";
} else {
return 'no'
return "no";
}
} else {
return 'refrsh'
return "refrsh";
}
},
@ -606,16 +622,16 @@ export default {
const { tableData } = this;
let params = {
articleId: this.selArticleId,
type: this.selType
}
type: this.selType,
};
if (this.selImgUrl) {
params.imgUrl = this.selImgUrl
params.imgUrl = this.selImgUrl;
}
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("操作成功!");
this.showAddImage = false
this.showAddImage = false;
this.$refs.basePage.refresh();
} else {
this.$message.success("操作失败!");

11
src/views/modules/cpts/base/index.vue

@ -720,13 +720,18 @@ export default {
const { tableData, idName } = this;
const idValue = tableData[rowIndex][idName];
let param = {
[idName]: idValue,
};
if (url.endsWith("/")) {
url += idValue;
}
if (url.endsWith("批量")) {
url = url.slice(0, -2);
param = [idValue];
}
const { data, code, msg } = await requestPost(url, {
[idName]: idValue,
});
const { data, code, msg } = await requestPost(url, param);
if (code === 0) {
this.$message.success("删除成功!");

Loading…
Cancel
Save