Browse Source

改了可视化接口地址

feature
dai 3 years ago
parent
commit
0c0fd75cf6
  1. 2
      .env.production.sit
  2. 1946
      src/views/modules/base/community/community.vue
  3. 1629
      src/views/modules/base/community/communityExportInfo.vue
  4. 2507
      src/views/modules/base/community/communityTable.vue
  5. 2
      src/views/modules/base/resi.vue
  6. 894
      src/views/modules/base/smartImport.vue

2
.env.production.sit

@ -2,6 +2,6 @@ NODE_ENV=production
# VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api # VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api
# VUE_APP_API_SERVER = http://192.168.1.140/api # VUE_APP_API_SERVER = http://192.168.1.140/api
VUE_APP_API_SERVER = http://219.146.91.110:30801/api VUE_APP_API_SERVER = http://219.146.91.110:30801/api
VUE_APP_BIPASS_API_SERVER = http://bipaas.elinkservice.com/linkdata/linkdata-gateway/route VUE_APP_BIPASS_API_SERVER = http://bipaas.elinkservice.com:30801/linkdata/linkdata-gateway/route
VUE_APP_NODE_ENV=prod:sit VUE_APP_NODE_ENV=prod:sit
VUE_APP_PUBLIC_PATH=epmet-oper VUE_APP_PUBLIC_PATH=epmet-oper

1946
src/views/modules/base/community/community.vue

File diff suppressed because it is too large

1629
src/views/modules/base/community/communityExportInfo.vue

File diff suppressed because it is too large

2507
src/views/modules/base/community/communityTable.vue

File diff suppressed because it is too large

2
src/views/modules/base/resi.vue

