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">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div>
<el-form-item label="所属街道" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
<el-form-item label="所属街道" prop="street">
<el-select v-model="formData.street" placeholder="请选择" clearable>
<el-option v-for="item in streetData" :label="item.name" :value="item.id" :key="item.id" />
</el-select>
</el-form-item>
<el-form-item label="新村" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
<el-form-item label="新村" prop="community">
<el-select v-model="formData.community" placeholder="请选择" clearable>
<el-option v-for="item in communityData" :label="item.name" :value="item.id" :key="item.id" />
</el-select>
</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-button style="margin-left:10px" @click="handleSearch" type="primary">查询</el-button>
<el-button style="margin-left:10px" @click="resetSearch" type="primary">重置</el-button>
@ -30,21 +21,21 @@
</el-form>
</div>
<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 prop="title" 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="title" 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="title" 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="title" 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 label="操作" fixed="right" width="120" 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-column prop="street" 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="community" 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="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="positions" 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">-->
<!-- <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"
@ -183,22 +174,49 @@ export default {
pageNo: 0,
tableLoading: false,
formData: {
title: "",
status: "",
startTime: '',
endTime: '',
street: '',
community: '',
},
tableData: [],
formTitle: '新增活动',
detailShow: false,
detail:{},
nextTreeNodeData: [],
communityData: [],
streetData: [],
}
},
async mounted () {
const { user } = this.$store.state
this.communityActivityList()
this.getNextTreeNode()
this.getNextTreeNode1()
},
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() {
this.$emit("close");
},
@ -243,10 +261,8 @@ export default {
//
resetSearch () {
this.formData = {
title: "",
status: "",
startTime: '',
endTime: '',
street: '',
community: '',
}
this.pageSize = 10
this.pageNo = 1
@ -267,7 +283,7 @@ export default {
},
computed: {
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'])

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

@ -4,45 +4,43 @@
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div>
<el-form-item label="所属组织" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
</el-select>
<el-cascader size="small" clearable
:props="{ checkStrictly: true, multiple: false, value: 'id', label: 'partyOrgName' }"
v-model="formData.partyOrgId" :options="root4SelectList" @change="handleChangePost">
</el-cascader>
</el-form-item>
<el-form-item label="党员属性" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
<el-select v-model="formData.partyAttribute" placeholder="请选择" clearable>
<el-option label="有职党员" value="1" />
<el-option label="无职党员" value="2" />
</el-select>
</el-form-item>
<el-form-item label="岗位类型" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
</el-select>
<el-cascader size="small" clearable
:props="{ checkStrictly: true, multiple: false, value: 'id', label: 'name' }"
v-model="formData.partyPositionName" :options="root4SelectList1" @change="handleChangePost">
</el-cascader>
</el-form-item>
<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="请输入关键字">
</el-input>
</el-form-item>
<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="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="得分方式" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
<el-select v-model="formData.scoreMethod" placeholder="请选择" clearable>
<el-option label="群众评议" value="1" />
<el-option label="党员互评" value="2" />
<el-option label="组织考评" value="3" />
<el-option label="服务得分" value="4" />
</el-select>
</el-form-item>
<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="请输入关键字">
</el-input>
</el-form-item>
@ -57,21 +55,21 @@
<div class="div_btn">
<el-button style="" class="diy-button--add" size="small" @click="handleInitAdd">导入</el-button>
</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 prop="title" 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="title" 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="title" 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="title" 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 label="操作" fixed="right" width="120" 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-column prop="partyOrgName" 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="name" 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="partyPositionName" 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="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">-->
<!-- <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"
@ -210,22 +208,52 @@ export default {
pageNo: 0,
tableLoading: false,
formData: {
title: "",
status: "",
startTime: '',
endTime: '',
partyOrgId: '',
partyAttribute: '',
partyPositionName: '',
name: '',
idNum: '',
scoreMethod: '',
mobile: '',
},
tableData: [],
formTitle: '新增活动',
detailShow: false,
detail:{},
root4SelectList: [],
root4SelectList1: [],
}
},
async mounted () {
const { user } = this.$store.state
this.communityActivityList()
this.treeRoot4Select()
this.treeRoot4Select1()
},
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() {
this.$emit("close");
},
@ -270,10 +298,13 @@ export default {
//
resetSearch () {
this.formData = {
title: "",
status: "",
startTime: '',
endTime: '',
partyOrgId: '',
partyAttribute: '',
partyPositionName: '',
name: '',
idNum: '',
scoreMethod: '',
mobile: '',
}
this.pageSize = 10
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'">
<div>
<el-form-item label="所属组织" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
</el-select>
<el-cascader size="small" clearable
:props="{ checkStrictly: true, multiple: false, value: 'id', label: 'partyOrgName' }"
v-model="formData.partyOrgId" :options="root4SelectList" @change="handleChangePost">
</el-cascader>
</el-form-item>
<el-form-item label="党员属性" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
<el-select v-model="formData.partyAttribute" placeholder="请选择" clearable>
<el-option label="有职党员" value="1" />
<el-option label="无职党员" value="2" />
</el-select>
</el-form-item>
<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="请输入关键字">
</el-input>
</el-form-item>
<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="请输入关键字">
</el-input>
</el-form-item>
<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="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="审核状态" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
<el-select v-model="formData.auditStatus" placeholder="请选择" clearable>
<el-option label="待审核" value="0" />
<el-option label="通过" value="1" />
<el-option label="驳回" value="2" />
</el-select>
</el-form-item>
<el-form-item>
@ -49,19 +47,19 @@
<div class="m-table">
<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 prop="title" 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="title" 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="title" 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="title" 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="partyOrgName" 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="name" 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="partyPositionName" 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="servicePhotoUrl" header-align="center" align="center" label="图片" width="180">
<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>
</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">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row,'1')">审核</el-button>
@ -186,7 +184,7 @@
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import {requestGet, requestPost} from "@/js/dai/request";
import { mapGetters } from 'vuex'
let loading //
@ -221,20 +219,34 @@ export default {
tableLoading: false,
value1: [],
formData: {
title: "",
status: "",
startTime: '',
endTime: '',
partyOrgId: '',
partyAttribute: '',
name: '',
idNum: '',
mobile: '',
auditStatus: '',
},
tableData: [],
detailShow: false,
multipleSelection: []
multipleSelection: [],
root4SelectList: [],
}
},
async mounted () {
this.communityActivityList()
this.treeRoot4Select()
},
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) {
this.multipleSelection = val;
},
@ -243,13 +255,13 @@ export default {
this.srcList.push(val)
},
async communityActivityList() {
const url = "/actual/base/partyActivity/page";
const url = "/actual/base/serviceRecord/list";
let params = {
pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData,
};
let { data, code, msg } = await requestPost(url, params);
let { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.total = data.total
this.tableData = data.list
@ -282,10 +294,12 @@ export default {
//
resetSearch () {
this.formData = {
title: "",
status: "",
startTime: '',
endTime: '',
partyOrgId: '',
partyAttribute: '',
name: '',
idNum: '',
mobile: '',
auditStatus: '',
}
this.pageSize = 10
this.pageNo = 1

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

@ -3,39 +3,36 @@
<div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
<div>
<el-form-item label="所属组织" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
</el-select>
<el-form-item label="所属组织" prop="partyOrgId">
<el-cascader size="small" clearable
:props="{ checkStrictly: true, multiple: false, value: 'id', label: 'partyOrgName' }"
v-model="formData.partyOrgId" :options="root4SelectList" @change="handleChangePost">
</el-cascader>
</el-form-item>
<el-form-item label="党员属性" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
<el-form-item label="党员属性" prop="partyAttribute">
<el-select v-model="formData.partyAttribute" placeholder="请选择" clearable>
<el-option label="有职党员" value="1" />
<el-option label="无职党员" value="2" />
</el-select>
</el-form-item>
<el-form-item label="岗位类型" prop="activityName">
<el-select v-model="formData.status" placeholder="请选择" clearable>
<el-option label="待发布" value="0" />
<el-option label="已上线" value="1" />
<el-option label="已下线" value="2" />
</el-select>
<el-form-item label="岗位类型" prop="partyPositionId">
<el-cascader size="small" clearable
:props="{ checkStrictly: true, multiple: false, value: 'id', label: 'name' }"
v-model="formData.partyPositionId" :options="root4SelectList1" @change="handleChangePost">
</el-cascader>
</el-form-item>
<el-form-item label="姓名" prop="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable
<el-form-item label="姓名" prop="name">
<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="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable
<el-form-item label="身份证" prop="idNum">
<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="activityName">
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable
<el-form-item label="手机号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable
placeholder="请输入关键字">
</el-input>
</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="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="workContent" 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="serviceContent" header-align="center" align="center" label="服务内容" width="260"></el-table-column>
<el-table-column prop="servicePhotoUrl" header-align="center" align="center" label="图片" width="180">
<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>
</template>
@ -137,33 +134,33 @@
<!-- 服务信息模块 -->
<div class="module-wrap">
<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-col :span="24">
<el-form-item label="服务内容">
<div class="content-box">{{ serviceForm.content }}</div>
<div class="content-box">{{ baseForm.content }}</div>
</el-form-item>
</el-col>
<!-- 视频模块有视频才显示 -->
<el-col :span="24" v-if="serviceForm.videoUrl">
<el-col :span="24" v-if="baseForm.videoUrl">
<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-col>
<!-- 图片模块 -->
<el-col :span="24" v-if="serviceForm.servicePhotoUrl">
<el-col :span="24" v-if="baseForm.servicePhotoUrl">
<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-col>
<el-col :span="12">
<el-form-item label="服务时间">
<span class="form-value">{{ serviceForm.serviceTime }}</span>
<span class="form-value">{{ baseForm.serviceTime }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="服务地点">
<span class="form-value">{{ serviceForm.address }}</span>11
<span class="form-value">{{ baseForm.address }}</span>11
</el-form-item>
</el-col>
</el-row>
@ -195,20 +192,51 @@ export default {
tableLoading: false,
value1: [],
formData: {
title: "",
status: "",
startTime: '',
endTime: '',
partyOrgId: '',
partyAttribute: '',
partyPositionId: '',
name: '',
idNum: '',
mobile: '',
serviceStartTime: '',
serviceEndTime: '',
},
tableData: [],
detailShow: false,
multipleSelection: []
multipleSelection: [],
root4SelectList: [],
root4SelectList1: [],
}
},
async mounted () {
this.communityActivityList()
this.treeRoot4Select()
this.treeRoot4Select1()
},
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) {
this.multipleSelection = val;
},
@ -234,12 +262,12 @@ export default {
async handleSearch () {
if(this.value1){
if(this.value1.length==2){
this.formData.startTime = this.value1[0]
this.formData.endTime = this.value1[1]
this.formData.serviceStartTime = this.value1[0]
this.formData.serviceEndTime = this.value1[1]
}
}else {
this.formData.startTime = ''
this.formData.endTime = ''
this.formData.serviceStartTime = ''
this.formData.serviceEndTime = ''
}
this.communityActivityList()
},
@ -263,10 +291,14 @@ export default {
//
resetSearch () {
this.formData = {
title: "",
status: "",
startTime: '',
endTime: '',
partyOrgId: '',
partyAttribute: '',
partyPositionId: '',
name: '',
idNum: '',
mobile: '',
serviceStartTime: '',
serviceEndTime: '',
}
this.pageSize = 10
this.pageNo = 1

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

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

Loading…
Cancel
Save