Browse Source

通讯录、联建单位等

feature/dev_worklog2
jiangyy 3 years ago
parent
commit
e16453b9a1
  1. 6
      src/assets/scss/modules/visual/a_customize.scss
  2. 35
      src/views/modules/base/organization/organization.vue
  3. 130
      src/views/modules/communityParty/regionalParty/units.vue
  4. 106
      src/views/modules/communityService/fuwujilu/addForm.vue
  5. 355
      src/views/modules/communityService/sqzzz/index.vue
  6. 8
      src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue
  7. 6
      src/views/modules/workSys/role/role.vue

6
src/assets/scss/modules/visual/a_customize.scss

@ -34,7 +34,7 @@
.visiual-form { .visiual-form {
::v-deep .el-input { ::v-deep .el-input {
width: 350px; // width: 350px;
height: 36px; height: 36px;
.el-input__inner { .el-input__inner {
height: 100%; height: 100%;
@ -70,8 +70,8 @@
::v-deep .el-date-editor { ::v-deep .el-date-editor {
width: 360px; width: 360px;
position: relative; position: relative;
background: #06186d; // background: #06186d;
border: 1px solid #1a64cc; // border: 1px solid #1a64cc;
.el-range-input { .el-range-input {
color: #fff; color: #fff;
background: #06186d; background: #06186d;

35
src/views/modules/base/organization/organization.vue

@ -58,6 +58,8 @@
style="width: 100%"> style="width: 100%">
<el-table-column prop="departmentName" <el-table-column prop="departmentName"
label="下级机关单位/基层科室"></el-table-column> label="下级机关单位/基层科室"></el-table-column>
<el-table-column prop="departmentTypeShow"
label="部门类型"></el-table-column>
<el-table-column prop="contacts" <el-table-column prop="contacts"
label="联系人"></el-table-column> label="联系人"></el-table-column>
<el-table-column prop="mobile" <el-table-column prop="mobile"
@ -76,7 +78,7 @@
<el-button size="mini" <el-button size="mini"
type="warning" type="warning"
icon="el-icon-arrow-right" icon="el-icon-arrow-right"
@click="entryDepartment(scope.row.departmentId)">进入</el-button> @click="entryDepartment(scope.row)">进入</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -187,7 +189,8 @@
class-name="small-padding fixed-width"> class-name="small-padding fixed-width">
<template slot="header" <template slot="header"
slot-scope="scope"> slot-scope="scope">
<el-button size="mini" <el-button v-if="selDeptType==='duty'"
size="mini"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
@click="addCommunityPeo(scope.row)">新增</el-button> @click="addCommunityPeo(scope.row)">新增</el-button>
@ -201,7 +204,8 @@
type="success" type="success"
icon="el-icon-view" icon="el-icon-view"
@click="lookAngency(scope.row)">查看</el-button> @click="lookAngency(scope.row)">查看</el-button>
<el-button size="mini" <el-button v-if="selDeptType==='duty'"
size="mini"
type="info" type="info"
icon="el-icon-rank" icon="el-icon-rank"
@click="transfer(scope.row)">调动</el-button> @click="transfer(scope.row)">调动</el-button>
@ -1064,7 +1068,9 @@ export default {
addDepartmentName: [ addDepartmentName: [
{ required: true, message: '部门名称必填', trigger: 'blur' } { required: true, message: '部门名称必填', trigger: 'blur' }
] ]
} },
selDeptType: '',
} }
}, },
created () { created () {
@ -1213,6 +1219,19 @@ export default {
if (code === 0) { if (code === 0) {
this.departmentTableListData = data this.departmentTableListData = data
this.departmentTableListData.forEach(element => {
if (element.deptType === 'duty') {
element.departmentTypeShow = '职能部门'
} else if (element.deptType === 'party_unit') {
element.departmentTypeShow = '联建单位'
} else if (element.deptType === 'community_org') {
element.departmentTypeShow = '社会自组织'
} else {
element.departmentTypeShow = ''
}
});
} else { } else {
this.$message.error(msg) this.$message.error(msg)
@ -1641,19 +1660,21 @@ export default {
this.assembleBreadcrumbArr(gridId, 'grid') this.assembleBreadcrumbArr(gridId, 'grid')
}, },
// //
entryDepartment (departmentId) { entryDepartment (row) {
this.gridStaffTableListData = [] this.gridStaffTableListData = []
this.departmentStaffTableListData = [] this.departmentStaffTableListData = []
this.agencyStaffTableListData = [] this.agencyStaffTableListData = []
this.currentDepartmentId = departmentId this.currentDepartmentId = row.departmentId
this.departmentStaffTableFlag = true this.departmentStaffTableFlag = true
this.currentAgencyStaffTableFlag = false this.currentAgencyStaffTableFlag = false
this.gridStaffTableFlag = false this.gridStaffTableFlag = false
this.gridTableFlag = false this.gridTableFlag = false
this.agencyTableFlag = false this.agencyTableFlag = false
this.departmentTableFlag = false this.departmentTableFlag = false
this.selDeptType = row.deptType
this.getDepartmentStaffListData() this.getDepartmentStaffListData()
this.assembleBreadcrumbArr(departmentId, 'department') this.assembleBreadcrumbArr(row.departmentId, 'department')
}, },
// //

130
src/views/modules/communityParty/regionalParty/units.vue

@ -187,7 +187,7 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" <el-table-column label="操作"
fixed="right" fixed="right"
width="250" width="150"
header-align="center" header-align="center"
align="center" align="center"
class="operate"> class="operate">
@ -201,19 +201,51 @@
class="div-table-button--edit" class="div-table-button--edit"
size="small" size="small"
@click="handleEdit(scope.row)">修改</el-button> @click="handleEdit(scope.row)">修改</el-button>
<el-popover popper-class="btn-popper"
placement="bottom"
style="margin-left:10px"
width="20"
trigger="click">
<div v-if="scope.row.syncType==='not_sync'"
class="table-more-btn">
<el-button type="text"
class="div-table-button--detail"
size="small"
@click="handleSync(scope.row)">同步</el-button>
</div>
<div v-if="scope.row.syncType==='sync'"
class="table-more-btn">
<el-button type="text"
class="div-table-button--detail"
size="small"
@click="handleNoSync(scope.row)">取消同步</el-button>
</div>
<div class="table-more-btn">
<el-button type="text" <el-button type="text"
class="div-table-button--detail" class="div-table-button--detail"
size="small" size="small"
@click="handleFinish(scope.row)">完成情况</el-button> @click="handleFinish(scope.row)">完成情况</el-button>
</div>
<div class="table-more-btn">
<el-button type="text" <el-button type="text"
class="div-table-button--detail" class="div-table-button--detail"
size="small" size="small"
@click="handleScore(scope.row)">积分记录</el-button> @click="handleScore(scope.row)">积分记录</el-button>
</div>
<div class="table-more-btn">
<el-button type="text" <el-button type="text"
class="div-table-button--delete" class="div-table-button--delete"
size="small" size="small"
@click="handleDelete(scope.row)">删除</el-button> @click="handleDelete(scope.row)">删除</el-button>
</div>
<el-button type="text"
size="small"
class="div-table-button--more"
slot="reference">更多<i class="el-icon-caret-bottom"></i></el-button>
</el-popover>
</template> </template>
</el-table-column> </el-table-column>
@ -492,6 +524,100 @@ export default {
}, },
async handleSync (row) {
this.$confirm("确认同步?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.syncUnit(row)
})
.catch(err => {
if (err == "cancel") {
}
});
},
async handleNoSync (row) {
this.$confirm("确认取消同步?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.noSyncUnit(row)
})
.catch(err => {
if (err == "cancel") {
}
});
},
async syncUnit (row) {
const url = "/gov/org/department/syncdept"
let params = {
id: row.id,
deptName: row.unitName,
mobile: row.contactMobile,
personName: row.contact,
deptType: 'party_unit',
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
if (data.type) {
this.$message({
type: "success",
message: "同步成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
} else {
this.$message.error(msg)
}
},
async noSyncUnit (row) {
const url = "/gov/org/department/notsyncdept"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/delete"
let params = {
id: row.id,
deptId: row.deptId,
deptStaffId: row.deptStaffId,
deptType: 'party_unit',
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
if (data.type) {
this.$message({
type: "success",
message: "取消同步成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
} else {
this.$message.error(msg)
}
},
async handleDelete (row) { async handleDelete (row) {
this.$confirm("确认删除?", "提示", { this.$confirm("确认删除?", "提示", {

106
src/views/modules/communityService/fuwujilu/addForm.vue

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<div class="dialog-h-content scroll-h"> <div :class="{'visiual-form':source==='visiual'}">
<el-form v-if="formType==='add'" <el-form v-if="formType==='add'"
ref="ref_form" ref="ref_form"
@ -8,20 +8,43 @@
:model="formData" :model="formData"
:rules="dataRule" :rules="dataRule"
class="div_form"> class="div_form">
<el-form-item label="服务分类"
prop="serviceName"
label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block">
<el-select v-model="formData.serviceCategoryKey"
class="item_width_1"
placeholder="请选择"
clearable>
<el-option v-for="item in categrayArray"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="服务名称" <el-form-item label="服务名称"
prop="serviceName" prop="serviceName"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
placeholder="请输入服务名称" placeholder="请输入服务名称"
v-model="formData.serviceName"> v-model="formData.serviceName">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="服务组织" <el-form-item label="服务组织"
prop="serviceOrgId" prop="serviceOrgId"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block"> style="display: block">
<el-select v-model="formData.serviceOrgType" <el-select v-model="formData.serviceOrgType"
class="input-width-small" class="input-width-small"
placeholder="请选择" placeholder="请选择"
@ -51,7 +74,9 @@
<el-form-item label="服务范围" <el-form-item label="服务范围"
prop="objList" prop="objList"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block"> style="display: block">
<el-cascader class="item_width_1" <el-cascader class="item_width_1"
ref="myCascader" ref="myCascader"
v-model="scopeIdArray" v-model="scopeIdArray"
@ -60,12 +85,15 @@
:props="optionProps" :props="optionProps"
:show-all-levels="false" :show-all-levels="false"
@change="handleChangeScope"></el-cascader> @change="handleChangeScope"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="政策依据" <el-form-item label="政策依据"
prop="policyId" prop="policyId"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block"> style="display: block">
<el-select v-model="formData.policyId" <el-select v-model="formData.policyId"
class="input-width-small" class="input-width-small"
placeholder="请选择" placeholder="请选择"
@ -77,34 +105,44 @@
</el-option> </el-option>
</el-select> </el-select>
<el-button style="margin-left: 10px" <el-button style="margin-left: 10px"
type="primary" type="primary"
size="small" size="small"
@click="handlePersonList">预览</el-button> @click="handlePersonList">预览</el-button>
</el-form-item> </el-form-item>
<el-form-item label="经办人" <el-form-item label="经办人"
prop="principalName" prop="principalName"
:class="{'form-item':source==='visiual'}"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
placeholder="请输入联系人姓名" placeholder="请输入联系人姓名"
v-model="formData.principalName"> v-model="formData.principalName">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系方式" <el-form-item label="联系方式"
prop="principalContact" prop="principalContact"
:class="{'form-item':source==='visiual'}"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
placeholder="请输入联系人电话" placeholder="请输入联系人电话"
v-model="formData.principalContact"> v-model="formData.principalContact">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="服务时间" <el-form-item label="服务时间"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
prop="serviceTimeStart"> prop="serviceTimeStart">
<el-date-picker v-model="formData.serviceTimeStart" <el-date-picker v-model="formData.serviceTimeStart"
:picker-options="startPickerOptions" :picker-options="startPickerOptions"
class="item_width_2" class="item_width_2"
@ -122,12 +160,15 @@
value="yyyy-MM-dd" value="yyyy-MM-dd"
placeholder="结束时间"> placeholder="结束时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="备注" <el-form-item label="备注"
prop="remark" prop="remark"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
type="textarea" type="textarea"
maxlength="1000" maxlength="1000"
@ -135,10 +176,12 @@
:rows="3" :rows="3"
placeholder="请输入备注,不超过1000字" placeholder="请输入备注,不超过1000字"
v-model="formData.remark"></el-input> v-model="formData.remark"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="直接反馈" <el-form-item label="直接反馈"
prop="remark" prop="remark"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block"> style="display: block">
<el-checkbox :label="'是'" <el-checkbox :label="'是'"
v-model="showFeedback" v-model="showFeedback"
@ -157,8 +200,10 @@
<el-form-item label="服务目标" <el-form-item label="服务目标"
prop="serviceGoal" prop="serviceGoal"
:class="{'form-item':source==='visiual'}"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
type="textarea" type="textarea"
maxlength="1000" maxlength="1000"
@ -166,12 +211,15 @@
:rows="3" :rows="3"
placeholder="请输入服务目标,不超过1000字" placeholder="请输入服务目标,不超过1000字"
v-model="feedbackFormData.serviceGoal"></el-input> v-model="feedbackFormData.serviceGoal"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="服务效果" <el-form-item label="服务效果"
prop="serviceEffect" prop="serviceEffect"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
type="textarea" type="textarea"
maxlength="1000" maxlength="1000"
@ -179,22 +227,27 @@
:rows="3" :rows="3"
placeholder="请输入服务效果,不超过1000字" placeholder="请输入服务效果,不超过1000字"
v-model="feedbackFormData.serviceEffect"></el-input> v-model="feedbackFormData.serviceEffect"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="服务人数" <el-form-item label="服务人数"
style="display: block" style="display: block"
:class="{'form-item':source==='visiual'}"
prop="servicePeopleNumber" prop="servicePeopleNumber"
label-width="150px"> label-width="150px">
<el-input-number class="item_width_2" <el-input-number class="item_width_2"
v-model="feedbackFormData.servicePeopleNumber" v-model="feedbackFormData.servicePeopleNumber"
:min="0" :min="0"
:max="9999" :max="9999"
label="服务人数"></el-input-number> label="服务人数"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="服务状态" <el-form-item label="服务状态"
style="display: block" style="display: block"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
prop="serviceStatus"> prop="serviceStatus">
<span>已完成</span> <span>已完成</span>
<!-- <el-select class="item_width_1" <!-- <el-select class="item_width_1"
@ -212,7 +265,9 @@
<el-form-item label="满意度" <el-form-item label="满意度"
style="display: block" style="display: block"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
prop="satisfaction"> prop="satisfaction">
<el-select class="item_width_2" <el-select class="item_width_2"
v-model="feedbackFormData.satisfaction" v-model="feedbackFormData.satisfaction"
placeholder="全部" placeholder="全部"
@ -227,13 +282,17 @@
</el-form-item> </el-form-item>
<el-form-item label="地址" <el-form-item label="地址"
prop="address" prop="address"
:class="{'form-item':source==='visiual'}"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
v-model="feedbackFormData.address"></el-input> v-model="feedbackFormData.address"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="地图位置" <el-form-item label="地图位置"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block"> style="display: block">
<div style="width:500px"> <div style="width:500px">
@ -259,6 +318,7 @@
<el-form-item class="block" <el-form-item class="block"
label="附件" label="附件"
:class="{'form-item':source==='visiual'}"
label-width="150px" label-width="150px"
prop="attach"> prop="attach">
<el-upload class="upload-demo" <el-upload class="upload-demo"
@ -356,6 +416,7 @@ export default {
keyWords: '', keyWords: '',
formData: { formData: {
serviceCategoryKey: '',
serviceName: '',// serviceName: '',//
serviceOrgType: '',// community_org ic_user_volunteer party_unit serviceOrgType: '',// community_org ic_user_volunteer party_unit
serviceOrgId: '',//Id serviceOrgId: '',//Id
@ -403,6 +464,7 @@ export default {
firstInitMap: true, firstInitMap: true,
categrayArray: [],
statusArray: [ statusArray: [
{ {
value: "in_service", value: "in_service",
@ -446,6 +508,7 @@ export default {
this.startLoading() this.startLoading()
this.getCategrayList();
this.getDictOptions(); this.getDictOptions();
this.getPolicyList(); this.getPolicyList();
if (this.showFeedback) { if (this.showFeedback) {
@ -539,6 +602,23 @@ export default {
return this.$message.error("网络错误"); return this.$message.error("网络错误");
}); });
}, },
//
async getCategrayList () {
const url = "/sys/dict/data/dictlist"
let params = {
dictType: 'ic_service_type'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.categrayArray = data
} else {
this.$message.error(msg)
}
},
handleServiceChange (type, val) { handleServiceChange (type, val) {
if (val === "social_org") { if (val === "social_org") {
if (type === "add") this.getServiceuserList(val, "add_demand"); if (type === "add") this.getServiceuserList(val, "add_demand");
@ -697,11 +777,13 @@ export default {
return false; return false;
} }
if (this.source === 'manage') {
this.formData.serviceCategoryKey = this.serviceCategoryKey
}
const url = '/heart/icServiceRecordV2/add' const url = '/heart/icServiceRecordV2/add'
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/initiate' // const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/initiate'
let params = { let params = {
serviceCategoryKey: this.serviceCategoryKey,
...this.formData ...this.formData
} }
@ -1066,6 +1148,10 @@ export default {
return [] return []
} }
}, },
source: {//manage visiual
type: String,
default: 'manage'
}
} }
} }
@ -1074,4 +1160,18 @@ export default {
<style lang="scss" scoped > <style lang="scss" scoped >
@import "@/assets/scss/modules/management/form-main.scss"; @import "@/assets/scss/modules/management/form-main.scss";
@import "@/assets/scss/modules/visual/a_customize.scss";
.form-item::v-deep .el-form-item__label {
color: #fff;
}
.form-item {
.el-radio {
color: #fff;
}
.el-checkbox {
color: #fff;
}
}
</style> </style>

355
src/views/modules/communityService/sqzzz/index.vue

@ -1,72 +1,58 @@
<template> <template>
<div class="resi-container"> <div class="resi-container">
<el-card ref="searchCard" class="search-card"> <el-card ref="searchCard"
<el-form class="search-card">
ref="searchForm" <el-form ref="searchForm"
:inline="true" :inline="true"
:model="fmData" :model="fmData"
class="demo-form-inline" class="demo-form-inline">
> <el-form-item label="组织名称"
<el-form-item label="组织名称" prop="organizationName"> prop="organizationName">
<el-input <el-input v-model="fmData.organizationName"
v-model="fmData.organizationName"
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="createTime"> <el-form-item label="创建时间"
<el-date-picker prop="createTime">
v-model="fmData.createTime" <el-date-picker v-model="fmData.createTime"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd">
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注"
<el-input prop="remark">
v-model="fmData.remark" <el-input v-model="fmData.remark"
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> <el-form-item>
<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>
</el-form> </el-form>
</el-card> </el-card>
<el-card class="resi-card-table"> <el-card class="resi-card-table">
<div class="resi-row-btn"> <div class="resi-row-btn">
<el-button class="diy-button--add" size="small" @click="handleAdd" <el-button class="diy-button--add"
>新增</el-button size="small"
> @click="handleAdd">新增</el-button>
<el-button <el-button class="diy-button--export"
class="diy-button--export"
size="small" size="small"
@click="handleExportModule('room')" @click="handleExportModule('room')">下载模板</el-button>
>下载模板</el-button <el-upload ref="upload"
>
<el-upload
ref="upload"
class="upload-btn" class="upload-btn"
action="uploadUlr" action="uploadUlr"
:limit="1" :limit="1"
@ -77,71 +63,77 @@
: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="序号" type="index" align="center" width="50" /> type="index"
<el-table-column
prop="organizationName"
label="组织名称"
align="center" align="center"
> width="50" />
<el-table-column prop="organizationName"
label="组织名称"
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<a class="name-a" @click="handleWatch(scope.$index)"> <a class="name-a"
@click="handleWatch(scope.$index)">
{{ scope.row.organizationName }} {{ scope.row.organizationName }}
</a> </a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="categoryName" align="center" label="分类名称"> <el-table-column prop="categoryName"
align="center"
label="分类名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="organizationPersonCount"
prop="organizationPersonCount"
align="center" align="center"
label="组织人数" label="组织人数">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="serviceItem"
prop="serviceItem"
label="服务事项" label="服务事项"
align="center" align="center"
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
>
</el-table-column> </el-table-column>
<el-table-column prop="score" width="100" align="center" label="积分"> <el-table-column prop="score"
width="100"
align="center"
label="积分">
</el-table-column> </el-table-column>
<el-table-column prop="principalName" align="center" label="负责人"> <el-table-column prop="principalName"
align="center"
label="负责人">
</el-table-column> </el-table-column>
<el-table-column prop="principalPhone" align="center" label="联系电话"> <el-table-column prop="principalPhone"
align="center"
label="联系电话">
</el-table-column> </el-table-column>
<el-table-column prop="address" align="center" label="地址"> <el-table-column prop="address"
align="center"
label="地址">
</el-table-column> </el-table-column>
<el-table-column prop="remark" align="center" label="备注"> <el-table-column prop="remark"
align="center"
label="备注">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="organizationCreatedTime"
prop="organizationCreatedTime"
align="center" align="center"
label="创建时间" label="创建时间">
>
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="160"> <el-table-column fixed="right"
label="操作"
align="center"
width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button <!-- <el-button
@click="handleWatch(scope.$index)" @click="handleWatch(scope.$index)"
@ -149,87 +141,76 @@
size="small" size="small"
>查看</el-button >查看</el-button
> --> > -->
<el-button <el-button type="text"
type="text"
class="div-table-button--detail" class="div-table-button--detail"
size="small" size="small"
@click="handleScore(scope.row)" @click="handleScore(scope.row)">积分记录</el-button>
>积分记录</el-button
>
<el-button <el-button @click="handleEdit(scope.$index)"
@click="handleEdit(scope.$index)"
v-if="scope.row.agencyId == $store.state.user.agencyId" v-if="scope.row.agencyId == $store.state.user.agencyId"
type="text" type="text"
size="small" size="small"
class="div-table-button--edit" class="div-table-button--edit">修改</el-button>
>修改</el-button <el-button @click="handleSync(scope.row)"
> v-if="scope.row.syncType==='not_sync'"
type="text"
size="small"
class="div-table-button--edit">同步</el-button>
<el-button @click="handleNoSync(scope.row)"
v-if="scope.row.syncType==='sync'"
type="text"
size="small"
class="div-table-button--edit">取消同步</el-button>
<el-popconfirm <el-popconfirm title="删除之后无法回复,确认删除?"
title="删除之后无法回复,确认删除?"
v-if="scope.row.agencyId == $store.state.user.agencyId" v-if="scope.row.agencyId == $store.state.user.agencyId"
@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>
<!-- 修改弹出框 --> <!-- 修改弹出框 -->
<el-dialog <el-dialog :visible.sync="formShow"
:visible.sync="formShow"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
:title="formTitle" :title="formTitle"
width="850px" width="850px"
top="5vh" top="5vh"
class="dialog-h" class="dialog-h"
@closed="handleClose" @closed="handleClose">
> <edit-form ref="eleEditForm"
<edit-form
ref="eleEditForm"
@dialogCancle="handleClose" @dialogCancle="handleClose"
@dialogOk="handleEditSuccess" @dialogOk="handleEditSuccess"></edit-form>
></edit-form>
</el-dialog> </el-dialog>
<!-- 积分记录 --> <!-- 积分记录 -->
<el-dialog <el-dialog :visible.sync="scoreDiaShow"
:visible.sync="scoreDiaShow"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
:title="scoreDiaTitle" :title="scoreDiaTitle"
width="70%" width="70%"
top="5vh" top="5vh"
@closed="diaClose" @closed="diaClose">
> <score-record ref="ref_score"
<score-record :serviceType="'community_org'"></score-record>
ref="ref_score"
:serviceType="'community_org'"
></score-record>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -244,7 +225,7 @@ import scoreRecord from "../../../components/scoreRecord.vue";
export default { export default {
components: { editForm, scoreRecord }, components: { editForm, scoreRecord },
data() { data () {
return { return {
openSearch: false, openSearch: false,
@ -274,7 +255,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;
@ -292,11 +273,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 = {};
@ -333,18 +314,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 =
@ -361,7 +342,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({
@ -416,38 +397,38 @@ 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();
}, },
handleClose() { handleClose () {
this.formShow = false; this.formShow = false;
}, },
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 handleAdd() { async handleAdd () {
this.formShow = true; this.formShow = true;
await nextTick(); await nextTick();
console.log(this.$refs); console.log(this.$refs);
this.$refs.eleEditForm.initForm("add"); this.$refs.eleEditForm.initForm("add");
}, },
async handleChu() { async handleChu () {
const url = const url =
"/heart/iccommunityselforganization/exportcommunityselforganization"; "/heart/iccommunityselforganization/exportcommunityselforganization";
const { pageSize, pageNo, fmData } = this; const { pageSize, pageNo, fmData } = this;
@ -483,23 +464,117 @@ export default {
}); });
}, },
async handleWatch(rowIndex) { async handleWatch (rowIndex) {
this.formShow = true; this.formShow = true;
await nextTick(); await nextTick();
this.$refs.eleEditForm.initForm("detail", this.tableData[rowIndex]); this.$refs.eleEditForm.initForm("detail", this.tableData[rowIndex]);
}, },
async handleEdit(rowIndex) { async handleSync (row) {
this.$confirm("确认同步?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.syncUnit(row)
})
.catch(err => {
if (err == "cancel") {
}
});
},
async handleNoSync (row) {
this.$confirm("确认取消同步?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.noSyncUnit(row)
})
.catch(err => {
if (err == "cancel") {
}
});
},
async syncUnit (row) {
const url = "/gov/org/department/syncdept"
let params = {
id: row.orgId,
deptName: row.organizationName,
mobile: row.principalPhone,
personName: row.principalName,
deptType: 'community_org',
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
if (data.type) {
this.$message({
type: "success",
message: "同步成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
} else {
this.$message.error(msg)
}
},
async noSyncUnit (row) {
const url = "/gov/org/department/notsyncdept"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/delete"
let params = {
id: row.orgId,
deptId: row.deptId,
deptStaffId: row.deptStaffId,
deptType: 'community_org',
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
if (data.type) {
this.$message({
type: "success",
message: "取消同步成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
} else {
this.$message.error(msg)
}
},
async handleEdit (rowIndex) {
this.formShow = true; this.formShow = true;
await nextTick(); await nextTick();
this.$refs.eleEditForm.initForm("edit", this.tableData[rowIndex]); this.$refs.eleEditForm.initForm("edit", this.tableData[rowIndex]);
}, },
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";
@ -518,7 +593,7 @@ export default {
} }
}, },
async getTableData() { async getTableData () {
const url = const url =
"/heart/iccommunityselforganization/communityselforganizationlist"; "/heart/iccommunityselforganization/communityselforganizationlist";
const { pageSize, pageNo, fmData } = this; const { pageSize, pageNo, fmData } = this;
@ -541,14 +616,14 @@ export default {
}, },
// //
handleScore(row) { handleScore (row) {
this.scoreDiaShow = true; this.scoreDiaShow = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ref_score.initForm(row.orgId); this.$refs.ref_score.initForm(row.orgId);
}); });
}, },
diaClose() { diaClose () {
this.scoreDiaShow = false; this.scoreDiaShow = false;
}, },
}, },

8
src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue

@ -371,7 +371,10 @@
ref="eleEditForm" ref="eleEditForm"
@handleClose="handleClose" /> --> @handleClose="handleClose" /> -->
<service-info v-if="pageType==='dispose'" <!-- <service-info v-if="pageType==='dispose'"
ref="eleEditForm"
@handleClose="handleClose" /> -->
<fuwu-info v-if="pageType==='dispose'"
ref="eleEditForm" ref="eleEditForm"
@handleClose="handleClose" /> @handleClose="handleClose" />
@ -408,6 +411,7 @@ import ScreenLoading from "@/views/modules/visual/cpts/loading";
import People from "../../basicinfo/people"; import People from "../../basicinfo/people";
import eventInfo from "./eventInfo"; import eventInfo from "./eventInfo";
import serviceInfo from "./serviceInfo"; import serviceInfo from "./serviceInfo";
import fuwuInfo from "./fuwuInfo";
@ -1865,7 +1869,7 @@ const vueGis = {
...mapGetters(["clientHeight"]) ...mapGetters(["clientHeight"])
}, },
components: { cptTb, cptCard, ScreenLoading, People, eventInfo, serviceInfo }, components: { cptTb, cptCard, ScreenLoading, People, eventInfo, serviceInfo, fuwuInfo },
} }
export default vueGis; export default vueGis;
</script> </script>

6
src/views/modules/workSys/role/role.vue

@ -95,12 +95,14 @@
class="div-table-button--detail" class="div-table-button--detail"
size="small" size="small"
@click="handleDetail(scope.row)">查看</el-button> @click="handleDetail(scope.row)">查看</el-button>
<el-button type="text" <el-button v-if="scope.row.defaultRole!=='1'"
type="text"
class="div-table-button--edit" class="div-table-button--edit"
size="small" size="small"
@click="handleEdit(scope.row)">修改</el-button> @click="handleEdit(scope.row)">修改</el-button>
<el-button type="text" <el-button v-if="scope.row.defaultRole!=='1'"
type="text"
class="div-table-button--delete " class="div-table-button--delete "
size="small" size="small"
@click="handleDelete(scope.row)">删除</el-button> @click="handleDelete(scope.row)">删除</el-button>

Loading…
Cancel
Save