Browse Source

Merge branch 'dev-chaxun' into test

feature
jiangyy 4 years ago
parent
commit
a30c994316
  1. 6
      src/assets/scss/modules/visual/personCategory.scss
  2. 11
      src/views/components/scoreRecord.vue
  3. 16
      src/views/modules/communityParty/regionalParty/finishList.vue
  4. 2
      src/views/modules/communityParty/regionalParty/units.vue
  5. 314
      src/views/modules/communityService/shzz/index.vue
  6. 283
      src/views/modules/communityService/sqzzz/index.vue
  7. 68
      src/views/modules/visual/basicinfo/personCategory/components/screen-loading/index.vue
  8. 109
      src/views/modules/visual/basicinfo/personCategory/index.vue
  9. 80
      src/views/modules/visual/basicinfo/personCategory/recordList.vue

6
src/assets/scss/modules/visual/personCategory.scss

@ -14,7 +14,8 @@
display: flex;
// justify-content: space-around;
justify-content: flex-start;
flex-wrap: wrap;
flex-wrap: nowrap;
// overflow-y: auto;
min-height: 190px;
.top-item-active {
@ -22,8 +23,9 @@
}
.top-item {
flex: 0 0 280px;
box-sizing: border-box;
width: 280px;
// width: 280px;
height: 190px;
padding: 10px 22px 14px 21px;
// background: rgba(255, 255, 255, 0);

11
src/views/components/scoreRecord.vue

@ -11,6 +11,7 @@
<el-date-picker v-model="timeRange"
type="daterange"
:clearable="false"
:picker-options="pickerOptions"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@ -150,10 +151,10 @@ export default {
},
methods: {
async initForm (row) {
async initForm (serviceId) {
this.initDate()
this.serviceId = row.id
this.serviceId = serviceId
//
await this.loadTable()
@ -167,8 +168,8 @@ export default {
async loadTable () {
this.tableLoading = true
// const url = "/heart /userdemand/recordList"
const url = "http://yapi.elinkservice.cn/mock/245/heart/userdemand/recordList"
const url = "/heart/userdemand/recordList"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/userdemand/recordList"
let params = {
serviceType: this.serviceType,
serviceId: this.serviceId,
@ -226,6 +227,8 @@ export default {
let t2 = year2 + '-' + month2 + '-' + day2;
let t1 = year + '-' + month + '-' + day;
// let t3 = formate(t2, style);
this.formData.startTime = t2 + ' 00:00:00'
this.formData.endTime = t1 + ' 23:59:59'
this.timeRange = [t2, t1]
},

16
src/views/modules/communityParty/regionalParty/finishList.vue

@ -263,7 +263,7 @@ export default {
m = '0' + m
}
let obj = {
label: i + '月',
label: m + '月',
value: m,
}
@ -298,10 +298,10 @@ export default {
async loadTable () {
this.tableLoading = true
// const url = '/heart/icpartyunitcompletion/list'
const url = 'http://yapi.elinkservice.cn/mock/245/heart/icpartyunitcompletion/list'
const url = '/heart/icpartyunitcompletion/list'
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icpartyunitcompletion/list'
let params = {
placePatrolRecordId: this.placePatrolRecordId
unitId: this.unitId
}
const { data, code, msg } = await requestPost(url, params)
@ -372,9 +372,9 @@ export default {
},
async addReview (row, tableIndex) {
// let url = "/heart/icpartyunitcompletion/save"
let url = "/heart/icpartyunitcompletion/save"
let url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunitcompletion/save"
// let url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunitcompletion/save"
let params = JSON.parse(JSON.stringify(row))
@ -456,8 +456,8 @@ export default {
async deleteRecord (row, tableIndex) {
// const url = "/heart/icpartyunitcompletion/delete"
const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunitcompletion/delete"
const url = "/heart/icpartyunitcompletion/delete"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunitcompletion/delete"
let params = {
id: row.id

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

@ -463,7 +463,7 @@ export default {
handleScore (row) {
this.scoreDiaShow = true
this.$nextTick(() => {
this.$refs.ref_score.initForm(row)
this.$refs.ref_score.initForm(row.id)
})
},

314
src/views/modules/communityService/shzz/index.vue

@ -2,19 +2,20 @@
<div>
<div class="resi-container">
<el-card class="resi-card">
<el-row class="resi-row-box" :class="openSearch && 'resi-row-more'">
<el-row class="resi-row" :gutter="20">
<el-row class="resi-row-box"
:class="openSearch && 'resi-row-more'">
<el-row class="resi-row"
:gutter="20">
<el-col :span="8">
<div class="resi-cell">
<div class="resi-cell-label">组织名称</div>
<div class="resi-cell-value" :class="'resi-cell-value-radio'">
<el-input
v-model="fmData.societyName"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入"
>
<div class="resi-cell-value"
:class="'resi-cell-value-radio'">
<el-input v-model="fmData.societyName"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入">
</el-input>
</div>
</div>
@ -23,14 +24,13 @@
<el-col :span="8">
<div class="resi-cell">
<div class="resi-cell-label">负责人</div>
<div class="resi-cell-value" :class="'resi-cell-value-radio'">
<el-input
v-model="fmData.personInCharge"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入"
>
<div class="resi-cell-value"
:class="'resi-cell-value-radio'">
<el-input v-model="fmData.personInCharge"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入">
</el-input>
</div>
</div>
@ -39,14 +39,13 @@
<el-col :span="8">
<div class="resi-cell">
<div class="resi-cell-label">联系电话</div>
<div class="resi-cell-value" :class="'resi-cell-value-radio'">
<el-input
v-model="fmData.mobile"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入"
>
<div class="resi-cell-value"
:class="'resi-cell-value-radio'">
<el-input v-model="fmData.mobile"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入">
</el-input>
</div>
</div>
@ -56,15 +55,14 @@
<el-col :span="24">
<div class="resi-cell">
<div class="resi-cell-label">服务时间</div>
<div class="resi-cell-value" :class="'resi-cell-value-radio'">
<el-date-picker
v-model="fmData.serviceTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
>
<div class="resi-cell-value"
:class="'resi-cell-value-radio'">
<el-date-picker v-model="fmData.serviceTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd">
</el-date-picker>
</div>
</div>
@ -73,9 +71,9 @@
</el-row>
<el-row class="resi-search">
<el-col :span="24">
<el-button type="primary" size="small" @click="handleSearch"
>查询</el-button
>
<el-button type="primary"
size="small"
@click="handleSearch">查询</el-button>
</el-col>
</el-row>
</el-card>
@ -83,109 +81,117 @@
<el-card class="resi-card-table">
<div class="resi-row-btn">
<el-button type="success" size="small" @click="handleAdd"
>新增</el-button
>
<el-upload
ref="upload"
class="upload-btn"
action="uploadUlr"
:limit="1"
:with-credentials="true"
:show-file-list="false"
:auto-upload="true"
:on-progress="handleProgress"
:on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest"
>
<el-button type="warning" size="small" :loading="importLoading">{{
<el-button type="success"
size="small"
@click="handleAdd">新增</el-button>
<el-upload ref="upload"
class="upload-btn"
action="uploadUlr"
:limit="1"
:with-credentials="true"
:show-file-list="false"
:auto-upload="true"
:on-progress="handleProgress"
:on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest">
<el-button type="warning"
size="small"
:loading="importLoading">{{
importBtnTitle
}}</el-button>
</el-upload>
<el-button @click="handleChu" type="danger" size="small"
>excel导出</el-button
>
<el-button @click="handleChu"
type="danger"
size="small">excel导出</el-button>
</div>
<el-table
:data="tableData"
border
style="width: 100%"
class="resi-table"
:max-height="maxTableHeight"
>
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column prop="societyName" label="社会组织名称">
<el-table :data="tableData"
border
style="width: 100%"
class="resi-table"
:max-height="maxTableHeight">
<el-table-column label="序号"
type="index"
align="center"
width="50" />
<el-table-column prop="societyName"
label="社会组织名称">
</el-table-column>
<el-table-column prop="serviceMatters" label="服务事项">
<el-table-column prop="serviceMatters"
label="服务事项">
</el-table-column>
<el-table-column prop="personInCharge" label="负责人">
<el-table-column prop="personInCharge"
label="负责人">
</el-table-column>
<el-table-column prop="mobile" label="负责人电话"> </el-table-column>
<el-table-column prop="serviceTime" label="服务时间"> </el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="120">
<el-table-column prop="mobile"
label="负责人电话"> </el-table-column>
<el-table-column prop="serviceTime"
label="服务时间"> </el-table-column>
<el-table-column fixed="right"
label="操作"
align="center"
width="180">
<template slot-scope="scope">
<el-button
@click="handleWatch(scope.$index)"
type="text"
size="small"
>查看</el-button
>
<el-button
@click="handleEdit(scope.$index)"
type="text"
size="small"
style="margin-right: 10px; color: #00a7a9"
>编辑</el-button
>
<el-popconfirm
title="删除之后无法回复,确认删除?"
@onConfirm="handleDel(scope.row, scope.$index)"
@confirm="handleDel(scope.row, scope.$index)"
>
<el-button
slot="reference"
type="text"
size="small"
style="color: #d51010"
>删除</el-button
>
<el-button @click="handleWatch(scope.$index)"
type="text"
size="small">查看</el-button>
<el-button type="text"
style="color:#00A7A9;"
size="small"
@click="handleScore(scope.row)">积分记录</el-button>
<el-button @click="handleEdit(scope.$index)"
type="text"
size="small"
style="margin-right: 10px; color: #00a7a9">编辑</el-button>
<el-popconfirm title="删除之后无法回复,确认删除?"
@onConfirm="handleDel(scope.row, scope.$index)"
@confirm="handleDel(scope.row, scope.$index)">
<el-button slot="reference"
type="text"
size="small"
style="color: #d51010">删除</el-button>
</el-popconfirm>
</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"
>
<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">
</el-pagination>
</div>
</el-card>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="850px"
top="5vh"
@closed="handleClose"
>
<edit-form
ref="eleEditForm"
@dialogCancle="handleClose"
@dialogOk="handleEditSuccess"
></edit-form>
<el-dialog :visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="850px"
top="5vh"
@closed="handleClose">
<edit-form ref="eleEditForm"
@dialogCancle="handleClose"
@dialogOk="handleEditSuccess"></edit-form>
</el-dialog>
<!-- 积分记录 -->
<el-dialog :visible.sync="scoreDiaShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="scoreDiaTitle"
width="1050px"
top="5vh"
@closed="diaClose">
<score-record ref="ref_score"
:serviceType="'social_org'"></score-record>
</el-dialog>
</div>
</template>
@ -196,10 +202,11 @@ import nextTick from "dai-js/tools/nextTick";
import { mapGetters } from "vuex";
import editForm from "./cpts/edit";
import axios from "axios";
import scoreRecord from '../../../components/scoreRecord.vue'
export default {
components: { editForm },
data() {
components: { editForm, scoreRecord },
data () {
return {
openSearch: false,
@ -223,10 +230,14 @@ export default {
importBtnTitle: "excel导入",
importLoading: false,
//
scoreDiaTitle: '积分记录',
scoreDiaShow: false,
};
},
computed: {
maxTableHeight() {
maxTableHeight () {
return this.clientHeight - 450;
},
...mapGetters(["clientHeight"]),
@ -242,23 +253,23 @@ export default {
}
},
},
mounted() {
mounted () {
this.getTableData();
},
methods: {
//
handleExcelSuccess(res, file) {
handleExcelSuccess (res, file) {
if (res.code === 0 && res.msg === "success") {
console.log("resss---ppp", res);
} else {
this.$message.error(res.msg);
}
},
handleProgress(event, file, fileList) {
handleProgress (event, file, fileList) {
console.log("percentage", file.percentage);
},
beforeExcelUpload(file) {
beforeExcelUpload (file) {
console.log("file", file);
const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer =
@ -275,7 +286,7 @@ export default {
}
return fileType && isLt1M;
},
uploadHttpRequest(file) {
uploadHttpRequest (file) {
this.importLoading = true;
this.importBtnTitle = "正在上传中...";
const formData = new FormData(); //FormDataappend('key', value)
@ -304,35 +315,35 @@ export default {
this.$refs.upload.clearFiles();
},
handleSizeChange(val) {
handleSizeChange (val) {
console.log(`每页 ${val}`);
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getTableData();
},
handleCurrentChange(val) {
handleCurrentChange (val) {
console.log(`当前页: ${val}`);
this.pageNo = val;
this.getTableData();
},
handleClose() {
handleClose () {
this.formShow = false;
},
handleSearch(val) {
handleSearch (val) {
console.log(this.fmData);
this.pageNo = 1;
this.getTableData();
},
async handleAdd() {
async handleAdd () {
this.formShow = true;
await nextTick();
console.log(this.$refs);
this.$refs.eleEditForm.initForm("add");
},
async handleChu() {
async handleChu () {
const url = "/heart/societyorg/export";
const { pageSize, pageNo, fmData } = this;
axios({
@ -367,23 +378,23 @@ export default {
});
},
async handleWatch(rowIndex) {
async handleWatch (rowIndex) {
this.formShow = true;
await nextTick();
this.$refs.eleEditForm.initForm("detail", this.tableData[rowIndex]);
},
async handleEdit(rowIndex) {
async handleEdit (rowIndex) {
this.formShow = true;
await nextTick();
this.$refs.eleEditForm.initForm("edit", this.tableData[rowIndex]);
},
handleEditSuccess() {
handleEditSuccess () {
this.handleClose();
this.getTableData();
},
async handleDel(rowData, rowIndex) {
async handleDel (rowData, rowIndex) {
console.log(rowData, rowIndex);
const url = "/heart/societyorg/del";
const { tableData } = this;
@ -400,7 +411,7 @@ export default {
}
},
async getTableData() {
async getTableData () {
const url = "/heart/societyorg/getlist";
const { pageSize, pageNo, fmData } = this;
const { data, code, msg } = await requestPost(url, {
@ -413,14 +424,27 @@ export default {
this.total = data.total || 0;
this.tableData = data.list
? data.list.map((item) => {
item.serviceTime =
item.serviceStartTime + "至" + item.serviceEndTime;
return item;
})
item.serviceTime =
item.serviceStartTime + "至" + item.serviceEndTime;
return item;
})
: [];
} else {
}
},
//
handleScore (row) {
this.scoreDiaShow = true
this.$nextTick(() => {
this.$refs.ref_score.initForm(row.societyId)
})
},
diaClose () {
this.scoreDiaShow = false
},
},
};
</script>

283
src/views/modules/communityService/sqzzz/index.vue

@ -2,19 +2,20 @@
<div>
<div class="resi-container">
<el-card class="resi-card">
<el-row class="resi-row-box" :class="openSearch && 'resi-row-more'">
<el-row class="resi-row" :gutter="20">
<el-row class="resi-row-box"
:class="openSearch && 'resi-row-more'">
<el-row class="resi-row"
:gutter="20">
<el-col :span="8">
<div class="resi-cell">
<div class="resi-cell-label">组织名称</div>
<div class="resi-cell-value" :class="'resi-cell-value-radio'">
<el-input
v-model="fmData.organizationName"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入"
>
<div class="resi-cell-value"
:class="'resi-cell-value-radio'">
<el-input v-model="fmData.organizationName"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入">
</el-input>
</div>
</div>
@ -22,15 +23,14 @@
<el-col :span="16">
<div class="resi-cell">
<div class="resi-cell-label">创建时间</div>
<div class="resi-cell-value" :class="'resi-cell-value-radio'">
<el-date-picker
v-model="fmData.createTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
>
<div class="resi-cell-value"
:class="'resi-cell-value-radio'">
<el-date-picker v-model="fmData.createTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd">
</el-date-picker>
</div>
</div>
@ -39,9 +39,9 @@
</el-row>
<el-row class="resi-search">
<el-col :span="24">
<el-button type="primary" size="small" @click="handleSearch"
>查询</el-button
>
<el-button type="primary"
size="small"
@click="handleSearch">查询</el-button>
</el-col>
</el-row>
</el-card>
@ -49,111 +49,120 @@
<el-card class="resi-card-table">
<div class="resi-row-btn">
<el-button type="success" size="small" @click="handleAdd"
>新增</el-button
>
<el-upload
ref="upload"
class="upload-btn"
action="uploadUlr"
:limit="1"
:with-credentials="true"
:show-file-list="false"
:auto-upload="true"
:on-progress="handleProgress"
:on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest"
>
<el-button type="warning" size="small" :loading="importLoading">{{
<el-button type="success"
size="small"
@click="handleAdd">新增</el-button>
<el-upload ref="upload"
class="upload-btn"
action="uploadUlr"
:limit="1"
:with-credentials="true"
:show-file-list="false"
:auto-upload="true"
:on-progress="handleProgress"
:on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest">
<el-button type="warning"
size="small"
:loading="importLoading">{{
importBtnTitle
}}</el-button>
</el-upload>
<el-button @click="handleChu" type="danger" size="small"
>excel导出</el-button
>
<el-button @click="handleChu"
type="danger"
size="small">excel导出</el-button>
</div>
<el-table
:data="tableData"
border
style="width: 100%"
class="resi-table"
:max-height="maxTableHeight"
>
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column prop="organizationName" label="组织名称">
<el-table :data="tableData"
border
style="width: 100%"
class="resi-table"
:max-height="maxTableHeight">
<el-table-column label="序号"
type="index"
align="center"
width="50" />
<el-table-column prop="organizationName"
label="组织名称">
</el-table-column>
<el-table-column prop="organizationPersonCount" label="组织人数">
<el-table-column prop="organizationPersonCount"
label="组织人数">
</el-table-column>
<el-table-column prop="serviceItem" label="服务事项"> </el-table-column>
<el-table-column prop="principalName" label="负责人"> </el-table-column>
<el-table-column prop="principalPhone" label="联系电话">
<el-table-column prop="serviceItem"
label="服务事项"> </el-table-column>
<el-table-column prop="principalName"
label="负责人"> </el-table-column>
<el-table-column prop="principalPhone"
label="联系电话">
</el-table-column>
<el-table-column prop="organizationCreatedTime" label="创建时间">
<el-table-column prop="organizationCreatedTime"
label="创建时间">
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="120">
<el-table-column fixed="right"
label="操作"
align="center"
width="120">
<template slot-scope="scope">
<el-button
@click="handleWatch(scope.$index)"
type="text"
size="small"
>查看</el-button
>
<el-button
@click="handleEdit(scope.$index)"
type="text"
size="small"
style="margin-right: 10px; color: #00a7a9"
>编辑</el-button
>
<el-popconfirm
title="删除之后无法回复,确认删除?"
@onConfirm="handleDel(scope.row, scope.$index)"
@confirm="handleDel(scope.row, scope.$index)"
>
<el-button
slot="reference"
type="text"
size="small"
style="color: #d51010"
>删除</el-button
>
<el-button @click="handleWatch(scope.$index)"
type="text"
size="small">查看</el-button>
<el-button type="text"
style="color:#1C6AFD;"
size="small"
@click="handleScore(scope.row)">积分记录</el-button>
<el-button @click="handleEdit(scope.$index)"
type="text"
size="small"
style="margin-right: 10px; color: #00a7a9">编辑</el-button>
<el-popconfirm title="删除之后无法回复,确认删除?"
@onConfirm="handleDel(scope.row, scope.$index)"
@confirm="handleDel(scope.row, scope.$index)">
<el-button slot="reference"
type="text"
size="small"
style="color: #d51010">删除</el-button>
</el-popconfirm>
</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"
>
<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">
</el-pagination>
</div>
</el-card>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="850px"
top="5vh"
@closed="handleClose"
>
<edit-form
ref="eleEditForm"
@dialogCancle="handleClose"
@dialogOk="handleEditSuccess"
></edit-form>
<el-dialog :visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="850px"
top="5vh"
@closed="handleClose">
<edit-form ref="eleEditForm"
@dialogCancle="handleClose"
@dialogOk="handleEditSuccess"></edit-form>
</el-dialog>
<!-- 积分记录 -->
<el-dialog :visible.sync="scoreDiaShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="scoreDiaTitle"
width="1050px"
top="5vh"
@closed="diaClose">
<score-record ref="ref_score"
:serviceType="'party_unit'"></score-record>
</el-dialog>
</div>
</template>
@ -164,10 +173,11 @@ import nextTick from "dai-js/tools/nextTick";
import { mapGetters } from "vuex";
import editForm from "./cpts/edit";
import axios from "axios";
import scoreRecord from '../../../components/scoreRecord.vue'
export default {
components: { editForm },
data() {
components: { editForm, scoreRecord },
data () {
return {
openSearch: false,
@ -189,10 +199,14 @@ export default {
importBtnTitle: "excel导入",
importLoading: false,
//
scoreDiaTitle: '积分记录',
scoreDiaShow: false,
};
},
computed: {
maxTableHeight() {
maxTableHeight () {
return this.clientHeight - 410;
},
...mapGetters(["clientHeight"]),
@ -208,23 +222,23 @@ export default {
}
},
},
mounted() {
mounted () {
this.getTableData();
},
methods: {
//
handleExcelSuccess(res, file) {
handleExcelSuccess (res, file) {
if (res.code === 0 && res.msg === "success") {
console.log("resss---ppp", res);
} else {
this.$message.error(res.msg);
}
},
handleProgress(event, file, fileList) {
handleProgress (event, file, fileList) {
console.log("percentage", file.percentage);
},
beforeExcelUpload(file) {
beforeExcelUpload (file) {
console.log("file", file);
const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer =
@ -241,7 +255,7 @@ export default {
}
return fileType && isLt1M;
},
uploadHttpRequest(file) {
uploadHttpRequest (file) {
this.importLoading = true;
this.importBtnTitle = "正在上传中...";
const formData = new FormData(); //FormDataappend('key', value)
@ -272,35 +286,35 @@ export default {
this.$refs.upload.clearFiles();
},
handleSizeChange(val) {
handleSizeChange (val) {
console.log(`每页 ${val}`);
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getTableData();
},
handleCurrentChange(val) {
handleCurrentChange (val) {
console.log(`当前页: ${val}`);
this.pageNo = val;
this.getTableData();
},
handleClose() {
handleClose () {
this.formShow = false;
},
handleSearch(val) {
handleSearch (val) {
console.log(this.fmData);
this.pageNo = 1;
this.getTableData();
},
async handleAdd() {
async handleAdd () {
this.formShow = true;
await nextTick();
console.log(this.$refs);
this.$refs.eleEditForm.initForm("add");
},
async handleChu() {
async handleChu () {
const url =
"/heart/iccommunityselforganization/exportcommunityselforganization";
const { pageSize, pageNo, fmData } = this;
@ -336,23 +350,23 @@ export default {
});
},
async handleWatch(rowIndex) {
async handleWatch (rowIndex) {
this.formShow = true;
await nextTick();
this.$refs.eleEditForm.initForm("detail", this.tableData[rowIndex]);
},
async handleEdit(rowIndex) {
async handleEdit (rowIndex) {
this.formShow = true;
await nextTick();
this.$refs.eleEditForm.initForm("edit", this.tableData[rowIndex]);
},
handleEditSuccess() {
handleEditSuccess () {
this.handleClose();
this.getTableData();
},
async handleDel(rowData, rowIndex) {
async handleDel (rowData, rowIndex) {
console.log(rowData, rowIndex);
const url =
"/heart/iccommunityselforganization/delcommunityselforganization";
@ -370,7 +384,7 @@ export default {
}
},
async getTableData() {
async getTableData () {
const url =
"/heart/iccommunityselforganization/communityselforganizationlist";
const { pageSize, pageNo, fmData } = this;
@ -384,12 +398,25 @@ export default {
this.total = data.total || 0;
this.tableData = data.list
? data.list.map((item) => {
return item;
})
return item;
})
: [];
} else {
}
},
//
handleScore (row) {
this.scoreDiaShow = true
this.$nextTick(() => {
this.$refs.ref_score.initForm(row.orgId)
})
},
diaClose () {
this.scoreDiaShow = false
},
},
};
</script>

68
src/views/modules/visual/basicinfo/personCategory/components/screen-loading/index.vue

@ -1,68 +0,0 @@
<template>
<div class="screen-loading">
<svg width="50px"
height="50px">
<circle cx="25"
cy="25"
r="20"
fill="transparent"
stroke-width="3"
stroke-dasharray="31.415, 31.415"
stroke="#29cdff"
stroke-linecap="round">
<animateTransform attributeName="transform"
type="rotate"
values="0, 25 25;360, 25 25"
dur="1.5s"
repeatCount="indefinite" />
<animate attributeName="stroke"
values="#02bcfe;#3be6cb;#02bcfe"
dur="3s"
repeatCount="indefinite" />
</circle>
<circle cx="25"
cy="25"
r="10"
fill="transparent"
stroke-width="3"
stroke-dasharray="15.7, 15.7"
stroke="#29cdff"
stroke-linecap="round">
<animateTransform attributeName="transform"
type="rotate"
values="360, 25 25;0, 25 25"
dur="1.5s"
repeatCount="indefinite" />
<animate attributeName="stroke"
values="#3be6cb;#02bcfe;#3be6cb"
dur="3s"
repeatCount="indefinite" />
</circle>
</svg>
<div class="loading-tip">
<slot></slot>
</div>
</div>
</template>
<script>
export default {
name: 'DvLoading'
}
</script>
<style lang="scss" scoped>
.screen-loading {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.loading-tip {
font-size: 14px;
color: #fff;
}
}
</style>

109
src/views/modules/visual/basicinfo/personCategory/index.vue

@ -1,5 +1,6 @@
<template>
<div class="warning-box">
<div @click="hiddenTypeList()"
class="warning-box">
<cpt-card>
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
@ -22,6 +23,7 @@
type="date"
:clearable="false"
@change="handleChangeDate"
:picker-options="pickerOptions"
prefix-icon="el-icon-caret-bottom"
placeholder="选择日期"
value-format="yyyy-MM-dd">
@ -29,38 +31,46 @@
</div>
</div>
<div class="warning-box-top">
<div class="top-item"
:class="{
'top-item-active': activeIndex == index ,
}"
@click="onClickList(item,index)"
v-for="(item, index) in categoryList"
:key="index">
<div class="top-item-img">
<img :src="item.dataIcon" />
<div class="top-item-left">
<span>{{ item.categoryName }}</span>
<span>{{ item.total }}</span>
</div>
</div>
<div class="top-item-num">
<div class="num-item">
<div>较上月</div>
<div>
<div>{{ "+"+ item.immigration }}</div>
<el-scrollbar style="width: 100%">
<div class="warning-box-top">
<div class="top-item"
:class="{'top-item-active': activeIndex == index}"
@click="onClickList(item,index)"
v-for="(item, index) in categoryList"
:key="index">
<div class="top-item-img">
<img :src="item.dataIcon" />
<div class="top-item-left">
<span>{{ item.categoryName }}</span>
<span>{{ item.total }}</span>
</div>
</div>
<div class="num-item">
<div>{{" "}}</div>
<div>
<div>{{ "-"+ item.emigration}}</div>
<div class="top-item-num">
<div class="num-item">
<div>较上月</div>
<div>
<div>
<span v-if=" item.immigration!==0">{{ "+" }}</span>
<span>{{ item.immigration }}</span>
</div>
</div>
</div>
<div class="num-item">
<div>{{" "}}</div>
<div>
<div>
<span v-if=" item.emigration!==0">{{ "-" }}</span>
<span>{{ item.emigration }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</el-scrollbar>
<div class="warning-box-bottom">
<screen-table ref="ref_recordlist"></screen-table>
<div class="pagination">
@ -80,7 +90,7 @@
<script>
import { requestPost } from "@/js/dai/request";
import screenTable from "./components/screen-table/index";
import screenTable from "./recordList";
import cptCard from "@/views/modules/visual/cpts/card";
import nextTick from "dai-js/tools/nextTick";
@ -107,11 +117,15 @@ export default {
checkStrictly: true
},
pickerOptions: { //
disabledDate (time) {
return time.getTime() > (Date.now() - (24 * 60 * 60 * 1000))
}
},
dateIdShow: '',
agencyId: '',
level: '',
dateId: '',//yyyyMMdd
monthId: '',//yyyyMM
categoryKey: '',
agencyInfo: {},
@ -133,13 +147,14 @@ export default {
},
methods: {
hiddenTypeList () {
this.$refs.ref_recordlist.hiddenTypeList()
},
async getApiData () {
//
await this.getCategoryData()
this.$refs.ref_recordlist.getUserwarnlist(this.monthId, this.categoryKey, this.pageNo, this.pageSize)
this.loadRecordList()
},
initData () {
var time = (new Date).getTime() - 24 * 60 * 60 * 1000;
@ -183,13 +198,19 @@ export default {
this.pageNo = 1;
this.categoryKey = item.categoryKey
this.$refs.ref_recordlist.getUserwarnlist(this.monthId, this.categoryKey, this.pageNo, this.pageSize)
this.loadRecordList()
},
loadRecordList () {
this.$refs.ref_recordlist.getRecordlist(this.dateId, this.categoryKey, this.pageNo, this.pageSize, this.agencyId, this.level)
},
//
async getCategoryData () {
// const url = "/data/aggregator/icuser/category-data";
const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/icuser/category-data";
const url = "/data/aggregator/icuser/category-data";
// const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/icuser/category-data";
let params = {
orgType: this.level,
orgId: this.agencyId,
@ -199,7 +220,7 @@ export default {
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.categoryList = data;
if (this.categoryList.length > 0) {
if (!this.categoryKey && this.categoryList.length > 0) {
this.categoryKey = this.categoryList[0].categoryKey
}
@ -213,27 +234,29 @@ export default {
},
async handleChangeAgency (value) {
this.agencyName = this.$refs["myCascader"].getCheckedNodes()[0].label
this.agencyId = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : ''
let selAgency = this.$refs["myCascader"].getCheckedNodes()[0].data
// this.agencyName = this.$refs["myCascader"].getCheckedNodes()[0].label
this.agencyName = selAgency.name
this.agencyId = selAgency.agencyId
this.level = selAgency.level === 'grid' ? 'grid' : 'agency'
this.getApiData()
},
pageSizeChangeHandleNew (val) {
this.pageNo = 1;
this.pageSize = val;
this.$refs.ref_recordlist.getUserwarnlist(this.monthId, this.categoryKey, this.pageNo, this.pageSize)
this.loadRecordList()
},
pageCurrentChangeHandleNew (val) {
this.pageNo = val;
this.getUserwarnlist();
this.$refs.ref_recordlist.getUserwarnlist(this.monthId, this.categoryKey, this.pageNo, this.pageSize)
this.loadRecordList()
},
},
watch: {
dateIdShow () {
let dataArray = this.dateIdShow.split('-')
this.dateId = dataArray.join('')
this.monthId = this.dateId.substring(0, 6)
},
},

80
src/views/modules/visual/basicinfo/personCategory/components/screen-table/index.vue → src/views/modules/visual/basicinfo/personCategory/recordList.vue

@ -15,10 +15,10 @@
{{ '调整时间' }}
</div>
<div class="table-header-th table-header-select"
style="width:10%"
@click.stop="handleShowType()">
<span>{{ typeShow }}</span>
<img src="@/assets/img/xiala.png" />
style="width:10%">
<span @click.stop="handleShowType()">{{ typeShow }}</span>
<img @click.stop="handleShowType()"
src="@/assets/img/xiala.png" />
<div class="user_list"
v-show="showTypeSelect">
@ -61,7 +61,7 @@
<screen-loading v-if="visibleLoading">加载中</screen-loading>
<div class="no-data"
v-if="tableData.length == 0 && !visibleLoading">
<img src="../../../../../../../assets/img/modules/visual/noData.png"
<img src="@/assets/img/modules/visual/noData.png"
alt=""
srcset=""
class="no-data-img" />
@ -72,7 +72,7 @@
</template>
<script>
import ScreenLoading from "../screen-loading/index";
import ScreenLoading from "../../components/screen-loading/index";
import { requestPost } from "@/js/dai/request";
import Vue from "vue";
@ -104,9 +104,9 @@ export default {
label: '新增'
},
],
typeShow: '类别',
typeShow: '全部',
selType: '',
monthId: '',
dateId: '',
categoryKey: '',
pageNo: '',
pageSize: '',
@ -117,31 +117,70 @@ export default {
},
mounted () {
this.loadTypeList()
},
created () { },
methods: {
hiddenTypeList () {
this.showTypeSelect = false
},
async loadTypeList () {
//
const url = "/sys/dict/data/dictlist"
let params = {
dictType: 'ic_user_change_type'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.typeList = []
this.typeList.push(
{
label: '全部',
value: ''
}
)
data.forEach(element => {
this.typeList.push(element)
});
} else {
this.$message.error(msg)
}
},
//
async getUserwarnlist (monthId, categoryKey, pageNo, pageSize) {
async getRecordlist (dateId, categoryKey, pageNo, pageSize, orgId, orgType) {
this.visibleLoading = true
if (monthId) {
this.monthId = monthId
if (dateId) {
this.dateId = dateId
this.categoryKey = categoryKey
this.pageNo = pageNo
this.pageSize = pageSize
this.orgId = orgId
this.orgType = orgType
}
let tableData = [];
// const url = "/temp/record-list";
const url = "http://yapi.elinkservice.cn/mock/245/temp/record-list";
const url = "/epmetuser/icuserchangerecord/category-analysis-list";
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icuserchangerecord/category-analysis-list";
let params = {
categoryKey: this.categoryKey,
monthId: this.monthId,
dateId: this.dateId,
type: this.selType,
pageNo: this.pageNo,
pageSize: this.pageSize,
orgId: this.orgId,
orgType: this.orgType
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
@ -170,7 +209,7 @@ export default {
handleClickType (value, label) {
this.typeShow = label
this.selType = value
this.getUserwarnlist()
this.getRecordlist()
this.showTypeSelect = !this.showTypeSelect
},
@ -204,11 +243,15 @@ export default {
}
&-select {
position: relative;
cursor: pointer;
// display: flex;
// justify-content: space-around;
> span {
cursor: pointer;
}
> img {
cursor: pointer;
margin-left: 10px;
// width: 10px;
// height: 10px;
@ -286,7 +329,7 @@ export default {
}
&-tr:hover {
background: url("../../../../../../../assets/img/modules/visual/hover-bac.png")
background: url("../../../../../assets/img/modules/visual/hover-bac.png")
no-repeat center;
background-size: 100% 100%;
}
@ -323,6 +366,7 @@ export default {
font-family: PingFang SC;
font-weight: 400;
color: #ffffff;
cursor: pointer;
.user_item_content {
display: flex;
Loading…
Cancel
Save