From c32014d250f304a810f39206ad4e2423ecf0fb6a Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期四, 07 三月 2024 18:27:06 +0800 Subject: [PATCH] 产量报表列表页和应该工资报表页部分功能页面开发 --- src/views/reportManage/payableSalaryReport/index.vue | 145 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 139 insertions(+), 6 deletions(-) diff --git a/src/views/reportManage/payableSalaryReport/index.vue b/src/views/reportManage/payableSalaryReport/index.vue index 67cd691..597d66b 100644 --- a/src/views/reportManage/payableSalaryReport/index.vue +++ b/src/views/reportManage/payableSalaryReport/index.vue @@ -1,21 +1,154 @@ <template> - <div class="container"></div> + <div class="payableSalaryReport-container"> + <div class="filter-card"> + <CommonSearch :show-add="false" :amount-view="false" placeholder="璇疯緭鍏ュ叧閿瘝" @searchClick="onFilterSearch"> + <template slot="leftButton"> + <el-button size="small" type="primary" @click="exportBtnClick">瀵煎嚭</el-button> + <el-button size="small" type="primary" @click="refreshBtnClick">鍒锋柊</el-button> + </template> + </CommonSearch> + </div> + <div class="body-card"> + <div class="list-view"> + <TableCommonView + ref="tableListRef" + v-loading="loading" + :colOpenShow="false" + :table-list="tableList" + @selTableCol="selTableCol" + > + </TableCommonView> + </div> + <!-- <div class="btn-pager"> + <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + </div> --> + </div> + </div> </template> <script> +import pageMixin from "@/components/makepager/pager/mixin/pageMixin" export default { name: "payableSalaryReport", props: {}, components: {}, - mixins: [], + mixins: [pageMixin], computed: {}, data() { - return {} + return { + loading: false, + tableList: {}, + tableColumn: [ + { label: "濮撳悕", prop: "name", default: true, fixed: true }, + { label: "浜哄憳id", prop: "member_name" }, + { label: "鎵嬫満鍙�", prop: "client_level" }, + { label: "宸ョ", prop: "next_visit_time" }, + { label: "鐢熶骇宸ヨ祫", prop: "detail_address" }, + { label: "婊″嫟", prop: "client_status" }, + { label: "瓒呮椂宸ヨ祫", prop: "contact_name" }, + { label: "鍔犵彮宸ヨ祫", prop: "contact_phone" }, + { label: "浜ら�氳ˉ璐�", prop: "client_level" }, + { label: "甯﹀緬琛ヨ创", prop: "next_visit_time" }, + { label: "宀椾綅琛ヨ创", prop: "detail_address" }, + { label: "绀句繚琛ヨ创", prop: "client_status" }, + { label: "宸ラ緞琛ヨ创", prop: "contact_name" }, + { label: "涓嶈揪淇濆簳", prop: "contact_phone" }, + { label: "璐ㄩ噺濂�", prop: "contact_phone" }, + { label: "濂栫綒1", prop: "client_level" }, + { label: "濂栫綒2/娓呭噳琛�", prop: "next_visit_time", width: "110" }, + { label: "鏃ュ父妫�鏌�/濂栫綒3", prop: "detail_address", width: "110" }, + { label: "鍋滄満琛ヨ创", prop: "client_status" }, + { label: "搴斿彂宸ヨ祫", prop: "contact_name" }, + { label: "澶囨敞", prop: "contact_phone", width: "140" } + ], + showCol: [ + "濮撳悕", + "浜哄憳id", + "鎵嬫満鍙�", + "宸ョ", + "鐢熶骇宸ヨ祫", + "婊″嫟", + "瓒呮椂宸ヨ祫", + "鍔犵彮宸ヨ祫", + "浜ら�氳ˉ璐�", + "甯﹀緬琛ヨ创", + "宀椾綅琛ヨ创", + "绀句繚琛ヨ创", + "宸ラ緞琛ヨ创", + "涓嶈揪淇濆簳", + "璐ㄩ噺濂�", + "濂栫綒1", + "濂栫綒2/娓呭噳琛�", + "鏃ュ父妫�鏌�/濂栫綒3", + "鍋滄満琛ヨ创", + "搴斿彂宸ヨ祫", + "澶囨敞" + ] + } }, - created() {}, - methods: {} + created() { + this.setTable() + }, + methods: { + setTable() { + this.tableList = { + selectIndex: true, + fixed: true, + tableInfomation: [{ name: "寮犱笁" }, { name: "lisi" }, { name: "鐜嬩簲" }], + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol) + } + this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) + this.searchOptions = [] + for (let i = 0; i < this.tableList.tableColumn.length; i++) { + const label = this.tableList.tableColumn[i].label + const value = this.tableList.tableColumn[i].prop + this.searchOptions.push({ value: value, label: label }) + } + }, + setColumnVisible(showCol) { + return this.tableColumn.map((ele) => { + return { + ...ele, + isShowColumn: showCol.includes(ele.label) + } + }) + }, + selTableCol(val) { + this.showcol = val + this.tableList.tableColumn = this.setColumnVisible(val) + }, + // 鎼滅储 + onFilterSearch(searchText) { + console.log(searchText) + }, + // 瀵煎嚭 + exportBtnClick() {}, + // 鍒锋柊 + refreshBtnClick() {} + } } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> -<style lang="scss" scoped></style> +<style lang="scss" scoped> +.payableSalaryReport-container { + height: 100%; + .filter-card { + margin: 20px 30px; + height: 80px; + display: flex; + align-items: center; + padding: 0 20px 0 20px; + border-radius: 12px; + background-color: #fff; + } + .body-card { + margin: 0 30px; + background-color: #fff; + padding: 10px 15px; + height: calc(100% - 180px); + } +} +</style> -- Gitblit v1.8.0