Browse Source

社会组织改版

origin/sync_user
Jackwang 4 years ago
parent
commit
b91b70b115
  1. 141
      src/views/modules/heart/org-user.vue
  2. 96
      src/views/modules/heart/volunteerorg-add-or-update.vue
  3. 4
      src/views/modules/heart/volunteerorg.vue

141
src/views/modules/heart/org-user.vue

@ -0,0 +1,141 @@
<template>
<el-dialog :visible.sync="visible"
append-to-body
:close-on-click-modal="false"
:close-on-press-escape="false"
width="80%"
height="90%">
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<!-- <el-form-item label="用户名">-->
<!-- <el-input v-model="dataForm.username" :placeholder="$t('user.username')" clearable maxlength="10" @keyup.native="btKeyUpUserName"></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="真实姓名">
<el-input v-model="dataForm.realName" placeholder='真实姓名' clearable maxlength="10" @keyup.native="btKeyUpRealname"></el-input>
</el-form-item>
<!-- <el-form-item label="邮箱">-->
<!-- <el-input v-model="dataForm.email" placeholder="邮箱" clearable maxlength="20" @keyup.native="btKeyUpEmail"></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="手机号">
<el-input v-model="dataForm.mobile" placeholder="手机号" clearable maxlength="11" @keyup.native="btKeyUpMobile"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataListOverWrite()" type="success">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" max-height="450" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column
type="index"
header-align="center"
align="center"
width="50"
label='序号'
></el-table-column>
<el-table-column prop="nickname" :label="$t('user.username')" sortable="custom" header-align="center" align="center" width="100"></el-table-column>
<el-table-column prop="realName" :label="$t('user.realName')" header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" :label="$t('user.deptName')" header-align="center" align="center" min-width="120"></el-table-column>
<!-- <el-table-column prop="email" :label="$t('user.email')" header-align="center" align="center" width="200"></el-table-column>-->
<el-table-column prop="mobile" :label="$t('user.mobile')" sortable="custom" header-align="center" align="center" width="120"></el-table-column>
<!-- <el-table-column prop="status" :label="$t('user.status')" sortable="custom" header-align="center" align="center" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag v-if="scope.row.status === 0" size="small" type="danger">{{ $t('user.status0') }}</el-tag>-->
<!-- <el-tag v-else size="small" type="success">{{ $t('user.status1') }}</el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="createdTime" :label="$t('user.createDate')" sortable="custom" header-align="center" align="center" width="180"></el-table-column>
</el-table>
<el-pagination
:current-page="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle">
</el-pagination>
<el-form>
<el-button type="primary" @click="getInfo()" style="margin-left:48%" class="end">{{"确定"}}</el-button>
</el-form>
</div>
</el-card>
</el-dialog>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/app-user/user/getUserListForVolunteerOrg',
getDataListIsPage: true,
deleteURL: '/sys/user',
deleteIsBatch: true,
exportURL: '/sys/user/export'
},
visible: false,
dataForm: {
realName: '',
mobile: ''
},
responseData: []
}
},
methods: {
// btKeyUpUserName (e) {
// e.target.value = e.target.value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|·~@#%&*\-+={}|]/g, '')
// this.dataForm.username = e.target.value
// },
btKeyUpRealname (e) {
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g, '')
this.dataForm.realname = e.target.value
},
// btKeyUpEmail (e) {
// e.target.value = e.target.value.replace(/[`~!#$%^&*()_\-+=<>?:"{}|~#%&*={}|]/g, '')
// this.dataForm.email = e.target.value
// },
btKeyUpMobile (e) {
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_=<>?:"{}|·~!@#¥%……&*()——={}|《》?:“”【】、;‘’,。、]/g, '')
this.dataForm.mobile = e.target.value
},
getDataListOverWrite () {
this.page = 1
this.getDataList()
},
//
init () {
this.visible = true
this.$nextTick(() => {
this.getDataList()
})
},
handleSelectionChange (val) {
this.responseData = val
},
getInfo () {
if (this.responseData.length === 0) {
this.$message({
message: '请选择用户!',
type: 'warning'
})
return false
}
this.$emit('connectResponse', this.responseData)
this.visible = false
}
}
}
</script>
<style scoped lang='scss'>
.el-form{
.end{
margin-top: 10px;
}
}
.el-button--success{
margin-top: 0px!important;
}
</style>

96
src/views/modules/heart/volunteerorg-add-or-update.vue

