Browse Source

联检单位模块还原

dev-用户反馈
mk 3 years ago
parent
commit
7348f9aabd
  1. 4
      src/views/modules/communityParty/regionalParty/activitys.vue
  2. 2
      src/views/modules/communityParty/regionalParty/activitysForm.vue
  3. 106
      src/views/modules/communityParty/regionalParty/units.vue
  4. 70
      src/views/modules/communityParty/regionalParty/unitsDetail.vue
  5. 94
      src/views/modules/communityParty/regionalParty/unitsForm.vue

4
src/views/modules/communityParty/regionalParty/activitys.vue

@ -133,7 +133,7 @@
align="center" align="center"
type="index" type="index"
width="50"></el-table-column> width="50"></el-table-column>
<el-table-column prop="name" <el-table-column prop="unitName"
header-align="center" header-align="center"
align="center" align="center"
label="单位名称" label="单位名称"
@ -522,7 +522,7 @@ export default {
this.timeRange = [] this.timeRange = []
this.formData = { this.formData = {
gridId: '', gridId: '',
name: '', unitName: '',
serviceMatter: '', serviceMatter: '',
type: '', type: '',
contact: '', contact: '',

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

@ -223,7 +223,7 @@ export default {
let _form = { let _form = {
gridId: '', gridId: '',
serviceMatter: '',// serviceMatter: '',//
serviceMatterList: {}, serviceMatterList: [],
unitId: '',//ID unitId: '',//ID
unitIdList: [], unitIdList: [],
title: '',// title: '',//

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

@ -19,8 +19,8 @@
</el-form-item> </el-form-item>
<el-form-item label="单位名称" <el-form-item label="单位名称"
prop="name"> prop="unitName">
<el-input v-model="formData.name" <el-input v-model="formData.unitName"
class="item_width_1" class="item_width_1"
clearable clearable
size="small" size="small"
@ -133,7 +133,7 @@
type="index" type="index"
width="50"></el-table-column> width="50"></el-table-column>
<el-table-column prop="name" <el-table-column prop="unitName"
header-align="center" header-align="center"
align="center" align="center"
label="单位名称" label="单位名称"
@ -145,13 +145,13 @@
label="所属组织" label="所属组织"
min-width="100"> min-width="100">
</el-table-column> </el-table-column>
<el-table-column prop="typeName" <el-table-column prop="type"
header-align="center" header-align="center"
align="center" align="center"
label="分类" label="分类"
min-width="80"> min-width="80">
</el-table-column> </el-table-column>
<el-table-column prop="serviceMatterName" <el-table-column prop="serviceMatterListShow"
header-align="center" header-align="center"
align="center" align="center"
label="服务事项" label="服务事项"
@ -177,7 +177,12 @@
label="联系电话" label="联系电话"
width="120"> width="120">
</el-table-column> </el-table-column>
<el-table-column prop="memberCount"
header-align="center"
align="center"
label="在职党员数"
width="100">
</el-table-column>
<!-- <el-table-column prop="satisfaction" <!-- <el-table-column prop="satisfaction"
header-align="center" header-align="center"
align="center" align="center"
@ -214,10 +219,58 @@
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 v-if="agencyId===scope.row.agencyId"
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"
class="div-table-button--detail"
size="small"
@click="handleFinish(scope.row)">完成情况</el-button>
</div>
<div class="table-more-btn">
<el-button type="text"
class="div-table-button--detail"
size="small"
@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>
<el-button v-else
type="text"
class="div-table-button--detail"
size="small"
@click="handleScore(scope.row)">积分记录</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -313,7 +366,7 @@ export default {
unitList: [],//list unitList: [],//list
serviceList: [],//list serviceList: [],//list
typeList: [{label:'实有单位',value:'1'},{label:'社会服务组织',value:'2'},{label:'志愿单位',value:'3'}],//list typeList: [],//list
agencyIdArray: [], agencyIdArray: [],
orgOptions: [], orgOptions: [],
orgOptionProps: { orgOptionProps: {
@ -323,10 +376,11 @@ export default {
children: 'subAgencyList', children: 'subAgencyList',
checkStrictly: true checkStrictly: true
}, },
unitId: '', unitId: '',
formData: { formData: {
agencyId: '', agencyId: '',
name: '', unitName: '',
serviceMatter: '', serviceMatter: '',
type: '', type: '',
contact: '', contact: '',
@ -364,6 +418,9 @@ export default {
await this.loadService() await this.loadService()
this.getOrgTreeList() this.getOrgTreeList()
//
await this.loadType()
const { user } = this.$store.state const { user } = this.$store.state
this.agencyId = user.agencyId this.agencyId = user.agencyId
@ -427,10 +484,29 @@ export default {
} }
}, },
//
async loadType () {
const url = "/sys/dict/data/dictlist"
let params = {
dictType: 'party_unit_type'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.typeList = data
} else {
this.$message.error(msg)
}
},
async loadTable () { async loadTable () {
this.tableLoading = true this.tableLoading = true
const url = "/heart/icPublicServiceOrg/page" const url = "/heart/icpartyunit/list"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/list" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/list"
let params = { let params = {
pageSize: this.pageSize, pageSize: this.pageSize,
@ -484,7 +560,7 @@ export default {
// //
handleFinish (row) { handleFinish (row) {
this.finishDiaTitle = row.name + '完成情况' this.finishDiaTitle = row.unitName + '完成情况'
this.finishDiaShow = true this.finishDiaShow = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ref_finish.initTable(row) this.$refs.ref_finish.initTable(row)
@ -510,7 +586,7 @@ export default {
this.formTitle = '修改' this.formTitle = '修改'
this.formShow = true this.formShow = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ref_form.initForm('edit',row.id) this.$refs.ref_form.initForm('edit', row.id)
}) })
}, },
@ -563,7 +639,7 @@ export default {
let params = { let params = {
id: row.id, id: row.id,
deptName: row.name, deptName: row.unitName,
mobile: row.contactMobile, mobile: row.contactMobile,
personName: row.contact, personName: row.contact,
deptType: 'party_unit', deptType: 'party_unit',
@ -635,14 +711,14 @@ export default {
}, },
async deleteUnit (row) { async deleteUnit (row) {
const url = "/heart/icPublicServiceOrg/delete" const url = "/heart/icpartyunit/delete"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/delete" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/delete"
let params = { let params = {
id: row.id id: row.id
} }
const { data, code, msg } = await requestPost(url, [row.id]) const { data, code, msg } = await requestPost(url, params)
if (code === 0) { if (code === 0) {
this.$message({ this.$message({
@ -661,7 +737,7 @@ export default {
this.agencyIdArray = [] this.agencyIdArray = []
this.formData = { this.formData = {
agencyId: '', agencyId: '',
name: '', unitName: '',
serviceMatter: '', serviceMatter: '',
type: '', type: '',
contact: '', contact: '',

70
src/views/modules/communityParty/regionalParty/unitsDetail.vue

@ -7,7 +7,7 @@
<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.name||'--' }}</span> <span>{{ formData.unitName||'--' }}</span>
</div> </div>
<div class="info-prop"> <div class="info-prop">
@ -17,7 +17,7 @@
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">服务事项</span> <span class="info-title-2">服务事项</span>
<span>{{ formData.serviceMatterName }}</span> <span>{{ formData.serviceMatterList.join(',') }}</span>
</div> </div>
<div class="info-prop"> <div class="info-prop">
@ -28,6 +28,10 @@
<span class="info-title-2">联系电话</span> <span class="info-title-2">联系电话</span>
<span>{{ formData.contactMobile||'--' }}</span> <span>{{ formData.contactMobile||'--' }}</span>
</div> </div>
<div class="info-prop">
<span class="info-title-2">在职党员</span>
<span>{{ formData.memberCount||'--' }}</span>
</div>
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">备注</span> <span class="info-title-2">备注</span>
<span>{{ formData.remark||'--' }}</span> <span>{{ formData.remark||'--' }}</span>
@ -63,8 +67,6 @@
import { Loading } from 'element-ui' // Loading import { Loading } from 'element-ui' // Loading
import nextTick from 'dai-js/tools/nextTick' import nextTick from 'dai-js/tools/nextTick'
import daiMap from "@/utils/dai-map"; import daiMap from "@/utils/dai-map";
import { requestPost } from '@/js/dai/request'
import { log } from 'console';
var map var map
var search var search
@ -76,19 +78,8 @@ let loading // 加载动画
export default { export default {
data () { data () {
return { return {
formData: { formData: {},
name:"",
type:"",
serviceMatterName:"",
contact:"",
contactMobile:"",
remark:"",
address:"",
latitude:"",
longitude:"",
},
initLoading: false, initLoading: false,
unitId:""
} }
}, },
components: {}, components: {},
@ -108,38 +99,16 @@ export default {
// map.destroy() // map.destroy()
} }
}, },
// async initForm (row) {
// this.startLoading()
// let { latitude, longitude } = this.$store.state.user;
// this.unitId = row.id
// await this.getDetail()
// if (!latitude || latitude == "" || latitude == "0") {
// latitude = 39.9088810666821;
// longitude = 116.39743841556731;
// }
// this.$nextTick(() => {
// if (!map) {
// this.initMap(latitude, longitude)
// } else {
// map.setCenter(latitude, longitude);
// map.setMarker(latitude, longitude);
// }
// })
// this.endLoading()
// },
async initForm (row) { async initForm (row) {
this.startLoading() this.startLoading()
// this.formData = JSON.parse(JSON.stringify(row)) this.formData = JSON.parse(JSON.stringify(row))
this.initLoading = true this.initLoading = true
this.unitId = row.id console.log(this.formData)
// await nextTick(200) // await nextTick(200)
await this.getDetail()
console.log(this.formData);
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) {
@ -164,22 +133,11 @@ export default {
this.endLoading() this.endLoading()
}, },
async getDetail () {
const url = `/heart/icPublicServiceOrg/detail/${this.unitId}`
const { data, code, msg } = await requestPost(url)
if (code === 0) {
this.formData = data
} else {
this.$message.error(msg)
}
},
// init // init
initMap (latitude, longitude) { initMap (latitude, longitude) {
console.log(latitude, longitude);
map = new daiMap( map = new daiMap(
document.getElementById("app_detail_unit"), document.getElementById("app_detail_unit"),
{ latitude, longitude }, { latitude, longitude },

94
src/views/modules/communityParty/regionalParty/unitsForm.vue

@ -10,14 +10,14 @@
class="form"> class="form">
<el-form-item label="单位名称" <el-form-item label="单位名称"
prop="name" prop="unitName"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
maxlength="50" maxlength="50"
show-word-limit show-word-limit
placeholder="请输入单位名称" placeholder="请输入单位名称"
v-model="formData.name"> v-model="formData.unitName">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="分类" <el-form-item label="分类"
@ -45,8 +45,8 @@
style="display:flex;flex-wrap:wrap" style="display:flex;flex-wrap:wrap"
v-model="formData.serviceMatterList"> v-model="formData.serviceMatterList">
<el-checkbox v-for="item in serviceList" <el-checkbox v-for="item in serviceList"
:key="item.categoryCode" :key="item.value"
:label="item.categoryCode">{{item.categoryName}}</el-checkbox> :label="item.value">{{item.label}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
@ -69,7 +69,16 @@
v-model="formData.contactMobile"> v-model="formData.contactMobile">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="在职党员"
style="display: block"
prop="memberCount"
label-width="150px">
<el-input-number class="item_width_4"
v-model="formData.memberCount"
:min="0"
:max="9999"
label="在职党员"></el-input-number>
</el-form-item>
<el-form-item label="备注" <el-form-item label="备注"
prop="remark" prop="remark"
label-width="150px" label-width="150px"
@ -145,15 +154,16 @@ export default {
data () { data () {
let initFormData = () => { let initFormData = () => {
let _form = { let _form = {
name: '', unitName: '',
serviceMatterList: [], serviceMatterList: [],
type: '', type: '',
contact: '', contact: '',
contactMobile: '', contactMobile: '',
memberCount: 0,
remark: '', //500 remark: '', //500
address: '', // address: '', //
longitude: this.$store.state.user.longitude, // longitude: this.$store.state.user.longitude, //
latitude: this.$store.state.user.latitude // latitude: this.$store.state.user.latitude//
} }
return _form return _form
@ -164,7 +174,7 @@ export default {
searchValue: '', searchValue: '',
resultList: [], resultList: [],
loading: false, loading: false,
serviceMatterListCody:[],
btnDisable: false, btnDisable: false,
unitId: '', unitId: '',
@ -179,8 +189,7 @@ export default {
// this.initMap() // this.initMap()
}, },
watch:{
},
methods: { methods: {
async initForm (type, unitId) { async initForm (type, unitId) {
@ -196,7 +205,8 @@ export default {
this.formType = type this.formType = type
if (unitId) { if (unitId) {
this.unitId = unitId this.unitId = unitId
await this.getDetail() this.formData.id = unitId
await this.loadFormData()
} else { } else {
this.formData.latitude = latitude this.formData.latitude = latitude
this.formData.longitude = longitude this.formData.longitude = longitude
@ -214,7 +224,7 @@ export default {
// //
async loadService () { async loadService () {
const url = "/heart/serviceitem/dict-options" const url = "/heart/serviceitem/dict-list"
let params = { let params = {
type: 'usable' type: 'usable'
// parentCategoryCode: '1010' // parentCategoryCode: '1010'
@ -224,34 +234,13 @@ export default {
if (code === 0) { if (code === 0) {
this.serviceList = data this.serviceList = data
} else {
this.$message.error(msg)
}
},
async getDetail () {
const url = `/heart/icPublicServiceOrg/detail/${this.unitId}`
const { data, code, msg } = await requestPost(url)
if (code === 0) {
for(let key in data){
if(key == 'serviceMatterList'){
let arr =[]
for(let val of data[key]){
arr.push(val.categoryCode)
}
this.serviceMatterListCody = arr
}
}
this.formData = data
this.formData.serviceMatterList = this.serviceMatterListCody
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
// //
async loadFormData () { async loadFormData () {
const url = '/heart/icpartyunit/detail' const url = '/heart/icpartyunit/detail'
@ -263,7 +252,7 @@ export default {
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
if (code === 0) { if (code === 0) {
if (!data.serviceMatterList) { if (!data.serviceMatterList || !Array.isArray(data.serviceMatterList)) {
data.serviceMatterList = [] data.serviceMatterList = []
} }
@ -303,27 +292,13 @@ export default {
// return false; // return false;
// } // }
let url = '/heart/icPublicServiceOrg/save' let url = '/heart/icpartyunit/save'
// let url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/save" // let url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/save"
if (this.formType === 'edit') { // if (this.formType === 'edit') {
this.formData.id = this.unitId // this.formData.id = this.unitId
url = '/heart/icPublicServiceOrg/update' // }
}
if(this.formData.serviceMatterList.length>0){ const { data, code, msg } = await requestPost(url, this.formData)
let arr = []
for( let code of this.formData.serviceMatterList){
this.serviceList.forEach(item=>{
if( item.categoryCode == code){
arr.push({categoryCode:item.categoryCode,categoryId:item.categoryId})
}
return arr
})
}
this.formData.serviceMatterList = arr
this.formData.latitude = this.formData.latitude.toString()
this.formData.longitude = this.formData.longitude.toString()
}
const { data, code, msg } = await requestPost(url,this.formData)
if (code === 0) { if (code === 0) {
this.$message({ this.$message({
@ -346,6 +321,7 @@ export default {
this.$emit('dialogCancle') this.$emit('dialogCancle')
}, },
// init // init
initMap (latitude, longitude) { initMap (latitude, longitude) {
@ -439,11 +415,12 @@ export default {
this.unitId = '' this.unitId = ''
this.keyWords = '' this.keyWords = ''
this.formData = { this.formData = {
name: '', unitName: '',
serviceMatterList: [], serviceMatterList: [],
type: '', type: '',
contact: '', contact: '',
contactMobile: '', contactMobile: '',
memberCount: 0,
remark: '', //500 remark: '', //500
address: '', // address: '', //
longitude: this.$store.state.user.longitude, // longitude: this.$store.state.user.longitude, //
@ -470,7 +447,7 @@ export default {
dataRule () { dataRule () {
return { return {
name: [ unitName: [
{ required: true, message: '单位名称不能为空', trigger: 'blur' }, { required: true, message: '单位名称不能为空', trigger: 'blur' },
], ],
type: [ type: [
@ -483,6 +460,9 @@ export default {
contactMobile: [ contactMobile: [
{ required: true, message: '联系电话不能为空', trigger: 'blur' } { required: true, message: '联系电话不能为空', trigger: 'blur' }
], ],
memberCount: [
{ required: true, message: '在职党员数不能为空', trigger: 'blur' }
],
address: [ address: [
{ required: true, message: '详细地址不能为空', trigger: 'blur' } { required: true, message: '详细地址不能为空', trigger: 'blur' }
], ],

Loading…
Cancel
Save