网络举报修复

Lvtianfang
许宏杰 2 years ago
parent 4f866f85f0
commit 4bb43489ee

@ -162,3 +162,13 @@
.desLable {
width: 180px !important;
}
.image-title {
margin: 10px 0;
font-size: 13px;
font-weight: bold;
color: #333;
}
.image-view {
border: 1px solid #e6ebf5;
}

@ -2,7 +2,7 @@
<el-image
:src="`${realSrc}`"
fit="cover"
:style="`width:${realWidth};height:${realHeight};`"
:style="`width:${realWidth};height:${realHeight};margin:${margin}`"
:preview-src-list="realSrcList"
>
<div slot="error" class="image-slot">
@ -19,16 +19,20 @@ export default {
props: {
src: {
type: String,
default: ""
default: "",
},
width: {
type: [Number, String],
default: ""
default: "",
},
margin: {
type: [Number, String],
default: "",
},
height: {
type: [Number, String],
default: ""
}
default: "",
},
},
computed: {
realSrc() {
@ -47,7 +51,7 @@ export default {
}
let real_src_list = this.src.split(",");
let srcList = [];
real_src_list.forEach(item => {
real_src_list.forEach((item) => {
if (isExternal(item)) {
return srcList.push(item);
}
@ -60,7 +64,7 @@ export default {
},
realHeight() {
return typeof this.height == "string" ? this.height : `${this.height}px`;
}
},
},
};
</script>

@ -15,16 +15,20 @@
:headers="headers"
:file-list="fileList"
:on-preview="handlePictureCardPreview"
:class="{hide: this.fileList.length >= this.limit}"
:class="{ hide: this.fileList.length >= this.limit }"
>
<i class="el-icon-plus"></i>
</el-upload>
<!-- 上传提示 -->
<div class="el-upload__tip" slot="tip" v-if="showTip">
请上传
<template v-if="fileSize"> <b style="color: #f56c6c">{{ fileSize }}MB</b> </template>
<template v-if="fileType"> <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
<template v-if="fileSize">
大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b>
</template>
<template v-if="fileType">
格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b>
</template>
的文件
</div>
@ -55,7 +59,7 @@ export default {
},
// (MB)
fileSize: {
type: Number,
type: Number,
default: 5,
},
// , ['png', 'jpg', 'jpeg']
@ -66,8 +70,8 @@ export default {
//
isShowTip: {
type: Boolean,
default: true
}
default: true,
},
},
data() {
return {
@ -77,11 +81,11 @@ export default {
dialogVisible: false,
hideUpload: false,
baseUrl: process.env.VUE_APP_BASE_API,
uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", //
uploadImgUrl: process.env.VUE_APP_BASE_API + "/zongzhi/common/upload", //
headers: {
Authorization: "Bearer " + getToken(),
},
fileList: []
fileList: [],
};
},
watch: {
@ -89,14 +93,14 @@ export default {
handler(val) {
if (val) {
//
const list = Array.isArray(val) ? val : this.value.split(',');
const list = Array.isArray(val) ? val : this.value.split(",");
//
this.fileList = list.map(item => {
this.fileList = list.map((item) => {
if (typeof item === "string") {
if (item.indexOf(this.baseUrl) === -1) {
item = { name: this.baseUrl + item, url: this.baseUrl + item };
item = { name: this.baseUrl + item, url: this.baseUrl + item };
} else {
item = { name: item, url: item };
item = { name: item, url: item };
}
}
return item;
@ -107,8 +111,8 @@ export default {
}
},
deep: true,
immediate: true
}
immediate: true,
},
},
computed: {
//
@ -125,7 +129,7 @@ export default {
if (file.name.lastIndexOf(".") > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
}
isImg = this.fileType.some(type => {
isImg = this.fileType.some((type) => {
if (file.type.indexOf(type) > -1) return true;
if (fileExtension && fileExtension.indexOf(type) > -1) return true;
return false;
@ -135,7 +139,9 @@ export default {
}
if (!isImg) {
this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}图片格式文件!`);
this.$modal.msgError(
`文件格式不正确, 请上传${this.fileType.join("/")}图片格式文件!`
);
return false;
}
if (this.fileSize) {
@ -167,8 +173,8 @@ export default {
},
//
handleDelete(file) {
const findex = this.fileList.map(f => f.name).indexOf(file.name);
if(findex > -1) {
const findex = this.fileList.map((f) => f.name).indexOf(file.name);
if (findex > -1) {
this.fileList.splice(findex, 1);
this.$emit("input", this.listToString(this.fileList));
}
@ -202,25 +208,25 @@ export default {
strs += list[i].url.replace(this.baseUrl, "") + separator;
}
}
return strs != '' ? strs.substr(0, strs.length - 1) : '';
}
}
return strs != "" ? strs.substr(0, strs.length - 1) : "";
},
},
};
</script>
<style scoped lang="scss">
// .el-upload--picture-card
::v-deep.hide .el-upload--picture-card {
display: none;
display: none;
}
//
::v-deep .el-list-enter-active,
::v-deep .el-list-leave-active {
transition: all 0s;
transition: all 0s;
}
::v-deep .el-list-enter, .el-list-leave-active {
opacity: 0;
transform: translateY(0);
::v-deep .el-list-enter,
.el-list-leave-active {
opacity: 0;
transform: translateY(0);
}
</style>

@ -112,7 +112,6 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="${comment}" align="center" prop="id" />
<el-table-column label="举报人" align="center" prop="jbMan" />
<el-table-column label="被举报对象" align="center" prop="jbdx" />
<el-table-column label="苏州编号" align="center" prop="jbbh" />
@ -201,7 +200,14 @@
class="dialog-from"
>
<el-form-item label="区域" prop="areaId">
<el-input v-model="form.areaId" placeholder="请输入区域" />
<el-select v-model="form.areaId" placeholder="请选择区域" filterable>
<el-option
v-for="dict in townList"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="举报人" prop="jbMan">
<el-input v-model="form.jbMan" placeholder="请输入举报人" />
@ -233,7 +239,11 @@
<el-input v-model="form.address" placeholder="请输入地址" />
</el-form-item>
<el-form-item label="举报内容">
<editor v-model="form.content" :min-height="192" />
<el-input
v-model="form.content"
type="textarea"
placeholder="请输入举报内容"
/>
</el-form-item>
<el-form-item label="状态" prop="state">
<el-select v-model="form.state" placeholder="请选择状态">
@ -279,7 +289,7 @@
labelClassName="desLable"
>
<el-descriptions-item label="区域">{{
form.areaId
$filterTown(form.areaId)
}}</el-descriptions-item>
<el-descriptions-item label="举报人">{{
@ -314,13 +324,16 @@
form.content
}}</el-descriptions-item>
<el-descriptions-item label="状态">{{
form.state
}}</el-descriptions-item>
<el-descriptions-item label="状态">
<dict-tag :options="dict.type.tc_steam_state" :value="form.state" />
</el-descriptions-item>
<el-descriptions-item label="来源">{{
form.source
}}</el-descriptions-item>
<el-descriptions-item label="来源">
<dict-tag
:options="dict.type.tc_net_jb_source"
:value="form.source"
/>
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div>

@ -264,9 +264,9 @@
form.zhuanxiangContent
}}</el-descriptions-item>
<el-descriptions-item label="专项图片">{{
<!-- <el-descriptions-item label="专项图片">{{
form.zhuanxiangImg
}}</el-descriptions-item>
}}</el-descriptions-item> -->
<el-descriptions-item label="处理类型">
<dict-tag
@ -275,6 +275,17 @@
/>
</el-descriptions-item>
</el-descriptions>
<div class="image-title">专项图片</div>
<div class="image-view">
<ImagePreview
v-for="(item, index) in imageList"
:key="'image' + index"
:src="item"
margin="10px"
width="60px"
height="60px"
/>
</div>
</el-dialog>
</div>
</template>
@ -298,6 +309,7 @@ export default {
dicts: ["tc_chuli_type"],
data() {
return {
imageList: [],
tableHeigth: 0,
//
infoOpen: false,
@ -396,6 +408,7 @@ export default {
remark: null,
};
this.imageList = [];
this.resetForm("form");
},
/** 搜索按钮操作 */
@ -419,6 +432,11 @@ export default {
this.reset();
const id = row.id || this.ids;
getZhuanxiang(id).then((response) => {
if (response.data.zhuanxiangImg) {
this.imageList = response.data.zhuanxiangImg.split(",");
} else {
this.imageList = [];
}
this.form = response.data;
this.infoOpen = true;
this.infoTitle = "查看清朗专项详情";

Loading…
Cancel
Save