From d87b6ff6bf0681854bb431e8f8e93652a6540691 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期六, 30 十一月 2024 13:53:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
admin/src/views/contract/contractList.vue | 144 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 144 insertions(+), 0 deletions(-)
diff --git a/admin/src/views/contract/contractList.vue b/admin/src/views/contract/contractList.vue
index e69de29..ca11e0c 100644
--- a/admin/src/views/contract/contractList.vue
+++ b/admin/src/views/contract/contractList.vue
@@ -0,0 +1,144 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear">
+ <template #btns>
+ <el-button>瀵煎嚭</el-button>
+ </template>
+ </QueryForm>
+ <div class="mt10">
+ <el-button @click="$refs.ContractEditRef.open('鍒涘缓鍚堝悓')" icon="el-icon-plus" type="primary">鏂板缓</el-button>
+ </div>
+ <el-table v-loading="loading" :data="list" stripe>
+ <el-table-column prop="renterName" label="瀹㈡埛鍚嶇О" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="startDate" label="寮�濮嬫棩鏈�" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="endDate" label="缁撴潫鏃ユ湡" min-width="100" show-overflow-tooltip />
+<!-- <el-table-column label="绉熻祦鍗曚环" min-width="100" show-overflow-tooltip></el-table-column>-->
+ <el-table-column prop="totalArea" label="绉熻祦闈㈢Н" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="signDate" label="绛捐鏃�" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="code" label="鍚堝悓缂栧彿" min-width="100" show-overflow-tooltip />
+ <el-table-column label="鍚堝悓鐘舵��" min-width="90" fixed="right" show-overflow-tooltip>
+ <template slot-scope="{row}">
+ <span class="primaryColor" v-if="row.status === 0">寰呮墽琛�</span>
+ <span class="green" v-if="row.status === 1">姝e父鎵ц涓�</span>
+ <span class="gary" v-if="row.status === 2">宸插埌鏈�</span>
+ <span class="gary" v-if="row.status === 3">閫�绉熺粨绠椾腑</span>
+ <span class="gary" v-if="row.status === 4">宸查��绉�</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" min-width="90" fixed="right" show-overflow-tooltip>
+ <template v-slot="scope">
+ <span class="primaryColor cu" @click="handleDetail(scope.row.id)">鏌ョ湅璇︽儏</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="mt20">
+ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+ <ContractDetail ref="ContractDetailRef" />
+ <ContractEdit ref="ContractEditRef" @success="getList(1)" />
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import ContractDetail from './components/contractDetail'
+import ContractEdit from './components/contractEdit.vue'
+import { fetchList } from '@/api/contract'
+import dayjs from 'dayjs'
+import duration from 'dayjs/plugin/duration'
+dayjs.extend(duration)
+
+export default {
+ components: {
+ Pagination,
+ QueryForm,
+ ContractEdit,
+ ContractDetail
+ },
+ data () {
+ return {
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0
+ },
+ filters: {},
+ list: [],
+ total: 0,
+ queryFormConfig: {
+ formItems: [
+ {
+ filed: 'renterName',
+ type: 'input',
+ label: '瀹㈡埛鍚嶇О'
+ },
+ {
+ filed: 'code',
+ type: 'input',
+ label: '鍚堝悓缂栧彿'
+ },
+ {
+ filed: 'status',
+ type: 'select',
+ label: '鍚堝悓鐘舵��',
+ options: [
+ { value: 0, label: '寰呮墽琛�' },
+ { value: 1, label: '姝e父鎵ц涓�' },
+ { value: 2, label: '宸插埌鏈�' },
+ { value: 3, label: '閫�绉熺粨绠椾腑' },
+ { value: 4, label: '宸查��绉�' },
+ ]
+ },
+ {
+ filed: 'selDate',
+ type: 'datetimerange',
+ label: '鍚堝悓鏃ユ湡',
+ placeholder: '鍚堝悓鏃ユ湡'
+ }
+ ],
+ online: true
+ }
+ }
+ },
+ created () {
+ this.getList()
+ },
+ methods: {
+ handleDetail (id) {
+ this.$refs.ContractDetailRef.open('鍚堝悓璇︽儏', id)
+ },
+ getList (page) {
+ const { pagination, filters } = this
+ this.loading = true
+ fetchList({
+ model: {
+ ...filters
+ },
+ sorts: [{ direction: 'DESC', property: 'param1' }],
+ capacity: pagination.pageSize,
+ page: page || pagination.page
+ }).then(res => {
+ this.loading = false
+ this.list = res.records || []
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ clear () {
+ this.filters = {}
+ this.pagination.pageSize = 10
+ this.pagination.page = 1
+ this.getList()
+ },
+ handleSizeChange (capacity) {
+ this.pagination.pageSize = capacity
+ }
+ }
+}
+</script>
+
+<style>
+</>
--
Gitblit v1.9.3