Browse Source

Merge branch 'dev' of http://git.elinkit.com.cn:7070/r/epmet-oper-gov into dev

dev-用户反馈
jiangyy 3 years ago
parent
commit
e071cfdf79
  1. 4
      package.json
  2. 25
      src/views/components/tinymce2/index.vue
  3. 263
      src/views/modules/communityParty/article/index.vue
  4. 11
      src/views/modules/cpts/base/index.vue
  5. 18
      src/views/modules/shequzhili/issue/cpts/evaluationDetail.vue
  6. 21
      src/views/modules/shequzhili/issue/cpts/issue-detail.vue
  7. 7
      src/views/modules/shequzhili/issue/cpts/issue-info.vue
  8. 2
      src/views/modules/shequzhili/issue/cpts/suggestDetail.vue
  9. 26
      src/views/modules/shequzhili/issue/cptsAudit/issue-detail.vue
  10. 17
      src/views/modules/shequzhili/issue/cptsAudit/issue-info.vue
  11. 2
      src/views/modules/shequzhili/issue/issueAuditList.vue
  12. 21
      src/views/modules/shequzhili/issue/issueList.vue
  13. 262
      src/views/modules/shequzhili/xiangmu/index.vue
  14. 6
      src/views/modules/shujuduibi/canji.vue
  15. 6
      src/views/modules/shujuduibi/siwang.vue

4
package.json

