Browse Source

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

yantai_master
dai 3 years ago
parent
commit
5258c58af3
  1. 17
      src/views/components/tinymce2/index.vue
  2. 95
      src/views/modules/base/epidemic/natFocus/nfVisiteList.vue
  3. 98
      src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue
  4. 103
      src/views/modules/communityParty/regionalParty/activitysDetail.vue
  5. 2
      src/views/modules/communityParty/regionalParty/activitysForm.vue
  6. 173
      src/views/modules/cpts/base/cpts/edit.vue
  7. 17
      src/views/modules/visual/communityGovern/zhongdianxingcheng/zhongdianxingcheng.vue

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

@ -93,7 +93,7 @@ export default {
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", "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} img{max-width:100%;}",
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:
"微软雅黑=Microsoft YaHei,Helvetica Neue,PingFang SC,sans-serif;苹果苹方=PingFang SC,Microsoft YaHei,sans-serif;宋体=simsun,serif;仿宋体=FangSong,serif;黑体=SimHei,sans-serif;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;", "微软雅黑=Microsoft YaHei,Helvetica Neue,PingFang SC,sans-serif;苹果苹方=PingFang SC,Microsoft YaHei,sans-serif;宋体=simsun,serif;仿宋体=FangSong,serif;黑体=SimHei,sans-serif;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;",
@ -152,6 +152,21 @@ export default {
// tinymce.init; // // tinymce.init; //
const revert_data = (content) => { const revert_data = (content) => {
// content =
// '<img> <img srt=""> <img style="width:100px;"> <img style="max-width:100%;width:100px;">';
// content = content.replace(/<(img).*?(>|\/>|<\/img>)/g, function (mats) {
// if (mats.indexOf("style") < 0) {
// return mats.replace(
// /<\s*img/,
// '<img style="max-width:100%;height:auto;"'
// );
// } else {
// return mats.replace(
// /style=("|')/,
// "style=$1max-width:100%;height:auto;"
// );
// }
// });
this.$emit("input", content); this.$emit("input", content);
}; };

95
src/views/modules/base/epidemic/natFocus/nfVisiteList.vue

@ -37,6 +37,23 @@
</el-table-column> </el-table-column>
<el-table-column fixed="right"
label="操作"
align="center"
width="100">
<template slot-scope="scope">
<el-button @click="handleWatch(scope.row)"
type="text"
size="small">查看</el-button>
<el-button @click="handleDel(scope.row)"
type="text"
class="div-table-button--delete"
size="small">删除</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<div> <div>
<el-pagination @size-change="handleSizeChange" <el-pagination @size-change="handleSizeChange"
@ -57,7 +74,8 @@
@closed="handleCancle"> @closed="handleCancle">
<div v-if="dialogVisible" <div v-if="dialogVisible"
class="epidemic-form"> class="epidemic-form">
<el-form ref="ref_form" <el-form v-if="formType==='add'"
ref="ref_form"
:inline="true" :inline="true"
:model="formData" :model="formData"
:rules="dataRule" :rules="dataRule"
@ -76,6 +94,7 @@
clearable clearable
placeholder="选择时间"> placeholder="选择时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="随访内容" <el-form-item label="随访内容"
@ -90,19 +109,38 @@
clearable clearable
placeholder="请输入随访内容" placeholder="请输入随访内容"
v-model="formData.content"></el-input> v-model="formData.content"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div v-else
class="m-row">
<div class="m-info">
<div class="info-prop">
<span class="info-title-2">随访时间</span>
<span>{{ formData.visitTime||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">随访内容</span>
<span>{{ formData.content||'--' }}</span>
</div>
</div>
</div>
<div class="form_div_btn"> <div class="form_div_btn">
<el-button size="small" <el-button size="small"
@click="handleCancle"> </el-button> @click="handleCancle">{{formType==='add'?'取 消':'关 闭'}}</el-button>
<el-button size="small" <el-button v-if="formType==='add'"
size="small"
type="primary" type="primary"
@click="handleComfirm"> </el-button> @click="handleComfirm"> </el-button>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -116,6 +154,7 @@ export default {
data () { data () {
return { return {
tableLoading: false, tableLoading: false,
formType: 'add',
tableData: [], tableData: [],
total: 0, total: 0,
@ -188,11 +227,33 @@ export default {
}, },
handleAdd () { handleAdd () {
this.formData.id = ''
this.formType = 'add'
this.dialogVisible = true
},
handleWatch (row) {
this.formType = 'detail'
this.formData = JSON.parse(JSON.stringify(row))
this.dialogVisible = true this.dialogVisible = true
}, },
async handleComfirm () { async handleComfirm () {
this.$refs['ref_form'].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj)
} else {
this.handleAddVisit()
}
})
},
async handleAddVisit () {
this.formData.visitTime = this.formData.visitTime + ':00' this.formData.visitTime = this.formData.visitTime + ':00'
let url = "/epmetuser/followup/save" let url = "/epmetuser/followup/save"
// let url = "http://yapi.elinkservice.cn/mock/245/epmetuser/followup/save" // let url = "http://yapi.elinkservice.cn/mock/245/epmetuser/followup/save"
@ -205,7 +266,6 @@ export default {
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
handleCancle () { handleCancle () {
@ -215,6 +275,31 @@ export default {
}, },
async handleDel (rowData) {
let message = "确认删除?";
this.$confirm(message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
this.delEvent(rowData.id);
}).catch((err) => { });
},
async delEvent (id) {
const url = "/epmetuser/followup/delete";
let idsArr = [id];
const { data, code, msg } = await requestPost(url, idsArr);
if (code === 0) {
this.$message.success("删除成功!");
this.loadTable();
} else {
this.$message.error("操作失败!");
}
},
// //
async handleExport () { async handleExport () {
let today = new Date() let today = new Date()
@ -324,5 +409,7 @@ export default {
<style lang="scss" scoped > <style lang="scss" scoped >
@import "@/assets/scss/buttonstyle.scss";
@import "@/assets/scss/modules/management/epidemic.scss"; @import "@/assets/scss/modules/management/epidemic.scss";
@import "@/assets/scss/modules/management/detail-main.scss";
</style> </style>

98
src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue

@ -33,12 +33,29 @@
header-align="center" header-align="center"
align="center" align="center"
label="随访内容" label="随访内容"
:show-overflow-tooltip="true"
min-width="280"> min-width="280">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="twoline">{{scope.row.content}}</div> <div class="twoline">{{scope.row.content}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="right"
label="操作"
align="center"
width="100">
<template slot-scope="scope">
<el-button @click="handleWatch(scope.row)"
type="text"
size="small">查看</el-button>
<el-button @click="handleDel(scope.row)"
type="text"
class="div-table-button--delete"
size="small">删除</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<div> <div>
@ -59,7 +76,8 @@
append-to-body append-to-body
@closed="handleCancle"> @closed="handleCancle">
<div class="epidemic-form"> <div class="epidemic-form">
<el-form ref="ref_form" <el-form v-if="formType==='add'"
ref="ref_form"
:inline="true" :inline="true"
:model="formData" :model="formData"
:rules="dataRule" :rules="dataRule"
@ -78,6 +96,7 @@
clearable clearable
placeholder="选择时间"> placeholder="选择时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="随访内容" <el-form-item label="随访内容"
@ -92,14 +111,32 @@
clearable clearable
placeholder="请输入随访内容" placeholder="请输入随访内容"
v-model="formData.content"></el-input> v-model="formData.content"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div v-else
class="m-row">
<div class="m-info">
<div class="info-prop">
<span class="info-title-2">随访时间</span>
<span>{{ formData.visitTime||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">随访内容</span>
<span>{{ formData.content||'--' }}</span>
</div>
</div>
</div>
<div class="form_div_btn"> <div class="form_div_btn">
<el-button size="small" <el-button size="small"
@click="handleCancle"> </el-button> @click="handleCancle">{{formType==='add'?'取 消':'关 闭'}}</el-button>
<el-button size="small" <el-button v-if="formType==='add'"
size="small"
type="primary" type="primary"
@click="handleComfirm"> </el-button> @click="handleComfirm"> </el-button>
</div> </div>
@ -118,7 +155,7 @@ export default {
data () { data () {
return { return {
tableLoading: false, tableLoading: false,
formType: 'add',
tableData: [], tableData: [],
total: 0, total: 0,
pageSize: 20, pageSize: 20,
@ -189,11 +226,33 @@ export default {
}, },
handleAdd () { handleAdd () {
this.formData.id = ''
this.formType = 'add'
this.dialogVisible = true
},
handleWatch (row) {
this.formType = 'detail'
this.formData = JSON.parse(JSON.stringify(row))
this.dialogVisible = true this.dialogVisible = true
}, },
async handleComfirm () { async handleComfirm () {
this.$refs['ref_form'].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj)
} else {
this.handleAddVisit()
}
})
},
async handleAddVisit () {
this.formData.visitTime = this.formData.visitTime + ':00' this.formData.visitTime = this.formData.visitTime + ':00'
let url = "/epmetuser/followup/save" let url = "/epmetuser/followup/save"
// let url = "http://yapi.elinkservice.cn/mock/245/epmetuser/followup/save" // let url = "http://yapi.elinkservice.cn/mock/245/epmetuser/followup/save"
@ -206,15 +265,40 @@ export default {
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
handleCancle () { handleCancle () {
this.$refs.ref_form.resetFields() this.formData.visitTime = ''
this.formData.content = ''
this.dialogVisible = false this.dialogVisible = false
}, },
async handleDel (rowData) {
let message = "确认删除?";
this.$confirm(message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
this.delEvent(rowData.id);
}).catch((err) => { });
},
async delEvent (id) {
const url = "/epmetuser/followup/delete";
let idsArr = [id];
const { data, code, msg } = await requestPost(url, idsArr);
if (code === 0) {
this.$message.success("删除成功!");
this.loadTable();
} else {
this.$message.error("操作失败!");
}
},
// //
async handleExport () { async handleExport () {
let today = new Date() let today = new Date()
@ -324,5 +408,7 @@ export default {
<style lang="scss" scoped > <style lang="scss" scoped >
@import "@/assets/scss/buttonstyle.scss";
@import "@/assets/scss/modules/management/epidemic.scss"; @import "@/assets/scss/modules/management/epidemic.scss";
@import "@/assets/scss/modules/management/detail-main.scss";
</style> </style>

103
src/views/modules/communityParty/regionalParty/activitysDetail.vue

@ -1,11 +1,8 @@
<template> <template>
<div> <div>
<div class="dialog-h-content scroll-h"> <div class="dialog-h-content scroll-h">
<div v-if="initLoading" <div v-if="initLoading" class="m-row">
class="m-row">
<div class="m-info"> <div class="m-info">
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">所属网格</span> <span class="info-title-2">所属网格</span>
<span>{{ formData.gridName }}</span> <span>{{ formData.gridName }}</span>
@ -24,8 +21,7 @@
</div> </div>
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">活动内容</span> <span class="info-title-2">活动内容</span>
<p class="text_p" <p class="text_p" v-html="formData.content"></p>
v-html="formData.content"></p>
</div> </div>
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">服务人数</span> <span class="info-title-2">服务人数</span>
@ -42,61 +38,44 @@
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">活动地图</span> <span class="info-title-2">活动地图</span>
<div class="div_map"> <div class="div_map">
<div id="app_detail_activity"></div> <div id="app_detail_activity"></div>
</div> </div>
</div> </div>
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">活动成果</span> <span class="info-title-2">活动成果</span>
<p class="text_p" <p class="text_p" v-html="formData.result"></p>
v-html="formData.result"></p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="div-btn"> <div class="div-btn">
<el-button size="small" <el-button size="small" @click="handleCancle"> </el-button>
@click="handleCancle"> </el-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { Loading } from "element-ui"; // Loading
import { Loading } from 'element-ui' // Loading
import daiMap from "@/utils/dai-map"; import daiMap from "@/utils/dai-map";
var map var map;
var search let loading; //
var markers
var infoWindowList
var geocoder //
let loading //
export default { export default {
data() { data() {
return { return {
formData: {}, formData: {},
initLoading: false initLoading: false,
} };
}, },
components: {}, components: {},
mounted () { mounted() {},
},
methods: { methods: {
handleCancle() { handleCancle() {
this.diaDestroy() this.diaDestroy();
this.$emit('diaDetailClose') this.$emit("diaDetailClose");
}, },
diaDestroy() { diaDestroy() {
@ -106,26 +85,23 @@ export default {
}, },
async initForm(row) { async initForm(row) {
this.startLoading();
this.startLoading() const { user } = this.$store.state;
const { user } = this.$store.state this.agencyId = user.agencyId;
this.agencyId = user.agencyId
for (let item of this.serviceList) { for (let item of this.serviceList) {
if (row.serviceMatter === item.value) { if (row.serviceMatter === item.value) {
row.serviceMatterShow = item.label row.serviceMatterShow = item.label;
} }
} }
this.formData = { ...row } this.formData = { ...row };
this.initLoading = true
this.initLoading = true;
let { latitude, longitude } = this.$store.state.user; let { latitude, longitude } = this.$store.state.user;
console.log('lat' + latitude + ',lon' + longitude) console.log("lat" + latitude + ",lon" + longitude);
if (this.formData.latitude && this.formData.longitude) { if (this.formData.latitude && this.formData.longitude) {
latitude = this.formData.latitude latitude = this.formData.latitude;
longitude = this.formData.longitude longitude = this.formData.longitude;
} }
if (!latitude || latitude == "" || latitude == "0") { if (!latitude || latitude == "" || latitude == "0") {
latitude = 39.9088810666821; latitude = 39.9088810666821;
@ -133,23 +109,18 @@ export default {
} }
this.$nextTick(() => { this.$nextTick(() => {
if (!map) { if (!map) {
this.initMap(latitude, longitude) this.initMap(latitude, longitude);
} else { } else {
map.setCenter(latitude, longitude); map.setCenter(latitude, longitude);
map.setMarker(latitude, longitude); map.setMarker(latitude, longitude);
} }
});
}) this.endLoading();
this.endLoading()
}, },
// init // init
initMap(latitude, longitude) { initMap(latitude, longitude) {
map = new daiMap( map = new daiMap(
document.getElementById("app_detail_activity"), document.getElementById("app_detail_activity"),
{ latitude, longitude }, { latitude, longitude },
@ -167,37 +138,36 @@ export default {
map.setCenter(latitude, longitude); map.setCenter(latitude, longitude);
map.setMarker(latitude, longitude); map.setMarker(latitude, longitude);
}, },
// //
startLoading() { startLoading() {
loading = Loading.service({ loading = Loading.service({
lock: true, // lock: true, //
text: '正在加载……', // text: "正在加载……", //
background: 'rgba(0,0,0,.7)' // background: "rgba(0,0,0,.7)", //
}) });
}, },
// //
endLoading() { endLoading() {
// clearTimeout(timer); // clearTimeout(timer);
if (loading) { if (loading) {
loading.close() loading.close();
}
} }
}, },
},
computed: {}, computed: {},
props: { props: {
serviceList: { serviceList: {
type: Array, type: Array,
default: [] default: [],
}, },
gridList: { gridList: {
type: Array, type: Array,
default: [] default: [],
}, },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -205,13 +175,16 @@ export default {
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.text_p { /deep/ .text_p {
margin: 0 0; margin: 0 0;
border: 3px; border: 3px;
> p { > p {
margin: 0 0; margin: 0 0;
} }
img {
max-width: 100%;
height: auto;
}
} }
</style> </style>

2
src/views/modules/communityParty/regionalParty/activitysForm.vue

@ -349,7 +349,7 @@ export default {
let style_img = "style='width:50px;height:40px;' " let style_img = "style='width:50px;height:40px;' "
if (this.formData.content) { if (this.formData.content) {
this.formData.content = this.formData.content.replace(/<img/g, "<img style='width:200px;height:120px;'") // this.formData.content = this.formData.content.replace(/<img/g, "<img style='width:200px;height:120px;'")
// let array=this.formData.content.split('<img') // let array=this.formData.content.split('<img')
} }

173
src/views/modules/cpts/base/cpts/edit.vue

@ -1,34 +1,41 @@
<template> <template>
<div> <div>
<div class="dialog-h-content scroll-h"> <div class="dialog-h-content scroll-h">
<el-form v-if="iniLoaded" <el-form
v-if="iniLoaded"
ref="ref_form" ref="ref_form"
:model="fmData" :model="fmData"
:inline="true" :inline="true"
:disabled="formType === 'watch'" :disabled="formType === 'watch'"
class="m-fm" class="m-fm"
:class="{ 'z-div': editParamsDiv, 'z-watch': formType === 'watch' }"> :class="{ 'z-div': editParamsDiv, 'z-watch': formType === 'watch' }"
>
<div class="list"> <div class="list">
<el-form-item v-for="item in editParams" <el-form-item
v-for="item in editParams"
class="item" class="item"
label-width="140px" label-width="140px"
style="display: block" style="display: block"
:key="'edit' + item.keyName" :key="'edit' + item.keyName"
:label="item.field" :label="item.field"
:prop="item.keyName" :prop="item.keyName"
:rules="item.rules || []"> :rules="item.rules || []"
>
<template v-if="item.type == 'switch'"> <template v-if="item.type == 'switch'">
<el-switch v-model="fmData[item.keyName]" <el-switch
v-model="fmData[item.keyName]"
size="small" size="small"
:active-text="item.activeText || ''" :active-text="item.activeText || ''"
:inactive-text="item.inactiveText || ''" :inactive-text="item.inactiveText || ''"
:active-value="item.activeValue || true" :active-value="item.activeValue || true"
:inactive-value="item.inactiveValue || false"> :inactive-value="item.inactiveValue || false"
>
</el-switch> </el-switch>
</template> </template>
<template v-if="item.type == 'input'"> <template v-if="item.type == 'input'">
<el-input v-if=" <el-input
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
@ -37,18 +44,19 @@
clearable clearable
show-word-limit show-word-limit
:maxlength="item.maxlength || ''" :maxlength="item.maxlength || ''"
:placeholder="item.placeholder || '请输入'"> :placeholder="item.placeholder || '请输入'"
>
</el-input> </el-input>
<div class="item-show" <div class="item-show" v-else>
v-else>
{{ fmData[item.keyName] || "--" }} {{ fmData[item.keyName] || "--" }}
<span v-if="item.attach">{{ item.attach }}</span> <span v-if="item.attach">{{ item.attach }}</span>
</div> </div>
</template> </template>
<template v-if="item.type == 'textarea'"> <template v-if="item.type == 'textarea'">
<el-input v-if=" <el-input
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
@ -59,17 +67,18 @@
show-word-limit show-word-limit
:rows="3" :rows="3"
:maxlength="item.maxlength || ''" :maxlength="item.maxlength || ''"
:placeholder="item.placeholder || '请输入'"> :placeholder="item.placeholder || '请输入'"
>
</el-input> </el-input>
<div class="item-show" <div class="item-show" v-else>
v-else>
{{ fmData[item.keyName] || "--" }} {{ fmData[item.keyName] || "--" }}
</div> </div>
</template> </template>
<template v-if="item.type == 'date'"> <template v-if="item.type == 'date'">
<el-date-picker v-if=" <el-date-picker
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
@ -79,17 +88,18 @@
clearable clearable
show-word-limit show-word-limit
:value-format="item.format || 'yyyy-MM-dd'" :value-format="item.format || 'yyyy-MM-dd'"
:placeholder="item.placeholder || '请输入'"> :placeholder="item.placeholder || '请输入'"
>
</el-date-picker> </el-date-picker>
<div class="item-show" <div class="item-show" v-else>
v-else>
{{ fmData[item.keyName] || "--" }} {{ fmData[item.keyName] || "--" }}
</div> </div>
</template> </template>
<template v-if="item.type == 'number'"> <template v-if="item.type == 'number'">
<el-input-number v-if=" <el-input-number
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
@ -100,17 +110,18 @@
:step="item.step || 1" :step="item.step || 1"
:min="item.min || 0" :min="item.min || 0"
:max="item.max || 999999999999" :max="item.max || 999999999999"
:placeholder="item.placeholder || '请输入'"> :placeholder="item.placeholder || '请输入'"
>
</el-input-number> </el-input-number>
<span class="item-show" <span class="item-show" v-else>
v-else>
{{ fmData[item.keyName] || "--" }} {{ fmData[item.keyName] || "--" }}
</span> </span>
<span v-if="item.unitName">{{ item.unitName }}</span> <span v-if="item.unitName">{{ item.unitName }}</span>
</template> </template>
<template v-else-if="item.type == 'select'"> <template v-else-if="item.type == 'select'">
<el-select v-model="fmData[item.keyName]" <el-select
v-model="fmData[item.keyName]"
:placeholder="item.placeholder || '请选择'" :placeholder="item.placeholder || '请选择'"
size="small" size="small"
clearable clearable
@ -120,48 +131,62 @@
:allowCreate="item.allowCreate || false" :allowCreate="item.allowCreate || false"
:collapse-tags="item.collapseTags || false" :collapse-tags="item.collapseTags || false"
default-first-option default-first-option
@change="(e) => handleChangeSelect(e, item)"> @change="(e) => handleChangeSelect(e, item)"
>
<template v-if="item.optionType == 'group'"> <template v-if="item.optionType == 'group'">
<el-option-group v-for="group in item.optionList" <el-option-group
v-for="group in item.optionList"
:key="group.label" :key="group.label"
:label="group.label"> :label="group.label"
<el-option v-for="subItem in group.optionList" >
<el-option
v-for="subItem in group.optionList"
:key="subItem.value" :key="subItem.value"
:label="subItem.label" :label="subItem.label"
:value="subItem.value"> :value="subItem.value"
>
</el-option> </el-option>
</el-option-group> </el-option-group>
</template> </template>
<template v-else> <template v-else>
<el-option v-for="(subItem, subIndex) in item.optionList" <el-option
v-for="(subItem, subIndex) in item.optionList"
:key="subItem.value + subIndex" :key="subItem.value + subIndex"
:label="subItem.label" :label="subItem.label"
:value="subItem.value"> :value="subItem.value"
>
</el-option> </el-option>
</template> </template>
</el-select> </el-select>
</template> </template>
<template v-else-if="item.type == 'rich-text'"> <template v-else-if="item.type == 'rich-text'">
<div v-if=" <div
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
class="item-rich-text"> class="item-rich-text"
<Tinymce :ref="'richText' + item.keyName" >
<Tinymce
:ref="'richText' + item.keyName"
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
:customerId="customerId" :customerId="customerId"
:placeholder="item.placeholder || '请输入'" :placeholder="item.placeholder || '请输入'"
:height="500" /> :height="500"
/>
</div> </div>
<div v-else <div
v-else
class="item-rich-text z-show" class="item-rich-text z-show"
@click="handleClickHtmlNode"> @click="handleClickHtmlNode"
>
<div v-html="fmData[item.keyName]"></div> <div v-html="fmData[item.keyName]"></div>
</div> </div>
</template> </template>
<template v-else-if="item.type == 'cascader'"> <template v-else-if="item.type == 'cascader'">
<el-cascader v-model="fmData[item.keyName]" <el-cascader
v-model="fmData[item.keyName]"
:placeholder="item.placeholder || '请选择'" :placeholder="item.placeholder || '请选择'"
:options="item.optionList" :options="item.optionList"
:props="item.optionProps || {}" :props="item.optionProps || {}"
@ -170,12 +195,14 @@
size="small" size="small"
clearable clearable
class="item-select" class="item-select"
@change="(e) => handleChangeCascader(e, item)"> @change="(e) => handleChangeCascader(e, item)"
>
</el-cascader> </el-cascader>
</template> </template>
<template v-else-if="item.type == 'upload'"> <template v-else-if="item.type == 'upload'">
<el-upload :headers="$getElUploadHeaders()" <el-upload
:headers="$getElUploadHeaders()"
v-if=" v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
@ -192,14 +219,17 @@
:on-error="(res, file) => handleImgError(res, file, item)" :on-error="(res, file) => handleImgError(res, file, item)"
:on-remove="(res) => handleImgRemove(res, item)" :on-remove="(res) => handleImgRemove(res, item)"
:on-exceed="(res) => handleImgExceed(res, item)" :on-exceed="(res) => handleImgExceed(res, item)"
:before-upload="(file) => beforeImgUpload(file, item)"> :before-upload="(file) => beforeImgUpload(file, item)"
>
<a><i class="el-icon-plus"></i> 点击上传</a> <a><i class="el-icon-plus"></i> 点击上传</a>
</el-upload> </el-upload>
<el-image v-else-if="fmData[item.keyName].length > 0" <el-image
v-else-if="fmData[item.keyName].length > 0"
style="width: 100px; height: 100px" style="width: 100px; height: 100px"
:src="fmData[item.keyName][0].url" :src="fmData[item.keyName][0].url"
fit="cover" fit="cover"
:preview-src-list="fmData[item.keyName].map((item) => item.url)"></el-image> :preview-src-list="fmData[item.keyName].map((item) => item.url)"
></el-image>
<span v-else>--</span> <span v-else>--</span>
</template> </template>
@ -239,16 +269,20 @@
<div id="app_base" class="div_map"></div> <div id="app_base" class="div_map"></div>
<div style="margin-top: 10px" v-show="false"> <div style="margin-top: 10px" v-show="false">
<span>经度</span> <span>经度</span>
<el-input class="address-item-input2" <el-input
class="address-item-input2"
maxlength="50" maxlength="50"
placeholder="请输入经度" placeholder="请输入经度"
v-model="fmData[item.supKeys[0]]"> v-model="fmData[item.supKeys[0]]"
>
</el-input> </el-input>
<span style="margin-left: 20px">纬度</span> <span style="margin-left: 20px">纬度</span>
<el-input class="address-item-input2" <el-input
class="address-item-input2"
maxlength="50" maxlength="50"
placeholder="请输入纬度" placeholder="请输入纬度"
v-model="fmData[item.supKeys[1]]"> v-model="fmData[item.supKeys[1]]"
>
</el-input> </el-input>
</div> </div>
</div> </div>
@ -275,44 +309,52 @@
</div> </div>
</el-form> </el-form>
<div class="div_btn resi-btns" <div class="div_btn resi-btns" v-if="!formBtnFixed">
v-if="!formBtnFixed"> <el-button size="small" @click="handleCancle">{{
<el-button size="small"
@click="handleCancle">{{
editConfig.cancelBtnName || "取消" editConfig.cancelBtnName || "取消"
}}</el-button> }}</el-button>
<el-button v-if="formType != 'watch'" <el-button
v-if="formType != 'watch'"
type="primary" type="primary"
size="small" size="small"
:disabled="btnDisable" :disabled="btnDisable"
@click="handleComfirm">{{ editConfig.confirmBtnName || "确定" }}</el-button> @click="handleComfirm"
<slot name="operateSup" >{{ editConfig.confirmBtnName || "确定" }}</el-button
>
<slot
name="operateSup"
v-bind:id="formId" v-bind:id="formId"
v-bind:info="fmData" v-bind:info="fmData"
v-bind:formType="formType"></slot> v-bind:formType="formType"
></slot>
</div> </div>
<slot name="bottomSup" <slot
name="bottomSup"
v-bind:id="formId" v-bind:id="formId"
v-bind:info="fmData" v-bind:info="fmData"
v-bind:formType="formType"></slot> v-bind:formType="formType"
></slot>
</div> </div>
<div class="div_btn resi-btns" <div class="div_btn resi-btns" v-if="formBtnFixed">
v-if="formBtnFixed"> <el-button size="small" @click="handleCancle">{{
<el-button size="small"
@click="handleCancle">{{
editConfig.cancelBtnName || "取消" editConfig.cancelBtnName || "取消"
}}</el-button> }}</el-button>
<el-button v-if="formType != 'watch'" <el-button
v-if="formType != 'watch'"
type="primary" type="primary"
size="small" size="small"
:disabled="btnDisable" :disabled="btnDisable"
@click="handleComfirm">{{ editConfig.confirmBtnName || "确定" }}</el-button> @click="handleComfirm"
<slot name="operateSup" >{{ editConfig.confirmBtnName || "确定" }}</el-button
>
<slot
name="operateSup"
v-bind:id="formId" v-bind:id="formId"
v-bind:info="fmData" v-bind:info="fmData"
v-bind:formType="formType"></slot> v-bind:formType="formType"
></slot>
</div> </div>
</div> </div>
</template> </template>
@ -927,13 +969,14 @@ export default {
.item { .item {
min-width: 45%; min-width: 45%;
.item-rich-text { /deep/ .item-rich-text {
width: 817px; width: 817px;
max-height: 500px; max-height: 500px;
overflow: auto; overflow: auto;
img { img {
max-width: 100%; max-width: 100%;
height: auto;
} }
&.z-show { &.z-show {
box-sizing: border-box; box-sizing: border-box;

17
src/views/modules/visual/communityGovern/zhongdianxingcheng/zhongdianxingcheng.vue

@ -99,6 +99,7 @@ export default {
colorArray: [], colorArray: [],
pieData: [], pieData: [],
name: '',
code: '', code: '',
dangerLevel: '', dangerLevel: '',
@ -192,11 +193,15 @@ export default {
}, },
async handleAreaChange (val) { async handleAreaChange (val) {
debugger
if (val.length > 0) { if (val.length > 0) {
// this.code = val.join('-') // this.code = val.join('-')
this.code = val[val.length - 1] // this.code = val[val.length - 1]
this.name = this.$refs["sourceArea"].getCheckedNodes()[0].label
} else { } else {
this.code = '' // this.code = ''
this.name = ''
} }
await this.getPieChart() await this.getPieChart()
@ -268,7 +273,8 @@ export default {
const url = "/epmetuser/tripreport/emphasisTripPieDetail"; const url = "/epmetuser/tripreport/emphasisTripPieDetail";
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/tripreport/emphasisTripPieDetail"; // const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/tripreport/emphasisTripPieDetail";
let params = { let params = {
code: this.code,
name: this.name,
}; };
@ -418,7 +424,7 @@ export default {
const url = "/epmetuser/tripreport/list"; const url = "/epmetuser/tripreport/list";
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/tripreport/list"; // const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/tripreport/list";
let params = { let params = {
code: this.code, name: this.name,
dangerLevel: this.dangerLevel, dangerLevel: this.dangerLevel,
pageNo: this.demand.pageNo, pageNo: this.demand.pageNo,
pageSize: this.demand.pageSize, pageSize: this.demand.pageSize,
@ -491,6 +497,9 @@ export default {
this.getApiData(); this.getApiData();
window.scrollTo(0, 0); window.scrollTo(0, 0);
}, },
// sourceAllCode (val) {
// // debugger
// }
}, },
}; };
</script> </script>

Loading…
Cancel
Save