@ -853,7 +853,7 @@ export default {
); );
conditions.push({ conditions.push({
queryType: "daterange", queryType: "daterange",
columnValue: [dateEnd,dateStart], columnValue: [dateEnd, dateStart],
columnName: "BIRTHDAY", columnName: "BIRTHDAY",
label: "出生日期", label: "出生日期",
tableName: "resident_base_info", tableName: "resident_base_info",

894
src/views/modules/base/smartImport.vue

@ -1,472 +1,456 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<div class="m-table"> <div class="m-table">
<div class="u-table-btn1"> <div class="u-table-btn1">
<el-upload
<el-upload :headers="$getElUploadHeaders()" :headers="$getElUploadHeaders()"
ref="upload" ref="upload"
class="upload-btn" class="upload-btn"
action="uploadUlr" action="uploadUlr"
:limit="1" :limit="1"
:accept="'.xls,.xlsx'" :accept="'.xls,.xlsx'"
:with-credentials="true" :with-credentials="true"
:show-file-list="false" :show-file-list="false"
:auto-upload="true" :auto-upload="true"
:on-progress="handleProgress" :on-progress="handleProgress"
:on-success="handleExcelSuccess" :on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload" :before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest"> :http-request="uploadHttpRequest"
<el-button size="small" >
class="diy-button--white" <el-button
:loading="importLoading">表格导入</el-button> size="small"
</el-upload> class="diy-button--white"
<el-button class="diy-button--white" :loading="importLoading"
size="small" >表格导入</el-button
style="margin-left:10px" >
@click="handleExportModule()">下载模板</el-button> </el-upload>
</div> <el-button
<el-table ref="ref_table" class="diy-button--white"
:data="dataList" size="small"
border style="margin-left: 10px"
:height="tableHeight" @click="handleExportModule()"
class="m-table-item" >下载模板</el-button
v-loading="dataListLoading" >
style="width: 100%"> </div>
<el-table-column label="序号"
header-align="center" <div v-if="dataList.length > 0">
align="center" <el-table
type="index" ref="ref_table"
width="100"></el-table-column> :data="dataList"
border
<el-table-column prop="deptName" :height="tableHeight"
header-align="center" class="m-table-item"
align="center" v-loading="dataListLoading"
label="表格信息" style="width: 100%"
min-width="100"> >
</el-table-column> <el-table-column
<el-table-column prop="dataName" label="序号"
header-align="center" header-align="center"
align="center" align="center"
label="平台对应信息" type="index"
min-width="110"> width="100"
<template slot-scope="scope"> ></el-table-column>
<el-select class="item_width_sel" <el-table-column
v-model="scope.row.itemGroupId" prop="srcField"
size="small" header-align="center"
placeholder="请选择"> align="center"
<el-option v-for="item in groupList" label="表格信息"
@click.native="handleSelGroup(scope.$index,item)" min-width="100"
:key="item.id" >
:label="item.label" </el-table-column>
:value="item.id"> <el-table-column
</el-option> prop="field"
</el-select> header-align="center"
align="center"
<el-select class="item_width_sel" label="平台对应信息"
v-model="scope.row.itemId" min-width="110"
size="small" >
style="margin-left:10px" <template slot-scope="scope">
placeholder="请选择"> <span v-if="scope.row.exist">{{
<el-option v-for="item in scope.row.itemList" scope.row.field
:key="item.itemId" }}</span>
:label="item.label"
:value="item.itemId"> <div v-else>
</el-option> <el-select
</el-select> class="item_width_sel"
v-model="scope.row.itemGroupId"
</template> size="small"
</el-table-column> placeholder="请选择"
>
</el-table> <el-option
<div> v-for="item in groupList"
<el-pagination @size-change="handleSizeChange" @click.native="
@current-change="handleCurrentChange" handleSelGroup(scope.$index, item)
:current-page.sync="pageNo" "
:page-sizes="[20, 50, 100, 200]" :key="item.id"
:page-size="pageSize" :label="item.label"
layout="sizes, prev, pager, next, total" :value="item.id"
:total="total"> >
</el-pagination> </el-option>
</div> </el-select>
<div ref="divEditBtn" <el-select
class="m-edit-btn"> class="item_width_sel"
v-model="scope.row.field"
<el-button type="primary" size="small"
size="small" style="margin-left: 10px"
class="diy-button--blue" placeholder="请选择"
@click="handleComfirm"> </el-button> >
</div> <el-option
v-for="item in scope.row.itemList"
</div> :key="item.itemId"
:label="item.label"
<!-- 修改弹出框 --> :value="item.label"
<el-dialog :visible.sync="formShow" >
:close-on-click-modal="false" </el-option>
:close-on-press-escape="false" </el-select>
:title="'数据更新配置'" </div>
width="850px" </template>
top="5vh" </el-table-column>
class="dialog-h" </el-table>
@closed="diaClose">
<div class="div_form"> <div ref="divEditBtn" class="m-edit-btn">
<el-form ref="ref_form" <el-button
:inline="true" type="primary"
:model="formData"> size="small"
class="diy-button--blue"
<el-form-item label="适用范围" @click="handleComfirm"
label-width="150px" > </el-button
style="display: block"> >
</div>
</el-form-item> </div>
</el-form> <div class="m-hint" v-else>请先导入表格</div>
</div> </div>
</div>
<div class="div-btn">
<el-button size="small"
@click="diaClose"> </el-button>
<el-button size="small"
type="primary"
@click="editDiaOK"> </el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { requestPost } from "@/js/dai/request";
import { mapGetters } from "vuex";
import { requestPost } from '@/js/dai/request'
import { mapGetters } from 'vuex'
export default { export default {
data() {
data () { return {
return { customerId: "", // id
customerId: '', // id customerName: "", //
customerName: '', //
tableParams: {
tableParams: { customerId: "",
customerId: '' },
}, // tableHeight: 500,
// tableHeight: 500, search: "",
search: '', dataList: [],
dataList: [],
dataListLoading: false,
dataListLoading: false, total: 0,
total: 0, pageSize: 20,
pageSize: 20, pageNo: 0,
pageNo: 0,
formShow: false,
formData: {},
formShow: false,
formData: {}, scopeList: [],
dataSyncConfigId: "",
scopeList: [], importLoading: false,
dataSyncConfigId: '',
importLoading: false, groupList: [],
sHeight: 0,
groupList: [],
sHeight: 0, importCode: "",
} importOption: { exist: {}, notExist: {} },
}, };
},
computed: {
tableHeight () { computed: {
const h = this.clientHeight - this.sHeight + this.iframeHeigh tableHeight() {
const _h = this.clientHeight - this.sHeight const h = this.clientHeight - this.sHeight + this.iframeHeigh;
return this.$store.state.inIframe ? h : _h const _h = this.clientHeight - this.sHeight;
}, return this.$store.state.inIframe ? h : _h;
},
...mapGetters(['clientHeight', 'iframeHeight'])
}, ...mapGetters(["clientHeight", "iframeHeight"]),
components: { },
components: {},
}, created() {},
created () { async mounted() {
// await this.loadData();
}, await this.loadPersonGroup();
async mounted () {
await this.loadData() this.sHeight = this.$refs.divEditBtn.offsetHeight + 300;
await this.loadPersonGroup() },
methods: {
this.sHeight = this.$refs.divEditBtn.offsetHeight + 300 diaClose() {
}, this.formShow = false;
methods: { },
async loadPersonGroup() {
diaClose () { const url = "/oper/customize/icformitemgroup/list";
this.formShow = false // const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
}, let params = {
formCode: "resi_base_info",
async loadPersonGroup () { policyFlag: "1",
const url = '/oper/customize/icformitemgroup/list' };
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = { const { data, code, msg } = await requestPost(url, params);
formCode: 'resi_base_info',
policyFlag: '1' if (code === 0) {
} this.groupList = data;
} else {
const { data, code, msg } = await requestPost(url, params) this.$message.error(msg);
}
if (code === 0) { },
this.groupList = data
} else { //
this.$message.error(msg) async handleSelGroup(index, item, isSet) {
} const url = "/oper/customize/icformitem/getItemListV2";
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
}, let params = {
policyFlag: "1",
// groupId: item.id,
async handleSelGroup (index, item, isSet) { };
const url = '/oper/customize/icformitem/getItemListV2'
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree' const { data, code, msg } = await requestPost(url, params);
let params = {
policyFlag: '1', if (code === 0) {
groupId: item.id, let oneData = this.dataList[index];
oneData.itemList = data;
} this.$set(this.dataList, index, oneData);
} else {
const { data, code, msg } = await requestPost(url, params) this.$message.error(msg);
}
if (code === 0) { },
let oneData = this.dataList[index] //
oneData.itemList = data async loadData() {
this.$set(this.dataList, index, oneData) this.dataListLoading = true;
} else { // const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/dataSyncConfig/list'
this.$message.error(msg) const url = "/epmetuser/dataSyncConfig/list";
}
}, this.tableParams = {
pageSize: this.pageSize,
// pageNo: this.pageNo,
async loadData () { };
this.dataListLoading = true
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/dataSyncConfig/list' const { data, code, msg } = await requestPost(
const url = '/epmetuser/dataSyncConfig/list' url,
this.tableParams
this.tableParams = { );
pageSize: this.pageSize, this.dataListLoading = false;
pageNo: this.pageNo if (code === 0) {
} this.total = data.total;
this.dataList = data.list;
const { data, code, msg } = await requestPost(url, this.tableParams) this.dataList.forEach((element) => {
this.dataListLoading = false element.stateShow =
if (code === 0) { element.switchStatus === "open" ? true : false;
this.total = data.total });
this.dataList = data.list } else {
this.dataList.forEach(element => { // this.$message.error(msg )
}
element.stateShow = element.switchStatus === 'open' ? true : false },
}) handleChangeScope(value) {
} else { // console.log('value', value)
// this.$message.error(msg )
} this.orgIdArray = value;
}, this.scopeList = [];
let selArray = this.$refs["myCascader"].getCheckedNodes();
handleChangeScope (value) {
// console.log('value', value) // console.log('selArray', selArray)
this.orgIdArray = value selArray.forEach((element, index) => {
this.scopeList = [] let obj = {
let selArray = this.$refs["myCascader"].getCheckedNodes() orgId: element.data.agencyId,
orgType: element.data.level,
// console.log('selArray', selArray) orgIdPath: element.path.join(":"),
};
selArray.forEach((element, index) => { this.scopeList.push(obj);
});
let obj = {
orgId: element.data.agencyId, console.log("this.scopeList", this.scopeList);
orgType: element.data.level, },
orgIdPath: element.path.join(':'),
async handleExportModule() {
} let url = "/epmetuser/icresiuser/import/download-template";
this.scopeList.push(obj)
}); let params = {};
await this.$http({
console.log('this.scopeList', this.scopeList) method: "POST",
url,
}, responseType: "blob",
data: params,
handleComfirm () { })
console.log(this.dataList) .then((res) => {
}, // this.download(res.data, title + '.xls')
if (res.headers["content-disposition"]) {
async editDiaOK () { let fileName = window.decodeURI(
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/dataSyncConfig/scopeSave' res.headers["content-disposition"]
const url = '/epmetuser/dataSyncConfig/scopeSave' .split(";")[1]
.split("=")[1]
let params = { );
dataSyncConfigId: this.dataSyncConfigId, console.log("filename", fileName);
scopeList: this.scopeList let blob = new Blob([res.data], {
} type: "application/vnd.ms-excel",
});
const { data, code, msg } = await requestPost(url, params) var url = window.URL.createObjectURL(blob);
var aLink = document.createElement("a");
if (code === 0) { aLink.style.display = "none";
this.formShow = false aLink.href = url;
this.loadData() aLink.setAttribute("download", fileName);
} else { document.body.appendChild(aLink);
// this.$message.error(msg ) aLink.click();
} document.body.removeChild(aLink); //
}, window.URL.revokeObjectURL(url); //blob
} else this.$message.error("下载失败");
async handleExportModule () { })
let url = "/heart/iccommunityselforganization/import-template-download"; .catch((err) => {
console.log("err", err);
let params = {}; return this.$message.error("网络错误");
await this.$http({ });
method: "POST", },
url, //
responseType: "blob", handleExcelSuccess(res, file) {
data: params, if (res.code === 0 && res.msg === "success") {
}) console.log("resss---ppp", res);
.then((res) => { } else {
// this.download(res.data, title + '.xls') this.$message.error(res.msg);
if (res.headers["content-disposition"]) { }
let fileName = window.decodeURI( },
res.headers["content-disposition"].split(";")[1].split("=")[1] handleProgress(event, file, fileList) {
); console.log("percentage", file.percentage);
console.log("filename", fileName); },
let blob = new Blob([res.data], {
type: "application/vnd.ms-excel", beforeExcelUpload(file) {
}); console.log("file", file);
var url = window.URL.createObjectURL(blob); const isType = file.type === "application/vnd.ms-excel";
var aLink = document.createElement("a"); const isTypeComputer =
aLink.style.display = "none"; file.type ===
aLink.href = url; "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
aLink.setAttribute("download", fileName); const fileType = isType || isTypeComputer;
document.body.appendChild(aLink); const isLt1M = file.size / 1024 / 1024 < 10;
aLink.click(); if (!fileType) {
document.body.removeChild(aLink); // this.$message.error("上传文件只能是xls/xlsx格式!");
window.URL.revokeObjectURL(url); //blob }
} else this.$message.error("下载失败");
}) if (!isLt1M) {
.catch((err) => { this.$message.error("上传文件大小不能超过 10MB!");
console.log("err", err); }
return this.$message.error("网络错误"); return fileType && isLt1M;
}); },
},
// async uploadHttpRequest(file) {
handleExcelSuccess (res, file) { this.importLoading = true;
if (res.code === 0 && res.msg === "success") { this.importBtnTitle = "正在上传中...";
console.log("resss---ppp", res); const formData = new FormData(); //FormDataappend('key', value)
} else { formData.append("file", file.file); //
this.$message.error(res.msg); formData.append("code", ""); //
} await this.$http
}, .post("/actual/base/residentBaseInfo/importExcel", formData)
handleProgress (event, file, fileList) { .then((res) => {
console.log("percentage", file.percentage); console.log("res-up", res);
}, if (res.data.code == 0 && res.data.msg == "success") {
console.log(res.data.data);
beforeExcelUpload (file) { const data = res.data.data;
console.log("file", file);
const isType = file.type === "application/vnd.ms-excel"; this.dataList = [
const isTypeComputer = ...Object.keys(data.option.exist).map((k) => {
file.type === return {
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; index: k,
const fileType = isType || isTypeComputer; srcField: data.option.exist[k],
const isLt1M = file.size / 1024 / 1024 < 10; exist: true,
if (!fileType) { field: data.option.exist[k],
this.$message.error("上传文件只能是xls/xlsx格式!"); };
} }),
...Object.keys(data.option.notExist).map((k) => {
if (!isLt1M) { return {
this.$message.error("上传文件大小不能超过 10MB!"); index: k,
} srcField: data.option.notExist[k],
return fileType && isLt1M; exist: false,
}, field: "",
async uploadHttpRequest (file) { };
this.importLoading = true; }),
this.importBtnTitle = "正在上传中..."; ];
this.$message({ this.importOption = data.option;
showClose: true, this.importCode = data.code;
message: "导入中,请到系统管理-导入记录中查看进度", } else this.$message.error(res.data.msg);
duration: 0, })
}); .catch((err) => {
const formData = new FormData(); //FormDataappend('key', value) console.log("失败", err);
formData.append("file", file.file); // file.onError(); //
await this.$http // this.$message.error('')
.post( });
"/heart/iccommunityselforganization/importcommunityselforganization", this.importLoading = false;
formData this.importBtnTitle = "导入";
) this.$refs.upload.clearFiles();
.then((res) => { },
console.log("res-up", res);
if (res.data.code == 0 && res.data.msg == "success") { async handleComfirm() {
// this.$message.success('') this.importLoading = true;
this.getTableData(); this.importBtnTitle = "正在上传中...";
} else this.$message.error(res.data.msg); this.$message({
}) showClose: true,
.catch((err) => { message: "导入中,请到系统管理-导入记录中查看进度",
console.log("失败", err); duration: 0,
file.onError(); // });
// this.$message.error('') const { importOption, importCode, dataList } = this;
}); dataList.forEach((item) => {
// axios({ if (!item.exist) {
// url: importOption.notExist[item.index] = item.field;
// window.SITE_CONFIG["apiURL"] + }
// "/heart/iccommunityselforganization/importcommunityselforganization", });
// method: "post", await this.$http
// data: formData, .post("/actual/base/residentBaseInfo/import/header", {
// // responseType: "blob", code: importCode,
// }) option: {
// .then((res) => { exist: importOption.exist,
// this.importLoading = false; notExist: importOption.notExist,
// this.importBtnTitle = ""; },
// console.log("resresresresresresres", res); })
.then((res) => {
// this.getTableData(); console.log("res-up", res);
// if (res.data.code == 0) { if (res.data.code == 0 && res.data.msg == "success") {
// return this.$message.success(res.data.data || ""); // this.$message.success('')
// } else { this.dataList = [];
// return this.$message.error(res.data.msg); } else this.$message.error(res.data.msg);
// } })
// }) .catch((err) => {
// .catch((err) => { console.log("失败", err);
// console.log("", err); file.onError(); //
// }); // this.$message.error('')
this.importLoading = false; });
this.importBtnTitle = "导入"; this.importLoading = false;
this.$refs.upload.clearFiles(); this.importBtnTitle = "导入";
}, },
handleSizeChange (val) { //
this.pageSize = val diaCancel() {
this.pageNo = 1 this.$emit("cancleBack");
this.loadData() },
}, },
handleCurrentChange (val) { };
this.pageNo = val
this.loadData()
},
//
diaCancel () {
this.$emit('cancleBack')
},
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss"; @import "@/assets/scss/modules/management/list-main.scss";
.m-edit-btn { .m-edit-btn {
display: flex; display: flex;
margin-top: 20px; margin-top: 20px;
margin-right: 16px; margin-right: 16px;
justify-content: flex-end; justify-content: flex-end;
text-align: center; text-align: center;
} }
.item_width_sel { .item_width_sel {
width: 200px; width: 200px;
}
.m-hint {
font-size: 50px;
line-height: 300px;
text-align: center;
color: #aaaaaa;
} }
</style> </style>

Loading…
Cancel
Save