Browse Source

代码提交

featrue-lingshan
zhouh 4 months ago
parent
commit
acc4d16faa
  1. 92
      src/views/modules/pointsManage/pointsRanking/index.vue
  2. 117
      src/views/modules/pointsManage/pointsRecord/index.vue
  3. 90
      src/views/modules/serviceManage/recordReview/index.vue
  4. 124
      src/views/modules/serviceManage/serviceRecord/index.vue
  5. 97
      src/views/modules/worklog/index.vue

92
src/views/modules/pointsManage/pointsRanking/index.vue

@ -3,25 +3,16 @@
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
<el-form-item label="所属街道" prop="activityName"> <el-form-item label="所属街道" prop="street">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-select v-model="formData.street" placeholder="请选择" clearable>
<el-option label="待发布" value="0" /> <el-option v-for="item in streetData" :label="item.name" :value="item.id" :key="item.id" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="新村" prop="activityName"> <el-form-item label="新村" prop="community">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-select v-model="formData.community" placeholder="请选择" clearable>
<el-option label="待发布" value="0" /> <el-option v-for="item in communityData" :label="item.name" :value="item.id" :key="item.id" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="村庄" prop="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable
placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item> <el-form-item>
<el-button style="margin-left:10px" @click="handleSearch" type="primary">查询</el-button> <el-button style="margin-left:10px" @click="handleSearch" type="primary">查询</el-button>
<el-button style="margin-left:10px" @click="resetSearch" type="primary">重置</el-button> <el-button style="margin-left:10px" @click="resetSearch" type="primary">重置</el-button>
@ -30,21 +21,21 @@
</el-form> </el-form>
</div> </div>
<div class="m-table"> <div class="m-table">
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" style="width: 100%;margin-top:16px"> <el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" style="width: 100%;margin-top:16px" :cell-style="{height: '6vh'}">
<el-table-column label="排名" header-align="center" align="center" type="index" width="50"></el-table-column> <el-table-column label="排名" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="所属街道" width="260"></el-table-column> <el-table-column prop="street" header-align="center" align="center" label="所属街道" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="新村" width="260"></el-table-column> <el-table-column prop="community" header-align="center" align="center" label="新村" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="村庄" width="260"></el-table-column> <!-- <el-table-column prop="community" header-align="center" align="center" label="村庄" width="260"></el-table-column>-->
<el-table-column prop="title" header-align="center" align="center" label="姓名" width="260"></el-table-column> <el-table-column prop="name" header-align="center" align="center" label="姓名" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="身份证" width="260"></el-table-column> <el-table-column prop="idNum" header-align="center" align="center" label="身份证" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="手机" width="260"></el-table-column> <el-table-column prop="mobile" header-align="center" align="center" label="手机" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="岗位类型/当前职位" width="260"></el-table-column> <el-table-column prop="positions" header-align="center" align="center" label="岗位类型/当前职位" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="积分" width="260"></el-table-column> <el-table-column prop="totalScore" header-align="center" align="center" label="积分" width="260"></el-table-column>
<el-table-column label="操作" fixed="right" width="120" header-align="center" align="center" class="operate"> <!-- <el-table-column label="操作" fixed="right" width="120" header-align="center" align="center" class="operate">-->
<template slot-scope="scope"> <!-- <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="handleDetail(scope.row)">查看</el-button>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
</el-table> </el-table>
<div> <div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
@ -183,22 +174,49 @@ export default {
pageNo: 0, pageNo: 0,
tableLoading: false, tableLoading: false,
formData: { formData: {
title: "", street: '',
status: "", community: '',
startTime: '',
endTime: '',
}, },
tableData: [], tableData: [],
formTitle: '新增活动', formTitle: '新增活动',
detailShow: false, detailShow: false,
detail:{}, detail:{},
nextTreeNodeData: [],
communityData: [],
streetData: [],
} }
}, },
async mounted () { async mounted () {
const { user } = this.$store.state const { user } = this.$store.state
this.communityActivityList() this.communityActivityList()
this.getNextTreeNode()
this.getNextTreeNode1()
}, },
methods: { methods: {
async getNextTreeNode(){
const url = "/actual/base/communityBuilding/tree/nextTreeNode";
let params = {
level: 'community',
};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.communityData = data.list
} else {
this.$message.error(msg)
}
},
async getNextTreeNode1(){
const url = "/actual/base/communityBuilding/tree/nextTreeNode";
let params = {
level: 'street',
};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.streetData = data.list
} else {
this.$message.error(msg)
}
},
handleClose() { handleClose() {
this.$emit("close"); this.$emit("close");
}, },
@ -243,10 +261,8 @@ export default {
// //
resetSearch () { resetSearch () {
this.formData = { this.formData = {
title: "", street: '',
status: "", community: '',
startTime: '',
endTime: '',
} }
this.pageSize = 10 this.pageSize = 10
this.pageNo = 1 this.pageNo = 1
@ -267,7 +283,7 @@ export default {
}, },
computed: { computed: {
tableHeight () { tableHeight () {
return this.$store.state.inIframe ? this.clientHeight - 430 + this.iframeHeight : this.clientHeight - 430 return this.$store.state.inIframe ? this.clientHeight - 350 + this.iframeHeight : this.clientHeight - 350
}, },
...mapGetters(['clientHeight', 'iframeHeight']) ...mapGetters(['clientHeight', 'iframeHeight'])

117
src/views/modules/pointsManage/pointsRecord/index.vue

@ -4,45 +4,43 @@
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
<el-form-item label="所属组织" prop="activityName"> <el-form-item label="所属组织" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-cascader size="small" clearable
<el-option label="待发布" value="0" /> :props="{ checkStrictly: true, multiple: false, value: 'id', label: 'partyOrgName' }"
<el-option label="已上线" value="1" /> v-model="formData.partyOrgId" :options="root4SelectList" @change="handleChangePost">
<el-option label="已下线" value="2" /> </el-cascader>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="党员属性" prop="activityName"> <el-form-item label="党员属性" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-select v-model="formData.partyAttribute" placeholder="请选择" clearable>
<el-option label="待发布" value="0" /> <el-option label="有职党员" value="1" />
<el-option label="已上线" value="1" /> <el-option label="无职党员" value="2" />
<el-option label="已下线" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="岗位类型" prop="activityName"> <el-form-item label="岗位类型" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-cascader size="small" clearable
<el-option label="待发布" value="0" /> :props="{ checkStrictly: true, multiple: false, value: 'id', label: 'name' }"
<el-option label="已上线" value="1" /> v-model="formData.partyPositionName" :options="root4SelectList1" @change="handleChangePost">
<el-option label="已下线" value="2" /> </el-cascader>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="activityName"> <el-form-item label="姓名" prop="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.name" size="small" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="身份证" prop="activityName"> <el-form-item label="身份证" prop="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.idNum" size="small" class="item_width_1" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="得分方式" prop="activityName"> <el-form-item label="得分方式" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-select v-model="formData.scoreMethod" placeholder="请选择" clearable>
<el-option label="待发布" value="0" /> <el-option label="群众评议" value="1" />
<el-option label="已上线" value="1" /> <el-option label="党员互评" value="2" />
<el-option label="已下线" value="2" /> <el-option label="组织考评" value="3" />
<el-option label="服务得分" value="4" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="activityName"> <el-form-item label="手机号" prop="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -57,21 +55,21 @@
<div class="div_btn"> <div class="div_btn">
<el-button style="" class="diy-button--add" size="small" @click="handleInitAdd">导入</el-button> <el-button style="" class="diy-button--add" size="small" @click="handleInitAdd">导入</el-button>
</div> </div>
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" style="width: 100%;margin-top:16px"> <el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" style="width: 100%;margin-top:16px" :cell-style="{height: '6vh'}">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column> <el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="所属组织" width="260"></el-table-column> <el-table-column prop="partyOrgName" header-align="center" align="center" label="所属组织" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="党员属性" width="260"></el-table-column> <el-table-column prop="partyAttribute" header-align="center" align="center" label="党员属性" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="姓名" width="260"></el-table-column> <el-table-column prop="name" header-align="center" align="center" label="姓名" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="身份证" width="260"></el-table-column> <el-table-column prop="idNum" header-align="center" align="center" label="身份证" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="手机" width="260"></el-table-column> <el-table-column prop="mobile" header-align="center" align="center" label="手机" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="岗位类型/当前职位" width="260"></el-table-column> <el-table-column prop="partyPositionName" header-align="center" align="center" label="岗位类型/当前职位" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="得分方式" width="260"></el-table-column> <el-table-column prop="scoreMethod" header-align="center" align="center" label="得分方式" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="积分" width="260"></el-table-column> <el-table-column prop="scoreValue" header-align="center" align="center" label="积分" width="260"></el-table-column>
<el-table-column label="操作" fixed="right" width="120" header-align="center" align="center" class="operate"> <!-- <el-table-column label="操作" fixed="right" width="120" header-align="center" align="center" class="operate">-->
<template slot-scope="scope"> <!-- <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="handleDetail(scope.row)">查看</el-button>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
</el-table> </el-table>
<div> <div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
@ -210,22 +208,52 @@ export default {
pageNo: 0, pageNo: 0,
tableLoading: false, tableLoading: false,
formData: { formData: {
title: "", partyOrgId: '',
status: "", partyAttribute: '',
startTime: '', partyPositionName: '',
endTime: '', name: '',
idNum: '',
scoreMethod: '',
mobile: '',
}, },
tableData: [], tableData: [],
formTitle: '新增活动', formTitle: '新增活动',
detailShow: false, detailShow: false,
detail:{}, detail:{},
root4SelectList: [],
root4SelectList1: [],
} }
}, },
async mounted () { async mounted () {
const { user } = this.$store.state const { user } = this.$store.state
this.communityActivityList() this.communityActivityList()
this.treeRoot4Select()
this.treeRoot4Select1()
}, },
methods: { methods: {
async treeRoot4Select(){
const url = "/actual/base/party/org/listPartyOrgTreeRoot4Select";
let params = {};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.root4SelectList = data
} else {
this.$message.error(msg)
}
},
async treeRoot4Select1(){
const url = "/actual/base/partyPosition/positions";
let params = {};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.root4SelectList1 = data
} else {
this.$message.error(msg)
}
},
handleChangePost(){
},
handleClose() { handleClose() {
this.$emit("close"); this.$emit("close");
}, },
@ -270,10 +298,13 @@ export default {
// //
resetSearch () { resetSearch () {
this.formData = { this.formData = {
title: "", partyOrgId: '',
status: "", partyAttribute: '',
startTime: '', partyPositionName: '',
endTime: '', name: '',
idNum: '',
scoreMethod: '',
mobile: '',
} }
this.pageSize = 10 this.pageSize = 10
this.pageNo = 1 this.pageNo = 1

90
src/views/modules/serviceManage/recordReview/index.vue

@ -4,39 +4,37 @@
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
<el-form-item label="所属组织" prop="activityName"> <el-form-item label="所属组织" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-cascader size="small" clearable
<el-option label="待发布" value="0" /> :props="{ checkStrictly: true, multiple: false, value: 'id', label: 'partyOrgName' }"
<el-option label="已上线" value="1" /> v-model="formData.partyOrgId" :options="root4SelectList" @change="handleChangePost">
<el-option label="已下线" value="2" /> </el-cascader>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="党员属性" prop="activityName"> <el-form-item label="党员属性" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-select v-model="formData.partyAttribute" placeholder="请选择" clearable>
<el-option label="待发布" value="0" /> <el-option label="有职党员" value="1" />
<el-option label="已上线" value="1" /> <el-option label="无职党员" value="2" />
<el-option label="已下线" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="activityName"> <el-form-item label="姓名" prop="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="身份证" prop="activityName"> <el-form-item label="身份证" prop="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.idNum" size="small" class="item_width_1" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="activityName"> <el-form-item label="手机号" prop="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="审核状态" prop="activityName"> <el-form-item label="审核状态" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-select v-model="formData.auditStatus" placeholder="请选择" clearable>
<el-option label="待发布" value="0" /> <el-option label="待审核" value="0" />
<el-option label="已上线" value="1" /> <el-option label="通过" value="1" />
<el-option label="已下线" value="2" /> <el-option label="驳回" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -49,19 +47,19 @@
<div class="m-table"> <div class="m-table">
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" style="width: 100%;margin-top:16px"> <el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" style="width: 100%;margin-top:16px">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column> <el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="所属组织" width="260"></el-table-column> <el-table-column prop="partyOrgName" header-align="center" align="center" label="所属组织" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="党员属性" width="260"></el-table-column> <el-table-column prop="partyAttribute" header-align="center" align="center" label="党员属性" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="姓名" width="260"></el-table-column> <el-table-column prop="name" header-align="center" align="center" label="姓名" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="身份证" width="260"></el-table-column> <el-table-column prop="idNum" header-align="center" align="center" label="身份证" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="手机" width="260"></el-table-column> <el-table-column prop="mobile" header-align="center" align="center" label="手机" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="岗位类型" width="260"></el-table-column> <el-table-column prop="partyPositionName" header-align="center" align="center" label="岗位类型" width="260"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="服务内容" width="260"></el-table-column> <el-table-column prop="serviceContent" header-align="center" align="center" label="服务内容" width="260"></el-table-column>
<el-table-column prop="coverPic" header-align="center" align="center" label="图片" width="180"> <el-table-column prop="servicePhotoUrl" header-align="center" align="center" label="图片" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-image :src="scope.row.coverPic" style="width: 40px;height: 40px;" :preview-src-list="srcList" @click="imageClick(scope.row.coverPic)"></el-image> <el-image :src="scope.row.servicePhotoUrl" style="width: 40px;height: 40px;" :preview-src-list="srcList" @click="imageClick(scope.row.servicePhotoUrl)"></el-image>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="审核状态" width="260"></el-table-column> <el-table-column prop="auditStatus" header-align="center" align="center" label="审核状态" width="260"></el-table-column>
<el-table-column label="操作" fixed="right" width="130" header-align="center" align="center" class="operate"> <el-table-column label="操作" fixed="right" width="130" header-align="center" align="center" class="operate">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row,'1')">审核</el-button> <el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row,'1')">审核</el-button>
@ -186,7 +184,7 @@
</div> </div>
</template> </template>
<script> <script>
import { requestPost } from "@/js/dai/request"; import {requestGet, requestPost} from "@/js/dai/request";
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
let loading // let loading //
@ -221,20 +219,34 @@ export default {
tableLoading: false, tableLoading: false,
value1: [], value1: [],
formData: { formData: {
title: "", partyOrgId: '',
status: "", partyAttribute: '',
startTime: '', name: '',
endTime: '', idNum: '',
mobile: '',
auditStatus: '',
}, },
tableData: [], tableData: [],
detailShow: false, detailShow: false,
multipleSelection: [] multipleSelection: [],
root4SelectList: [],
} }
}, },
async mounted () { async mounted () {
this.communityActivityList() this.communityActivityList()
this.treeRoot4Select()
}, },
methods: { methods: {
async treeRoot4Select(){
const url = "/actual/base/party/org/listPartyOrgTreeRoot4Select";
let params = {};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.root4SelectList = data
} else {
this.$message.error(msg)
}
},
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
}, },
@ -243,13 +255,13 @@ export default {
this.srcList.push(val) this.srcList.push(val)
}, },
async communityActivityList() { async communityActivityList() {
const url = "/actual/base/partyActivity/page"; const url = "/actual/base/serviceRecord/list";
let params = { let params = {
pageSize: this.pageSize, pageSize: this.pageSize,
pageNo: this.pageNo, pageNo: this.pageNo,
...this.formData, ...this.formData,
}; };
let { data, code, msg } = await requestPost(url, params); let { data, code, msg } = await requestGet(url, params);
if (code === 0) { if (code === 0) {
this.total = data.total this.total = data.total
this.tableData = data.list this.tableData = data.list
@ -282,10 +294,12 @@ export default {
// //
resetSearch () { resetSearch () {
this.formData = { this.formData = {
title: "", partyOrgId: '',
status: "", partyAttribute: '',
startTime: '', name: '',
endTime: '', idNum: '',
mobile: '',
auditStatus: '',
} }
this.pageSize = 10 this.pageSize = 10
this.pageNo = 1 this.pageNo = 1

124
src/views/modules/serviceManage/serviceRecord/index.vue

@ -3,39 +3,36 @@
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div> <div>
<el-form-item label="所属组织" prop="activityName"> <el-form-item label="所属组织" prop="partyOrgId">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-cascader size="small" clearable
<el-option label="待发布" value="0" /> :props="{ checkStrictly: true, multiple: false, value: 'id', label: 'partyOrgName' }"
<el-option label="已上线" value="1" /> v-model="formData.partyOrgId" :options="root4SelectList" @change="handleChangePost">
<el-option label="已下线" value="2" /> </el-cascader>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="党员属性" prop="activityName"> <el-form-item label="党员属性" prop="partyAttribute">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-select v-model="formData.partyAttribute" placeholder="请选择" clearable>
<el-option label="待发布" value="0" /> <el-option label="有职党员" value="1" />
<el-option label="已上线" value="1" /> <el-option label="无职党员" value="2" />
<el-option label="已下线" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="岗位类型" prop="activityName"> <el-form-item label="岗位类型" prop="partyPositionId">
<el-select v-model="formData.status" placeholder="请选择" clearable> <el-cascader size="small" clearable
<el-option label="待发布" value="0" /> :props="{ checkStrictly: true, multiple: false, value: 'id', label: 'name' }"
<el-option label="已上线" value="1" /> v-model="formData.partyPositionId" :options="root4SelectList1" @change="handleChangePost">
<el-option label="已下线" value="2" /> </el-cascader>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="activityName"> <el-form-item label="姓名" prop="name">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="身份证" prop="activityName"> <el-form-item label="身份证" prop="idNum">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.idNum" size="small" class="item_width_1" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="activityName"> <el-form-item label="手机号" prop="mobile">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable
placeholder="请输入关键字"> placeholder="请输入关键字">
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -65,8 +62,8 @@
<el-table-column prop="idNum" header-align="center" align="center" label="身份证" width="260"></el-table-column> <el-table-column prop="idNum" header-align="center" align="center" label="身份证" width="260"></el-table-column>
<el-table-column prop="mobile" header-align="center" align="center" label="手机" width="260"></el-table-column> <el-table-column prop="mobile" header-align="center" align="center" label="手机" width="260"></el-table-column>
<el-table-column prop="partyPositionName" header-align="center" align="center" label="岗位类型" width="260"></el-table-column> <el-table-column prop="partyPositionName" header-align="center" align="center" label="岗位类型" width="260"></el-table-column>
<el-table-column prop="workContent" header-align="center" align="center" label="服务内容" width="260"></el-table-column> <el-table-column prop="serviceContent" header-align="center" align="center" label="服务内容" width="260"></el-table-column>
<el-table-column prop="coverPic" header-align="center" align="center" label="图片" width="180"> <el-table-column prop="servicePhotoUrl" header-align="center" align="center" label="图片" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-image :src="scope.row.servicePhotoUrl" style="width: 40px;height: 40px;" :preview-src-list="srcList" @click="imageClick(scope.row.servicePhotoUrl)"></el-image> <el-image :src="scope.row.servicePhotoUrl" style="width: 40px;height: 40px;" :preview-src-list="srcList" @click="imageClick(scope.row.servicePhotoUrl)"></el-image>
</template> </template>
@ -137,33 +134,33 @@
<!-- 服务信息模块 --> <!-- 服务信息模块 -->
<div class="module-wrap"> <div class="module-wrap">
<div class="module-title">服务信息</div> <div class="module-title">服务信息</div>
<el-form :model="serviceForm" label-width="100px" class="service-form"> <el-form :model="baseForm" label-width="100px" class="service-form">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="服务内容"> <el-form-item label="服务内容">
<div class="content-box">{{ serviceForm.content }}</div> <div class="content-box">{{ baseForm.content }}</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 视频模块有视频才显示 --> <!-- 视频模块有视频才显示 -->
<el-col :span="24" v-if="serviceForm.videoUrl"> <el-col :span="24" v-if="baseForm.videoUrl">
<el-form-item label="服务视频"> <el-form-item label="服务视频">
<video :src="serviceForm.videoUrl" controls class="video-box"></video>11 <video :src="baseForm.videoUrl" controls class="video-box"></video>11
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 图片模块 --> <!-- 图片模块 -->
<el-col :span="24" v-if="serviceForm.servicePhotoUrl"> <el-col :span="24" v-if="baseForm.servicePhotoUrl">
<el-form-item label="上传图片"> <el-form-item label="上传图片">
<el-image :src="serviceForm.servicePhotoUrl" class="preview-img" fit="contain" preview-src-list="[serviceForm.servicePhotoUrl]" :preview-options="{ loop: true }"/> <el-image :src="baseForm.servicePhotoUrl" class="preview-img" fit="contain" preview-src-list="[baseForm.servicePhotoUrl]" :preview-options="{ loop: true }"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务时间"> <el-form-item label="服务时间">
<span class="form-value">{{ serviceForm.serviceTime }}</span> <span class="form-value">{{ baseForm.serviceTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务地点"> <el-form-item label="服务地点">
<span class="form-value">{{ serviceForm.address }}</span>11 <span class="form-value">{{ baseForm.address }}</span>11
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -195,20 +192,51 @@ export default {
tableLoading: false, tableLoading: false,
value1: [], value1: [],
formData: { formData: {
title: "", partyOrgId: '',
status: "", partyAttribute: '',
startTime: '', partyPositionId: '',
endTime: '', name: '',
idNum: '',
mobile: '',
serviceStartTime: '',
serviceEndTime: '',
}, },
tableData: [], tableData: [],
detailShow: false, detailShow: false,
multipleSelection: [] multipleSelection: [],
root4SelectList: [],
root4SelectList1: [],
} }
}, },
async mounted () { async mounted () {
this.communityActivityList() this.communityActivityList()
this.treeRoot4Select()
this.treeRoot4Select1()
}, },
methods: { methods: {
handleChangePost(){
},
async treeRoot4Select(){
const url = "/actual/base/party/org/listPartyOrgTreeRoot4Select";
let params = {};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.root4SelectList = data
} else {
this.$message.error(msg)
}
},
async treeRoot4Select1(){
const url = "/actual/base/partyPosition/positions";
let params = {};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.root4SelectList1 = data
} else {
this.$message.error(msg)
}
},
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
}, },
@ -234,12 +262,12 @@ export default {
async handleSearch () { async handleSearch () {
if(this.value1){ if(this.value1){
if(this.value1.length==2){ if(this.value1.length==2){
this.formData.startTime = this.value1[0] this.formData.serviceStartTime = this.value1[0]
this.formData.endTime = this.value1[1] this.formData.serviceEndTime = this.value1[1]
} }
}else { }else {
this.formData.startTime = '' this.formData.serviceStartTime = ''
this.formData.endTime = '' this.formData.serviceEndTime = ''
} }
this.communityActivityList() this.communityActivityList()
}, },
@ -263,10 +291,14 @@ export default {
// //
resetSearch () { resetSearch () {
this.formData = { this.formData = {
title: "", partyOrgId: '',
status: "", partyAttribute: '',
startTime: '', partyPositionId: '',
endTime: '', name: '',
idNum: '',
mobile: '',
serviceStartTime: '',
serviceEndTime: '',
} }
this.pageSize = 10 this.pageSize = 10
this.pageNo = 1 this.pageNo = 1

97
src/views/modules/worklog/index.vue

@ -4,41 +4,36 @@
<div class="m-search"> <div class="m-search">
<el-form :inline="true" :model="queryParams" ref="ref_search_form" label-width="80px"> <el-form :inline="true" :model="queryParams" ref="ref_search_form" label-width="80px">
<div class="form-group"> <div class="form-group">
<el-form-item class="form_item_25" label="所属组织" prop="orgId"> <el-form-item label="所属组织" prop="partyOrgId">
<el-cascader size="small" clearable <el-cascader size="small" clearable
:props="{ checkStrictly: true, multiple: false, value: 'value', label: 'label', children: 'children' }" :props="{ checkStrictly: true, multiple: false, value: 'id', label: 'partyOrgName' }"
v-model.trim="queryParams.orgIdList" :options="organizeOptions" @change="handleChangeOrg"> v-model="queryParams.partyOrgId" :options="root4SelectList" @change="handleChangePost">
<template slot-scope="{ data }">
<span>{{ data.label }}</span>
<span v-if="data.type != 'agency'" style="color: #aaa; font-size: 12px">{{ data.typeName }}
</span>
</template>
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
<el-form-item class="form_item_25" label="当前岗位" prop="postId"> <el-form-item label="当前岗位" prop="postId">
<el-cascader size="small" clearable <el-cascader size="small" clearable
:props="{ checkStrictly: true, multiple: false, value: 'id', label: 'name' }" :props="{ checkStrictly: true, multiple: false, value: 'id', label: 'name' }"
v-model.trim="queryParams.postIdList" :options="postOptions" @change="handleChangePost"> v-model="queryParams.partyPositionName" :options="root4SelectList1" @change="handleChangePost">
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
<el-form-item class="form_item_25" label="姓名" prop="title"> <el-form-item label="姓名" prop="title">
<el-input v-model.trim="queryParams.title" size="small" clearable placeholder="请输入"> <el-input v-model.trim="queryParams.name" size="small" clearable placeholder="请输入">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item class="form_item_25" label="身份证号" prop="title"> <el-form-item label="身份证号" prop="title">
<el-input v-model.trim="queryParams.title" size="small" clearable placeholder="请输入"> <el-input v-model.trim="queryParams.idNum" size="small" clearable placeholder="请输入">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item class="form_item_25" label="手机号" prop="title"> <el-form-item label="手机号" prop="title">
<el-input v-model.trim="queryParams.title" size="small" clearable placeholder="请输入"> <el-input v-model.trim="queryParams.mobile" size="small" clearable placeholder="请输入">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item class="form_item_25" label="上报时间"> <el-form-item label="上报时间">
<el-date-picker v-model="timeRange" type="datetimerange" size="small" value-format="yyyy-MM-dd HH:mm:ss" <el-date-picker v-model="timeRange" type="datetimerange" size="small" value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间"> format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间">
</el-date-picker> </el-date-picker>
@ -131,23 +126,48 @@ export default {
timeRange: [], timeRange: [],
tableData: [], tableData: [],
queryParams: { queryParams: {
orgId: '', partyOrgId: '',
orgIdList: '', partyPositionName: '',
postId: '', name: '',
postIdList: '', idNum: '',
startTime: '', mobile: '',
endTime: '' workStartTime: '',
workEndTime: '',
}, },
selection: [], selection: [],
dialogVisible: false, dialogVisible: false,
dialogTitle: '' dialogTitle: '',
root4SelectList: [],
root4SelectList1: [],
} }
}, },
created() { created() {
this.getOptions(); this.getOptions();
this.communityActivityList(); this.communityActivityList();
this.treeRoot4Select()
this.treeRoot4Select1()
}, },
methods: { methods: {
async treeRoot4Select(){
const url = "/actual/base/party/org/listPartyOrgTreeRoot4Select";
let params = {};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.root4SelectList = data
} else {
this.$message.error(msg)
}
},
async treeRoot4Select1(){
const url = "/actual/base/partyPosition/positions";
let params = {};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.root4SelectList1 = data
} else {
this.$message.error(msg)
}
},
async communityActivityList() { async communityActivityList() {
const url = "/actual/base/workRecord/list"; const url = "/actual/base/workRecord/list";
let params = { let params = {
@ -225,6 +245,15 @@ export default {
// //
handleSearch() { handleSearch() {
this.pageNo = 1; this.pageNo = 1;
if(this.timeRange){
if(this.timeRange.length==2){
this.formData.workStartTime = this.timeRange[0]
this.formData.workEndTime = this.timeRange[1]
}
}else {
this.formData.workStartTime = ''
this.formData.workEndTime = ''
}
this.communityActivityList(); this.communityActivityList();
console.log('this.queryParams==', this.queryParams) console.log('this.queryParams==', this.queryParams)
}, },
@ -269,10 +298,20 @@ export default {
}, },
// //
handleExport() { async handleExport() {
this.globalDownload('', { const url = "/actual/base/workRecord/export";
...this.queryParams let params = {
}, `restroom_${new Date().getTime()}.xlsx`) pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData,
};
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
console.log(data,"+++++++++++workRecord/export")
} else {
this.$message.error(msg)
}
} }
}, },
computed: { computed: {

Loading…
Cancel
Save