|
|
|
@ -7,9 +7,9 @@ |
|
|
|
:label-width="'100px'"> |
|
|
|
<div> |
|
|
|
|
|
|
|
<el-form-item label="单位名称" |
|
|
|
prop="unitName"> |
|
|
|
<el-input v-model="formData.unitName" |
|
|
|
<el-form-item label="场所名称" |
|
|
|
prop="name"> |
|
|
|
<el-input v-model="formData.name" |
|
|
|
class="item_width_1" |
|
|
|
clearable |
|
|
|
size="small" |
|
|
|
@ -17,62 +17,22 @@ |
|
|
|
</el-input> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="服务事项" |
|
|
|
<el-form-item label="场所分类" |
|
|
|
prop="serviceMatter"> |
|
|
|
<el-select class="item_width_2" |
|
|
|
v-model="formData.serviceMatter" |
|
|
|
placeholder="请选择" |
|
|
|
size="small" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in serviceList" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<el-form-item label="分类" |
|
|
|
prop="type"> |
|
|
|
<el-select class="item_width_1" |
|
|
|
v-model="formData.type" |
|
|
|
v-model="formData.category" |
|
|
|
placeholder="请选择" |
|
|
|
size="small" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in typeList" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
<el-option v-for="item in serviceList" |
|
|
|
:key="item.categoryKey" |
|
|
|
:label="item.categoryName" |
|
|
|
:value="item.categoryKey"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="联系人" |
|
|
|
prop="contact"> |
|
|
|
<el-input v-model="formData.contact" |
|
|
|
class="item_width_1" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入内容"> |
|
|
|
</el-input> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="联系电话" |
|
|
|
prop="contactMobile"> |
|
|
|
<el-input v-model="formData.contactMobile" |
|
|
|
class="item_width_1" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入内容"> |
|
|
|
</el-input> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-button style="margin-left:10px" |
|
|
|
class="diy-button--search" |
|
|
|
class="diy-button--delete" |
|
|
|
size="small" |
|
|
|
@click="handleSearch">查询</el-button> |
|
|
|
<el-button style="margin-left:10px" |
|
|
|
@ -84,10 +44,14 @@ |
|
|
|
</div> |
|
|
|
<div class="div_table"> |
|
|
|
<div class="div_btn"> |
|
|
|
<el-button class="diy-button--add" |
|
|
|
<el-button class="diy-button--delete" |
|
|
|
size="small" |
|
|
|
@click="handleAdd">新增</el-button> |
|
|
|
<!-- |
|
|
|
|
|
|
|
<el-button class="diy-button--delete" |
|
|
|
style="margin-left:10px" |
|
|
|
size="small" |
|
|
|
@click="handleExportModule('room')">下载模板</el-button> |
|
|
|
<el-upload ref="upload" |
|
|
|
:multiple='false' |
|
|
|
:show-file-list='false' |
|
|
|
@ -98,15 +62,13 @@ |
|
|
|
:on-exceed="handleExceed" |
|
|
|
:http-request="uploadFile"> |
|
|
|
<el-button style="margin-left:10px" |
|
|
|
size="small" |
|
|
|
class="diy-button--delete">导入</el-button> |
|
|
|
|
|
|
|
class="diy-button--delete" |
|
|
|
size="small">导入</el-button> |
|
|
|
</el-upload> |
|
|
|
<el-button style="float:left" |
|
|
|
class="diy-button--reset" |
|
|
|
<el-button style="float:left;margin-left:10px" |
|
|
|
class="diy-button--delete" |
|
|
|
size="small" |
|
|
|
@click="handleExport">导出</el-button>--> |
|
|
|
|
|
|
|
@click="handleExport">导出</el-button> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-table class="table" |
|
|
|
@ -122,69 +84,37 @@ |
|
|
|
type="index" |
|
|
|
width="50"></el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="unitName" |
|
|
|
<el-table-column prop="name" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="单位名称" |
|
|
|
label="场所名称" |
|
|
|
min-width="100"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="type" |
|
|
|
<el-table-column prop="categoryName" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="分类" |
|
|
|
label="场所类别" |
|
|
|
min-width="80"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="serviceMatterListShow" |
|
|
|
<el-table-column prop="areaCovered" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="服务事项" |
|
|
|
label="占地面积" |
|
|
|
show-overflow-tooltip |
|
|
|
min-width="250"> |
|
|
|
|
|
|
|
<!-- <template slot-scope="scope"> |
|
|
|
<p style="text-align:center;margin:2px 0;" |
|
|
|
v-for="(item,index) in scope.row.serviceMatterList" |
|
|
|
:key="index">{{item}}</p> |
|
|
|
|
|
|
|
</template> --> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="contact" |
|
|
|
<el-table-column prop="capacity" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="联系人" |
|
|
|
label="容纳人数" |
|
|
|
width="80"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="contactMobile" |
|
|
|
<el-table-column prop="address" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="联系电话" |
|
|
|
label="地址" |
|
|
|
width="120"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="memberCount" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="在职党员数" |
|
|
|
width="100"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="satisfaction" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="群众满意度" |
|
|
|
width="100"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="score" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="积分" |
|
|
|
width="80"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="remark" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="备注" |
|
|
|
show-overflow-tooltip |
|
|
|
width="150"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="操作" |
|
|
|
fixed="right" |
|
|
|
width="250" |
|
|
|
@ -201,15 +131,6 @@ |
|
|
|
class="div-table-button--edit" |
|
|
|
size="small" |
|
|
|
@click="handleEdit(scope.row)">修改</el-button> |
|
|
|
<el-button type="text" |
|
|
|
class="div-table-button--detail" |
|
|
|
size="small" |
|
|
|
@click="handleFinish(scope.row)">完成情况</el-button> |
|
|
|
<el-button type="text" |
|
|
|
class="div-table-button--detail" |
|
|
|
size="small" |
|
|
|
@click="handleScore(scope.row)">积分记录</el-button> |
|
|
|
|
|
|
|
<el-button type="text" |
|
|
|
class="div-table-button--delete" |
|
|
|
size="small" |
|
|
|
@ -284,16 +205,10 @@ export default { |
|
|
|
unitList: [],//单位list |
|
|
|
serviceList: [],//服务list |
|
|
|
typeList: [],//分类list |
|
|
|
|
|
|
|
unitId: '', |
|
|
|
formData: { |
|
|
|
unitName: '', |
|
|
|
serviceMatter: '', |
|
|
|
type: '', |
|
|
|
contact: '', |
|
|
|
contactMobile: '' |
|
|
|
name: '', |
|
|
|
category: '' |
|
|
|
}, |
|
|
|
|
|
|
|
tableData: [], |
|
|
|
|
|
|
|
//form相关 |
|
|
|
@ -310,7 +225,7 @@ export default { |
|
|
|
|
|
|
|
files: "", |
|
|
|
fileName: "", |
|
|
|
uploadUlr: window.SITE_CONFIG['apiURL'] + '/gov/org/neighborhood/import' |
|
|
|
uploadUlr: window.SITE_CONFIG['apiURL'] + '/gov/org/icPublicService/import' |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
@ -337,12 +252,48 @@ export default { |
|
|
|
handleSearch () { |
|
|
|
this.loadTable() |
|
|
|
}, |
|
|
|
async handleExportModule () { |
|
|
|
let url = "/gov/org/icPublicService/download"; |
|
|
|
// let url = "http://yapi.elinkservice.cn/mock/245/gov/org/icPublicService/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("网络错误"); |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
//获取服务事项下拉框 |
|
|
|
async loadService () { |
|
|
|
const url = "/heart/serviceitem/dict-list" |
|
|
|
|
|
|
|
|
|
|
|
const url = "/gov/org/coverage/dict-select-list/public_service" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/coverage/dict-select-list/public_service" |
|
|
|
let params = { |
|
|
|
// parentCategoryCode: '1010' |
|
|
|
} |
|
|
|
@ -379,12 +330,11 @@ export default { |
|
|
|
async loadTable () { |
|
|
|
this.tableLoading = true |
|
|
|
|
|
|
|
const url = "/heart/icpartyunit/list" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/list" |
|
|
|
const url = "/gov/org/icPublicService/list" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icPublicService/list" |
|
|
|
let params = { |
|
|
|
pageSize: this.pageSize, |
|
|
|
pageNo: this.pageNo, |
|
|
|
agencyId: this.agencyId, |
|
|
|
...this.formData |
|
|
|
} |
|
|
|
|
|
|
|
@ -392,16 +342,7 @@ export default { |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
this.total = data.total |
|
|
|
data.list.forEach(element => { |
|
|
|
if (element.serviceMatterList.length > 0) { |
|
|
|
element.serviceMatterListShow = element.serviceMatterList.join(',') |
|
|
|
} else { |
|
|
|
element.serviceMatterListShow = '' |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
this.tableData = data.list |
|
|
|
|
|
|
|
} else { |
|
|
|
this.$message.error(msg) |
|
|
|
} |
|
|
|
@ -427,7 +368,7 @@ export default { |
|
|
|
|
|
|
|
//完成情况 |
|
|
|
handleFinish (row) { |
|
|
|
this.finishDiaTitle = row.unitName + '完成情况' |
|
|
|
this.finishDiaTitle = row.name + '完成情况' |
|
|
|
this.finishDiaShow = true |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs.ref_finish.initTable(row) |
|
|
|
@ -437,7 +378,7 @@ export default { |
|
|
|
handleScore (row) { |
|
|
|
this.scoreDiaShow = true |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs.ref_score.initForm(row.id) |
|
|
|
this.$refs.ref_score.initForm(row.icPublicServiceId) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
@ -453,7 +394,7 @@ export default { |
|
|
|
this.formTitle = '修改' |
|
|
|
this.formShow = true |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs.ref_form.initForm('edit', row.id) |
|
|
|
this.$refs.ref_form.initForm('edit', row.icPublicServiceId) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
@ -485,11 +426,11 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
async deleteUnit (row) { |
|
|
|
const url = "/heart/icpartyunit/delete" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/delete" |
|
|
|
const url = "/gov/org/icPublicService/del" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icPublicService/del" |
|
|
|
|
|
|
|
let params = { |
|
|
|
id: row.id |
|
|
|
icPublicServiceId: row.icPublicServiceId |
|
|
|
} |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, params) |
|
|
|
@ -509,11 +450,8 @@ export default { |
|
|
|
//重置搜索条件 |
|
|
|
resetSearch () { |
|
|
|
this.formData = { |
|
|
|
unitName: '', |
|
|
|
serviceMatter: '', |
|
|
|
type: '', |
|
|
|
contact: '', |
|
|
|
contactMobile: '' |
|
|
|
name: '', |
|
|
|
category: '' |
|
|
|
} |
|
|
|
this.pageSize = 10 |
|
|
|
this.pageNo = 0 |
|
|
|
@ -522,9 +460,10 @@ export default { |
|
|
|
|
|
|
|
//导出表格 |
|
|
|
async handleExport () { |
|
|
|
let title = '联建单位列表' |
|
|
|
let title = '公共服务图层列表' |
|
|
|
|
|
|
|
const url = "/heart/icpartyunit/export" |
|
|
|
const url = "/gov/org/icPublicService/export" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icPublicService/export" |
|
|
|
let params = { |
|
|
|
agencyId: this.agencyId, |
|
|
|
...this.formData |
|
|
|
@ -602,7 +541,8 @@ export default { |
|
|
|
//清空上传列表 |
|
|
|
this.$refs['upload'].clearFiles() |
|
|
|
|
|
|
|
var url = '/heart/icpartyunit/import' |
|
|
|
var url = '/gov/org/icPublicService/import' |
|
|
|
// var url = 'http://yapi.elinkservice.cn/mock/245/gov/org/icPublicService/import' |
|
|
|
let fileFormData = new FormData(); |
|
|
|
fileFormData.append('file', this.files);//filename是键,file是值,就是要传的文件,test.zip是要传的文件名 |
|
|
|
|
|
|
|
|