1 changed files with 138 additions and 0 deletions
@ -0,0 +1,138 @@ |
|||||
|
<template> |
||||
|
<el-dialog |
||||
|
:visible.sync="visible" |
||||
|
:title="'智能填表'" |
||||
|
:close-on-click-modal="true" |
||||
|
:close-on-press-escape="true" |
||||
|
width="850px" |
||||
|
:top="diaTop" |
||||
|
> |
||||
|
<el-table |
||||
|
v-loading="loading" |
||||
|
:data="list" |
||||
|
row-key="id" |
||||
|
border |
||||
|
:height="tableHeight" |
||||
|
style="width: 100%" |
||||
|
> |
||||
|
<el-table-column type="index" label="序号" width="50" /> |
||||
|
<el-table-column |
||||
|
prop="reportName" |
||||
|
label="模板名称" |
||||
|
header-align="center" |
||||
|
min-width="150" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
label="操作" |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="150" |
||||
|
> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="text" size="small" @click="fillIn(scope.row)" |
||||
|
>填写</el-button |
||||
|
> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-dialog> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { Loading } from "element-ui"; // 引入Loading服务 |
||||
|
import { requestPost, requestGet } from "@/js/dai/request"; |
||||
|
import { mapGetters } from "vuex"; |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
loading: false, |
||||
|
|
||||
|
visible: false, |
||||
|
|
||||
|
list: [], //客户列表 |
||||
|
|
||||
|
elseParams: {}, |
||||
|
}; |
||||
|
}, |
||||
|
|
||||
|
computed: { |
||||
|
tableHeight() { |
||||
|
// return this.resolution === 'small' ? this.clientHeight - 210 : this.clientHeight - 220 |
||||
|
return this.clientHeight - 300; |
||||
|
}, |
||||
|
diaWidth() { |
||||
|
return this.resolution === "small" ? 60 : 50; |
||||
|
}, |
||||
|
diaHeight() { |
||||
|
return this.resolution === "small" ? 350 : 600; |
||||
|
}, |
||||
|
diaTop() { |
||||
|
return this.resolution === "small" ? "30px" : "100px"; |
||||
|
}, |
||||
|
...mapGetters(["clientHeight", "resolution"]), |
||||
|
}, |
||||
|
|
||||
|
mounted() {}, |
||||
|
|
||||
|
methods: { |
||||
|
async init(row) { |
||||
|
console.log("1111111111", row); |
||||
|
const { elseParams } = row; |
||||
|
this.visible = true; |
||||
|
this.elseParams = { ...elseParams }; |
||||
|
|
||||
|
this.customerList = []; |
||||
|
|
||||
|
await this.getList(); |
||||
|
}, |
||||
|
|
||||
|
//获取所有客户列表 |
||||
|
async getList() { |
||||
|
this.loading = true; |
||||
|
const { elseParams } = this; |
||||
|
const { data, code, msg } = await requestPost( |
||||
|
"/oper/customize/icCustomerReport/report-list", |
||||
|
{ |
||||
|
...elseParams, |
||||
|
} |
||||
|
); |
||||
|
this.loading = false; |
||||
|
if (code === 0) { |
||||
|
this.list = data.map((item) => { |
||||
|
return item; |
||||
|
}); |
||||
|
} else { |
||||
|
this.$message.error(msg); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
async fillIn(item) { |
||||
|
const { reportId } = item; |
||||
|
const url = "/oper/customize/icCustomerReport/preview"; |
||||
|
const parmas = { |
||||
|
...this.elseParams, |
||||
|
reportId, |
||||
|
}; |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, parmas); |
||||
|
|
||||
|
if (code === 0) { |
||||
|
let token = localStorage.getItem("token"); |
||||
|
let prefix = window.SITE_CONFIG["apiURL"].slice(0, -4); |
||||
|
window.open( |
||||
|
`${prefix}/jmreport/view/${reportId}?token=${token}¶mKey=${data.paramKey}` |
||||
|
); |
||||
|
|
||||
|
// this.visible = false; |
||||
|
this.$emit("afterFillIn"); |
||||
|
} else { |
||||
|
this.$message.error(msg); |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped></style> |
Loading…
Reference in new issue