Browse Source

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

# Conflicts:
#	src/views/modules/base/epidemic/antiInfo.vue
#	src/views/modules/communityParty/heart/heartForm.vue
yantai_master
dai 3 years ago
parent
commit
2112f03c47
  1. 4
      package.json
  2. 25
      src/views/components/tinymce2/index.vue
  3. 241
      src/views/modules/base/community/community.vue
  4. 32
      src/views/modules/base/community/roomTable.vue
  5. 38
      src/views/modules/base/epidemic/natFocus/natFocusList.vue
  6. 3
      src/views/modules/base/epidemic/natInfo/natList.vue
  7. 44
      src/views/modules/base/epidemic/natInfo/noNatList.vue
  8. 316
      src/views/modules/communityParty/article/index.vue
  9. 441
      src/views/modules/communityParty/heart/heartForm.vue
  10. 11
      src/views/modules/cpts/base/index.vue
  11. 94
      src/views/modules/plugins/rent/rentcontractinfo-add-or-update.vue
  12. 66
      src/views/modules/plugins/rent/rentcontractinfo-look-or-check.vue

4
package.json

@ -60,7 +60,7 @@
},
"devDependencies": {
"@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-eslint": "^3.10.0",
"@vue/cli-service": "^3.10.0",
@ -71,7 +71,7 @@
"ol": "^6.9.0",
"sass-loader": "^7.3.1",
"script-loader": "^0.7.2",
"tinymce": "^5.8.2",
"tinymce": "5.8.2",
"vue-template-compiler": "^2.6.11"
},
"eslintConfig": {

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

@ -87,11 +87,12 @@ export default {
toolbar_mode: "none",
toolbar_drawer: "sliding",
toolbar_mode: "sliding",
outputFormat: 'p',
outputFormat: "p",
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
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}",
fontsize_formats: "12px 14px 16px 18px 24px 36px 48px 56px 72px",
font_formats:
@ -171,17 +172,16 @@ export default {
if (editor && val !== prevVal && val !== editor.getContent()) {
if (typeof val !== "string") val = val.toString();
debounceSetContent.call(editor, val);
return
return;
}
// debounceSetContent.call(editor, this.dormatHtml(val));
});
editor.on("change keyup undo redo", () => {
// 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());
// debounce(500, this.$emit("input", editor.getContent({ format : 'p' })));
;
});
editor.on("blur", () => {
// console.log('editor.blur--', editor.getContent({ format : 'p' }))
@ -190,12 +190,12 @@ export default {
});
},
dormatHtml(content) {
let c = ''
if (content.indexOf('DOCTYPE') != -1) {
let c = "";
if (content.indexOf("DOCTYPE") != -1) {
c = content.slice(45, -16);
}
console.log('content', typeof content)
return c || content
console.log("content", typeof content);
return c || content;
},
getUserToken() {
return localStorage.getItem("token");
@ -211,3 +211,10 @@ export default {
},
};
</script>
<style lang="scss">
//
.tox-tinymce-aux {
z-index: 5000 !important;
}
</style>

241
src/views/modules/base/community/community.vue

@ -122,6 +122,72 @@
</el-date-picker>
</el-form-item>
<el-form-item label="所属房屋">
<div class="resi-cell-value">
<div class="resi-cell-col">
<el-form-item prop="neighborHoodId">
<el-select v-model.trim="neighborHoodId"
:disabled="vDisabled"
placeholder="小区"
size="small"
clearable
class="resi-cell-select"
@change="handleChangeV">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="buildingId">
<el-select v-model.trim="buildingId"
placeholder="楼号"
:disabled="!neighborHoodId || bDisabled"
size="small"
clearable
class="resi-cell-select resi-cell-select-middle list_item_width_1"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="buildingUnitId">
<el-select v-model.trim="buildingUnitId"
placeholder="单元"
size="small"
:disabled="!buildingId"
clearable
class="resi-cell-select resi-cell-select-middle list_item_width_1"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="houseId">
<el-select v-model.trim="houseId"
placeholder="房号"
:disabled="!buildingUnitId"
size="small"
clearable
class="resi-cell-select resi-cell-select-middle list_item_width_1">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
</div>
</el-form-item>
<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@ -155,6 +221,10 @@
:ownerPhone="ownerPhone"
:rentFlag="rentFlag"
:purpose="purpose"
:neighborHoodId="neighborHoodId"
:buildingId="buildingId"
:buildingUnitId="buildingUnitId"
:houseId="houseId"
:remark="remark"
:updateStartDate="updateStartDate"
:updateEndDate="updateEndDate"
@ -187,6 +257,7 @@ import roomTable from './roomTable'
import { requestPost } from "@/js/dai/request";
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import nextTick from 'dai-js/tools/nextTick'
let loading //
export default {
@ -263,6 +334,20 @@ export default {
startPickerOptions: {
disabledDate: startDisabledDate
},
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
neighborHoodId: "",
buildingId: "",
buildingUnitId: "",
houseId: "",
selGridId: '',
selAgencyId: '',
vDisabled: false,
bDisabled: false,
}
},
components: {
@ -274,6 +359,7 @@ export default {
await this.loadOrgData()
await this.loadTree()
// await this.loadOpenNode()
this.getValiheList('', '')
await this.$refs['ref_communityTable'].loadTable(true, this.selTreeObj)
if (this.treeData.length > 0) {
@ -299,6 +385,113 @@ export default {
...mapGetters(['clientHeight', 'iframeHeight'])
},
methods: {
handleChangeV (val) {
this.buildingId = "";
this.buildingUnitId = "";
this.houseId = "";
this.getBuildList();
// this.getUniList();
// this.getHouseList();
},
handleChangeB (val) {
this.buildingUnitId = "";
this.houseId = "";
this.getUniList();
// this.getHouseList();
},
handleChangeD () {
this.houseId = "";
this.getHouseList();
},
async getValiheList () {
const { user } = this.$store.state;
if (!this.selGridId) {
this.selAgencyId = this.selAgencyId ? this.selAgencyId : user.agencyId
}
const url = "/gov/org/icneighborhood/neighborhood-options";
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/epidemicPrevention/page"
let params = {
gridId: this.selGridId,
agencyId: this.selAgencyId,
isPage: false
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.optionsV = data;
this.neighborHoodId = ""
this.buildingId = "";
this.buildingUnitId = "";
this.houseId = "";
} else {
this.$message.error(msg);
}
},
async getBuildList () {
const url = "/gov/org/icbuilding/buildingoption";
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/epidemicPrevention/page"
let params = {
neighborHoodId: this.neighborHoodId,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.optionsB = data;
this.buildingId = "";
this.buildingUnitId = "";
this.houseId = "";
} else {
this.$message.error(msg);
}
},
async getUniList () {
const url = "/gov/org/icbuildingunit/unitoption";
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/epidemicPrevention/page"
let params = {
buildingId: this.buildingId,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.optionsD = data;
this.buildingUnitId = "";
this.houseId = "";
} else {
this.$message.error(msg);
}
},
getHouseList () {
this.$http
.post("/gov/org/ichouse/houseoption", { unitId: this.buildingUnitId })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.optionsH = res.data;
this.houseId = "";
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
handleSearch () {
// if (this.ownerName || this.ownerPhone || this.rentFlag || this.purpose || this.remark) {
@ -323,6 +516,10 @@ export default {
this.remark = ''
this.updateStartDate = ''
this.updateEndDate = ''
this.neighborHoodId = ''
this.buildingId = ''
this.buildingUnitId = ''
this.houseId = ''
this.pageSize = 10
this.pageNo = 1
@ -392,7 +589,7 @@ export default {
},
handleNodeClick (obj) {
async handleNodeClick (obj) {
this.ownerName = ''
this.ownerPhone = ''
this.rentFlag = ''
@ -404,18 +601,42 @@ export default {
this.selObj = JSON.parse(JSON.stringify(obj))
this.getTreeObj(obj)
await nextTick(1000)
this.vDisabled = false
this.bDisabled = false
if (obj.level === 'building') {//
this.$refs['ref_buildingTable'].loadTable('tree', this.selTreeObj)
this.selAgencyId = ''
this.selGridId = ''
await this.getValiheList()
this.neighborHoodId = this.selTreeObj.pid
await this.getBuildList()
this.buildingId = this.selTreeObj.id
await this.getUniList()
this.vDisabled = true
this.bDisabled = true
this.$nextTick(() => {
if (obj.level === 'building') {//
this.$refs['ref_buildingTable'].loadTable('tree', this.selTreeObj)
} else if (obj.level === 'neighborHood') {//
this.$refs['ref_neighTable'].loadTable(true, this.selTreeObj)
} else if (obj.level === 'neighborHood') {//
this.$refs['ref_neighTable'].loadTable(true, this.selTreeObj)
this.selAgencyId = ''
this.selGridId = ''
await this.getValiheList()
this.neighborHoodId = this.selTreeObj.id
await this.getBuildList()
this.vDisabled = true
} else {
this.$refs['ref_communityTable'].loadTable(true, this.selTreeObj)
if (obj.level === 'grid') {
this.selAgencyId = ''
this.selGridId = this.selTreeObj.id
} else {
this.$refs['ref_communityTable'].loadTable(true, this.selTreeObj)
this.selAgencyId = this.selTreeObj.id
this.selGridId = ''
}
})
this.getValiheList('', '')
}
},
@ -507,7 +728,7 @@ export default {
obj.longitude = this.centerPoint[1]
}
this.selTreeObj = obj
console.log(this.selTreeObj)
console.log('selTreeObj', this.selTreeObj)
},

32
src/views/modules/base/community/roomTable.vue

@ -332,6 +332,10 @@ export default {
sortType: this.sortType,
updateStartDate: this.updateStartDate,
updateEndDate: this.updateEndDate,
neighborHoodId: this.neighborHoodId,
buildingId: this.buildingId,
buildingUnitId: this.buildingUnitId,
houseId: this.houseId,
};
this.$refs.baobiao.init({
elseParams: {
@ -436,6 +440,10 @@ export default {
sortType: this.sortType,
updateStartDate: this.updateStartDate,
updateEndDate: this.updateEndDate,
neighborHoodId: this.neighborHoodId,
buildingId: this.buildingId,
buildingUnitId: this.buildingUnitId,
houseId: this.houseId,
};
const url = "/gov/org/house/houselist";
@ -637,6 +645,10 @@ export default {
updateStartDate: this.updateStartDate,
updateEndDate: this.updateEndDate,
buildingId: this.agencyObj.id,
neighborHoodId: this.neighborHoodId,
buildingId: this.buildingId,
buildingUnitId: this.buildingUnitId,
houseId: this.houseId,
};
if (this.agencyObj.level === "grid") {
@ -734,6 +746,10 @@ export default {
remark: this.remark,
updateStartDate: this.updateStartDate,
updateEndDate: this.updateEndDate,
neighborHoodId: this.neighborHoodId,
buildingId: this.buildingId,
buildingUnitId: this.buildingUnitId,
houseId: this.houseId,
buildingId: "",
neighborHoodId: "",
};
@ -926,6 +942,22 @@ export default {
type: String,
default: "",
},
neighborHoodId: {
type: String,
default: "",
},
buildingId: {
type: String,
default: "",
},
buildingUnitId: {
type: String,
default: "",
},
houseId: {
type: String,
default: "",
},
},
};
</script>

38
src/views/modules/base/epidemic/natFocus/natFocusList.vue

@ -310,7 +310,12 @@
size="small"
@click="handleVisiteList(scope.row)">随访记录</el-button>
</div>
<div class="table-more-btn">
<el-button type="text"
class="div-table-button--delete"
size="small"
@click="handleDelete2(scope.row)">删除</el-button>
</div>
<el-button type="text"
size="small"
class="div-table-button--more"
@ -865,6 +870,37 @@ export default {
});
},
async handleDelete2 (row) {
this.$confirm("确认删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(async () => {
let delUrl = "/epmetuser/icEpidemicSpecialAttention/delete";
const { data, code, msg } = await requestPost(delUrl, [row.id]);
if (code === 0) {
this.$message({
type: "success",
message: "删除成功",
});
this.loadTable();
} else {
this.$message.error(msg);
}
})
.catch((err) => {
if (err == "cancel") {
// this.$message({
// type: "info",
// message: ""
// });
}
});
},
async deleteFocus (row) {
const url = "/epmetuser/icEpidemicSpecialAttention/cancel-attention";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolteam/del"

3
src/views/modules/base/epidemic/natInfo/natList.vue

@ -22,7 +22,6 @@
<el-form-item label="本辖区居民">
<el-select class="list_item_width_1"
size="small"
:disabled="formData.orgType!='current'"
v-model.trim="formData.isResiUser"
placeholder="请选择">
<el-option v-for="item in isResiUserList"
@ -436,7 +435,7 @@ export default {
this.tableData.forEach(item => {
item.isResiUserShow = item.isResiUser === '0' ? '否' : '是'
item.isResiUserShow = item.isLocalResiUser === '0' ? '否' : '是'
if (item.natResult === '1') {
item.natResultShow = '阳性'
} else if (item.natResult === '0') {

44
src/views/modules/base/epidemic/natInfo/noNatList.vue

@ -64,6 +64,31 @@
</el-input>
</el-form-item>
<el-form-item label="核酸检测时间">
<el-date-picker class="list_item_width_1"
v-model="formData.natDate"
format="yyyy-MM-dd"
value-format="yyyyMMdd"
type="date"
size="small"
clearable
placeholder="选择时间">
</el-date-picker>
</el-form-item>
<el-form-item label="检测状态">
<el-select class="list_item_width_1"
size="small"
clearable
v-model.trim="formData.status"
placeholder="请选择">
<el-option v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-button style="margin-left:30px"
size="small"
@ -275,13 +300,25 @@ export default {
label: '是'
},
],
statusList: [
{
value: '1',
label: '已检测'
},
{
value: '0',
label: '未检测'
},
],
formData: {
importDate: '',//
name: '',//
mobile: '',//
idCard: '',//
isResiUser: ''//(0: 1:)
isResiUser: '',//(0: 1:)
status: '',//10
natDate: ''
},
@ -544,8 +581,9 @@ export default {
name: '',//
mobile: '',//
idCard: '',//
importDate: ''
importDate: '',
status: '',//10
natDate: ''
}

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

@ -1,121 +1,143 @@
<template>
<div>
<base-page ref="basePage"
:searchParams="searchParams"
:tableParams="tableParams"
:tableUrl="tableUrl"
:addUrl="addUrl"
:editUrl="editUrl"
:delUrl="delUrl"
:editAuth="editAuth"
:delAuth="delAuth"
:infoUrl="infoUrl"
:exportUrl="exportUrl"
:importUrl="importUrl"
:mubanUrl="mubanUrl"
:editParams="editParams"
:editFixedParams="editFixedParams"
:editElseRules="editElseRules"
:editConfig="editConfig"
:editParamsDiv="5"
:editBtnName="(item) => (!item.latitude ? '待完善' : '修改')"
:formBtnFixed="true"
idName="articleId">
<base-page
ref="basePage"
:searchParams="searchParams"
:tableParams="tableParams"
:tableUrl="tableUrl"
:addUrl="addUrl"
:editUrl="editUrl"
:delUrl="delUrl"
:editAuth="editAuth"
:delAuth="delAuth"
:infoUrl="infoUrl"
:exportUrl="exportUrl"
:importUrl="importUrl"
:mubanUrl="mubanUrl"
:editParams="editParams"
:editFixedParams="editFixedParams"
:editElseRules="editElseRules"
:editConfig="editConfig"
:editParamsDiv="5"
:editBtnName="(item) => '修改'"
:formBtnFixed="true"
idName="articleId"
>
<template v-slot:editOperateSup="{ id, formType, info }">
<el-button v-if="formType != 'watch'"
type="warning"
size="small"
:disabled="draftBtnDisable"
@click="handleClickDraft(info)">存草稿</el-button>
<el-button
v-if="formType == 'add'"
type="warning"
size="small"
:disabled="draftBtnDisable"
@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>
@click="handleOfflineShow(item)"
type="text"
size="small"
style="color: #666"
>下线</el-button
>
</template>
<template v-slot:listBtnbefore="{ item }">
<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
@click="handleTopArticle(item,'top')"
type="text"
size="small"
style="color: #22c1c3">置顶</el-button>
<el-button
v-if="item.isTop == '1'"
v-show="item.statusFlag == 'published'"
@click="handleCancleTopArticle(item, 'cancel_top')"
type="text"
size="small"
style="color: #fe6252"
>取消置顶</el-button
>
<el-button
v-show="item.statusFlag == 'published'"
v-else
@click="handleTopArticle(item, 'top')"
type="text"
size="small"
style="color: #22c1c3"
>置顶</el-button
>
</template>
</base-page>
<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"
@close="offlineShowed = false"
@afterOffline="handleOfflineSuccess"></offline>
<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"
@close="offlineShowed = false"
@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">
<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">
<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">
<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>
<el-button size="small" @click="showAddImage = false"> </el-button>
<el-button size="small" type="primary" @click="handleAddImage"
> </el-button
>
</div>
</el-dialog>
</div>
@ -132,7 +154,7 @@ import nextTick from "dai-js/tools/nextTick";
export default {
props: {},
data () {
data() {
return {
offlineShowed: false,
@ -148,7 +170,7 @@ export default {
optionUrl: "/gov/voice/tag/taglist",
optionUrlParams: {},
optionList: [],
optionCook (list) {
optionCook(list) {
return list.map((item) => ({
label: item.tagName,
value: item.tagId,
@ -189,12 +211,12 @@ export default {
children: "subAgencyList",
checkStrictly: true,
},
optionCook (obj) {
optionCook(obj) {
return [obj];
},
supKeys: ["publishRangeId", "publishRangeType"],
supValues: ["", ""],
handleChangeFn (vals, item) {
handleChangeFn(vals, item) {
const { optionList } = item;
if (vals.length > 0) {
item["supValues"][0] = vals[vals.length - 1];
@ -246,14 +268,14 @@ export default {
exportUrl: "",
addUrl: "/gov/voice/article/addOrSaveDraft",
editUrl: "",
editUrl: "/gov/voice/article/updateArticle",
infoUrl: "/gov/voice/article/detailV2",
delUrl: "",
editAuth (item) {
return false;
delUrl: "/gov/voice/article/delete批量",
editAuth(item) {
return item.statusFlagName == "已发布";
},
delAuth (item) {
return false;
delAuth(item) {
return item.statusFlagName == "已下线";
},
editParams: [
@ -283,7 +305,7 @@ export default {
uploadUrl: window.SITE_CONFIG["apiURL"] + "/oss/file/article/upload",
supKeys: ["imgUrlArr", "imgUrl"],
supValues: [() => [], ""],
beforeImgUpload (file, item, that) {
beforeImgUpload(file, item, that) {
console.log(file);
const isLt1M = file.size / 1024 / 1024 < 10;
const srcType = file.type;
@ -319,10 +341,10 @@ export default {
checkStrictly: false,
emitPath: false,
},
optionCook (obj) {
optionCook(obj) {
return [obj];
},
handleChangeFn (vals, item, that) {
handleChangeFn(vals, item, that) {
console.log("handleChangeFn", vals);
const { optionList } = item;
const optionPlaneList = collapse(optionList, "subAgencyList");
@ -363,7 +385,7 @@ export default {
type: "date",
value: dateFormat(new Date(), "yyyy-MM-dd"),
pickerOptions: {
disabledDate (time) {
disabledDate(time) {
return time.getTime() > Date.now();
},
},
@ -384,7 +406,7 @@ export default {
optionType: "group",
supKeys: ["publisherName", "publisherType"],
supValues: ["", ""],
optionCook (data) {
optionCook(data) {
let ret = [];
const { agencyDeptList, agencyGridList, agencyId, agencyName } =
data;
@ -426,7 +448,7 @@ export default {
}
return ret;
},
handleChangeFn (vals, item, that) {
handleChangeFn(vals, item, that) {
const { optionList } = item;
let opts = [];
optionList.forEach((g) => {
@ -454,7 +476,7 @@ export default {
optionUrl: "/gov/voice/tag/taglist",
optionUrlParams: {},
optionList: [],
optionCook (list) {
optionCook(list) {
return list.map((item) => ({
label: item.tagName,
value: item.tagName,
@ -487,7 +509,7 @@ export default {
editElseRules: {},
editConfig: {
confirmBtnName: "发布",
cookInfoFn (data) {
cookInfoFn(data) {
if (data.richTextFlag == "0") {
data.content = data.contentList
.map((item) => {
@ -518,7 +540,7 @@ export default {
return data;
},
beforeSubmit (formType, fmData, that) {
beforeSubmit(formType, fmData, that) {
if (fmData.isTop == "1" && !fmData.imgUrl) {
that.$message.error("请上传封面图片");
return false;
@ -532,109 +554,105 @@ export default {
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile",
replayImgList: [],
hideUploadBtn: false,
selType: 'top',
selArticleId: '',
selImgUrl: ''
selType: "top",
selArticleId: "",
selImgUrl: "",
};
},
components: { basePage, offline },
computed: {},
watch: {},
async mounted () { },
async mounted() {},
methods: {
async handleOfflineShow (item) {
async handleOfflineShow(item) {
console.log(item);
this.offlineShowed = true;
await nextTick(100);
this.$refs.offlineForm.initForm(item);
},
async handleAddImage () {
console.log('formData', this.formData)
this.topArticle()
async handleAddImage() {
console.log("formData", this.formData);
this.topArticle();
},
async handleCancleTopArticle (item, type) {
this.selType = type
this.selArticleId = item.articleId
await 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
async handleTopArticle(item, type) {
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 () {
async isHasImage() {
const url = "/gov/voice/article/detailV2";
const { tableData } = this;
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";
}
},
async topArticle () {
async topArticle() {
const url = "/gov/voice/article/topArticle";
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("操作失败!");
}
},
removePic (file, fileList) {
removePic(file, fileList) {
this.selImgUrl = "";
this.replayImgList = [];
this.hideUploadBtn = fileList.length >= 1;
},
// 3
handleEditChange (file, fileList) {
handleEditChange(file, fileList) {
this.hideUploadBtn = fileList.length >= 1;
},
exceedPic () {
exceedPic() {
this.$message.warning("只能上传1张封面图");
},
beforeAvatarUpload (file) {
beforeAvatarUpload(file) {
const isJPG = file.type === "image/jpeg";
const isLt2M = file.size / 1024 / 1024 < 10;
@ -643,17 +661,17 @@ export default {
}
return isLt2M;
},
handleSuccess (response, file, fileList) {
handleSuccess(response, file, fileList) {
this.replayImgList.push(file);
this.selImgUrl = response.data.url;
},
handleOfflineSuccess () {
handleOfflineSuccess() {
this.$refs.basePage.refresh();
this.offlineShowed = false;
},
async handleClickDraft (fmData) {
async handleClickDraft(fmData) {
let url = this.addUrl;
let params = {
...fmData,

441
src/views/modules/communityParty/heart/heartForm.vue

@ -183,7 +183,7 @@
<el-form-item label="签到有效范围(米)"
prop="signInRadius"
style="display: block"
label-width="160px">
label-width="150px">
<el-input-number class="item_width_2"
:min="0"
v-model="formData.signInRadius"
@ -193,80 +193,74 @@
</div>
<div class="form_flex">
<div class="form_item">
<el-form-item label="活动位置"
prop="longitude"
label-width="150px"
style="display: block">
<div style="width: 500px">
<el-select v-model="searchValueAct"
filterable
style="width: 330px"
remote
:reserve-keyword="true"
placeholder="请输入关键词"
:remote-method="remoteMethodAct"
:loading="loadingAct">
<el-option v-for="(item,index) in searchOptionsAct"
@click.native="handleClickKeyAct(index)"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<div id="app_heart_act"
<el-form-item label="活动地点"
prop="actAddress"
label-width="150px">
<div style="width: 400px">
<el-input class="item_width_4"
maxlength="100"
style="width: 330px"
show-word-limit
placeholder="请输入所在地址"
v-model="formData.actAddress">
</el-input>
<el-button style="margin-left: 10px"
type="default"
size="small"
@click="handleSearchMapAct">查询</el-button>
<div id="map_act_id"
class="div_map"></div>
<!-- <div style="margin-top: 10px">
<span>经度</span>
<el-input class="item_width_3"
maxlength="50"
placeholder="请输入经度"
v-model="formData.actLatitude">
</el-input>
<span style="margin-left: 20px">纬度</span>
<el-input class="item_width_3"
maxlength="50"
placeholder="请输入纬度"
v-model="formData.actLongitude">
</el-input>
</div> -->
</div>
</el-form-item>
<el-form-item label="活动地址 "
prop="actAddress"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
maxlength="50"
show-word-limit
placeholder="请输入位置 "
v-model="formData.actAddress">
</el-input>
</el-form-item>
</div>
<div class="form_item">
<el-form-item label="签到位置"
prop="longitude"
label-width="150px"
style="display: block">
<div style="width: 500px">
<el-select v-model="searchValueSignin"
filterable
style="width: 500px"
remote
:reserve-keyword="true"
placeholder="请输入关键词"
:remote-method="remoteMethodSignin"
:loading="loadingSignin">
<el-option v-for="(item,index) in searchOptionsSignin"
@click.native="handleClickKeySignin(index)"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<div id="app_heart_signin"
<el-form-item label="签到地点"
prop="signInAddress"
label-width="150px">
<div style="width: 400px">
<el-input class="item_width_4"
maxlength="100"
style="width: 330px"
show-word-limit
placeholder="请输入所在地址"
v-model="formData.signInAddress">
</el-input>
<el-button style="margin-left: 10px"
type="default"
size="small"
@click="handleSearchMapSignin">查询</el-button>
<div id="map_signin_id"
class="div_map"></div>
<!-- <div style="margin-top: 10px">
<span>经度</span>
<el-input class="item_width_3"
maxlength="50"
placeholder="请输入经度"
v-model="formData.signInLatitude">
</el-input>
<span style="margin-left: 20px">纬度</span>
<el-input class="item_width_3"
maxlength="50"
placeholder="请输入纬度"
v-model="formData.signInLongitude">
</el-input>
</div> -->
</div>
</el-form-item>
<el-form-item label="签到地址 "
prop="signInAddress"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
maxlength="50"
show-word-limit
placeholder="请输入位置 "
v-model="formData.signInAddress">
</el-input>
</el-form-item>
</div>
</div>
<el-form-item label="活动详情"
@ -340,12 +334,20 @@ import { Loading } from "element-ui"; // 引入Loading服务
import { requestPost } from "@/js/dai/request";
import Tinymce from "@c/tinymce2/index.vue";
import daiMap from "@/utils/dai-map";
let loading; //
var map_act;
var search_act;
var markers_act;
var infoWindowList_act;
var geocoder_act; //
var map_signin;
var search_signin;
var markers_signin;
var infoWindowList_signin;
var geocoder_signin; //
export default {
data () {
@ -384,16 +386,6 @@ export default {
};
return {
formType: "add", // addeditdetail
searchOptionsAct: [],
searchValueAct: '',
resultListAct: [],
loadingAct: false,
searchOptionsSignin: [],
searchValueSignin: '',
resultListSignin: [],
loadingSignin: false,
btnDisable: false,
customerId: "",
actId: "",
@ -476,13 +468,15 @@ export default {
mounted () {
this.customerId = localStorage.getItem("customerId");
this.loadSponsorlist();
this.initMap();
// this.replayImgList.push()
},
methods: {
async initForm (type, actId) {
this.$refs.ref_form.resetFields();
let { latitude, longitude } = this.$store.state.user;
this.formType = type;
if (actId) {
this.startLoading();
@ -493,26 +487,9 @@ export default {
} else {
this.actId = "";
this.formData.actId = "";
this.formData.actLatitude = latitude
this.formData.actLongitude = longitude
this.formData.signInLatitude = latitude
this.formData.signInLongitude = longitude
// this.formData = JSON.parse(JSON.stringify(this.formDataTemp));
// this.agencyIdArray = this.formData.sponsorPath.split(',')
}
this.$nextTick(() => {
if (!map_act) {
this.initMap(this.formData.actLatitude, this.formData.actLongitude, this.formData.signInLatitude, this.formData.signInLongitude)
} else {
map_act.setCenter(this.formData.actLatitude, this.formData.actLongitude);
map_act.setMarker(this.formData.actLatitude, this.formData.actLongitude);
map_signin.setCenter(this.formData.signInLatitude, this.formData.signInLongitude);
map_signin.setMarker(this.formData.signInLatitude, this.formData.signInLongitude);
}
})
},
//
@ -712,170 +689,188 @@ export default {
},
// init
initMap (latitude1, longitude1, latitude2, longitude2) {
map_act = new daiMap(
document.getElementById("app_heart_act"),
{ latitude1, longitude1 },
{
zoom: 16.2, //
pitch: 43.5, //
rotation: 45, //
}
);
map_signin = new daiMap(
document.getElementById("app_heart_signin"),
{ latitude2, longitude2 },
initMap () {
//
var center = new window.TMap.LatLng(36.0722275, 120.38945519);
// map TMap.Map()
map_act = new window.TMap.Map(document.getElementById("map_act_id"), {
center: center, //
zoom: 16.2, //
pitch: 43.5, //
rotation: 45, //
});
map_signin = new window.TMap.Map(
document.getElementById("map_signin_id"),
{
center: center, //
zoom: 16.2, //
pitch: 43.5, //
rotation: 45, //
}
);
search_act = new window.TMap.service.Search({ pageSize: 10 });
//
markers_act = new TMap.MultiMarker({
map: map_act,
geometries: [],
});
infoWindowList_act = Array(10);
geocoder_act = new TMap.service.Geocoder(); //
search_signin = new window.TMap.service.Search({ pageSize: 10 });
//
markers_signin = new TMap.MultiMarker({
map: map_signin,
geometries: [],
});
infoWindowList_signin = Array(10);
geocoder_signin = new TMap.service.Geocoder(); //
//
map_act.on("dragend", (e) => {
map_act.on("panend", (e) => {
this.handleMoveCenterAct(e);
});
map_act.setCenter(latitude1, longitude1);
map_act.setMarker(latitude1, longitude1);
this.handleMoveCenterAct();
//
map_signin.on("dragend", (e) => {
map_signin.on("panend", (e) => {
this.handleMoveCenterSignin(e);
});
this.handleMoveCenterSignin();
},
map_signin.setCenter(latitude2, longitude2);
map_signin.setMarker(latitude2, longitude2);
setMarkerAct (lat, lng) {
markers_act.setGeometries([]);
markers_act.add([
{
id: "4",
styleId: "marker",
position: new TMap.LatLng(lat, lng),
properties: {
title: "marker4",
},
},
]);
},
handleSearchMapAct () {
infoWindowList_act.forEach((infoWindow) => {
infoWindow.close();
});
infoWindowList_act.length = 0;
markers_act.setGeometries([]);
//
search_act
.searchNearby({
keyword: this.formData.actAddress,
radius: 1000,
autoExtend: true,
center: map_act.getCenter(),
})
.then((result) => {
let { data } = result;
if (Array.isArray(data) && data.length > 0) {
const {
location: { lat, lng },
} = data[0];
map_act.setCenter(new TMap.LatLng(lat, lng));
this.setMarkerAct(lat, lng);
this.formData.actLatitude = lat;
this.formData.actLongitude = lng;
} else {
this.$message.error("未检索到相关位置坐标");
}
});
},
async handleMoveCenterAct () {
handleMoveCenterAct (e) {
//
const { lat, lng } = map_act.getCenter();
const center = map_act.getCenter();
const lat = center.getLat();
const lng = center.getLng();
this.formData.actLatitude = lat;
this.formData.actLongitude = lng;
map_act.setMarker(lat, lng);
let { msg, data } = await map_act.getAddress(lat, lng);
if (msg == "success") {
this.formData.actAddress = data.address
this.searchValueAct = data.address
this.searchOptionsAct = []
this.setMarkerAct(lat, lng);
if (e && e.originalEvent) {
geocoder_act
.getAddress({ location: new TMap.LatLng(lat, lng) }) //
.then((result) => {
this.formData.actAddress = result.result.address;
});
}
},
async handleMoveCenterSignin () {
//
const { lat, lng } = map_signin.getCenter();
this.formData.signInLatitude = lat;
this.formData.signInLongitude = lng;
map_signin.setMarker(lat, lng);
let { msg, data } = await map_signin.getAddress(lat, lng);
if (msg == "success") {
this.formData.signInAddress = data.address
this.searchValueSignin = data.address
this.searchOptionsSignin = []
}
setMarkerSignin (lat, lng) {
markers_signin.setGeometries([]);
markers_signin.add([
{
id: "4",
styleId: "marker",
position: new TMap.LatLng(lat, lng),
properties: {
title: "marker4",
},
},
]);
},
async remoteMethodAct (query) {
if (query !== '') {
this.loadingAct = true;
const { msg, data } = await map_act.searchNearby(query);
this.loadingAct = false;
this.resultListAct = []
if (msg == "success" && data.resultList && data.resultList.length > 0) {
if (data.resultList && data.resultList.length > 0) {
this.resultListAct = data.resultList
this.searchOptionsAct = this.resultListAct.map(item => {
return { value: `${item.hotPointID}`, label: `${item.address + item.name}` };
});
handleSearchMapSignin () {
infoWindowList_signin.forEach((infoWindow) => {
infoWindow.close();
});
infoWindowList_signin.length = 0;
markers_signin.setGeometries([]);
//
search_signin
.searchNearby({
keyword: this.formData.signInAddress,
radius: 1000,
autoExtend: true,
center: map_signin.getCenter(),
})
.then((result) => {
let { data } = result;
if (Array.isArray(data) && data.length > 0) {
const {
location: { lat, lng },
} = data[0];
map_signin.setCenter(new TMap.LatLng(lat, lng));
this.setMarkerSignin(lat, lng);
this.formData.signInLatitude = lat;
this.formData.signInLongitude = lng;
} else {
this.$message.error("未检索到相关位置坐标");
}
} else {
this.searchOptionsAct = [
{
value: '0',
label: '未检索到结果'
}
]
}
} else {
this.searchOptionsAct = [];
}
});
},
async remoteMethodSignin (query) {
if (query !== '') {
this.loadingSign = true;
const { msg, data } = await map_signin.searchNearby(query);
this.loadingSign = false;
this.resultListSignin = []
if (msg == "success" && data.resultList && data.resultList.length > 0) {
if (data.resultList && data.resultList.length > 0) {
this.resultListSignin = data.resultList
this.searchOptionsSignin = this.resultListSignin.map(item => {
return { value: `${item.hotPointID}`, label: `${item.address + item.name}` };
});
}
} else {
this.searchOptionsSignin = [
{
value: '0',
label: '未检索到结果'
}
]
}
} else {
this.searchOptionsSignin = [];
handleMoveCenterSignin (e) {
//
const center = map_signin.getCenter();
const lat = center.getLat();
const lng = center.getLng();
this.formData.signInLatitude = lat;
this.formData.signInLongitude = lng;
this.setMarkerSignin(lat, lng);
if (e && e.originalEvent) {
geocoder_signin
.getAddress({ location: new TMap.LatLng(lat, lng) }) //
.then((result) => {
this.formData.signInAddress = result.result.address;
});
}
},
handleClickKeyAct (index) {
let selPosition = this.resultListAct[index]
let lonlat = selPosition.lonlat.split(" ")
map_act.setCenter(lonlat[1], lonlat[0]);
map_act.setMarker(lonlat[1], lonlat[0]);
this.formData.actLatitude = lonlat[1];
this.formData.actLongitude = lonlat[0];
this.formData.actAddress = selPosition.address + selPosition.name
},
handleClickKeySignin (index) {
let selPosition = this.resultListSignin[index]
let lonlat = selPosition.lonlat.split(" ")
map_signin.setCenter(lonlat[1], lonlat[0]);
map_signin.setMarker(lonlat[1], lonlat[0]);
this.formData.signInLatitude = lonlat[1];
this.formData.signInLongitude = lonlat[0];
this.formData.signInAddress = selPosition.address + selPosition.name
},
handleCancle () {
this.resetData();
this.$emit("dialogCancle");
},
resetData () {
this.searchValueAct = ''
this.searchOptionsAct = []
this.resultListAct = []
this.searchValueSignin = ''
this.searchOptionsSignin = []
this.resultListSignin = []
this.actId = "";
this.replayImgList = [];
this.agencyIdArray = [];

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("删除成功!");

94
src/views/modules/plugins/rent/rentcontractinfo-add-or-update.vue

@ -97,6 +97,53 @@
<el-form-item label="房主姓名" prop="ownerName">
<el-input v-model="dataForm.ownerName" placeholder="房主姓名" style="width: 210px;" disabled></el-input>
</el-form-item>
<div style="margin-left: 30px;height: 30px;font-weight: bold;">合同信息</div>
<div style="margin-left: 50px;height: 30px;">出租人信息</div>
<el-form-item label="出租人姓名" prop="lessorName" label-width="140px">
<el-input v-model="dataForm.lessorName" placeholder="出租人姓名"></el-input>
</el-form-item>
<el-form-item label="出租人证件号" prop="lessorIdCard" label-width="140px">
<el-input v-model="dataForm.lessorIdCard" placeholder="出租人证件号"></el-input>
</el-form-item>
<el-form-item label="出租人手机" prop="lessorMobile" label-width="140px">
<el-input v-model="dataForm.lessorMobile" placeholder="出租人手机"></el-input>
</el-form-item>
<el-form-item label="与房主关系" prop="lessorRelation" label-width="140px">
<!--<el-input v-model="dataForm.lessorRelation" placeholder="与房主关系"></el-input>-->
<el-select v-model="dataForm.lessorRelation" placeholder="与房主关系">
<el-option v-for="item in lessorRelationArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="出租人现居住地" prop="lessorLiveAddress" label-width="140px">
<el-input v-model="dataForm.lessorLiveAddress" placeholder="出租人现居住地" ></el-input>
</el-form-item>
<br/>
<el-form-item label="中介合同附件" prop="agencyImgList" v-if="dataForm.lessorRelation ==='中介'" label-width="140px">
<template>
<upload-image :defaultFileList="dataForm.agencyImgList" :limit="6" @change="onChangeAgencyImgList"></upload-image>
</template>
</el-form-item>
<br/>
<div style="margin-left: 50px;height: 30px;">承租人信息</div>
<el-form-item label="承租人姓名" prop="lesseeName" label-width="140px">
<el-input v-model="dataForm.lesseeName" placeholder="承租人姓名" ></el-input>
</el-form-item>
<el-form-item label="承租人证件号" prop="lesseeIdCard" label-width="140px">
<el-input v-model="dataForm.lesseeIdCard" placeholder="承租人证件号" ></el-input>
</el-form-item>
<el-form-item label="承租人手机" prop="lesseeMobile" label-width="140px">
<el-input v-model="dataForm.lesseeMobile" placeholder="承租人手机" ></el-input>
</el-form-item>
<el-form-item label="工作单位" prop="lesseeUnit" label-width="140px">
<el-input v-model="dataForm.lesseeUnit" placeholder="工作单位" ></el-input>
</el-form-item>
<el-form-item label="承租人户籍地" prop="lesseeHouseAddress" label-width="140px">
<el-input v-model="dataForm.lesseeHouseAddress" placeholder="承租人户籍地" ></el-input>
</el-form-item>
<br/>
<div style="padding:20px 30px">
<div style="font-weight: bold;">居住成员信息</div>
<br/>
@ -206,53 +253,6 @@
</el-table-column>
</el-table>
</div>
<div style="margin-left: 30px;height: 30px;font-weight: bold;">合同信息</div>
<div style="margin-left: 50px;height: 30px;">出租人信息</div>
<el-form-item label="出租人姓名" prop="lessorName" label-width="140px">
<el-input v-model="dataForm.lessorName" placeholder="出租人姓名"></el-input>
</el-form-item>
<el-form-item label="出租人证件号" prop="lessorIdCard" label-width="140px">
<el-input v-model="dataForm.lessorIdCard" placeholder="出租人证件号"></el-input>
</el-form-item>
<el-form-item label="出租人手机" prop="lessorMobile" label-width="140px">
<el-input v-model="dataForm.lessorMobile" placeholder="出租人手机"></el-input>
</el-form-item>
<el-form-item label="与房主关系" prop="lessorRelation" label-width="140px">
<!--<el-input v-model="dataForm.lessorRelation" placeholder="与房主关系"></el-input>-->
<el-select v-model="dataForm.lessorRelation" placeholder="与房主关系">
<el-option v-for="item in lessorRelationArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="出租人现居住地" prop="lessorLiveAddress" label-width="140px">
<el-input v-model="dataForm.lessorLiveAddress" placeholder="出租人现居住地" ></el-input>
</el-form-item>
<br/>
<el-form-item label="中介合同附件" prop="agencyImgList" v-if="dataForm.lessorRelation ==='中介'" label-width="140px">
<template>
<upload-image :defaultFileList="dataForm.agencyImgList" :limit="6" @change="onChangeAgencyImgList"></upload-image>
</template>
</el-form-item>
<br/>
<div style="margin-left: 50px;height: 30px;">承租人信息</div>
<el-form-item label="承租人姓名" prop="lesseeName" label-width="140px">
<el-input v-model="dataForm.lesseeName" placeholder="承租人姓名" ></el-input>
</el-form-item>
<el-form-item label="承租人证件号" prop="lesseeIdCard" label-width="140px">
<el-input v-model="dataForm.lesseeIdCard" placeholder="承租人证件号" ></el-input>
</el-form-item>
<el-form-item label="承租人手机" prop="lesseeMobile" label-width="140px">
<el-input v-model="dataForm.lesseeMobile" placeholder="承租人手机" ></el-input>
</el-form-item>
<el-form-item label="工作单位" prop="lesseeUnit" label-width="140px">
<el-input v-model="dataForm.lesseeUnit" placeholder="工作单位" ></el-input>
</el-form-item>
<el-form-item label="承租人户籍地" prop="lesseeHouseAddress" label-width="140px">
<el-input v-model="dataForm.lesseeHouseAddress" placeholder="承租人户籍地" ></el-input>
</el-form-item>
<br/>
<div style="margin-left: 30px;height: 30px;font-weight: bold;">合同内容</div>
<el-form-item label="签署日期" prop="signDate" label-width="140px">
<!--<el-input v-model="dataForm.signDate" placeholder="签署日期" ></el-input>-->

66
src/views/modules/plugins/rent/rentcontractinfo-look-or-check.vue

@ -18,38 +18,7 @@
<el-input v-model="dataForm.ownerName" placeholder="房主姓名" disabled></el-input>
</el-form-item>
</div>
<div style="padding:20px 30px">
<div style="height: 30px;font-weight: bold;">居住成员信息</div>
<el-table v-loading="dataListLoading" :data="dataForm.tenantList" border style="width: 100%">
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="yfzgx" label="与户主关系" header-align="center" align="center" width="120"></el-table-column>
<el-table-column prop="mobile" label="手机" header-align="center" align="center" width="120"></el-table-column>
<el-table-column prop="idCard" label="证件号" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="unit" label="工作单位" header-align="center" align="center" width="180" show-overflow-tooltip></el-table-column>
<el-table-column prop="politicalStatus" label="政治面貌" header-align="center" align="center"></el-table-column>
<el-table-column prop="isMilitary" label="是否服过兵役" header-align="center" align="center" width="120"></el-table-column>
<el-table-column prop="nation" label="国籍" header-align="center" align="center"></el-table-column>
<el-table-column prop="idCardImgList" label="证件照片" header-align="center" align="center">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.idCardImgList" :key="index">
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="40" height="40" />
</div>
</template>
</el-table-column>
<el-table-column prop="imgList" label="照片" header-align="center" align="center">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.imgList" :key="index">
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="40" height="40" />
</div>
</template>
</el-table-column>
</el-table>
</div>
<div style="margin-left: 50px;height: 30px;font-weight: bold;">合同信息</div>
<div style="margin-left: 50px;height: 30px;">出租人信息</div>
<el-form-item label="出租人姓名" prop="lessorName">
@ -103,7 +72,38 @@
</el-form-item>
<br/>
<div style="padding:20px 30px">
<div style="height: 30px;font-weight: bold;">居住成员信息</div>
<el-table v-loading="dataListLoading" :data="dataForm.tenantList" border style="width: 100%">
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="yfzgx" label="与户主关系" header-align="center" align="center" width="120"></el-table-column>
<el-table-column prop="mobile" label="手机" header-align="center" align="center" width="120"></el-table-column>
<el-table-column prop="idCard" label="证件号" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="unit" label="工作单位" header-align="center" align="center" width="180" show-overflow-tooltip></el-table-column>
<el-table-column prop="politicalStatus" label="政治面貌" header-align="center" align="center"></el-table-column>
<el-table-column prop="isMilitary" label="是否服过兵役" header-align="center" align="center" width="120"></el-table-column>
<el-table-column prop="nation" label="国籍" header-align="center" align="center"></el-table-column>
<el-table-column prop="idCardImgList" label="证件照片" header-align="center" align="center">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.idCardImgList" :key="index">
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="40" height="40" />
</div>
</template>
</el-table-column>
<el-table-column prop="imgList" label="照片" header-align="center" align="center">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.imgList" :key="index">
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="40" height="40" />
</div>
</template>
</el-table-column>
</el-table>
</div>
<div style="margin-left: 50px;height: 30px;font-weight: bold;">合同内容</div>
<el-form-item label="签署日期" prop="signDate">
<el-input v-model="dataForm.signDate" placeholder="签署日期" disabled></el-input>

Loading…
Cancel
Save