@ -10,11 +10,13 @@
<el-form-item label="组织名称" prop="volunteerOrgName" label-width="100px"> <el-form-item label="组织名称" prop="volunteerOrgName" label-width="100px">
<el-input v-model="dataForm.volunteerOrgName" placeholder="组织名称" style="width:300px"></el-input> <el-input v-model="dataForm.volunteerOrgName" placeholder="组织名称" style="width:300px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="组织管理员" prop="headName" label-width="100px"> <el-form-item label="组织管理员" prop="headName" label-width="100px">
<el-input v-model="dataForm.headName" placeholder="负责人" style="width:300px"></el-input> <el-input v-model="dataForm.headName" disabled placeholder="负责人" style="width:300px"></el-input>
<el-button type="primary" @click="selectUserMethod()" style="margin-left: 30px">{{"选择管理员"}}</el-button>
</el-form-item> </el-form-item>
<el-form-item label="管理员电话" prop="mobile" label-width="100px"> <el-form-item label="管理员电话" prop="mobile" label-width="100px">
<el-input v-model="dataForm.mobile" placeholder="负责电话" style="width:300px"></el-input> <el-input v-model="dataForm.mobile" disabled placeholder="负责电话" style="width:300px"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="组织编码" prop="volunteerOrgCode">--> <!-- <el-form-item label="组织编码" prop="volunteerOrgCode">-->
<!-- <el-input v-model="dataForm.volunteerOrgCode" placeholder="组织编码"></el-input>--> <!-- <el-input v-model="dataForm.volunteerOrgCode" placeholder="组织编码"></el-input>-->
@ -55,35 +57,20 @@
<el-form-item label="组织介绍" prop="note" label-width="100px"> <el-form-item label="组织介绍" prop="note" label-width="100px">
<el-input v-model="dataForm.note" clearable type="textarea" maxlength="200" placeholder="请输入组织介绍,最多200字"></el-input> <el-input v-model="dataForm.note" clearable type="textarea" maxlength="200" placeholder="请输入组织介绍,最多200字"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="删除标识 0-否,1-是" prop="delFlag">-->
<!-- <el-input v-model="dataForm.delFlag" placeholder="删除标识 0-否,1-是"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="乐观锁" prop="revision">-->
<!-- <el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="创建人" prop="createdBy">-->
<!-- <el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="创建时间" prop="createdTime">-->
<!-- <el-input v-model="dataForm.createdTime" placeholder="创建时间"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="更新人" prop="updatedBy">-->
<!-- <el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="更新时间" prop="updatedTime">-->
<!-- <el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input>-->
<!-- </el-form-item>-->
</el-form> </el-form>
<org-user v-if="orgUserVisible" ref="orgUser" v-on:connectResponse="connectResponse"></org-user>
<template slot="footer"> <template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> <el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> <el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import debounce from 'lodash/debounce' import debounce from 'lodash/debounce'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import OrgUser from './org-user'
export default { export default {
data () { data () {
return { return {
@ -105,6 +92,7 @@ export default {
updatedTime: '', updatedTime: '',
note:'' note:''
}, },
orgUserVisible:false,
uploadUrl: '', uploadUrl: '',
loading: false, loading: false,
orgTypeList:[], orgTypeList:[],
@ -123,15 +111,6 @@ export default {
volunteerOrgName: [ volunteerOrgName: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
// volunteerOrgCode: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ],
// isOpen: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ],
// sort: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ],
headName: [ headName: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
@ -148,24 +127,6 @@ export default {
address: [ address: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
// delFlag: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ],
// revision: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ],
// createdBy: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ],
// createdTime: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ],
// updatedBy: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ],
// updatedTime: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ]
} }
} }
}, },
@ -175,7 +136,22 @@ export default {
this.uploadUrl = `${window.SITE_CONFIG['apiURL']}/oss/file/upload?token=${Cookies.get('token')}` this.uploadUrl = `${window.SITE_CONFIG['apiURL']}/oss/file/upload?token=${Cookies.get('token')}`
}) })
}, },
components: {
OrgUser
},
methods: { methods: {
// dialog
connectResponse (connectResponse) {
this.dataForm.mobile = connectResponse[0].mobile
this.dataForm.headName = connectResponse[0].realName
},
//
selectUserMethod () {
this.orgUserVisible = true
this.$nextTick(() => {
this.$refs.orgUser.init()
})
},
// //
handleAvatarSuccess (res, file) { handleAvatarSuccess (res, file) {
this.loading = false this.loading = false
@ -221,21 +197,21 @@ export default {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
this.$alert(res.data, '提示', { // this.$alert(res.data, '', {
confirmButtonText: '确定', // confirmButtonText: '',
callback: action => { // callback: action => {
this.visible = false
this.$emit('refreshDataList')
} });
// this.$message({
// message: this.$t('prompt.success'),
// type: 'success',
// duration: 500,
// onClose: () => {
// this.visible = false // this.visible = false
// this.$emit('refreshDataList') // this.$emit('refreshDataList')
// } // } });
// }) this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
}).catch(() => {}) }).catch(() => {})
}) })
}, 1000, { 'leading': true, 'trailing': false }) }, 1000, { 'leading': true, 'trailing': false })

4
src/views/modules/heart/volunteerorg.vue

@ -51,7 +51,7 @@
<!-- <el-table-column prop="sort" label="排序" header-align="center" align="center"></el-table-column>--> <!-- <el-table-column prop="sort" label="排序" header-align="center" align="center"></el-table-column>-->
<el-table-column prop="headName" label="管理员姓名" header-align="center" align="center"></el-table-column> <el-table-column prop="headName" label="管理员姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="mobile" label="管理员手机号" header-align="center" align="center"></el-table-column> <el-table-column prop="mobile" label="管理员手机号" header-align="center" align="center"></el-table-column>
<el-table-column prop="associatedStates" label="居民端管理员" header-align="center" align="center"></el-table-column> <!-- <el-table-column prop="associatedStates" label="居民端管理员" header-align="center" align="center"></el-table-column>-->
<el-table-column prop="address" label="地址" header-align="center" align="center"></el-table-column> <el-table-column prop="address" label="地址" header-align="center" align="center"></el-table-column>
<!-- <el-table-column prop="delFlag" label="删除标识 0-否,1-是" header-align="center" align="center"></el-table-column>--> <!-- <el-table-column prop="delFlag" label="删除标识 0-否,1-是" header-align="center" align="center"></el-table-column>-->
<!-- <el-table-column prop="revision" label="乐观锁" header-align="center" align="center"></el-table-column>--> <!-- <el-table-column prop="revision" label="乐观锁" header-align="center" align="center"></el-table-column>-->
@ -63,7 +63,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="lookDetail(scope.row.id)">{{ $t('详情') }}</el-button> <el-button type="text" size="small" @click="lookDetail(scope.row.id)">{{ $t('详情') }}</el-button>
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> <!-- <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

Loading…
Cancel
Save