|
@ -1,8 +1,24 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div> |
|
|
|
|
|
<div class="resi-container"> |
|
|
<div class="resi-container"> |
|
|
<el-card class="resi-card"> |
|
|
<el-card class="resi-card"> |
|
|
<el-row class="resi-row-box" |
|
|
<div class=""> |
|
|
|
|
|
<el-form ref="fmData" :inline="true" :model="fmData" class="demo-form-inline"> |
|
|
|
|
|
<el-form-item label="组织名称" prop="societyName"> |
|
|
|
|
|
<el-input v-model="fmData.societyName" placeholder="请输入" class="input-width" clearable></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="服务电话" prop="mobile"> |
|
|
|
|
|
<el-input v-model="fmData.mobile" placeholder="请输入" class="input-width" clearable></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="服务时间" prop="serviceTimeStr"> |
|
|
|
|
|
<el-input v-model="fmData.serviceTimeStr" placeholder="请输入" class="input-width" clearable></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item> |
|
|
|
|
|
<el-button class="diy-button--search" size="small" @click="handleSearch">查询</el-button> |
|
|
|
|
|
<el-button class="diy-button--reset" size="small" @click="resetForm('fmData')">重置</el-button> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!-- <el-row class="resi-row-box" |
|
|
:class="openSearch && 'resi-row-more'"> |
|
|
:class="openSearch && 'resi-row-more'"> |
|
|
<el-row class="resi-row" |
|
|
<el-row class="resi-row" |
|
|
:gutter="20"> |
|
|
:gutter="20"> |
|
@ -23,10 +39,10 @@ |
|
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
<el-col :span="8"> |
|
|
<div class="resi-cell"> |
|
|
<div class="resi-cell"> |
|
|
<div class="resi-cell-label">负责人</div> |
|
|
<div class="resi-cell-label">服务电话</div> |
|
|
<div class="resi-cell-value" |
|
|
<div class="resi-cell-value" |
|
|
:class="'resi-cell-value-radio'"> |
|
|
:class="'resi-cell-value-radio'"> |
|
|
<el-input v-model="fmData.personInCharge" |
|
|
<el-input v-model="fmData.mobile" |
|
|
class="resi-cell-input" |
|
|
class="resi-cell-input" |
|
|
size="small" |
|
|
size="small" |
|
|
clearable |
|
|
clearable |
|
@ -35,13 +51,12 @@ |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
<el-col :span="8"> |
|
|
<div class="resi-cell"> |
|
|
<div class="resi-cell"> |
|
|
<div class="resi-cell-label">联系电话</div> |
|
|
<div class="resi-cell-label">服务时间</div> |
|
|
<div class="resi-cell-value" |
|
|
<div class="resi-cell-value" |
|
|
:class="'resi-cell-value-radio'"> |
|
|
:class="'resi-cell-value-radio'"> |
|
|
<el-input v-model="fmData.mobile" |
|
|
<el-input v-model="fmData.serviceTimeStr" |
|
|
class="resi-cell-input" |
|
|
class="resi-cell-input" |
|
|
size="small" |
|
|
size="small" |
|
|
clearable |
|
|
clearable |
|
@ -51,39 +66,28 @@ |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
<el-row> |
|
|
|
|
|
<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"> |
|
|
|
|
|
</el-date-picker> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
</el-row> |
|
|
</el-row> |
|
|
<el-row class="resi-search"> |
|
|
<el-row class="resi-search"> |
|
|
<el-col :span="24"> |
|
|
<el-col :span="24"> |
|
|
<el-button type="primary" |
|
|
<el-button class="diy-button--add" |
|
|
size="small" |
|
|
size="small" |
|
|
@click="handleSearch">查询</el-button> |
|
|
@click="handleSearch">查询 |
|
|
|
|
|
</el-button> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row>--> |
|
|
</el-card> |
|
|
</el-card> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<el-card class="resi-card-table"> |
|
|
<el-card class="resi-card-table"> |
|
|
<div class="resi-row-btn"> |
|
|
<div class="resi-row-btn"> |
|
|
<el-button type="success" |
|
|
<el-button class="diy-button--add" |
|
|
|
|
|
size="small" |
|
|
|
|
|
@click="handleAdd">新增 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
<el-button class="diy-button--search" |
|
|
|
|
|
style="margin-left:10px" |
|
|
size="small" |
|
|
size="small" |
|
|
@click="handleAdd">新增</el-button> |
|
|
@click="handleExportModule('room')">下载模板 |
|
|
|
|
|
</el-button> |
|
|
<el-upload ref="upload" |
|
|
<el-upload ref="upload" |
|
|
class="upload-btn" |
|
|
class="upload-btn" |
|
|
action="uploadUlr" |
|
|
action="uploadUlr" |
|
@ -95,16 +99,18 @@ |
|
|
:on-success="handleExcelSuccess" |
|
|
:on-success="handleExcelSuccess" |
|
|
:before-upload="beforeExcelUpload" |
|
|
:before-upload="beforeExcelUpload" |
|
|
:http-request="uploadHttpRequest"> |
|
|
:http-request="uploadHttpRequest"> |
|
|
<el-button type="warning" |
|
|
<el-button class="diy-button--delete" |
|
|
size="small" |
|
|
size="small" |
|
|
:loading="importLoading">{{ |
|
|
:loading="importLoading">{{ |
|
|
importBtnTitle |
|
|
importBtnTitle |
|
|
}}</el-button> |
|
|
}} |
|
|
|
|
|
</el-button> |
|
|
</el-upload> |
|
|
</el-upload> |
|
|
|
|
|
|
|
|
<el-button @click="handleChu" |
|
|
<el-button @click="handleChu" |
|
|
type="danger" |
|
|
class="diy-button--reset" |
|
|
size="small">excel导出</el-button> |
|
|
size="small">导出 |
|
|
|
|
|
</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<el-table :data="tableData" |
|
|
<el-table :data="tableData" |
|
|
border |
|
|
border |
|
@ -114,23 +120,23 @@ |
|
|
<el-table-column label="序号" |
|
|
<el-table-column label="序号" |
|
|
type="index" |
|
|
type="index" |
|
|
align="center" |
|
|
align="center" |
|
|
width="50" /> |
|
|
width="50"/> |
|
|
<el-table-column prop="societyName" |
|
|
<el-table-column prop="societyName" |
|
|
label="社会组织名称"> |
|
|
label="组织名称"> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="serviceMatters" |
|
|
<el-table-column prop="serviceMatters" |
|
|
label="服务事项"> |
|
|
label="服务内容"> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="personInCharge" |
|
|
<!-- <el-table-column prop="personInCharge" |
|
|
label="负责人"> |
|
|
label="负责人"> |
|
|
</el-table-column> |
|
|
</el-table-column>--> |
|
|
<el-table-column prop="mobile" |
|
|
<el-table-column prop="mobile" |
|
|
label="负责人电话"> </el-table-column> |
|
|
label="服务电话"></el-table-column> |
|
|
<el-table-column prop="serviceTime" |
|
|
<el-table-column prop="serviceTimeStr" |
|
|
label="服务时间"> </el-table-column> |
|
|
label="服务时间"></el-table-column> |
|
|
<el-table-column prop="score" |
|
|
<!-- <el-table-column prop="score" |
|
|
width="80" |
|
|
width="80" |
|
|
label="积分"> </el-table-column> |
|
|
label="积分"> </el-table-column>--> |
|
|
<el-table-column fixed="right" |
|
|
<el-table-column fixed="right" |
|
|
label="操作" |
|
|
label="操作" |
|
|
align="center" |
|
|
align="center" |
|
@ -138,16 +144,18 @@ |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-button @click="handleWatch(scope.$index)" |
|
|
<el-button @click="handleWatch(scope.$index)" |
|
|
type="text" |
|
|
type="text" |
|
|
size="small">查看</el-button> |
|
|
size="small">查看 |
|
|
<el-button type="text" |
|
|
</el-button> |
|
|
|
|
|
<!-- <el-button type="text" |
|
|
style="color:#00A7A9;" |
|
|
style="color:#00A7A9;" |
|
|
size="small" |
|
|
size="small" |
|
|
@click="handleScore(scope.row)">积分记录</el-button> |
|
|
@click="handleScore(scope.row)">积分记录</el-button>--> |
|
|
|
|
|
|
|
|
<el-button @click="handleEdit(scope.$index)" |
|
|
<el-button @click="handleEdit(scope.$index)" |
|
|
type="text" |
|
|
type="text" |
|
|
size="small" |
|
|
size="small" |
|
|
style="margin-right: 10px; color: #00a7a9">编辑</el-button> |
|
|
style="margin-right: 10px; color: #00a7a9">编辑 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
|
|
|
<el-popconfirm title="删除之后无法回复,确认删除?" |
|
|
<el-popconfirm title="删除之后无法回复,确认删除?" |
|
|
@onConfirm="handleDel(scope.row, scope.$index)" |
|
|
@onConfirm="handleDel(scope.row, scope.$index)" |
|
@ -155,7 +163,8 @@ |
|
|
<el-button slot="reference" |
|
|
<el-button slot="reference" |
|
|
type="text" |
|
|
type="text" |
|
|
size="small" |
|
|
size="small" |
|
|
style="color: #d51010">删除</el-button> |
|
|
style="color: #d51010">删除 |
|
|
|
|
|
</el-button> |
|
|
</el-popconfirm> |
|
|
</el-popconfirm> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
@ -200,16 +209,16 @@ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { requestPost } from "@/js/dai/request"; |
|
|
import {requestPost} from "@/js/dai/request"; |
|
|
import nextTick from "dai-js/tools/nextTick"; |
|
|
import nextTick from "dai-js/tools/nextTick"; |
|
|
import { mapGetters } from "vuex"; |
|
|
import {mapGetters} from "vuex"; |
|
|
import editForm from "./cpts/edit"; |
|
|
import editForm from "./cpts/edit"; |
|
|
import axios from "axios"; |
|
|
import axios from "axios"; |
|
|
import scoreRecord from '../../../components/scoreRecord.vue' |
|
|
import scoreRecord from '../../../components/scoreRecord.vue' |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
components: { editForm, scoreRecord }, |
|
|
components: {editForm, scoreRecord}, |
|
|
data () { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
openSearch: false, |
|
|
openSearch: false, |
|
|
|
|
|
|
|
@ -229,9 +238,10 @@ export default { |
|
|
serviceStartTime: "", |
|
|
serviceStartTime: "", |
|
|
serviceEndTime: "", |
|
|
serviceEndTime: "", |
|
|
serviceTime: "", |
|
|
serviceTime: "", |
|
|
|
|
|
serviceTimeStr: "", |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
importBtnTitle: "excel导入", |
|
|
importBtnTitle: "导入", |
|
|
importLoading: false, |
|
|
importLoading: false, |
|
|
|
|
|
|
|
|
//积分记录 |
|
|
//积分记录 |
|
@ -240,13 +250,14 @@ export default { |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
|
maxTableHeight () { |
|
|
maxTableHeight() { |
|
|
return this.clientHeight - 450; |
|
|
return this.clientHeight - 450; |
|
|
}, |
|
|
}, |
|
|
...mapGetters(["clientHeight"]), |
|
|
...mapGetters(["clientHeight"]), |
|
|
}, |
|
|
}, |
|
|
watch: { |
|
|
watch: { |
|
|
"fmData.serviceTime": function (val) { |
|
|
"fmData.serviceTime": function (val) { |
|
|
|
|
|
console.log("watch start" + val + '_' + Array.isArray(val)) |
|
|
if (Array.isArray(val) && val.length == 2) { |
|
|
if (Array.isArray(val) && val.length == 2) { |
|
|
this.fmData.serviceStartTime = val[0]; |
|
|
this.fmData.serviceStartTime = val[0]; |
|
|
this.fmData.serviceEndTime = val[1]; |
|
|
this.fmData.serviceEndTime = val[1]; |
|
@ -256,23 +267,23 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
mounted () { |
|
|
mounted() { |
|
|
this.getTableData(); |
|
|
this.getTableData(); |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
// 上传大图标成功 |
|
|
// 上传大图标成功 |
|
|
handleExcelSuccess (res, file) { |
|
|
handleExcelSuccess(res, file) { |
|
|
if (res.code === 0 && res.msg === "success") { |
|
|
if (res.code === 0 && res.msg === "success") { |
|
|
console.log("resss---ppp", res); |
|
|
console.log("resss---ppp", res); |
|
|
} else { |
|
|
} else { |
|
|
this.$message.error(res.msg); |
|
|
this.$message.error(res.msg); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
handleProgress (event, file, fileList) { |
|
|
handleProgress(event, file, fileList) { |
|
|
console.log("percentage", file.percentage); |
|
|
console.log("percentage", file.percentage); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
beforeExcelUpload (file) { |
|
|
beforeExcelUpload(file) { |
|
|
console.log("file", file); |
|
|
console.log("file", file); |
|
|
const isType = file.type === "application/vnd.ms-excel"; |
|
|
const isType = file.type === "application/vnd.ms-excel"; |
|
|
const isTypeComputer = |
|
|
const isTypeComputer = |
|
@ -289,28 +300,28 @@ export default { |
|
|
} |
|
|
} |
|
|
return fileType && isLt1M; |
|
|
return fileType && isLt1M; |
|
|
}, |
|
|
}, |
|
|
uploadHttpRequest (file) { |
|
|
uploadHttpRequest(file) { |
|
|
this.importLoading = true; |
|
|
this.importLoading = true; |
|
|
this.importBtnTitle = "正在上传中..."; |
|
|
this.importBtnTitle = "正在上传中..."; |
|
|
const formData = new FormData(); //FormData对象,添加参数只能通过append('key', value)的形式添加 |
|
|
const formData = new FormData(); //FormData对象,添加参数只能通过append('key', value)的形式添加 |
|
|
formData.append("file", file.file); //添加文件对象 |
|
|
formData.append("file", file.file); //添加文件对象 |
|
|
axios({ |
|
|
axios({ |
|
|
url: window.SITE_CONFIG["apiURL"] + "/heart/societyorg/import", |
|
|
url: window.SITE_CONFIG["apiURL"] + "/heart/societyorg/importV2", |
|
|
method: "post", |
|
|
method: "post", |
|
|
data: formData, |
|
|
data: formData, |
|
|
// responseType: "blob", |
|
|
// responseType: "blob", |
|
|
}) |
|
|
}) |
|
|
.then((res) => { |
|
|
.then((res) => { |
|
|
this.importLoading = false; |
|
|
this.importLoading = false; |
|
|
this.importBtnTitle = "excel导入"; |
|
|
this.importBtnTitle = "导入"; |
|
|
console.log("resresresresresresres", res); |
|
|
console.log("resresresresresresres", res); |
|
|
|
|
|
|
|
|
this.getTableData(); |
|
|
this.getTableData(); |
|
|
if (res.data.code == 0) { |
|
|
this.$message({ |
|
|
return this.$message.success(res.data.data || '导入成功'); |
|
|
showClose: true, |
|
|
} else { |
|
|
message: '导入中,请到系统管理-导入记录中查看进度', |
|
|
return this.$message.error(res.data.msg); |
|
|
duration: 0 |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
.catch((err) => { |
|
|
.catch((err) => { |
|
|
console.log("失败", err); |
|
|
console.log("失败", err); |
|
@ -318,37 +329,40 @@ export default { |
|
|
this.$refs.upload.clearFiles(); |
|
|
this.$refs.upload.clearFiles(); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
handleSizeChange (val) { |
|
|
handleSizeChange(val) { |
|
|
console.log(`每页 ${val} 条`); |
|
|
console.log(`每页 ${val} 条`); |
|
|
this.pageSize = val; |
|
|
this.pageSize = val; |
|
|
window.localStorage.setItem("pageSize", val); |
|
|
window.localStorage.setItem("pageSize", val); |
|
|
this.getTableData(); |
|
|
this.getTableData(); |
|
|
}, |
|
|
}, |
|
|
handleCurrentChange (val) { |
|
|
handleCurrentChange(val) { |
|
|
console.log(`当前页: ${val}`); |
|
|
console.log(`当前页: ${val}`); |
|
|
this.pageNo = val; |
|
|
this.pageNo = val; |
|
|
this.getTableData(); |
|
|
this.getTableData(); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
handleClose () { |
|
|
handleClose() { |
|
|
this.formShow = false; |
|
|
this.formShow = false; |
|
|
}, |
|
|
}, |
|
|
handleSearch (val) { |
|
|
handleSearch(val) { |
|
|
console.log(this.fmData); |
|
|
console.log(this.fmData); |
|
|
this.pageNo = 1; |
|
|
this.pageNo = 1; |
|
|
this.getTableData(); |
|
|
this.getTableData(); |
|
|
}, |
|
|
}, |
|
|
|
|
|
resetForm(formName) { |
|
|
async handleAdd () { |
|
|
this.$refs[formName].resetFields() |
|
|
|
|
|
this.handleSearch() |
|
|
|
|
|
}, |
|
|
|
|
|
async handleAdd() { |
|
|
this.formShow = true; |
|
|
this.formShow = true; |
|
|
await nextTick(); |
|
|
await nextTick(); |
|
|
console.log(this.$refs); |
|
|
console.log(this.$refs); |
|
|
this.$refs.eleEditForm.initForm("add"); |
|
|
this.$refs.eleEditForm.initForm("add"); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
async handleChu () { |
|
|
async handleChu() { |
|
|
const url = "/heart/societyorg/export"; |
|
|
const url = "/heart/societyorg/export"; |
|
|
const { pageSize, pageNo, fmData } = this; |
|
|
const {pageSize, pageNo, fmData} = this; |
|
|
axios({ |
|
|
axios({ |
|
|
url: window.SITE_CONFIG["apiURL"] + url, |
|
|
url: window.SITE_CONFIG["apiURL"] + url, |
|
|
method: "post", |
|
|
method: "post", |
|
@ -364,7 +378,7 @@ export default { |
|
|
res.headers["content-disposition"].split(";")[1].split("=")[1] |
|
|
res.headers["content-disposition"].split(";")[1].split("=")[1] |
|
|
); |
|
|
); |
|
|
console.log("filename", fileName); |
|
|
console.log("filename", fileName); |
|
|
let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); |
|
|
let blob = new Blob([res.data], {type: "application/vnd.ms-excel"}); |
|
|
var url = window.URL.createObjectURL(blob); |
|
|
var url = window.URL.createObjectURL(blob); |
|
|
var aLink = document.createElement("a"); |
|
|
var aLink = document.createElement("a"); |
|
|
aLink.style.display = "none"; |
|
|
aLink.style.display = "none"; |
|
@ -381,28 +395,28 @@ export default { |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
async handleWatch (rowIndex) { |
|
|
async handleWatch(rowIndex) { |
|
|
this.formShow = true; |
|
|
this.formShow = true; |
|
|
await nextTick(); |
|
|
await nextTick(); |
|
|
this.$refs.eleEditForm.initForm("detail", this.tableData[rowIndex]); |
|
|
this.$refs.eleEditForm.initForm("detail", this.tableData[rowIndex]); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
async handleEdit (rowIndex) { |
|
|
async handleEdit(rowIndex) { |
|
|
this.formShow = true; |
|
|
this.formShow = true; |
|
|
await nextTick(); |
|
|
await nextTick(); |
|
|
this.$refs.eleEditForm.initForm("edit", this.tableData[rowIndex]); |
|
|
this.$refs.eleEditForm.initForm("edit", this.tableData[rowIndex]); |
|
|
}, |
|
|
}, |
|
|
handleEditSuccess () { |
|
|
handleEditSuccess() { |
|
|
this.handleClose(); |
|
|
this.handleClose(); |
|
|
this.getTableData(); |
|
|
this.getTableData(); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
async handleDel (rowData, rowIndex) { |
|
|
async handleDel(rowData, rowIndex) { |
|
|
console.log(rowData, rowIndex); |
|
|
console.log(rowData, rowIndex); |
|
|
const url = "/heart/societyorg/del"; |
|
|
const url = "/heart/societyorg/del"; |
|
|
const { tableData } = this; |
|
|
const {tableData} = this; |
|
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, { |
|
|
const {data, code, msg} = await requestPost(url, { |
|
|
societyId: tableData[rowIndex].societyId, |
|
|
societyId: tableData[rowIndex].societyId, |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
@ -414,10 +428,10 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
async getTableData () { |
|
|
async getTableData() { |
|
|
const url = "/heart/societyorg/getlist"; |
|
|
const url = "/heart/societyorg/getlist"; |
|
|
const { pageSize, pageNo, fmData } = this; |
|
|
const {pageSize, pageNo, fmData} = this; |
|
|
const { data, code, msg } = await requestPost(url, { |
|
|
const {data, code, msg} = await requestPost(url, { |
|
|
pageSize, |
|
|
pageSize, |
|
|
pageNo, |
|
|
pageNo, |
|
|
...fmData, |
|
|
...fmData, |
|
@ -437,17 +451,54 @@ export default { |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
//积分记录 |
|
|
//积分记录 |
|
|
handleScore (row) { |
|
|
handleScore(row) { |
|
|
this.scoreDiaShow = true |
|
|
this.scoreDiaShow = true |
|
|
this.$nextTick(() => { |
|
|
this.$nextTick(() => { |
|
|
this.$refs.ref_score.initForm(row.societyId) |
|
|
this.$refs.ref_score.initForm(row.societyId) |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
diaClose () { |
|
|
diaClose() { |
|
|
|
|
|
|
|
|
this.scoreDiaShow = false |
|
|
this.scoreDiaShow = false |
|
|
}, |
|
|
}, |
|
|
|
|
|
async handleExportModule() { |
|
|
|
|
|
let url = "/heart/societyorg/import-template-download"; |
|
|
|
|
|
|
|
|
|
|
|
let params = {}; |
|
|
|
|
|
await this.$http({ |
|
|
|
|
|
method: "POST", |
|
|
|
|
|
url, |
|
|
|
|
|
responseType: "blob", |
|
|
|
|
|
data: params, |
|
|
|
|
|
}) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
// this.download(res.data, title + '.xls') |
|
|
|
|
|
if (res.headers["content-disposition"]) { |
|
|
|
|
|
let fileName = window.decodeURI( |
|
|
|
|
|
res.headers["content-disposition"].split(";")[1].split("=")[1] |
|
|
|
|
|
); |
|
|
|
|
|
console.log("filename", fileName); |
|
|
|
|
|
let blob = new Blob([res.data], { |
|
|
|
|
|
type: "application/vnd.ms-excel", |
|
|
|
|
|
}); |
|
|
|
|
|
var url = window.URL.createObjectURL(blob); |
|
|
|
|
|
var aLink = document.createElement("a"); |
|
|
|
|
|
aLink.style.display = "none"; |
|
|
|
|
|
aLink.href = url; |
|
|
|
|
|
aLink.setAttribute("download", fileName); |
|
|
|
|
|
document.body.appendChild(aLink); |
|
|
|
|
|
aLink.click(); |
|
|
|
|
|
document.body.removeChild(aLink); //下载完成移除元素 |
|
|
|
|
|
window.URL.revokeObjectURL(url); //释放掉blob对象 |
|
|
|
|
|
} else this.$message.error("下载失败"); |
|
|
|
|
|
}) |
|
|
|
|
|
.catch((err) => { |
|
|
|
|
|
console.log("err", err); |
|
|
|
|
|
return this.$message.error("网络错误"); |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
</script> |
|
|
</script> |
|
@ -467,10 +518,12 @@ export default { |
|
|
background: #ebecf1; |
|
|
background: #ebecf1; |
|
|
border-radius: 2px; |
|
|
border-radius: 2px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.el-tabs__nav-wrap::after, |
|
|
.el-tabs__nav-wrap::after, |
|
|
.el-tabs__active-bar { |
|
|
.el-tabs__active-bar { |
|
|
display: none; |
|
|
display: none; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.el-tabs__nav-next, |
|
|
.el-tabs__nav-next, |
|
|
.el-tabs__nav-prev { |
|
|
.el-tabs__nav-prev { |
|
|
line-height: 20px; |
|
|
line-height: 20px; |
|
@ -480,16 +533,20 @@ export default { |
|
|
.resi-card-table { |
|
|
.resi-card-table { |
|
|
margin-top: 20px; |
|
|
margin-top: 20px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-row-btn { |
|
|
.resi-row-btn { |
|
|
margin-bottom: 13px; |
|
|
margin-bottom: 13px; |
|
|
|
|
|
|
|
|
.upload-btn { |
|
|
.upload-btn { |
|
|
display: inline-block; |
|
|
display: inline-block; |
|
|
margin: 0 10px; |
|
|
margin: 0 10px; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-other { |
|
|
.resi-other { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
display: flex; |
|
|
display: flex; |
|
|
|
|
|
|
|
|
.resi-other-title { |
|
|
.resi-other-title { |
|
|
width: 100px; |
|
|
width: 100px; |
|
|
box-sizing: border-box; |
|
|
box-sizing: border-box; |
|
@ -500,6 +557,7 @@ export default { |
|
|
color: #333; |
|
|
color: #333; |
|
|
text-align: center; |
|
|
text-align: center; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.tabs-other-info { |
|
|
.tabs-other-info { |
|
|
// padding-left: 60px; |
|
|
// padding-left: 60px; |
|
|
} |
|
|
} |
|
@ -514,6 +572,7 @@ export default { |
|
|
position: relative; |
|
|
position: relative; |
|
|
overflow: visible; |
|
|
overflow: visible; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-down { |
|
|
.resi-down { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
left: 50%; |
|
|
left: 50%; |
|
@ -528,30 +587,37 @@ export default { |
|
|
cursor: pointer; |
|
|
cursor: pointer; |
|
|
background: #ffffff; |
|
|
background: #ffffff; |
|
|
border-radius: 0 0 10px 10px; |
|
|
border-radius: 0 0 10px 10px; |
|
|
|
|
|
|
|
|
img { |
|
|
img { |
|
|
display: block; |
|
|
display: block; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-row-box { |
|
|
.resi-row-box { |
|
|
height: 104px; |
|
|
height: 104px; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
transition: height 0.5s; |
|
|
transition: height 0.5s; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-row-more { |
|
|
.resi-row-more { |
|
|
height: max-content; |
|
|
height: max-content; |
|
|
transition: height 0.5s; |
|
|
transition: height 0.5s; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-row { |
|
|
.resi-row { |
|
|
margin-bottom: 20px; |
|
|
margin-bottom: 20px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-search { |
|
|
.resi-search { |
|
|
.el-col { |
|
|
.el-col { |
|
|
text-align: right; |
|
|
text-align: right; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-cell { |
|
|
.resi-cell { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
|
|
|
|
|
|
.resi-cell-label { |
|
|
.resi-cell-label { |
|
|
width: 70px; |
|
|
width: 70px; |
|
|
box-sizing: border-box; |
|
|
box-sizing: border-box; |
|
@ -559,25 +625,31 @@ export default { |
|
|
text-align: right; |
|
|
text-align: right; |
|
|
// line-height: 32; |
|
|
// line-height: 32; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-cell-value-radio { |
|
|
.resi-cell-value-radio { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
min-height: 32px; |
|
|
min-height: 32px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-cell-input { |
|
|
.resi-cell-input { |
|
|
width: 180px; |
|
|
width: 180px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-cell-select { |
|
|
.resi-cell-select { |
|
|
width: 180px; |
|
|
width: 180px; |
|
|
box-sizing: border-box; |
|
|
box-sizing: border-box; |
|
|
margin-right: 10px; |
|
|
margin-right: 10px; |
|
|
|
|
|
|
|
|
&-middle { |
|
|
&-middle { |
|
|
width: 130px; |
|
|
width: 130px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
&-small { |
|
|
&-small { |
|
|
width: 88px; |
|
|
width: 88px; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.resi-cell-select:last-child { |
|
|
.resi-cell-select:last-child { |
|
|
margin-right: 0; |
|
|
margin-right: 0; |
|
|
} |
|
|
} |
|
|