Browse Source

联调接口等等

feature
是小王呀\24601 9 months ago
parent
commit
28236395f4
  1. 49
      src/views/modules/base/organization/organization.vue
  2. 48
      src/views/modules/informationArchive/elderlyArchives/cpts/add-old.vue
  3. 5
      src/views/modules/informationArchive/elderlyArchives/cpts/info-old.vue
  4. 132
      src/views/modules/informationArchive/elderlyArchives/index.vue
  5. 133
      src/views/modules/informationArchive/serviceTeamManagement/cpts/volunteers-list.vue
  6. 213
      src/views/modules/informationArchive/volunteerProfile/cpts/service-info.vue
  7. 213
      src/views/modules/informationArchive/volunteerProfile/cpts/service-record.vue
  8. 163
      src/views/modules/informationArchive/volunteerProfile/cpts/volunteers-list.vue
  9. 234
      src/views/modules/informationArchive/volunteerProfile/index.vue
  10. 2
      src/views/modules/visual/communityGovern/cpt/project-info.vue
  11. 4
      src/views/modules/volunteerService/pairingRecords/cpts/service-team.vue
  12. 52
      src/views/modules/volunteerService/pairingRecords/index.vue

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

@ -480,7 +480,7 @@
<el-form-item label="角色"
prop="newRoles">
<el-select v-model.trim="peoForm.newRoles"
multiple
multiple @change="handleRoleChange"
placeholder="请选择">
<el-option v-for="item in roleList"
:key="item.id"
@ -489,6 +489,12 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属服务团" prop="volunteerOrgId" v-if="serviceGroupShow">
<el-select v-if="serviceGroupShow" class="item_width_1" v-model.trim="peoForm.volunteerOrgId" size="small" placeholder="请选择" clearable>
<el-option v-for="item in listOfServiceGroups" :key="item.id" :label="item.orgName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="管辖范围"
prop="manageScopes">
@ -620,6 +626,12 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属服务团" prop="volunteerOrgId" v-if="serviceGroupShow">
<el-select v-if="serviceGroupShow" class="item_width_1" v-model.trim="peoForm.volunteerOrgId" size="small" placeholder="请选择" clearable>
<el-option v-for="item in listOfServiceGroups" :key="item.id" :label="item.orgName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="管辖范围"
prop="manageScopes">
<el-cascader class="u-item-width-normal"
@ -1110,6 +1122,9 @@ var map
export default {
data () {
return {
volunteerOrgId:"",
listOfServiceGroups:[],
serviceGroupShow:false,
//
createAgencyDialogFlag: false,
//
@ -1241,6 +1256,7 @@ export default {
tree: [],
//
peoForm: {
volunteerOrgId:"",
name: "",
mobile: "",
idCard: "",
@ -1402,6 +1418,7 @@ export default {
this.getAgencyStaffListData();
this.getRoleList();
this.getOrgTreeList()
this.getVolunteerOrg()
// this.getNavigation()
//
this.assembleBreadcrumbArr(localStorage.getItem("agencyId"), "agency");
@ -1448,6 +1465,27 @@ export default {
mounted () {
},
methods: {
//
async getVolunteerOrg() {
const url = "/voluntary/volunteerOrg/page"
let params = {
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.listOfServiceGroups = data.list
} else {
this.$message.error(msg)
}
},
handleRoleChange(selectedValues) {
if (selectedValues.includes("1911685481883824130")) {
console.log(selectedValues,'你选中了ID为3的档次');
this.serviceGroupShow=true
} else {
}
},
getOrgTreeList () {
this.$http
.post('/gov/org/customeragency/agencygridtree', {})
@ -1713,6 +1751,10 @@ export default {
//
async submitPeoDo () {
if(this.serviceGroupShow&&!this.peoForm.volunteerOrgId){
this.$message.error("请选择加入的社团")
return
}
if(this.peoForm.manageScopes){
const targetAgencyIds = this.peoForm.manageScopes.map(innerArray => innerArray[innerArray.length - 1]);
// Set
@ -1726,6 +1768,7 @@ export default {
peoForm: { orgType },
} = this;
let params = {
volunteerOrgId:this.peoForm.volunteerOrgId,
orgType: this.peoForm.orgType,
name: this.peoForm.name,
mobile: this.peoForm.mobile,
@ -1743,12 +1786,13 @@ export default {
orgLevels:this.peoForm.orgLevels,
manageOrgIds:this.manageOrgIds
};
console.log(params,"dslkjfdsj");
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("添加成功");
this.dialogVisiblePeo = false;
this.peoForm = [];
this.serviceGroupShow=false,
this.getAgencyList();
this.getDepartmentList();
this.getGridList();
@ -2002,6 +2046,7 @@ export default {
},
/** 取消按钮 */
cancelPeo () {
this.serviceGroupShow=false,
this.dialogVisiblePeo = false;
this.peoFormRest();
},

48
src/views/modules/informationArchive/elderlyArchives/cpts/add-old.vue

@ -160,7 +160,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="现状类别" prop="statusCategory" label-width="100px">
<el-select class="u-item-width-normal" v-model.trim="formData.statusCategory" size="small"
<el-select multiple class="u-item-width-normal" v-model.trim="formData.statusCategory" size="small"
placeholder="请选择" clearable>
<el-option v-for="item in elderlyList" :key="item.value" :label="item.label"
:value="item.value">
@ -200,14 +200,14 @@
</el-col>
<el-col :span="16">
<el-form-item label="服务需求" prop="albumName" label-width="100px" class="label-wrap">
<el-select class="u-item-width-normal" v-model.trim="formData.typefatherId" size="small"
<el-select class="u-item-width-normal" v-model.trim="typefatherId" size="small"
placeholder="请选择" clearable @change="handleChidren">
<el-option v-for="item in ServiceGroupList" :key="item.id" :label="item.categoryName"
:value="item.id">
</el-option>
</el-select>
<el-select style="margin-left: 10px;" class="u-item-width-normal"
v-model.trim="formData.typeId" size="small" placeholder="请选择" clearable>
v-model.trim="childrenId" size="small" placeholder="请选择" clearable>
<el-option v-for="item in childrenList" :key="item.id" :label="item.categoryName"
:value="item.id">
</el-option>
@ -234,7 +234,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="所需志愿者" prop="volunteers" label-width="100px" class="label-wrap">
<el-input-number v-model="formData.volunteers" @change="handleChange" :min="0" :max="10"
<el-input-number v-model="formData.volunteers" :min="0" :max="10"
label="描述文字"></el-input-number>
</el-form-item>
</el-col>
@ -276,20 +276,6 @@
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="村/社区书记或主任姓名" prop="albumName" label-width="100px" class="label-wrap">
<el-input v-model.trim="formData.albumName" size="small" clearable
placeholder="请输入" class="u-item-width-normal"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="村书记或主任电话" prop="albumName" label-width="100px" class="label-wrap">
<el-input v-model.trim="formData.albumName" size="small" clearable
placeholder="请输入" class="u-item-width-normal"></el-input>
</el-form-item>
</el-col>
</el-row> -->
</el-form>
</div>
<div style="text-align: right ; margin-right: 20px;">
@ -321,18 +307,20 @@
export default {
data() {
return {
childrenId:"",
typefatherId:"",
childrenList:[],
genderList:[
{
value:1,
value:"1",
label:"男"
},
{
value:2,
value:"2",
label:"女"
},
{
value:0,
value:"0",
label:"未知"
}
],
@ -575,6 +563,18 @@
this.formType = type
if (type === 'edit') {
this.formData = row
console.log(this.formData,"dssdl");
if (this.formData.serviceDemand) {
let splitStrings = this.formData.serviceDemand.split(",");
this.typefatherId=splitStrings[0]
this.formData.statusCategory=this.formData.statusCategory.split(",")
if ( this.childrenId=splitStrings[1]) {
this.handleChidren(this.typefatherId)
}
console.log(this.childrenId,this.typefatherId,"dslkjdsj");
}
} else {
this.formData = {
}
@ -616,6 +616,9 @@
async addActivity() {
if(this.formType=="add"){
let url = '/voluntary/elderlyInfo/save'
let combinedString = this.typefatherId + "," + this.childrenId;
this.formData.serviceDemand=combinedString
this.formData.statusCategory=this.formData.statusCategory.join(",")
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
@ -628,6 +631,9 @@
this.$emit('closeAdd')
}else{
let url = '/voluntary/elderlyInfo/update'
let combinedString = this.typefatherId + "," + this.childrenId;
this.formData.serviceDemand=combinedString
this.formData.statusCategory=this.formData.statusCategory.join(",")
const { data, code, internalMsg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({

5
src/views/modules/informationArchive/elderlyArchives/cpts/info-old.vue

@ -44,8 +44,8 @@
</el-col>
<el-col :span="8" style="text-align: center;">
<el-form-item label="" prop="headImg" label-width="100px">
<img style="width: 180px;height: 180px;" v-if="formData.headImg"
:src="formData.headImg">
<img style="width: 180px;height: 180px;" v-if="formData.hheadImgUrleadImg"
:src="formData.hheadImgUrleadImg">
</el-form-item>
</el-col>
</el-row>
@ -488,7 +488,6 @@
async initForm(row) {
this.startLoading()
console.log(row,"dsclkjdslk");
this.formData=row
this.endLoading()

132
src/views/modules/informationArchive/elderlyArchives/index.vue

@ -4,42 +4,43 @@
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'120px'">
<div>
<el-form-item label="所属服务团" prop="volunteerOrgId">
<el-select class="item_width_1" v-model.trim="formData.volunteerOrgId" size="small" placeholder="请选择" clearable>
<el-select class="item_width_1" v-model.trim="formData.volunteerOrgId" size="small" placeholder="请选择"
clearable>
<el-option v-for="item in typeList" :key="item.typeName" :label="item.typeName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="老人类别" prop="statusCategory">
<el-select class="item_width_1" v-model.trim="formData.statusCategory" size="small" placeholder="请选择" clearable>
<el-select class="item_width_1" v-model.trim="formData.statusCategory" size="small" placeholder="请选择"
clearable>
<el-option v-for="item in elderlyList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="老人姓名" prop="name">
<el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable
placeholder="请输入关键字">
<el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="身份证号" prop="idNum">
<el-input v-model.trim="formData.idNum" size="small" class="item_width_1" clearable
placeholder="请输入关键字">
<el-input v-model.trim="formData.idNum" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="主要联系人电话" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable
placeholder="请输入关键字">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="是否精准扶贫户" prop="hlepThePoor">
<el-select class="item_width_1" v-model.trim="formData.hlepThePoor" size="small" placeholder="请选择" clearable>
<el-select class="item_width_1" v-model.trim="formData.hlepThePoor" size="small" placeholder="请选择"
clearable>
<el-option v-for="item in hlepThePoorList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否有低保" prop="subAllowance">
<el-select class="item_width_1" v-model.trim="formData.subAllowance" size="small" placeholder="请选择" clearable>
<el-select class="item_width_1" v-model.trim="formData.subAllowance" size="small" placeholder="请选择"
clearable>
<el-option v-for="item in subAllowanceList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@ -64,83 +65,80 @@
<div class="m-table">
<div class="div_btn">
<div style="display: flex; flex-direction: row;">
<el-button style=" margin-right: 20px;" class="diy-button--add" size="small" @click="handleInitAdd('','add')">新建档案</el-button>
<el-button size="small"
class="diy-button--blue"
:loading="importLoading">批量导入</el-button>
<el-button style=" margin-right: 20px;" class="diy-button--add" size="small"
@click="handleInitAdd('','add')">新建档案</el-button>
<el-upload :headers="$getElUploadHeaders()" ref="upload" class="upload-btn" action="uploadUlr" :limit="1"
:accept="'.xls,.xlsx'" :with-credentials="true" :show-file-list="false" :auto-upload="true"
:before-upload="beforeExcelUpload" :http-request="uploadHttpRequest">
<el-button type="primary" size="small" class="diy-button--white el-button--default"
:loading="importLoading">导入</el-button>
</el-upload>
</div>
<el-button style="" class="diy-button--add" size="small">导出</el-button>
</div>
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading"
style="width: 100%;margin-top:16px" @select-all="selectAll" @selection-change="handelSelection">
<el-table-column
type="selection"
fixed="left"
align="center"
width="50"
></el-table-column>
<el-table-column prop="volunteerOrgName" header-align="center" align="center" label="所属服务团" >
style="width: 100%;margin-top:16px" @select-all="selectAll" @selection-change="handelSelection">
<el-table-column type="selection" fixed="left" align="center" width="50"></el-table-column>
<el-table-column prop="volunteerOrgName" header-align="center" align="center" label="所属服务团">
</el-table-column>
<el-table-column prop="name" header-align="center" align="center" label="姓名" >
<el-table-column prop="name" header-align="center" align="center" label="姓名">
</el-table-column>
<el-table-column prop="gender" header-align="center" align="center" label="性别" >
<el-table-column prop="gender" header-align="center" align="center" label="性别">
<template slot-scope="scope">
<span v-if="scope.row.gender === 1"></span>
<span v-else></span>
<span>{{scope.row.gender === "1"?"男":scope.row.gender === "2"?"女":"未知"}}</span>
</template>
</el-table-column>
<el-table-column prop="birthday" header-align="center" align="center" label="出生日期" >
<el-table-column prop="birthday" header-align="center" align="center" label="出生日期">
</el-table-column>
<el-table-column prop="address" header-align="center" align="center" label="住址" >
<el-table-column prop="address" header-align="center" align="center" label="住址">
</el-table-column>
<el-table-column prop="familyPrimaryContactName" header-align="center" align="center" label="主要联系人" >
<el-table-column prop="familyPrimaryContactName" header-align="center" align="center" label="主要联系人">
</el-table-column>
<el-table-column prop="familyPrimaryContactPhone" header-align="center" align="center" label="主要联系人电话" >
<el-table-column prop="familyPrimaryContactPhone" header-align="center" align="center" label="主要联系人电话">
</el-table-column>
<el-table-column prop="subAllowance" header-align="center" align="center" label="是否有低保" >
<el-table-column prop="subAllowance" header-align="center" align="center" label="是否有低保">
<template slot-scope="scope">
<span v-if="scope.row.subAllowance === 1"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="hlepThePoor" header-align="center" align="center" label="是否精准扶贫户" >
<el-table-column prop="hlepThePoor" header-align="center" align="center" label="是否精准扶贫户">
<template slot-scope="scope">
<span v-if="scope.row.hlepThePoor === 1"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="online" header-align="center" align="center" label="是否完成结对" >
<el-table-column prop="online" header-align="center" align="center" label="是否完成结对">
<template slot-scope="scope">
<span v-if="scope.row.online === 1"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="twinning" header-align="center" align="center" label="结对志愿者" >
<el-table-column prop="twinning" header-align="center" align="center" label="结对志愿者">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleVoleer(scope.row)">1</el-button>
</template>
</el-table-column>
<el-table-column prop="statusCategory" header-align="center" align="center" label="服务记录" >
<el-table-column prop="statusCategory" header-align="center" align="center" label="服务记录">
<template slot-scope="scope">
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="230" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
<el-button type="text" style="color:#1C6AFD;"
size="small" @click="handleInitAdd(scope.row,'edit')">编辑</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small"
@click="handleInitAdd(scope.row,'edit')">编辑</el-button>
<el-button type="text" style="color:rgb(28, 106, 253);" size="small"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="flex flex-x flex-end flex-center1 flex-center2">
<el-button type="primary" size="small" @click="onDeleteBatch" style="margin-top: 10px;"
>批量删除</el-button>
<el-button type="primary" size="small" @click="onDeleteBatch" style="margin-top: 10px;">批量删除</el-button>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total">
</el-pagination>
@ -152,16 +150,16 @@
@dialogCancle="addFormCancleInit" @dialogOk="addFormOkInit"></add-old>
</el-dialog>
<el-dialog :visible.sync="detailShow" v-if="detailShow" :close-on-click-modal="false" :close-on-press-escape="false"
title="详情" width="1050px" top="5vh" class="dialog-h" @closed="diaInitClose">
title="详情" width="1050px" top="5vh" class="dialog-h" @closed="diaInitClose">
<info-old v-if="detailShow" ref="ref_detail" :unitList="corganizerList" :gridList="gridList" @closeAdd="closeAdd"
@dialogCancle="addFormCancleInit" @dialogOk="addFormOkInit"></info-old>
</el-dialog>
<el-dialog :visible.sync="showList" v-if="showList" :close-on-click-modal="false" :close-on-press-escape="false"
title="结对志愿者" width="1050px" top="5vh" class="dialog-h" @closed="diaInitClose">
<pairup-volunteers v-if="showList" ref="ref_vol" :unitList="corganizerList" :gridList="gridList" @closeAdd="closeAdd"
@dialogCancle="addFormCancleInit" @dialogOk="addFormOkInit"></pairup-volunteers>
title="结对志愿者" width="1050px" top="5vh" class="dialog-h" @closed="diaInitClose">
<pairup-volunteers v-if="showList" ref="ref_vol" :unitList="corganizerList" :gridList="gridList"
@closeAdd="closeAdd" @dialogCancle="addFormCancleInit" @dialogOk="addFormOkInit"></pairup-volunteers>
</el-dialog>
</div>
</template>
<script>
@ -261,7 +259,51 @@
},
methods: {
async uploadHttpRequest(file) {
this.$message({
showClose: true,
dangerouslyUseHTMLString: true,
message:
"导入中,请到系统管理-<a id='clickA' style='cursor: pointer;'>导入记录</a>中查看进度",
duration: 3000,
});
let than = this;
document.getElementById("clickA").addEventListener("click", function () {
than.$router.replace("/main/importRecord-index");
});
const formData = new FormData(); //FormDataappend('key', value)
formData.append("file", file.file); //
await this.$http
.post("/voluntary/elderlyInfo/import", formData)
.then((res) => {
const { fileCode, msg } = res.data.data;
this.importCode = fileCode;
this.handleComfirmUpload()
})
.catch((err) => {
console.log("失败", err);
file.onError(); //
// this.$message.error('')
});
},
//
beforeExcelUpload(file) {
console.log("file", file);
const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer =
file.type ===
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
const fileType = isType || isTypeComputer;
const isLt1M = file.size / 1024 / 1024 < 10;
if (!fileType) {
this.$message.error("上传文件只能是xls/xlsx格式!");
}
if (!isLt1M) {
this.$message.error("上传文件大小不能超过 10MB!");
}
return fileType && isLt1M;
},
handleVoleer(row) {
this.showList = true
this.$nextTick(() => {

133
src/views/modules/informationArchive/serviceTeamManagement/cpts/volunteers-list.vue

@ -1,69 +1,79 @@
<template>
<div class="" style=" padding: 20px;">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'80px'">
<div>
<el-form-item label="姓名" prop="name">
<el-input v-model.trim="formData.name" size="small" style="width: 100px;"class="item_width_1" clearable placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" style="width: 100px;" class="item_width_1" clearable placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="注册时间" prop="reportTime" label-width="100px">
<el-date-picker class="u-item-width-normal" v-model="formData.reportTime" type="datetime" style="width: 190px;"
value-format="yyyy-MM-dd HH:mm:ss" value="yyyy-MM-dd HH:mm:ss" placeholder="选择日期">
</el-date-picker>
<span style="margin: 0 10px;"></span>
<el-date-picker class="u-item-width-normal" v-model="formData.reportTime" type="datetime" style="width: 190px;"
value-format="yyyy-MM-dd HH:mm:ss" value="yyyy-MM-dd HH:mm:ss" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-button style="margin-left:10px" class="diy-button--blue" size="small"
@click="handleSearch">查询</el-button>
</div>
<div>
<div style="display: flex; justify-content: flex-end;">
</div>
</div>
</el-form>
<el-table :data="tableData" border class="m-table-item" height="600px">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="userName" label="志愿者所属服务团" align="center" :show-overflow-tooltip="true" width="100">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="志愿者姓名" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="志愿者昵称" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="志愿者电话" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="服务时长(小时)" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="积分" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column label="操作" fixed="right" width="230" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div class="" style=" padding: 20px;">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'80px'">
<div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-sizes="[20, 50, 100, 200]" :page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total" :total="total">
</el-pagination>
<el-form-item label="姓名" prop="name">
<el-input v-model.trim="formData.name" size="small" style="width: 100px;" class="item_width_1" clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" style="width: 100px;" class="item_width_1" clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="注册时间" prop="reportTime" label-width="100px">
<el-date-picker class="u-item-width-normal" v-model="formData.reportTime" type="datetime"
style="width: 190px;" value-format="yyyy-MM-dd HH:mm:ss" value="yyyy-MM-dd HH:mm:ss" placeholder="选择日期">
</el-date-picker>
<span style="margin: 0 10px;"></span>
<el-date-picker class="u-item-width-normal" v-model="formData.reportTime" type="datetime"
style="width: 190px;" value-format="yyyy-MM-dd HH:mm:ss" value="yyyy-MM-dd HH:mm:ss" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-button style="margin-left:10px" class="diy-button--blue" size="small" @click="handleSearch">查询</el-button>
</div>
<div>
<div style="display: flex; justify-content: flex-end;">
</div>
</div>
</div>
</el-form>
<el-table :data="tableData" border class="m-table-item" height="600px">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="orgName" label="志愿者所属服务团" align="center" :show-overflow-tooltip="true" width="100">
</el-table-column>
<el-table-column prop="name" align="center" label="志愿者姓名" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="nickName" align="center" label="志愿者昵称" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="mobile" align="center" label="志愿者电话" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="serviceTime" align="center" label="服务时长(小时)" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="points" align="center" label="积分" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column label="操作" fixed="right" width="230" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]" :page-size="parseInt(pageSize)" layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
<el-dialog :visible.sync="showVolunteers" v-if="showVolunteers" :close-on-click-modal="false" :close-on-press-escape="false"
title="志愿者档案" width="1050px" top="5vh" class="dialog-h" @closed="diaInitClose" :modal="false">
<service-info v-if="showVolunteers" ref="ref_vol"></service-info>
</el-dialog>
</div>
</template>
<script>
import { Loading } from 'element-ui' // Loading
import { requestPost, requestGet } from "@/js/dai/request";
import { mapGetters } from 'vuex'
import serviceInfo from "../../volunteerProfile/cpts/service-info.vue"
export default {
data() {
return {
formData:{
volunteerOrgId:""
},
showVolunteers:false,
formData:{},
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
@ -78,12 +88,20 @@ mounted() {
},
methods: {
handleDetail(row){
this.showVolunteers = true
this.$nextTick(() => {
this.$refs.ref_vol.initForm(row)
})
},
handleSearch() {
this.getTableData()
},
async initForm(row) {
console.log(row,"dsclkjdslk");
this.getTableData(row)
this.formData.volunteerOrgId=row.id
this.getTableData()
},
handleSizeChange(val) {
@ -95,13 +113,13 @@ methods: {
this.pageNo = val;
this.getTableData();
},
async getTableData(row) {
async getTableData() {
const url = "/voluntary/volunteerInfo/page";
const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, {
pageSize,
pageNo,
volunteerOrgId:row.id,
...this.formData
});
if (code === 0) {
this.total = data.total || 0;
@ -131,6 +149,7 @@ methods: {
}
},
components:{
serviceInfo
},
computed:{
},

213
src/views/modules/informationArchive/volunteerProfile/cpts/service-info.vue

@ -1,7 +1,7 @@
<template>
<div style="height: 650px; margin: 20px">
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form" :inline="true" :model="formData" :rules="dataRule" class="form">
<el-form ref="ref_form" :inline="true" :model="formData" class="form">
<div>
<el-row>
<el-col :span="16">
@ -78,14 +78,14 @@
<el-form-item label="服务记录" prop="serviceTimeTotal" label-width="130px">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small"
@click="handleRecord(this.formData.serviceTimeTotal)">{{this.formData.serviceTimeTotal}} [查看]</el-button>
@click="handleRecord(formData)">{{formData.serviceTimeTotal}} [查看]</el-button>
</template>
<div>{{ this.formData.serviceTimeTotal }}</div>
<div>{{formData.serviceTimeTotal }}</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="兴趣特长" prop="identityName" label-width="130px">
<div>{{this.formData.identityName }}</div>
<div>{{formData.identityName }}</div>
</el-form-item>
</el-col>
</el-row>
@ -93,17 +93,23 @@
</el-form>
</div>
<el-dialog :visible.sync="serviceRecord" v-if="serviceRecord" :close-on-click-modal="false"
:close-on-press-escape="false" title="服务记录" width="1050px" top="5vh" class="dialog-h"
:modal="false">
<service-record v-if="serviceRecord" ref="ref_vol"></service-record>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
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";
import util from '@js/util.js';
// import UploadImage from './upload-image.vue'
import serviceRecord from './service-record.vue'
import UploadImage from '@/views/modules/plugins/rent/upload-image.vue'
@ -117,169 +123,25 @@
export default {
data() {
return {
genderList:[
{
value:1,
label:"男"
},
{
value:2,
label:"女"
},
{
value:0,
label:"未知"
}
],
imageUrl:"",
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile',
orgOptionProps: {
emitPath: false,
multiple: true,
value: 'orgId',
label: 'orgName',
children: 'subOrgList',
checkStrictly: true,
expandTrigger: 'click'
},
orgOptions: [],
fileList:[],
sharingScopeList: [
{
value: "4",
label: "仅本组织内共享"
},
{
value: "0",
label: "仅本部门内共享"
},
{
value: "1",
label: "本级和直接下级组织共享"
},
{
value: "2",
label: "本级和直接上级组织共享"
},
{
value: "3",
label: "本级和直接上下级组织共享"
},
],
ethnicList:[],
formType:"add",
agencyIdArray: [],
serviceRecord:false,
formData: {
num:1,
volunteerOrgId: '',
orgIdPath: '',
headImg: '',
name: '',
gender: '',
idNum: '',
birthday: '',
nation: '',
address: '',
healthStatus: '',
majorDisease: '',
familyPrimaryContactName: '',
familyPrimaryContactPhone: '',
communitySecretaryName: '',
communitySecretaryPhone: '',
primaryGuardianName: '',
primaryGuardianPhone: '',
primaryGuardianRelation: '',
secondGuardianName: '',
secondGuardianPhone: '',
secondGuardianRelation: '',
statusCategory: '',
subAllowance: '',
hlepThePoor: '',
needHelp: '',
serviceDemand: '',
communityOpinion: '',
serviceGroupOpinion: '',
charitableOpinion: '',
informant: '',
informantPhone: '',
reportTime: '',
deathFlag: '',
deathRemark: ''
},
elderlyList:[],
healthStatusList:[],
corganizerList: [],
uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2',
customerId: localStorage.getItem('customerId'),
hasHePassedAway: [
{
value: 0,
label: "正常"
},
{
value: 1,
label: "死亡"
},
],
/**
* 判断是否需要帮扶0 1
*/
needHelpList: [
{
value: 0,
label: "否"
},
{
value: 1,
label: "是"
},
],
/**
* 家庭是否有低保0 1
*/
subAllowanceList: [
{
value: 0,
label: "否"
},
{
value: 1,
label: "是"
},
],
/**
* 家庭是否精准扶贫户0 1
*/
hlepThePoorList: [
{
value: 0,
label: "否"
},
{
value: 1,
label: "是"
},
],
ServiceGroupList:[]
}
},
components: {Tinymce, UploadImage },
components: {Tinymce, UploadImage,serviceRecord },
mounted() {
this.getelderlyStatus()
this.gethealthStatus()
this.loadNations()
this.getServiceGroup()
},
methods: {
handleRecord(row){
console.log(row,"sdfjslk;d");
this.serviceRecord=true
this.$nextTick(()=>{
this.$refs.ref_vol.initForm( row)
})
},
async initForm(row) {
this.startLoading()
@ -288,12 +150,6 @@
this.endLoading()
},
handleCancle() {
this.$emit('closeAdd')
},
//
startLoading() {
loading = Loading.service({
@ -311,38 +167,7 @@
}
},
computed: {
dataRule() {
return {
volunteerOrgId: [
{ required: true, message: '请选择所属服务团', trigger: 'blur' }
],
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' }
],
idNum: [
{ required: true, message: '请输入身份证号', trigger: 'blur' }
],
gender: [
{ required: true, message: '请选择性别', trigger: 'blur' }
],
address: [
{ required: true, message: '请选择住址', trigger: 'blur' }
],
birthday: [
{ required: true, message: '请选择出生日期', trigger: 'blur' }
],
familyPrimaryContactName: [
{ required: true, message: '请输入家庭主要联系人姓名', trigger: 'blur' }
],
familyPrimaryContactPhone: [
{ required: true, message: '请输入家庭主要联系人电话', trigger: 'blur' }
],
num: [
{ required: true, message: '请输入所需志愿者数量', trigger: 'blur' }
],
}
},
},
props: {

213
src/views/modules/informationArchive/volunteerProfile/cpts/service-record.vue

@ -0,0 +1,213 @@
<template>
<div style="padding: 20px 20px 0 20px ; height: 650px;">
<div class="dialog-h-content scroll-h">
<el-table class="table" :data="tableData" border height="550px"
style="width: 100%;margin-top:16px" >
<el-table-column type="selection" fixed="left" align="center" width="50"></el-table-column>
<el-table-column prop="orgNamePath" header-align="center" align="center" label="所属组织">
</el-table-column>
<el-table-column prop="volunteerOrgName" header-align="center" align="center" label="所属服务团">
</el-table-column>
<el-table-column prop="oldPeopleName" header-align="center" align="center" label="老人姓名">
</el-table-column>
<el-table-column prop="oldPeopleIdCard" header-align="center" align="center" label="老人身份证号">
</el-table-column>
<el-table-column prop="categoryLabels" header-align="center" align="center" label="服务项目">
<template slot-scope="scope">
<div>{{ scope.row.categoryLabels.join(",") }}</div>
</template>
</el-table-column>
<el-table-column prop="serviceTime" header-align="center" align="center" label="服务时长(小时)">
</el-table-column>
<el-table-column prop="pointNum" header-align="center" align="center" label="积分">
</el-table-column>
<el-table-column prop="signInTime" header-align="center" align="center" label="到岗打卡时间">
</el-table-column>
<el-table-column prop="signOutTime" header-align="center" align="center" label="离岗打卡时间">
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]" :page-size="parseInt(pageSize)" layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
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";
import util from '@js/util.js';
// import UploadImage from './upload-image.vue'
import UploadImage from '@/views/modules/plugins/rent/upload-image.vue'
var map
var search
var markers
var infoWindowList
var geocoder //
let loading //
export default {
data() {
return {
tableData:[],
formType:"add",
formData: {
},
}
},
components: {Tinymce, UploadImage },
mounted() {
},
methods: {
async initForm(row) {
this.startLoading()
this.formData=row
console.log(row,"dsf;lkfsdkl");
this.getElderlyInfo()
this.endLoading()
},
async getElderlyInfo () {
this.formData.agencyId="7b6f9a9f9f38d5f9fa7ce94a93d6eb28"
const url = "/voluntary/op/service/pc/serviceRecs"
let params = {
volunteerName:this.formData.name,
volunteerMobile:this.formData.mobile
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.tableData = data.list
} else {
this.$message.error(msg)
}
},
handleSizeChange (val) {
this.pageSize = val
this.pageNo = 1
this.getElderlyInfo()
},
handleCurrentChange (val) {
this.pageNo = val
// this.loadTable()
this.getElderlyInfo()
},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
},
props: {
},
destroyed () {
map = null
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/visual/communityManageForm.scss";
</style>
<style lang="scss" scoped>
.no-border-card {
border: none !important;
box-shadow: none !important;
}
.info-label {
width: 120px;
padding: 10px;
border: 1px solid #ebeef5;
white-space: nowrap; /* 防止换行 */
}
.item_width_1 {
width: 634px;
/deep/.tox .tox-dialog {
z-index: 20000;
}
}
.u-item-width-normal{
width: 222px;
}
.tinymce_view {
::v-deep .tox .tox-dialog {
z-index: 2000000000;
}
}
.div_map {
position: relative;
}
.div_searchmap {
z-index: 5000;
position: absolute;
top: 5px;
left: 5px;
}
.tinymce_view {
height: 400px;
overflow: auto;
}
.text_p {
margin: 0;
padding: 0 10px;
border: 1px solid #d9d9d9;
border-radius: 5px;
>p {
margin: 0;
}
}
.label-wrap ::v-deep(.el-form-item__label) {
white-space: normal;
line-height: 1.2;
text-align: right
}
.newqsa {
border-left: 4px solid #2683DB;
height: 100%;
// width: 4px;
padding-left: 8px;
margin-bottom: 10px;
}
.newqsa_text{
font-size: 15px;
font-weight: 600;
}
</style>

163
src/views/modules/informationArchive/volunteerProfile/cpts/volunteers-list.vue

@ -1,163 +0,0 @@
<template>
<div class="" style=" padding: 20px;">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'80px'">
<div>
<el-form-item label="姓名" prop="name">
<el-input v-model.trim="formData.name" size="small" style="width: 100px;"class="item_width_1" clearable placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" style="width: 100px;" class="item_width_1" clearable placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="注册时间" prop="reportTime" label-width="100px">
<el-date-picker class="u-item-width-normal" v-model="formData.reportTime" type="datetime" style="width: 190px;"
value-format="yyyy-MM-dd HH:mm:ss" value="yyyy-MM-dd HH:mm:ss" placeholder="选择日期">
</el-date-picker>
<span style="margin: 0 10px;"></span>
<el-date-picker class="u-item-width-normal" v-model="formData.reportTime" type="datetime" style="width: 190px;"
value-format="yyyy-MM-dd HH:mm:ss" value="yyyy-MM-dd HH:mm:ss" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-button style="margin-left:10px" class="diy-button--blue" size="small"
@click="handleSearch">查询</el-button>
</div>
<div>
<div style="display: flex; justify-content: flex-end;">
</div>
</div>
</el-form>
<el-table :data="tableData" border class="m-table-item" height="600px">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="userName" label="志愿者所属服务团" align="center" :show-overflow-tooltip="true" width="100">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="志愿者姓名" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="志愿者昵称" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="志愿者电话" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="服务时长(小时)" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" label="积分" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column label="操作" fixed="right" width="230" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-sizes="[20, 50, 100, 200]" :page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total" :total="total">
</el-pagination>
</div>
</div>
</template>
<script>
import { Loading } from 'element-ui' // Loading
import { requestPost, requestGet } from "@/js/dai/request";
import { mapGetters } from 'vuex'
export default {
data() {
return {
formData:{},
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
tableData:[],
total: 1,
taskId:"",
};
},
created() {},
mounted() {
// this.getTableData()
},
methods: {
handleSearch() {
this.getTableData()
},
async initForm(row) {
console.log(row,"dsclkjdslk");
// this.formData=row
this.getTableData()
},
handleSizeChange(val) {
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getTableData();
},
handleCurrentChange(val) {
this.pageNo = val;
this.getTableData();
},
async getTableData() {
const url = "/actual/base/communityOneTableDownloadRecord/page";
const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestGet(url, {
pageSize,
pageNo,
taskId:this.taskId,
});
if (code === 0) {``
this.total = data.total || 0;
this.tableData = data.list
? data.list.map((item) => {
return item;
})
: [];
} else {
this.$message.error(msg);
}
},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
components:{
},
computed:{
tableHeight() {
return (this.clientHeight - 140) + 'px'
},
...mapGetters(['clientHeight', 'resolution']),
},
props: {
taskId: {
type: String,
default: ""
},
taskName:{
type: String,
default: ""
}
},
watch: {},
}
</script>
<style lang='scss' scoped>
@import "@/assets/scss/pages/resiInfo.scss";
@import "@/assets/scss/modules/management/list-main.scss";
.item_width_1{
width: 100px;
}
</style>

234
src/views/modules/informationArchive/volunteerProfile/index.vue

@ -4,14 +4,14 @@
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'120px'">
<div>
<el-form-item label="所属组织" prop="agencyId">
<el-cascader ref="org" v-model.trim="formData.agencyId" :options="organizationList" class="item_width_1"
:props="{ checkStrictly: true, multiple: false, emitPath: true }" clearable
@change="orgChangeHandle">
<el-cascader ref="org" v-model.trim="formData.agencyId" :options="organizationList" :show-all-levels="false"
:props="{ checkStrictly: true, multiple: false, emitPath:false }" style="width: 200px" clearable
>
</el-cascader>
</el-form-item>
<el-form-item label="所属服务团" prop="volunteerOrgId">
<el-select class="item_width_1" v-model.trim="formData.volunteerOrgId" size="small" placeholder="请选择" clearable>
<el-option v-for="item in typeList" :key="item.typeName" :label="item.typeName" :value="item.id">
<el-option v-for="item in typeList" :key="item.id" :label="item.orgName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -101,23 +101,14 @@
</el-pagination>
</div>
</div>
<el-dialog :visible.sync="initShow" v-if="initShow" :close-on-click-modal="false" :close-on-press-escape="false"
:title="formTitle" width="1050px" top="5vh" class="dialog-h" @closed="diaInitClose">
<add-old v-if="initShow" ref="ref_form" :unitList="corganizerList" :gridList="gridList" @closeAdd="closeAdd"
@dialogCancle="addFormCancleInit" @dialogOk="addFormOkInit"></add-old>
</el-dialog>
<el-dialog :visible.sync="detailShow" v-if="detailShow" :close-on-click-modal="false" :close-on-press-escape="false"
title="详情" width="1050px" top="5vh" class="dialog-h" @closed="diaInitClose">
<service-info v-if="detailShow" ref="ref_detail" :unitList="corganizerList" :gridList="gridList" @closeAdd="closeAdd"
@dialogCancle="addFormCancleInit" @dialogOk="addFormOkInit"></service-info>
</el-dialog>
<el-dialog :visible.sync="showList" v-if="showList" :close-on-click-modal="false" :close-on-press-escape="false"
title="志愿者成员" width="1050px" top="5vh" class="dialog-h" @closed="diaInitClose">
<volunteers-list v-if="showList" ref="ref_vol" @closeAdd="closeAdd" ></volunteers-list>
title="详情" width="1050px" top="5vh" class="dialog-h" >
<service-info v-if="detailShow" ref="ref_detail" ></service-info>
</el-dialog>
<el-dialog :visible.sync="toExamineShow" v-if="toExamineShow" :close-on-click-modal="false" :close-on-press-escape="false"
title="审核" width="750px" top="5vh" class="dialog-h" @closed="diaInitClose">
<service-team v-if="toExamineShow" ref="ref_examine" @closeExamine="closeExamine"
title="审核" width="750px" top="5vh" class="dialog-h">
<service-team v-if="toExamineShow" ref="ref_examine"
></service-team>
</el-dialog>
@ -126,7 +117,6 @@
<script>
import serviceInfo from './cpts/service-info.vue'
import serviceTeam from './cpts/service-team.vue'
import volunteersList from './cpts/volunteers-list'
import util from '@js/util.js';
import { requestPost,requestGet } from "@/js/dai/request";
import { mapGetters } from 'vuex'
@ -167,7 +157,7 @@
label: "已通过 "
},
{
value: 1,
value: 2,
label: "驳回"
},
],
@ -178,7 +168,6 @@
pageSize: 10,
pageNo: 0,
tableLoading: false,
agencyId: '',
gridList: [],//
unitList: [],
searchData: {
@ -205,24 +194,34 @@
}
},
components: {
serviceInfo,serviceTeam,volunteersList
serviceInfo,serviceTeam
},
async created () {
},
async mounted () {
console.log( this.$store.state.user.agencyId,"dsakljsd");
//
const { user } = this.$store.state
this.agencyId = user.agencyId
this.formData.agencyId = user.agencyId
this.searchData.searchKey = localStorage.getItem("homeSearchKey") || "";
this.searchData.type = localStorage.getItem("homeSearchType") || "";
this.getFormInfo()
this.getElderlyInfo()
this.getVolunteerOrg()
},
methods: {
//
async getVolunteerOrg() {
const url = "/voluntary/volunteerOrg/page"
let params = {
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.typeList = data.list
} else {
this.$message.error(msg)
}
},
closeExamine(){
this.toExamineShow=false
this.getElderlyInfo()
@ -300,6 +299,8 @@
const url = this.searchData.type ? "/voluntary/volunteerInfo/page" : "/voluntary/volunteerInfo/page"
let params = !this.searchData.type ? {
...this.formData,
pageNo: this.pageNo,
pageSize: this.pageSize
} : {
searchContent: this.searchData.searchKey,
pageNo: this.pageNo,
@ -330,23 +331,6 @@
this.$message.error(msg)
}
},
diaClose () {
this.$refs.ref_form.resetData()
this.formShow = false
},
diaInitClose() {
this.$refs.ref_form.resetData()
this.initShow = false
},
detailClosed () {
this.$refs.ref_detail.diaDestroy()
this.detailShow = false
},
summDetailClose () {
this.summShow = false
},
handleDetail (row) {
this.detailShow = true
this.$nextTick(() => {
@ -362,51 +346,14 @@
this.$refs.ref_form.initForm('edit', row)
})
},
handleSumm(row){
console.log(row.activityImgs);
this.initShow = true
this.formTitle = '总结'
this.$nextTick(() => {
this.$refs.ref_form.initForm('summary', row)
})
this.communityActivityList()
},
handleAdd () {
this.formTitle = '活动记录'
this.initShow = true
// this.formShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('records', null)
})
},
handleToExamine (row,type) {
this.toExamineShow = true
this.$nextTick(() => {
this.$refs.ref_examine.initForm(row, type)
})
},
addFormCancle () {
this.formShow = false
},
addFormCancleInit () {
this.initShow = false
},
addFormOk () {
this.formShow = false
// this.loadTable()
this.communityActivityList()
},
addFormOkInit () {
this.initShow = false
// this.loadTable()
this.communityActivityList()
},
async handleDelete (row) {
this.$confirm("确认删除?", "提示", {
confirmButtonText: "确定",
@ -470,136 +417,19 @@
this.pageSize = 10
this.pageNo = 1
// this.loadTable()
this.communityActivityList()
},
//
async handleExport () {
let title = '联建活动列表'
const url = "/heart/icpartyactivity/export"
let params = {
agencyId: this.agencyId,
...this.formData
}
app.ajax.exportFilePost(
url,
params,
(data, rspMsg) => {
this.download(data, title + '.xls')
},
(rspMsg, data) => {
this.$message.error(rspMsg);
}
);
},
//
download (data, fileName) {
if (!data) {
return
}
var csvData = new Blob([data])
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(csvData, fileName);
}
// for Non-IE (chrome, firefox etc.)
else {
var a = document.createElement('a');
document.body.appendChild(a);
a.style = 'display: none';
var url = window.URL.createObjectURL(csvData);
a.href = url;
a.download = fileName;
a.click();
a.remove();
window.URL.revokeObjectURL(url);
}
},
//
beforeUpload (file) {
this.files = file;
const isText = file.type === 'application/vnd.ms-excel'
const isTextComputer = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
if (!isText && !isTextComputer) {
this.$message.error('请选择正确格式的文件')
return false
} else {
this.fileName = file.name;
return true
}
},
//
handleExceed (files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,请删除后继续上传`)
},
async uploadFile () {
this.loading = true
if (this.fileName == "") {
this.$message.warning('请选择要上传的文件!')
return false
}
//
this.$refs['upload'].clearFiles()
var url = '/heart/icpartyactivity/import'
let fileFormData = new FormData();
fileFormData.append('file', this.files);//filenamefiletest.zip
const { data, code, msg } = await requestPost(url, fileFormData)
if (code === 0) {
this.$message({
type: "success",
message: "导入成功"
});
// this.loadTable()
this.communityActivityList()
} else {
this.$message.error(msg)
}
},
handleTimeChange (time) {
if (time) {
const startTimeArray = util.dateFormatter(time[0], 'date').split('-')
const endTimeArray = util.dateFormatter(time[1], 'date').split('-')
this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2] + ' 00:00:00'
this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2] + ' 23:59:59'
} else {
this.formData.startTime = ''
this.formData.endTime = ''
}
this.getElderlyInfo()
},
handleSizeChange (val) {
this.pageSize = val
this.pageNo = 1
// this.loadTable()
this.communityActivityList()
this.getElderlyInfo()
},
handleCurrentChange (val) {
this.pageNo = val
// this.loadTable()
this.communityActivityList()
this.getElderlyInfo()
},
//

2
src/views/modules/visual/communityGovern/cpt/project-info.vue

@ -574,9 +574,7 @@ export default {
//
async getYanPan () {
const url = "/data/aggregator/project/projectanalysis";
if (!this.userId) return (this.yanPan.loading = true);
const { data, code, msg } = await requestPost(url, {
categoryCodeList: this.categoryCodes,
userId: this.userId,

4
src/views/modules/volunteerService/pairingRecords/cpts/service-team.vue

@ -8,8 +8,8 @@
</div>
</el-form-item>
<el-form-item label="审核结果" prop="name">
<el-radio v-model="formData.auditStatus" :label="1">通过</el-radio>
<el-radio v-model="formData.auditStatus" :label="2">不通过</el-radio>
<el-radio v-model="formData.auditStatus" :label="0">通过</el-radio>
<el-radio v-model="formData.auditStatus" :label="1">不通过</el-radio>
</el-form-item>
<el-form-item label="不通过原因" prop="mobile" v-if="formData.auditStatus===2">
<el-input v-model.trim="formData.remark" size="small" class="item_width_1" clearable

52
src/views/modules/volunteerService/pairingRecords/index.vue

@ -12,24 +12,24 @@
<el-form-item label="服务团名称" prop="orgName">
<el-select class="item_width_1" v-model.trim="formData.volunteerOrgId" size="small" placeholder="请选择"
clearable>
<el-option v-for="item in typeList" :key="item.typeName" :label="item.typeName" :value="item.id">
<el-option v-for="item in typeList" :key="item.id" :label="item.orgName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="志愿者姓名" prop="operator">
<el-input v-model.trim="formData.operator" size="small" class="item_width_1" clearable placeholder="请输入关键字">
<el-form-item label="志愿者姓名" prop="volunteerName">
<el-input v-model.trim="formData.volunteerName" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="志愿者手机号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable placeholder="请输入关键字">
<el-form-item label="志愿者手机号" prop="volunteerMobile">
<el-input v-model.trim="formData.volunteerMobile" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="老人姓名" prop="operator">
<el-input v-model.trim="formData.operator" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="老人身份证号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable placeholder="请输入关键字">
<el-form-item label="老人身份证号" prop="oldPeopleIdCard">
<el-input v-model.trim="formData.oldPeopleName" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="结对状态" prop="auditStatus">
@ -54,27 +54,31 @@
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading"
style="width: 100%;margin-top:16px" @select-all="selectAll" @selection-change="handelSelection">
<el-table-column type="selection" fixed="left" align="center" width="50"></el-table-column>
<el-table-column prop="agencyName" header-align="center" align="center" label="所属组织">
<el-table-column prop="orgNamePath" header-align="center" align="center" label="所属组织">
</el-table-column>
<el-table-column prop="volunteerOrgName" header-align="center" align="center" label="服务团名称">
</el-table-column>
<el-table-column prop="orgName" header-align="center" align="center" label="服务团名称">
<el-table-column prop="volunteerName" header-align="center" align="center" label="志愿者姓名">
</el-table-column>
<el-table-column prop="operator" header-align="center" align="center" label="团长姓名">
<el-table-column prop="volunteerMobile" header-align="center" align="center" label="志愿者手机号">
</el-table-column>
<el-table-column prop="mobile" header-align="center" align="center" label="团长联系电话">
<el-table-column prop="oldPeopleName" header-align="center" align="center" label="老人姓名">
</el-table-column>
<el-table-column prop="createTime" header-align="center" align="center" label="注册时间">
<el-table-column prop="oldPeopleIdCard" header-align="center" align="center" label="老人身份证号">
</el-table-column>
<el-table-column prop="createTime" header-align="center" align="center" label="审核">
<el-table-column prop="status" header-align="center" align="center" label="结对状态">
<template slot-scope="scope">
<div>
<span :class="{
'orange': scope.row.auditStatus === 0, //
'green': scope.row.auditStatus === 1, //
'black': scope.row.auditStatus === 2 //
}">{{ scope.row.auditStatus===1?'已通过':scope.row.auditStatus===2?'未通过':'未审核' }}</span>
'orange': scope.row.status === 0, //
'green': scope.row.status === 1, //
'black': scope.row.status === 2 //
}">{{ scope.row.status===1?'正常结对':status.row.status===2?'已取消结对':'待审核结对' }}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="createdTime" header-align="center" align="center" label="结对/取消结对时间">
</el-table-column>
<el-table-column label="操作" fixed="right" width="230" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
@ -176,9 +180,23 @@
this.formData.agencyId = user.agencyId
this.getFormInfo()
this.getElderlyInfo()
this.getVolunteerOrg()
},
methods: {
//
async getVolunteerOrg() {
const url = "/voluntary/volunteerOrg/page"
let params = {
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.typeList = data.list
} else {
this.$message.error(msg)
}
},
closeExamine(){
this.toExamineShow=false
},

Loading…
Cancel
Save