@ -60,7 +60,7 @@
}, },
"devDependencies": { "devDependencies": {
"@antv/f2": "^3.8.10-beta.1", "@antv/f2": "^3.8.10-beta.1",
"@tinymce/tinymce-vue": "^3.2.8", "@tinymce/tinymce-vue": "3.2.8",
"@vue/cli-plugin-babel": "^3.10.0", "@vue/cli-plugin-babel": "^3.10.0",
"@vue/cli-plugin-eslint": "^3.10.0", "@vue/cli-plugin-eslint": "^3.10.0",
"@vue/cli-service": "^3.10.0", "@vue/cli-service": "^3.10.0",
@ -71,7 +71,7 @@
"ol": "^6.9.0", "ol": "^6.9.0",
"sass-loader": "^7.3.1", "sass-loader": "^7.3.1",
"script-loader": "^0.7.2", "script-loader": "^0.7.2",
"tinymce": "^5.8.2", "tinymce": "5.8.2",
"vue-template-compiler": "^2.6.11" "vue-template-compiler": "^2.6.11"
}, },
"eslintConfig": { "eslintConfig": {

25
src/views/components/tinymce2/index.vue

@ -87,11 +87,12 @@ export default {
toolbar_mode: "none", toolbar_mode: "none",
toolbar_drawer: "sliding", toolbar_drawer: "sliding",
toolbar_mode: "sliding", toolbar_mode: "sliding",
outputFormat: 'p', outputFormat: "p",
plugins: plugins:
"wordcount visualchars visualblocks toc textpattern template tabfocus spellchecker searchreplace save quickbars print preview paste pagebreak noneditable nonbreaking media insertdatetime importcss imagetools image hr help fullscreen fullpage directionality codesample code charmap link code table lists advlist anchor autolink autoresize autosave", // import "wordcount visualchars visualblocks toc textpattern template tabfocus spellchecker searchreplace save quickbars print preview paste pagebreak noneditable nonbreaking media insertdatetime importcss imagetools image hr help fullscreen fullpage directionality codesample code charmap link code table lists advlist anchor autolink autoresize autosave", // import
toolbar: toolbar:
"formats undo redo paste print fontsizeselect fontselect template fullpage|wordcount ltr rtl visualchars visualblocks toc spellchecker searchreplace|save preview pagebreak nonbreaking|media image|outdent indent aligncenter alignleft alignright alignjustify lineheight underline quicklink h2 h3 blockquote numlist bullist table removeformat forecolor backcolor bold italic strikethrough hr charmap link insertdatetime|subscript superscript cut codesample code |anchor preview fullscreen|help", // "formats undo redo paste print fontsizeselect fontselect template fullpage|wordcount ltr rtl visualchars visualblocks toc spellchecker searchreplace|save preview pagebreak nonbreaking|media image|outdent indent aligncenter alignleft alignright alignjustify lineheight underline quicklink h2 h3 blockquote numlist bullist table removeformat forecolor backcolor bold italic strikethrough hr charmap link insertdatetime|subscript superscript cut codesample code |anchor preview fullscreen|help",
"formats undo redo|fontsizeselect|fontselect|forecolor backcolor bold italic underline strikethrough removeformat|image media link|outdent indent|aligncenter alignleft alignright alignjustify lineheight quicklink h2 h3 blockquote numlist bullist table|subscript superscript codesample code|preview fullscreen|wordcount|help",
content_style: "p {margin: 5px 0; font-size: 14px}", content_style: "p {margin: 5px 0; font-size: 14px}",
fontsize_formats: "12px 14px 16px 18px 24px 36px 48px 56px 72px", fontsize_formats: "12px 14px 16px 18px 24px 36px 48px 56px 72px",
font_formats: font_formats:
@ -171,17 +172,16 @@ export default {
if (editor && val !== prevVal && val !== editor.getContent()) { if (editor && val !== prevVal && val !== editor.getContent()) {
if (typeof val !== "string") val = val.toString(); if (typeof val !== "string") val = val.toString();
debounceSetContent.call(editor, val); debounceSetContent.call(editor, val);
return return;
} }
// debounceSetContent.call(editor, this.dormatHtml(val)); // debounceSetContent.call(editor, this.dormatHtml(val));
}); });
editor.on("change keyup undo redo", () => { editor.on("change keyup undo redo", () => {
// console.log('editor.getContent()---', editor.getContent({ format : 'p' })) // console.log('editor.getContent()---', editor.getContent({ format : 'p' }))
const c = editor.getContent({ format : 'p' }) const c = editor.getContent({ format: "p" });
this.$emit("input", editor.getContent()); this.$emit("input", editor.getContent());
// debounce(500, this.$emit("input", editor.getContent({ format : 'p' }))); // debounce(500, this.$emit("input", editor.getContent({ format : 'p' })));
;
}); });
editor.on("blur", () => { editor.on("blur", () => {
// console.log('editor.blur--', editor.getContent({ format : 'p' })) // console.log('editor.blur--', editor.getContent({ format : 'p' }))
@ -190,12 +190,12 @@ export default {
}); });
}, },
dormatHtml(content) { dormatHtml(content) {
let c = '' let c = "";
if (content.indexOf('DOCTYPE') != -1) { if (content.indexOf("DOCTYPE") != -1) {
c = content.slice(45, -16); c = content.slice(45, -16);
} }
console.log('content', typeof content) console.log("content", typeof content);
return c || content return c || content;
}, },
getUserToken() { getUserToken() {
return localStorage.getItem("token"); return localStorage.getItem("token");
@ -211,3 +211,10 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss">
//
.tox-tinymce-aux {
z-index: 5000 !important;
}
</style>

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

@ -1,6 +1,7 @@
<template> <template>
<div> <div>
<base-page ref="basePage" <base-page
ref="basePage"
:searchParams="searchParams" :searchParams="searchParams"
:tableParams="tableParams" :tableParams="tableParams"
:tableUrl="tableUrl" :tableUrl="tableUrl"
@ -18,54 +19,126 @@
:editElseRules="editElseRules" :editElseRules="editElseRules"
:editConfig="editConfig" :editConfig="editConfig"
:editParamsDiv="5" :editParamsDiv="5"
:editBtnName="(item) => (!item.latitude ? '待完善' : '修改')" :editBtnName="(item) => '修改'"
:formBtnFixed="true" :formBtnFixed="true"
idName="articleId"> idName="articleId"
>
<template v-slot:editOperateSup="{ id, formType, info }"> <template v-slot:editOperateSup="{ id, formType, info }">
<el-button v-if="formType != 'watch'" <el-button
v-if="formType == 'add'"
type="warning" type="warning"
size="small" size="small"
:disabled="draftBtnDisable" :disabled="draftBtnDisable"
@click="handleClickDraft(info)">存草稿</el-button> @click="handleClickDraft(info)"
>存草稿</el-button
>
</template> </template>
<template v-slot:listBtnSup="{ item }"> <template v-slot:listBtnSup="{ item }">
<el-button v-if=" <el-button
v-if="
item.statusFlag == 'published' && item.statusFlag == 'published' &&
item.agencyId == $store.state.user.agencyId item.agencyId == $store.state.user.agencyId
" "
@click="handleOfflineShow(item)" @click="handleOfflineShow(item)"
type="text" type="text"
size="small" size="small"
style="color: #666">下线</el-button> style="color: #666"
>下线</el-button
>
</template> </template>
<template v-slot:listBtnbefore="{ item }"> <template v-slot:listBtnbefore="{ item }">
<el-button v-if="item.isTop == '1'" <el-button
@click="handleTopArticle(item,'cancel_top')" v-if="item.isTop == '1'"
v-show="item.statusFlag == 'published'"
@click="handleCancleTopArticle(item, 'cancel_top')"
type="text" type="text"
size="small" size="small"
style="color: #fe6252">取消置顶</el-button> style="color: #fe6252"
<el-button v-else >取消置顶</el-button
@click="handleTopArticle(item,'top')" >
<el-button
v-show="item.statusFlag == 'published'"
v-else
@click="handleTopArticle(item, 'top')"
type="text" type="text"
size="small" size="small"
style="color: #22c1c3">置顶</el-button> style="color: #22c1c3"
>置顶</el-button
>
</template> </template>
</base-page> </base-page>
<el-dialog :visible.sync="offlineShowed" <el-dialog
:visible.sync="offlineShowed"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
title="下线" title="下线"
width="850px" width="850px"
top="5vh" top="5vh"
class="dialog-h" class="dialog-h"
@closed="offlineShowed = false"> @closed="offlineShowed = false"
<offline ref="offlineForm" >
<offline
ref="offlineForm"
@close="offlineShowed = false" @close="offlineShowed = false"
@afterOffline="handleOfflineSuccess"></offline> @afterOffline="handleOfflineSuccess"
></offline>
</el-dialog>
<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"
>
<div class="dialog-h-content scroll-h">
<!-- <span>请先上 传封面图片</span> -->
<el-form
ref="ref_form"
:inline="true"
:model="formData"
class="div_form"
>
<div class="form_flex">
<div class="form_item">
<el-form-item
label=""
prop="selImgUrl"
label-width="150px"
style="display: block"
>
<el-upload
:headers="$getElUploadHeaders()"
:class="['avatar-uploader', { hide: hideUploadBtn }]"
ref="uploadPic"
:action="uploadUlr"
list-type="picture-card"
:on-exceed="exceedPic"
:before-upload="beforeAvatarUpload"
:on-remove="removePic"
:file-list="replayImgList"
:on-change="handleEditChange"
:on-success="handleSuccess"
: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
>
</div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -81,7 +154,7 @@ import nextTick from "dai-js/tools/nextTick";
export default { export default {
props: {}, props: {},
data () { data() {
return { return {
offlineShowed: false, offlineShowed: false,
@ -97,7 +170,7 @@ export default {
optionUrl: "/gov/voice/tag/taglist", optionUrl: "/gov/voice/tag/taglist",
optionUrlParams: {}, optionUrlParams: {},
optionList: [], optionList: [],
optionCook (list) { optionCook(list) {
return list.map((item) => ({ return list.map((item) => ({
label: item.tagName, label: item.tagName,
value: item.tagId, value: item.tagId,
@ -138,12 +211,12 @@ export default {
children: "subAgencyList", children: "subAgencyList",
checkStrictly: true, checkStrictly: true,
}, },
optionCook (obj) { optionCook(obj) {
return [obj]; return [obj];
}, },
supKeys: ["publishRangeId", "publishRangeType"], supKeys: ["publishRangeId", "publishRangeType"],
supValues: ["", ""], supValues: ["", ""],
handleChangeFn (vals, item) { handleChangeFn(vals, item) {
const { optionList } = item; const { optionList } = item;
if (vals.length > 0) { if (vals.length > 0) {
item["supValues"][0] = vals[vals.length - 1]; item["supValues"][0] = vals[vals.length - 1];
@ -195,14 +268,14 @@ export default {
exportUrl: "", exportUrl: "",
addUrl: "/gov/voice/article/addOrSaveDraft", addUrl: "/gov/voice/article/addOrSaveDraft",
editUrl: "", editUrl: "/gov/voice/article/updateArticle",
infoUrl: "/gov/voice/article/detailV2", infoUrl: "/gov/voice/article/detailV2",
delUrl: "", delUrl: "/gov/voice/article/delete批量",
editAuth (item) { editAuth(item) {
return false; return item.statusFlagName == "已发布";
}, },
delAuth (item) { delAuth(item) {
return false; return item.statusFlagName == "已下线";
}, },
editParams: [ editParams: [
@ -232,7 +305,7 @@ export default {
uploadUrl: window.SITE_CONFIG["apiURL"] + "/oss/file/article/upload", uploadUrl: window.SITE_CONFIG["apiURL"] + "/oss/file/article/upload",
supKeys: ["imgUrlArr", "imgUrl"], supKeys: ["imgUrlArr", "imgUrl"],
supValues: [() => [], ""], supValues: [() => [], ""],
beforeImgUpload (file, item, that) { beforeImgUpload(file, item, that) {
console.log(file); console.log(file);
const isLt1M = file.size / 1024 / 1024 < 10; const isLt1M = file.size / 1024 / 1024 < 10;
const srcType = file.type; const srcType = file.type;
@ -268,10 +341,10 @@ export default {
checkStrictly: false, checkStrictly: false,
emitPath: false, emitPath: false,
}, },
optionCook (obj) { optionCook(obj) {
return [obj]; return [obj];
}, },
handleChangeFn (vals, item, that) { handleChangeFn(vals, item, that) {
console.log("handleChangeFn", vals); console.log("handleChangeFn", vals);
const { optionList } = item; const { optionList } = item;
const optionPlaneList = collapse(optionList, "subAgencyList"); const optionPlaneList = collapse(optionList, "subAgencyList");
@ -312,7 +385,7 @@ export default {
type: "date", type: "date",
value: dateFormat(new Date(), "yyyy-MM-dd"), value: dateFormat(new Date(), "yyyy-MM-dd"),
pickerOptions: { pickerOptions: {
disabledDate (time) { disabledDate(time) {
return time.getTime() > Date.now(); return time.getTime() > Date.now();
}, },
}, },
@ -333,7 +406,7 @@ export default {
optionType: "group", optionType: "group",
supKeys: ["publisherName", "publisherType"], supKeys: ["publisherName", "publisherType"],
supValues: ["", ""], supValues: ["", ""],
optionCook (data) { optionCook(data) {
let ret = []; let ret = [];
const { agencyDeptList, agencyGridList, agencyId, agencyName } = const { agencyDeptList, agencyGridList, agencyId, agencyName } =
data; data;
@ -375,7 +448,7 @@ export default {
} }
return ret; return ret;
}, },
handleChangeFn (vals, item, that) { handleChangeFn(vals, item, that) {
const { optionList } = item; const { optionList } = item;
let opts = []; let opts = [];
optionList.forEach((g) => { optionList.forEach((g) => {
@ -403,7 +476,7 @@ export default {
optionUrl: "/gov/voice/tag/taglist", optionUrl: "/gov/voice/tag/taglist",
optionUrlParams: {}, optionUrlParams: {},
optionList: [], optionList: [],
optionCook (list) { optionCook(list) {
return list.map((item) => ({ return list.map((item) => ({
label: item.tagName, label: item.tagName,
value: item.tagName, value: item.tagName,
@ -436,7 +509,7 @@ export default {
editElseRules: {}, editElseRules: {},
editConfig: { editConfig: {
confirmBtnName: "发布", confirmBtnName: "发布",
cookInfoFn (data) { cookInfoFn(data) {
if (data.richTextFlag == "0") { if (data.richTextFlag == "0") {
data.content = data.contentList data.content = data.contentList
.map((item) => { .map((item) => {
@ -467,7 +540,7 @@ export default {
return data; return data;
}, },
beforeSubmit (formType, fmData, that) { beforeSubmit(formType, fmData, that) {
if (fmData.isTop == "1" && !fmData.imgUrl) { if (fmData.isTop == "1" && !fmData.imgUrl) {
that.$message.error("请上传封面图片"); that.$message.error("请上传封面图片");
return false; return false;
@ -475,46 +548,130 @@ export default {
return true; return true;
}, },
}, },
formData: {},
showAddImage: false,
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile",
replayImgList: [],
hideUploadBtn: false,
selType: "top",
selArticleId: "",
selImgUrl: "",
}; };
}, },
components: { basePage, offline }, components: { basePage, offline },
computed: {}, computed: {},
watch: {}, watch: {},
async mounted () { }, async mounted() {},
methods: { methods: {
async handleOfflineShow (item) { async handleOfflineShow(item) {
console.log(item); console.log(item);
this.offlineShowed = true; this.offlineShowed = true;
await nextTick(100); await nextTick(100);
this.$refs.offlineForm.initForm(item); this.$refs.offlineForm.initForm(item);
}, },
async handleTopArticle (item, type) { async handleAddImage() {
console.log("formData", this.formData);
this.topArticle();
},
async handleCancleTopArticle(item, type) {
this.selType = type;
this.selArticleId = item.articleId;
await this.topArticle();
},
async handleTopArticle(item, type) {
this.selType = type;
this.selArticleId = item.articleId;
const url = "/gov/voice/article/topArticle"; let hasImage = await this.isHasImage();
if (hasImage === "refrsh") {
this.$message.error("请求失败,请重新尝试");
} else if (hasImage === "no") {
// this.$message.info("");
this.showAddImage = true;
} else {
await this.topArticle();
}
},
async isHasImage() {
const url = "/gov/voice/article/detailV2";
const { tableData } = this; const { tableData } = this;
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
articleId: item.articleId, articleId: this.selArticleId,
type: type
}); });
if (code === 0) {
// this.formData = data
if (data.imgUrl) {
return "has";
} else {
return "no";
}
} else {
return "refrsh";
}
},
async topArticle() {
const url = "/gov/voice/article/topArticle";
const { tableData } = this;
let params = {
articleId: this.selArticleId,
type: this.selType,
};
if (this.selImgUrl) {
params.imgUrl = this.selImgUrl;
}
const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.$message.success("操作成功!"); this.$message.success("操作成功!");
this.showAddImage = false;
this.$refs.basePage.refresh(); this.$refs.basePage.refresh();
} else { } else {
this.$message.success("操作失败!"); this.$message.success("操作失败!");
} }
}, },
handleOfflineSuccess () { removePic(file, fileList) {
this.selImgUrl = "";
this.replayImgList = [];
this.hideUploadBtn = fileList.length >= 1;
},
// 3
handleEditChange(file, fileList) {
this.hideUploadBtn = fileList.length >= 1;
},
exceedPic() {
this.$message.warning("只能上传1张封面图");
},
beforeAvatarUpload(file) {
const isJPG = file.type === "image/jpeg";
const isLt2M = file.size / 1024 / 1024 < 10;
if (!isLt2M) {
this.$message.error("上传图片大小不能超过 10MB!");
}
return isLt2M;
},
handleSuccess(response, file, fileList) {
this.replayImgList.push(file);
this.selImgUrl = response.data.url;
},
handleOfflineSuccess() {
this.$refs.basePage.refresh(); this.$refs.basePage.refresh();
this.offlineShowed = false; this.offlineShowed = false;
}, },
async handleClickDraft (fmData) { async handleClickDraft(fmData) {
let url = this.addUrl; let url = this.addUrl;
let params = { let params = {
...fmData, ...fmData,
@ -541,4 +698,18 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
@import "@/assets/scss/modules/management/form-main.scss";
.avatar-uploader {
margin: 0 0 0 20px;
}
</style>
<style lang="scss">
.hide {
.el-upload--picture-card {
display: none !important;
}
}
</style>

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

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

18
src/views/modules/shequzhili/issue/cpts/evaluationDetail.vue

@ -16,14 +16,14 @@
<el-table-column prop="userNickName" <el-table-column prop="userNickName"
align="center" align="center"
width="80" min-width="120"
label="评价人" label="评价人"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="evaluateTimeShow" <el-table-column prop="evaluateTimeShow"
align="center" align="center"
width="150" min-width="170"
label="评价时间" label="评价时间"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
@ -36,15 +36,15 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-image v-if="scope.row.satisfaction=='bad'" <el-image v-if="scope.row.satisfaction=='bad'"
style="width: 40px; height: 40px" style="width: 40px; height: 40px"
src="@/assets/img/satisfy-images/face1_light.png"> :src="badurl_light">
</el-image> </el-image>
<el-image v-else-if="scope.row.satisfaction=='good'" <el-image v-else-if="scope.row.satisfaction=='good'"
style="width: 40px; height: 40px" style="width: 40px; height: 40px"
src="@/assets/img/satisfy-images/face2_light.png"> :src="goodurl_light">
</el-image> </el-image>
<el-image v-else <el-image v-else
style="width: 40px; height: 40px" style="width: 40px; height: 40px"
src="@/assets/img/satisfy-images/face3_light.png"> :src="perfecturl_light">
</el-image> </el-image>
</template> </template>
@ -94,6 +94,11 @@ export default {
pageSize: window.localStorage.getItem("pageSize") || 20, pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1, total: 1,
badurl_light: require('@/assets/img/satisfy-images/face1_light.png'),
goodurl_light: require('@/assets/img/satisfy-images/face2_light.png'),
perfecturl_light: require('@/assets/img/satisfy-images/face3_light.png'),
} }
}, },
components: {}, components: {},
@ -106,7 +111,7 @@ export default {
methods: { methods: {
async initForm (topicInfo) { async initForm () {
this.startLoading() this.startLoading()
await this.getList() await this.getList()
@ -127,6 +132,7 @@ export default {
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
if (code === 0) { if (code === 0) {
data.forEach(element => { data.forEach(element => {
element.evaluateTimeShow = dateFormat( element.evaluateTimeShow = dateFormat(

21
src/views/modules/shequzhili/issue/cpts/issue-detail.vue

@ -19,6 +19,10 @@
<span class="info-title-2">所属网格</span> <span class="info-title-2">所属网格</span>
<span>{{ issueInfo.belongsGridName||'--' }}</span> <span>{{ issueInfo.belongsGridName||'--' }}</span>
</div> </div>
<div :class="['info-prop',{'info-prop-vis':source==='visiual'}]">
<span class="info-title-2">议题发表人</span>
<span>{{ issueInfo.issueInitiator||'--' }}</span>
</div>
<div :class="['info-prop',{'info-prop-vis':source==='visiual'}]"> <div :class="['info-prop',{'info-prop-vis':source==='visiual'}]">
<span class="info-title-2">议题来源</span> <span class="info-title-2">议题来源</span>
@ -34,8 +38,7 @@
@click="handleToTopic">查看话题>--</div> @click="handleToTopic">查看话题>--</div>
</div> </div>
<div v-if="issueInfo.sourceType==='resi_topic'" <div :class="['info-prop',{'info-prop-vis':source==='visiual'}]">
:class="['info-prop',{'info-prop-vis':source==='visiual'}]">
<span class="info-title-2">意见和建议</span> <span class="info-title-2">意见和建议</span>
<div class="line" <div class="line"
@click="handleToSuggest">查看全部</div> @click="handleToSuggest">查看全部</div>
@ -148,7 +151,7 @@
</el-popover> </el-popover>
</div> </div>
<div v-if="issueInfo.issueStatus==='closed'&&issueInfo.sourceType==='resi_topic'" <div v-if="issueInfo.issueStatus==='closed'"
:class="['info-prop',{'info-prop-vis':source==='visiual'}]"> :class="['info-prop',{'info-prop-vis':source==='visiual'}]">
<span class="info-title-2">满意度评价</span> <span class="info-title-2">满意度评价</span>
<div class="line" <div class="line"
@ -215,6 +218,7 @@ function iniData () {
issueInfo: {}, issueInfo: {},
showType: '', showType: '',
popSelIssueCate: [],
issueCate: [], issueCate: [],
cateOptions: [], cateOptions: [],
visibleCatePanel: false, visibleCatePanel: false,
@ -267,7 +271,7 @@ export default {
watch: { watch: {
selectedCateData (val) { selectedCateData (val) {
const { cateOptions } = this; const { cateOptions } = this;
this.issueCate = val this.popSelIssueCate = val
.filter((arr) => arr.length > 0) .filter((arr) => arr.length > 0)
.map((arr) => { .map((arr) => {
let ele1 = cateOptions.find((item) => item.id == arr[0]); let ele1 = cateOptions.find((item) => item.id == arr[0]);
@ -350,7 +354,7 @@ export default {
}, },
async getChartInfo () { async getChartInfo () {
const url = "/gov/issue/manage/votingtrend"; const url = "/gov/issue/manage/votingTrendV2";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
issueId: this.issueId, issueId: this.issueId,
@ -440,19 +444,20 @@ export default {
async updateIssueCate () { async updateIssueCate () {
const url = "/gov/issue/issuecategory/save"; const url = "/gov/issue/issuecategory/save";
const { issueCate } = this; const { popSelIssueCate } = this;
if (issueCate.length == 0) { if (popSelIssueCate.length == 0) {
return this.$message.error("分类不能为空"); return this.$message.error("分类不能为空");
} }
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
issueId: this.issueId, issueId: this.issueId,
categoryList: issueCate, categoryList: popSelIssueCate,
}); });
if (code === 0) { if (code === 0) {
this.$message.success("更改成功"); this.$message.success("更改成功");
this.visibleCatePanel = false; this.visibleCatePanel = false;
this.issueCate = popSelIssueCate
this.getTagOptions(); this.getTagOptions();
} else { } else {
this.$message.error(msg); this.$message.error(msg);

7
src/views/modules/shequzhili/issue/cpts/issue-info.vue

@ -414,12 +414,17 @@ export default {
handleToSuggest () { handleToSuggest () {
// this.pageTypeCopy = 'topic' // this.pageTypeCopy = 'topic'
this.suggestShow = true this.suggestShow = true
this.$nextTick(() => {
this.$refs.ref_detail_suggest.initForm()
})
}, },
handleToEvaluation () { handleToEvaluation () {
// this.pageTypeCopy = 'topic' // this.pageTypeCopy = 'topic'
this.evaluationShow = true this.evaluationShow = true
this.$nextTick(() => {
this.$refs.ref_detail_evaluation.initForm()
})
}, },
// //

2
src/views/modules/shequzhili/issue/cpts/suggestDetail.vue

@ -97,7 +97,7 @@ export default {
methods: { methods: {
async initForm (topicInfo) { async initForm () {
this.startLoading() this.startLoading()
await this.getSuggestion() await this.getSuggestion()

26
src/views/modules/shequzhili/issue/cptsAudit/issue-detail.vue

@ -34,14 +34,14 @@
v-for="src in topicInfo.photoList" v-for="src in topicInfo.photoList"
@click="watchImg(src.url)" /> @click="watchImg(src.url)" />
</div> </div>
<div v-if="topicInfo.voiceList&&topicInfo.voiceList.length>0" <div v-if="voiceList&&voiceList.length>0"
:class="['info-prop',{'info-prop-vis':source==='visiual'}]"> :class="['info-prop',{'info-prop-vis':source==='visiual'}]">
<span class="info-title-2">语音</span> <span class="info-title-2">语音</span>
<audio controls> <audio controls>
<source :src="item.url" <source :src="item.url"
type="" type=""
:key="item.url" :key="item.url"
v-for="item in topicInfo.voiceList" /> v-for="item in voiceList" />
</audio> </audio>
</div> </div>
<div :class="['info-prop',{'info-prop-vis':source==='visiual'}]"> <div :class="['info-prop',{'info-prop-vis':source==='visiual'}]">
@ -100,6 +100,7 @@ function iniData () {
issueInfo: {}, issueInfo: {},
topicInfo: {}, topicInfo: {},
voiceList: {},
showType: '', showType: '',
}; };
@ -154,11 +155,30 @@ export default {
"yyyy-MM-dd hh:mm" "yyyy-MM-dd hh:mm"
); );
} }
this.getAttechment()
} }
}, },
methods: { methods: {
async getAttechment () {
const url = "/resi/group/topic/topicattachmentlist"
let params = {
topicId: this.topicInfo.topicId,
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.voiceList = data.voiceList
} else {
this.$message.error(msg)
}
},
watchImg (src) { watchImg (src) {
window.open(src); window.open(src);
}, },
@ -171,8 +191,6 @@ export default {
this.$emit("handleClose"); this.$emit("handleClose");
}, },
async getApiData () {
},
handleToTopic () { handleToTopic () {
this.$emit("handleToTopic") this.$emit("handleToTopic")

17
src/views/modules/shequzhili/issue/cptsAudit/issue-info.vue

@ -64,15 +64,26 @@
<div class="detail-field">提交审核时间</div> <div class="detail-field">提交审核时间</div>
<div class="detail-value">{{ item.operateTime }}</div> <div class="detail-value">{{ item.operateTime }}</div>
</div> </div>
<div v-if="item.actionType==='rejected'" <div v-if="item.actionType==='rejected'">
class="detail"> <div class="detail">
<div class="detail-field">理由</div> <div class="detail-field">驳回时间</div>
<div class="detail-value">{{ item.operateTime }}</div>
</div>
<div class="detail">
<div class="detail-field">驳回人</div>
<div class="detail-value">{{ item.staffName }}</div>
</div>
<div class="detail">
<div class="detail-field">驳回理由</div>
<div class="detail-value">{{ item.reason }}</div> <div class="detail-value">{{ item.reason }}</div>
</div> </div>
</div> </div>
</div> </div>
</div>
</div> </div>
</div> </div>
</el-card> </el-card>

2
src/views/modules/shequzhili/issue/issueAuditList.vue

@ -434,7 +434,7 @@ export default {
async getTableData () { async getTableData () {
const url = "/gov/issue/issueaudit/auditList"; const url = "/gov/issue/issueaudit/auditList";
// const url = "http://yapi.elinkservice.cn/mock/102/gov/issue/issue/allIssueList";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
pageSize, pageSize,

21
src/views/modules/shequzhili/issue/issueList.vue

@ -134,17 +134,22 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
label="转议题时间"> label="转议题时间">
</el-table-column> </el-table-column>
<el-table-column prop="sourceTypeName"
label="来源"
width="60"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="supportCount" <el-table-column prop="supportCount"
align="center" align="center"
width="80" width="60"
label="支持" label="支持"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="oppositionCount" <el-table-column prop="oppositionCount"
align="center" align="center"
width="80" width="60"
label="反对" label="反对"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
@ -456,7 +461,7 @@ export default {
async getTableData () { async getTableData () {
const url = "/gov/issue/issue/allIssueList"; const url = "/gov/issue/issue/allIssueList";
// const url = "http://yapi.elinkservice.cn/mock/102/gov/issue/issue/allIssueList";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
pageSize, pageSize,
@ -473,6 +478,14 @@ export default {
: []; : [];
this.tableData.forEach(item => { this.tableData.forEach(item => {
if (item.sourceType === 'ic_event') {
item.sourceTypeName = '事件'
} else if (item.sourceType === 'resi_topic') {
item.sourceTypeName = '话题'
} else {
item.sourceTypeName = '--'
}
if (item.operationType === '2') { if (item.operationType === '2') {
item.operationTypeShow = '已转服务' item.operationTypeShow = '已转服务'
} }

262
src/views/modules/shequzhili/xiangmu/index.vue

@ -1,80 +1,67 @@
<template> <template>
<div class="resi-container"> <div class="resi-container">
<div class="g-page" v-show="pageType == 'list'"> <div class="g-page"
<el-card ref="searchCard" class="search-card"> v-show="pageType == 'list'">
<el-form <el-card ref="searchCard"
ref="searchForm" class="search-card">
<el-form ref="searchForm"
:inline="true" :inline="true"
:model="fmData" :model="fmData"
:label-width="'100px'" :label-width="'100px'"
class="demo-form-inline" class="demo-form-inline">
>
<div> <div>
<el-form-item label="项目标题" prop="title"> <el-form-item label="项目标题"
<el-input prop="title">
v-model="fmData.title" <el-input v-model="fmData.title"
class="resi-cell-input" class="resi-cell-input"
size="small" size="small"
clearable clearable
placeholder="请输入" placeholder="请输入">
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="转项目时间" prop="date"> <el-form-item label="转项目时间"
<el-date-picker prop="date">
v-model="fmData.startDate" <el-date-picker v-model="fmData.startDate"
size="small" size="small"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 150px" style="width: 150px"
placeholder="开始时间" placeholder="开始时间">
>
</el-date-picker> </el-date-picker>
<span style="margin:0 8px;"></span> <span style="margin:0 8px;"></span>
<el-date-picker <el-date-picker v-model="fmData.endDate"
v-model="fmData.endDate"
size="small" size="small"
type="date" type="date"
style="width: 150px" style="width: 150px"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="结束时间" placeholder="结束时间">
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态"
<el-select prop="status">
v-model.trim="fmData.status" <el-select v-model.trim="fmData.status"
placeholder="请选择" placeholder="请选择"
size="small" size="small"
clearable clearable
style="width: 150px" style="width: 150px"
class="resi-cell-select" class="resi-cell-select">
> <el-option v-for="item in optionsStatus"
<el-option
v-for="item in optionsStatus"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value">
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item style="margin-left: 35px"> <el-form-item style="margin-left: 35px">
<el-button <el-button class="diy-button--search"
class="diy-button--search"
size="small" size="small"
@click="handleSearch" @click="handleSearch">查询</el-button>
>查询</el-button <el-button class="diy-button--reset"
>
<el-button
class="diy-button--reset"
size="small" size="small"
@click="resetForm('searchForm')" @click="resetForm('searchForm')">重置</el-button>
>重置</el-button
>
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
@ -82,20 +69,14 @@
<el-card class="resi-card-table"> <el-card class="resi-card-table">
<div class="resi-row-btn"> <div class="resi-row-btn">
<el-button <el-button v-if="false"
v-if="false"
class="diy-button--add" class="diy-button--add"
size="small" size="small"
@click="handleAdd" @click="handleAdd">新增</el-button>
>新增</el-button <el-button v-if="false"
>
<el-button
v-if="false"
class="diy-button--export" class="diy-button--export"
size="small" size="small"
@click="handleExportModule('room')" @click="handleExportModule('room')">下载模板</el-button>
>下载模板</el-button
>
<el-upload :headers="$getElUploadHeaders()" <el-upload :headers="$getElUploadHeaders()"
v-if="false" v-if="false"
ref="upload" ref="upload"
@ -109,158 +90,126 @@
:on-progress="handleProgress" :on-progress="handleProgress"
:on-success="handleExcelSuccess" :on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload" :before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest" :http-request="uploadHttpRequest">
> <el-button size="small"
<el-button
size="small"
class="diy-button--delete" class="diy-button--delete"
:loading="importLoading" :loading="importLoading">{{ importBtnTitle }}</el-button>
>{{ importBtnTitle }}</el-button
>
</el-upload> </el-upload>
<el-button @click="handleChu" class="diy-button--reset" size="small" <el-button @click="handleChu"
>导出</el-button class="diy-button--reset"
> size="small">导出</el-button>
</div> </div>
<el-table <el-table :data="tableData"
:data="tableData"
border border
style="width: 100%" style="width: 100%"
class="resi-table" class="resi-table"
:height="maxTableHeight" :height="maxTableHeight">
> <el-table-column label="序号"
<el-table-column
label="序号"
fixed="left" fixed="left"
type="index" type="index"
align="center" align="center"
width="50" width="50" />
/> <el-table-column prop="gridName"
<el-table-column
prop="gridName"
align="center" align="center"
label="所属网格" label="所属网格"
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="title"
prop="title"
label="项目标题" label="项目标题"
align="center" align="center"
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="shiftProjectTime"
prop="shiftProjectTime"
width="100" width="100"
align="center" align="center"
label="转项目时间" label="转项目时间"
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="projectScheme"
prop="projectScheme"
align="center" align="center"
label="项目方案" label="项目方案"
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="internalRemark"
prop="internalRemark"
align="center" align="center"
label="内部备注" label="内部备注"
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
> </el-table-column>
<el-table-column prop="originName"
align="center"
label="来源"
width="100"
:show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="departmentNameList"
prop="departmentNameList"
align="center" align="center"
label="当前处理部门 " label="当前处理部门 "
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="detentionDays"
prop="detentionDays"
align="center" align="center"
label="滞留工作日 " label="滞留工作日 "
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column fixed="right"
fixed="right"
label="操作" label="操作"
align="center" align="center"
width="100" width="100">
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button v-if="scope.row.status == 'pending' && scope.row.processable"
v-if="scope.row.status == 'pending' && scope.row.processable"
@click="handleEdit(scope.$index)" @click="handleEdit(scope.$index)"
type="text" type="text"
size="small" size="small"
class="div-table-button--edit" class="div-table-button--edit">处理</el-button>
>处理</el-button
>
<el-button <el-button v-else
v-else
@click="handleWatch(scope.$index)" @click="handleWatch(scope.$index)"
type="text" type="text"
size="small" size="small">查看</el-button>
>查看</el-button
>
<el-popconfirm <el-popconfirm v-if="false"
v-if="false"
title="删除之后无法回复,确认删除?" title="删除之后无法回复,确认删除?"
@onConfirm="handleDel(scope.row, scope.$index)" @onConfirm="handleDel(scope.row, scope.$index)"
@confirm="handleDel(scope.row, scope.$index)" @confirm="handleDel(scope.row, scope.$index)">
> <el-button slot="reference"
<el-button
slot="reference"
type="text" type="text"
size="small" size="small"
class="div-table-button--delete" class="div-table-button--delete"
style="margin-left: 10px" style="margin-left: 10px">删除</el-button>
>删除</el-button
>
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div> <div>
<el-pagination <el-pagination @size-change="handleSizeChange"
@size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]" :page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(pageSize)" :page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total" layout="sizes, prev, pager, next, total"
:total="total" :total="total">
>
</el-pagination> </el-pagination>
</div> </div>
</el-card> </el-card>
</div> </div>
<div class="g-page" v-if="pageType == 'edit' || pageType == 'info'"> <div class="g-page"
<project-info v-if="pageType == 'edit' || pageType == 'info'">
ref="eleEditForm" <project-info ref="eleEditForm"
:type="pageType" :type="pageType"
:projectId="currentProject.projectId" :projectId="currentProject.projectId"
@close="handleClose" @close="handleClose"
@afterEdit="handleEditSuccess" @afterEdit="handleEditSuccess" />
/>
</div> </div>
</div> </div>
</template> </template>
@ -275,7 +224,7 @@ import axios from "axios";
export default { export default {
components: { projectInfo }, components: { projectInfo },
data() { data () {
return { return {
pageType: "list", // list dispose info issue-info pageType: "list", // list dispose info issue-info
@ -315,7 +264,7 @@ export default {
}; };
}, },
computed: { computed: {
maxTableHeight() { maxTableHeight () {
return this.$store.state.inIframe return this.$store.state.inIframe
? this.clientHeight - 360 + this.iframeHeigh ? this.clientHeight - 360 + this.iframeHeigh
: this.clientHeight - 360; : this.clientHeight - 360;
@ -333,11 +282,11 @@ export default {
} }
}, },
}, },
mounted() { mounted () {
this.getTableData(); this.getTableData();
}, },
methods: { methods: {
async handleExportModule() { async handleExportModule () {
let url = "/heart/iccommunityselforganization/import-template-download"; let url = "/heart/iccommunityselforganization/import-template-download";
let params = {}; let params = {};
@ -374,18 +323,18 @@ export default {
}); });
}, },
// //
handleExcelSuccess(res, file) { handleExcelSuccess (res, file) {
if (res.code === 0 && res.msg === "success") { if (res.code === 0 && res.msg === "success") {
console.log("resss---ppp", res); console.log("resss---ppp", res);
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
}, },
handleProgress(event, file, fileList) { handleProgress (event, file, fileList) {
console.log("percentage", file.percentage); console.log("percentage", file.percentage);
}, },
beforeExcelUpload(file) { beforeExcelUpload (file) {
console.log("file", file); console.log("file", file);
const isType = file.type === "application/vnd.ms-excel"; const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer = const isTypeComputer =
@ -402,7 +351,7 @@ export default {
} }
return fileType && isLt1M; return fileType && isLt1M;
}, },
async uploadHttpRequest(file) { async uploadHttpRequest (file) {
this.importLoading = true; this.importLoading = true;
this.importBtnTitle = "正在上传中..."; this.importBtnTitle = "正在上传中...";
this.$message({ this.$message({
@ -457,29 +406,29 @@ export default {
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles();
}, },
handleSizeChange(val) { handleSizeChange (val) {
console.log(`每页 ${val}`); console.log(`每页 ${val}`);
this.pageSize = val; this.pageSize = val;
window.localStorage.setItem("pageSize", val); window.localStorage.setItem("pageSize", val);
this.getTableData(); this.getTableData();
}, },
handleCurrentChange(val) { handleCurrentChange (val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.pageNo = val; this.pageNo = val;
this.getTableData(); this.getTableData();
}, },
handleSearch(val) { handleSearch (val) {
console.log(this.fmData); console.log(this.fmData);
this.pageNo = 1; this.pageNo = 1;
this.getTableData(); this.getTableData();
}, },
resetForm(formName) { resetForm (formName) {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
this.handleSearch(); this.handleSearch();
}, },
async handleChu() { async handleChu () {
const url = "/gov/project/project/project-list-export"; const url = "/gov/project/project/project-list-export";
const { pageSize, pageNo, fmData } = this; const { pageSize, pageNo, fmData } = this;
axios({ axios({
@ -514,8 +463,8 @@ export default {
}); });
}, },
async handleAdd() {}, async handleAdd () { },
async handleWatch(rowIndex) { async handleWatch (rowIndex) {
let item = this.tableData[rowIndex]; let item = this.tableData[rowIndex];
this.currentProject = { this.currentProject = {
projectId: item.projectId, projectId: item.projectId,
@ -523,7 +472,7 @@ export default {
this.pageType = "info"; this.pageType = "info";
}, },
async handleEdit(rowIndex) { async handleEdit (rowIndex) {
let item = this.tableData[rowIndex]; let item = this.tableData[rowIndex];
this.currentProject = { this.currentProject = {
projectId: item.projectId, projectId: item.projectId,
@ -531,19 +480,19 @@ export default {
this.pageType = "edit"; this.pageType = "edit";
}, },
handleClose() { handleClose () {
this.pageType = "list"; this.pageType = "list";
this.currentProject = { this.currentProject = {
projectId: "", projectId: "",
}; };
}, },
handleEditSuccess() { handleEditSuccess () {
this.handleClose(); this.handleClose();
this.getTableData(); this.getTableData();
}, },
async handleDel(rowData, rowIndex) { async handleDel (rowData, rowIndex) {
console.log(rowData, rowIndex); console.log(rowData, rowIndex);
const url = const url =
"/heart/iccommunityselforganization/delcommunityselforganization"; "/heart/iccommunityselforganization/delcommunityselforganization";
@ -561,7 +510,7 @@ export default {
} }
}, },
async getTableData() { async getTableData () {
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/project-list"; // const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/project-list";
const url = "/gov/project/project/project-list"; const url = "/gov/project/project/project-list";
const { pageSize, pageNo, fmData } = this; const { pageSize, pageNo, fmData } = this;
@ -578,6 +527,25 @@ export default {
return item; return item;
}) })
: []; : [];
this.tableData.forEach(item => {
if (item.origin === 'issue') {
item.originName = '议题 '
} else if (item.origin === 'agency') {
item.originName = '项目立项'
} else if (item.origin === 'resi_event') {
item.originName = '旧版事件上报'
} else if (item.origin === 'work_event') {
item.originName = '巡查上报'
} else if (item.origin === 'ic_event') {
item.originName = '事件'
} else {
item.sourceTypeName = '--'
}
});
} else { } else {
} }
}, },

6
src/views/modules/shujuduibi/canji.vue

@ -19,7 +19,11 @@
</template> </template>
<template v-slot:listBtnSup="{ item }"> <template v-slot:listBtnSup="{ item }">
<el-button type="text" @click="handleSync(item)" size="small" <el-button
type="text"
v-if="item.dealStatus != 1"
@click="handleSync(item)"
size="small"
>全部更新</el-button >全部更新</el-button
> >
</template> </template>

6
src/views/modules/shujuduibi/siwang.vue

@ -19,7 +19,11 @@
</template> </template>
<template v-slot:listBtnSup="{ item }"> <template v-slot:listBtnSup="{ item }">
<el-button type="text" @click="handleSync(item)" size="small" <el-button
type="text"
v-if="item.dealStatus != 1"
@click="handleSync(item)"
size="small"
>全部更新</el-button >全部更新</el-button
> >
</template> </template>

Loading…
Cancel
Save