Commit 06ec2cd7210505d637bb38c5fd1b5764c025f02f

Authored by wuxw
1 parent 963f5a4f

水电抄表测试完成

src/api/fee/meterWaterManageApi.js
... ... @@ -206,7 +206,7 @@ export function importMeterWaterData(data) {
206 206 return new Promise((resolve, reject) => {
207 207 data.append('communityId', getCommunityId())
208 208 request({
209   - url: '/assetImport/importData',
  209 + url: '/callComponent/upload/assetImport/importData',
210 210 method: 'post',
211 211 data,
212 212 headers: {
... ...
src/api/system/systemInfoManageApi.js
... ... @@ -38,4 +38,13 @@ export function updateSystemInfo(data) {
38 38 reject(error)
39 39 })
40 40 })
  41 +}
  42 +
  43 +export function getPropertyUrl() {
  44 + let systemInfo = localStorage.getItem('java110SystemInfo')
  45 + if (systemInfo) {
  46 + systemInfo = JSON.parse(systemInfo)
  47 + return systemInfo.propertyUrl
  48 + }
  49 + return ''
41 50 }
42 51 \ No newline at end of file
... ...
src/components/fee/addMeterWater.vue
... ... @@ -210,8 +210,8 @@ export default {
210 210 try {
211 211 const data = await getDict('pay_fee_config', 'fee_type_cd')
212 212 this.feeTypeOptions = data.map(item => ({
213   - value: item.name,
214   - label: item.label
  213 + value: item.statusCd,
  214 + label: item.name
215 215 }))
216 216 } catch (error) {
217 217 console.error('Failed to load fee types:', error)
... ... @@ -229,13 +229,12 @@ export default {
229 229 console.error('Failed to load meter types:', error)
230 230 }
231 231 },
232   - async handleFeeTypeChange(feeTypeCd) {
  232 + async handleFeeTypeChange() {
233 233 try {
234 234 const { data } = await listFeeConfigs({
235 235 communityId: this.form.communityId,
236   - feeTypeCd,
  236 + feeTypeCd: this.form.feeTypeCd,
237 237 isDefault: 'F',
238   - valid: '1',
239 238 page: 1,
240 239 row: 20
241 240 })
... ... @@ -330,14 +329,17 @@ export default {
330 329 color: #999;
331 330 margin-top: 5px;
332 331 }
333   -.el-form-item{
  332 +
  333 +.el-form-item {
334 334 width: 90%;
335 335 text-align: left;
336 336 }
337   -.el-select{
  337 +
  338 +.el-select {
338 339 width: 100%;
339 340 }
340   -.el-date-editor{
  341 +
  342 +.el-date-editor {
341 343 width: 100%;
342 344 }
343 345 </style>
344 346 \ No newline at end of file
... ...
src/components/fee/contractCreateFeeAdd.vue
1 1 <template>
2 2 <el-dialog :title="$t('contractCreateFeeAdd.title')" :visible.sync="visible" width="800px" @close="handleClose">
3   - <el-form ref="form" :model="formData" :rules="rules" label-width="120px" label-position="right">
  3 + <el-form ref="form" :model="formData" :rules="rules" label-width="120px" label-position="right" class="text-left">
4 4 <el-form-item :label="$t('contractCreateFeeAdd.feeTypeCd')" prop="feeTypeCd">
5 5 <el-select v-model="formData.feeTypeCd" :placeholder="$t('contractCreateFeeAdd.selectFeeType')"
6 6 style="width: 100%" @change="handleFeeTypeChange">
... ... @@ -45,14 +45,14 @@
45 45 </el-form-item>
46 46  
47 47 <el-form-item :label="$t('contractCreateFeeAdd.endTime')" prop="endTime" :rules="formData.feeFlag === '2006012'
48   - ? [
49   - {
50   - required: true,
51   - message: $t('contractCreateFeeAdd.endTimeRequired'),
52   - trigger: 'blur'
53   - }
54   - ]
55   - : []
  48 + ? [
  49 + {
  50 + required: true,
  51 + message: $t('contractCreateFeeAdd.endTimeRequired'),
  52 + trigger: 'blur'
  53 + }
  54 + ]
  55 + : []
56 56 ">
57 57 <el-date-picker v-model="formData.endTime" type="datetime"
58 58 :placeholder="$t('contractCreateFeeAdd.selectEndTime')" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%"
... ... @@ -72,8 +72,8 @@
72 72 </template>
73 73  
74 74 <script>
75   -import { saveContractCreateFee,listFeeConfigs } from '@/api/fee/contractCreateFeeApi'
76   -import { getCommunityId,getDict } from '@/api/community/communityApi'
  75 +import { saveContractCreateFee, listFeeConfigs } from '@/api/fee/contractCreateFeeApi'
  76 +import { getCommunityId, getDict } from '@/api/community/communityApi'
77 77  
78 78 export default {
79 79 name: 'ContractCreateFeeAdd',
... ...
src/components/fee/importMeterWaterFee.vue
1 1 <template>
2   - <el-dialog
3   - :title="$t('meterWater.meterReadingImport')"
4   - :visible.sync="dialogVisible"
5   - width="50%"
6   - @close="handleClose"
7   - >
8   - <el-form
9   - ref="form"
10   - :model="form"
11   - :rules="rules"
12   - label-width="120px"
13   - label-position="right"
14   - >
  2 + <el-dialog :title="$t('meterWater.meterReadingImport')" :visible.sync="dialogVisible" width="40%"
  3 + @close="handleClose">
  4 + <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="right" class="text-left">
15 5 <el-form-item :label="$t('meterWater.feeType')" prop="feeTypeCd">
16   - <el-select
17   - v-model="form.feeTypeCd"
18   - :placeholder="$t('meterWater.selectFeeType')"
19   - style="width: 100%"
20   - @change="handleFeeTypeChange"
21   - >
22   - <el-option
23   - v-for="item in feeTypeOptions"
24   - :key="item.value"
25   - :label="item.label"
26   - :value="item.value"
27   - />
  6 + <el-select v-model="form.feeTypeCd" :placeholder="$t('meterWater.selectFeeType')" style="width: 100%"
  7 + @change="handleFeeTypeChange">
  8 + <el-option v-for="item in feeTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
28 9 </el-select>
29 10 </el-form-item>
30 11  
31 12 <el-form-item :label="$t('meterWater.feeItem')" prop="configId">
32   - <el-select
33   - v-model="form.configId"
34   - :placeholder="$t('meterWater.selectFeeItem')"
35   - style="width: 100%"
36   - >
37   - <el-option
38   - v-for="item in feeConfigs"
39   - :key="item.configId"
40   - :label="item.feeName"
41   - :value="item.configId"
42   - />
  13 + <el-select v-model="form.configId" :placeholder="$t('meterWater.selectFeeItem')" style="width: 100%">
  14 + <el-option v-for="item in feeConfigs" :key="item.configId" :label="item.feeName" :value="item.configId" />
43 15 </el-select>
44 16 </el-form-item>
45 17  
46 18 <el-form-item :label="$t('meterWater.meterType')" prop="meterType">
47   - <el-select
48   - v-model="form.meterType"
49   - :placeholder="$t('meterWater.selectMeterType')"
50   - style="width: 100%"
51   - >
52   - <el-option
53   - v-for="item in meterTypes"
54   - :key="item.typeId"
55   - :label="item.typeName"
56   - :value="item.typeId"
57   - />
  19 + <el-select v-model="form.meterType" :placeholder="$t('meterWater.selectMeterType')" style="width: 100%">
  20 + <el-option v-for="item in meterTypes" :key="item.typeId" :label="item.typeName" :value="item.typeId" />
58 21 </el-select>
59 22 </el-form-item>
60 23  
61 24 <el-form-item :label="$t('meterWater.selectFile')" prop="file">
62   - <el-upload
63   - ref="upload"
64   - :auto-upload="false"
65   - :limit="1"
66   - :on-change="handleFileChange"
67   - :file-list="fileList"
68   - accept=".xls,.xlsx"
69   - >
  25 + <el-upload ref="upload" :auto-upload="false" :limit="1" :on-change="handleFileChange" :file-list="fileList"
  26 + accept=".xls,.xlsx" action="">
70 27 <el-button size="small" type="primary">{{ $t('meterWater.selectFile') }}</el-button>
71 28 <div slot="tip" class="el-upload__tip">
72 29 {{ fileList.length > 0 ? fileList[0].name : $t('meterWater.fileRequired') }}
... ... @@ -195,9 +152,14 @@ export default {
195 152 try {
196 153 await exportMeterWaterTemplate({
197 154 communityId: this.form.communityId,
198   - meterType: this.form.meterType
  155 + meterType: this.form.meterType,
  156 + pagePath:'exportMeterWater'
199 157 })
  158 +
200 159 this.$message.success(this.$t('meterWater.downloadStarted'))
  160 + this.dialogVisible = false
  161 + this.$router.push('/pages/property/downloadTempFile?tab=下载中心')
  162 +
201 163 } catch (error) {
202 164 console.error('Failed to download template:', error)
203 165 this.$message.error(error.message || this.$t('common.downloadFailed'))
... ... @@ -221,13 +183,16 @@ export default {
221 183 formData.append('importAdapt', 'importMeterWaterFee')
222 184  
223 185 try {
224   - const { data } = await importMeterWaterData(formData)
  186 + const res = await importMeterWaterData(formData)
  187 + if(!res.code){
  188 + this.$message.error(res)
  189 + return ;
  190 + }
225 191 this.$message.success(this.$t('meterWater.importSuccess'))
226 192 this.dialogVisible = false
227   - this.$emit('success', data.logId)
  193 + this.$emit('success', res.logId)
228 194 } catch (error) {
229   - console.error('Failed to import meter water data:', error)
230   - this.$message.error(error.message || this.$t('common.importFailed'))
  195 + this.$message.error(error.response.data|| this.$t('common.importFailed'))
231 196 }
232 197 })
233 198 }
... ...
src/components/fee/importMeterWaterFee2.vue
1 1 <template>
2   - <el-dialog
3   - :title="$t('meterWater.meterReadingImport2')"
4   - :visible.sync="dialogVisible"
5   - width="50%"
6   - @close="handleClose"
7   - >
8   - <el-form
9   - ref="form"
10   - :model="form"
11   - :rules="rules"
12   - label-width="120px"
13   - label-position="right"
14   - >
  2 + <el-dialog :title="$t('meterWater.meterReadingImport2')" :visible.sync="dialogVisible" width="40%"
  3 + @close="handleClose">
  4 + <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="right" class="text-left">
15 5 <el-form-item :label="$t('meterWater.feeType')" prop="feeTypeCd">
16   - <el-select
17   - v-model="form.feeTypeCd"
18   - :placeholder="$t('meterWater.selectFeeType')"
19   - style="width: 100%"
20   - @change="handleFeeTypeChange"
21   - >
22   - <el-option
23   - v-for="item in feeTypeOptions"
24   - :key="item.value"
25   - :label="item.label"
26   - :value="item.value"
27   - />
  6 + <el-select v-model="form.feeTypeCd" :placeholder="$t('meterWater.selectFeeType')" style="width: 100%"
  7 + @change="handleFeeTypeChange">
  8 + <el-option v-for="item in feeTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
28 9 </el-select>
29 10 </el-form-item>
30 11  
31 12 <el-form-item :label="$t('meterWater.feeItem')" prop="configId">
32   - <el-select
33   - v-model="form.configId"
34   - :placeholder="$t('meterWater.selectFeeItem')"
35   - style="width: 100%"
36   - >
37   - <el-option
38   - v-for="item in feeConfigs"
39   - :key="item.configId"
40   - :label="item.feeName"
41   - :value="item.configId"
42   - />
  13 + <el-select v-model="form.configId" :placeholder="$t('meterWater.selectFeeItem')" style="width: 100%">
  14 + <el-option v-for="item in feeConfigs" :key="item.configId" :label="item.feeName" :value="item.configId" />
43 15 </el-select>
44 16 </el-form-item>
45 17  
46 18 <el-form-item :label="$t('meterWater.meterType')" prop="meterType">
47   - <el-select
48   - v-model="form.meterType"
49   - :placeholder="$t('meterWater.selectMeterType')"
50   - style="width: 100%"
51   - >
52   - <el-option
53   - v-for="item in meterTypes"
54   - :key="item.typeId"
55   - :label="item.typeName"
56   - :value="item.typeId"
57   - />
  19 + <el-select v-model="form.meterType" :placeholder="$t('meterWater.selectMeterType')" style="width: 100%">
  20 + <el-option v-for="item in meterTypes" :key="item.typeId" :label="item.typeName" :value="item.typeId" />
58 21 </el-select>
59 22 </el-form-item>
60 23  
61 24 <el-form-item :label="$t('meterWater.selectFile')" prop="file">
62   - <el-upload
63   - ref="upload"
64   - :auto-upload="false"
65   - :limit="1"
66   - :on-change="handleFileChange"
67   - :file-list="fileList"
68   - accept=".xls,.xlsx"
69   - >
  25 + <el-upload ref="upload" :auto-upload="false" :limit="1" :on-change="handleFileChange" :file-list="fileList"
  26 + accept=".xls,.xlsx" action="">
70 27 <el-button size="small" type="primary">{{ $t('meterWater.selectFile') }}</el-button>
71 28 <div slot="tip" class="el-upload__tip">
72 29 {{ fileList.length > 0 ? fileList[0].name : $t('meterWater.fileRequired') }}
... ... @@ -204,6 +161,8 @@ export default {
204 161 pagePath: 'exportMeterWater2'
205 162 })
206 163 this.$message.success(this.$t('meterWater.downloadStarted'))
  164 + this.dialogVisible = false
  165 + this.$router.push('/pages/property/downloadTempFile?tab=下载中心')
207 166 } catch (error) {
208 167 console.error('Failed to download template:', error)
209 168 this.$message.error(error.message || this.$t('common.downloadFailed'))
... ... @@ -228,13 +187,13 @@ export default {
228 187 formData.append('importMeterDynamic', 'true')
229 188  
230 189 try {
231   - const { data } = await importMeterWaterData(formData)
  190 + const res = await importMeterWaterData(formData)
  191 +
232 192 this.$message.success(this.$t('meterWater.importSuccess'))
233 193 this.dialogVisible = false
234   - this.$emit('success', data.logId)
  194 + this.$emit('success', res.logId)
235 195 } catch (error) {
236   - console.error('Failed to import meter water data:', error)
237   - this.$message.error(error.message || this.$t('common.importFailed'))
  196 + this.$message.error(error.response.data || this.$t('common.importFailed'))
238 197 }
239 198 })
240 199 }
... ...
src/components/fee/roomMeterQrcode.vue
1 1 <template>
2   - <el-dialog :title="$t('meterWater.meterQRCode')" :visible.sync="dialogVisible" width="50%" @close="handleClose">
3   - <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="right">
  2 + <el-dialog :title="$t('meterWater.meterQRCode')" :visible.sync="dialogVisible" width="40%" @close="handleClose">
  3 + <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="right" class="text-left">
4 4 <el-form-item :label="$t('meterWater.feeType')" prop="feeTypeCd">
5 5 <el-select v-model="form.feeTypeCd" :placeholder="$t('meterWater.selectFeeType')" style="width: 100%"
6 6 @change="handleFeeTypeChange">
... ... @@ -29,7 +29,7 @@
29 29 <el-input v-model="form.ownerName" :placeholder="$t('meterWater.inputRoom')" disabled />
30 30 </el-form-item>
31 31  
32   - <el-form-item v-if="showQRCode" :label="$t('meterWater.qrCode')">
  32 + <el-form-item v-show="showQRCode" :label="$t('meterWater.qrCode')">
33 33 <div class="qr-code-container">
34 34 <div id="qrCodeCanvas" class="qr-code-canvas"></div>
35 35 <div class="qr-code-title">
... ... @@ -53,6 +53,7 @@ import QRCode from &#39;qrcodejs2&#39;
53 53 import { listFeeConfigs, listMeterTypes } from '@/api/fee/meterWaterManageApi'
54 54 import { getDict } from '@/api/community/communityApi'
55 55 import { getCommunityId } from '@/api/community/communityApi'
  56 +import { getPropertyUrl } from '@/api/system/systemInfoManageApi'
56 57  
57 58 export default {
58 59 name: 'RoomMeterQrcode',
... ... @@ -173,7 +174,7 @@ export default {
173 174  
174 175 this.clearQRCode()
175 176  
176   - const propertyUrl = this.$store.getters.systemInfo.propertyUrl
  177 + const propertyUrl = getPropertyUrl()
177 178 const qrCodeUrl = `${propertyUrl}pages/meter/qrcodeMeter?configId=${this.form.configId}&meterType=${this.form.meterType}&roomId=${this.form.roomId}&communityId=${this.form.communityId}`
178 179  
179 180 this.qrCode = new QRCode(document.getElementById('qrCodeCanvas'), {
... ...
src/views/fee/contractCreateFeeList.vue
... ... @@ -7,25 +7,16 @@
7 7 </div>
8 8 <el-row :gutter="20">
9 9 <el-col :span="6">
10   - <el-input
11   - v-model.trim="searchForm.contractCode"
12   - :placeholder="$t('contractCreateFee.search.contractCode')"
13   - clearable
14   - />
  10 + <el-input v-model.trim="searchForm.contractCode" :placeholder="$t('contractCreateFee.search.contractCode')"
  11 + clearable />
15 12 </el-col>
16 13 <el-col :span="6">
17   - <el-input
18   - v-model.trim="searchForm.contractNameLike"
19   - :placeholder="$t('contractCreateFee.search.contractNameLike')"
20   - clearable
21   - />
  14 + <el-input v-model.trim="searchForm.contractNameLike"
  15 + :placeholder="$t('contractCreateFee.search.contractNameLike')" clearable />
22 16 </el-col>
23 17 <el-col :span="6">
24   - <el-input
25   - v-model.trim="searchForm.contractType"
26   - :placeholder="$t('contractCreateFee.search.contractType')"
27   - clearable
28   - />
  18 + <el-input v-model.trim="searchForm.contractType" :placeholder="$t('contractCreateFee.search.contractType')"
  19 + clearable />
29 20 </el-col>
30 21 <el-col :span="6">
31 22 <el-button type="primary" @click="handleSearch">
... ... @@ -44,77 +35,29 @@
44 35 <el-card class="list-wrapper">
45 36 <div slot="header" class="flex justify-between">
46 37 <span>{{ $t('contractCreateFee.list.title') }}</span>
47   - <el-button
48   - type="primary"
49   - size="small"
50   - @click="handleBatchCreate"
51   - >
  38 + <el-button type="primary" size="small" @click="handleBatchCreate">
52 39 <i class="el-icon-plus"></i>
53 40 {{ $t('contractCreateFee.list.batchCreate') }}
54 41 </el-button>
55 42 </div>
56 43  
57   - <el-table
58   - v-loading="loading"
59   - :data="tableData"
60   - border
61   - style="width: 100%"
62   - >
63   - <el-table-column
64   - prop="contractCode"
65   - :label="$t('contractCreateFee.table.contractCode')"
66   - align="center"
67   - />
68   - <el-table-column
69   - prop="parentContractCode"
70   - :label="$t('contractCreateFee.table.parentContractCode')"
71   - align="center"
72   - >
  44 + <el-table v-loading="loading" :data="tableData" border style="width: 100%">
  45 + <el-table-column prop="contractCode" :label="$t('contractCreateFee.table.contractCode')" align="center" />
  46 + <el-table-column prop="parentContractCode" :label="$t('contractCreateFee.table.parentContractCode')"
  47 + align="center">
73 48 <template slot-scope="scope">
74 49 {{ scope.row.parentContractCode || '-' }}
75 50 </template>
76 51 </el-table-column>
77   - <el-table-column
78   - prop="contractName"
79   - :label="$t('contractCreateFee.table.contractName')"
80   - align="center"
81   - />
82   - <el-table-column
83   - prop="contractTypeName"
84   - :label="$t('contractCreateFee.table.contractType')"
85   - align="center"
86   - />
87   - <el-table-column
88   - prop="bContacts"
89   - :label="$t('contractCreateFee.table.partyB')"
90   - align="center"
91   - />
92   - <el-table-column
93   - prop="amount"
94   - :label="$t('contractCreateFee.table.amount')"
95   - align="center"
96   - />
97   - <el-table-column
98   - prop="startTime"
99   - :label="$t('contractCreateFee.table.startTime')"
100   - align="center"
101   - />
102   - <el-table-column
103   - prop="endTime"
104   - :label="$t('contractCreateFee.table.endTime')"
105   - align="center"
106   - />
107   - <el-table-column
108   - :label="$t('common.operation')"
109   - align="center"
110   - width="220"
111   - >
  52 + <el-table-column prop="contractName" :label="$t('contractCreateFee.table.contractName')" align="center" />
  53 + <el-table-column prop="contractTypeName" :label="$t('contractCreateFee.table.contractType')" align="center" />
  54 + <el-table-column prop="bContacts" :label="$t('contractCreateFee.table.partyB')" align="center" />
  55 + <el-table-column prop="amount" :label="$t('contractCreateFee.table.amount')" align="center" />
  56 + <el-table-column prop="startTime" :label="$t('contractCreateFee.table.startTime')" align="center" />
  57 + <el-table-column prop="endTime" :label="$t('contractCreateFee.table.endTime')" align="center" />
  58 + <el-table-column :label="$t('common.operation')" align="center" width="220">
112 59 <template slot-scope="scope">
113   - <el-button
114   - v-if="scope.row.state !== '2002'"
115   - size="mini"
116   - @click="handlePayFee(scope.row)"
117   - >
  60 + <el-button v-if="scope.row.state !== '2002'" size="mini" @click="handlePayFee(scope.row)">
118 61 {{ $t('contractCreateFee.table.payFee') }}
119 62 </el-button>
120 63 <el-button size="mini" @click="handleViewDetail(scope.row)">
... ... @@ -127,15 +70,9 @@
127 70 </el-table-column>
128 71 </el-table>
129 72  
130   - <el-pagination
131   - :current-page.sync="pagination.current"
132   - :page-sizes="[10, 20, 30, 50]"
133   - :page-size="pagination.size"
134   - :total="pagination.total"
135   - layout="total, sizes, prev, pager, next, jumper"
136   - @size-change="handleSizeChange"
137   - @current-change="handleCurrentChange"
138   - />
  73 + <el-pagination :current-page.sync="pagination.current" :page-sizes="[10, 20, 30, 50]" :page-size="pagination.size"
  74 + :total="pagination.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
  75 + @current-change="handleCurrentChange" />
139 76 </el-card>
140 77  
141 78 <!-- 创建费用弹窗 -->
... ...
src/views/fee/listCarFeeList.vue
... ... @@ -5,7 +5,7 @@
5 5 <div>{{ listCarFeeInfo.carNum }}
6 6 <span>{{ $t('listCarFee.fee') }}</span>({{ listCarFeeInfo.parkingName }})
7 7 </div>
8   - <div class="ibox-tools" style="top:10px;">
  8 + <div class="" style="top:10px;">
9 9 <el-button type="primary" size="small" style="margin-left:10px" @click="_openCarCreateFeeAddModal">
10 10 <i class="el-icon-plus"></i>
11 11 <span>{{ $t('listCarFee.createFee') }}</span>
... ... @@ -16,7 +16,7 @@
16 16 </el-button>
17 17 </div>
18 18 </div>
19   - <div class="ibox-content">
  19 + <div class="">
20 20 <el-table :data="listCarFeeInfo.fees" border style="width: 100%">
21 21 <el-table-column prop="feeName" :label="$t('listCarFee.feeItem')" align="center">
22 22 <template slot-scope="scope">
... ... @@ -87,7 +87,7 @@
87 87 </el-table-column>
88 88 </el-table>
89 89 <el-row>
90   - <el-col :span="12">
  90 + <el-col :span="12" class="table-desc">
91 91 <div> {{ $t('listCarFee.note1') }}</div>
92 92 <div> {{ $t('listCarFee.note2') }}</div>
93 93 </el-col>
... ... @@ -102,9 +102,9 @@
102 102 </el-card>
103 103  
104 104 <!-- 子组件 -->
105   - <delete-fee ref="deleteFee"></delete-fee>
106   - <edit-fee ref="editFee"></edit-fee>
107   - <split-fee ref="splitFee"></split-fee>
  105 + <delete-fee ref="deleteFee" @success="handleSuccess"></delete-fee>
  106 + <edit-fee ref="editFee" @success="handleSuccess"></edit-fee>
  107 + <split-fee ref="splitFee" @success="handleSuccess"></split-fee>
108 108 <car-create-fee-add ref="carCreateFeeAdd" @success="handleSuccess"></car-create-fee-add>
109 109 <!-- <add-meter-water ref="addMeterWater"></add-meter-water> -->
110 110 </div>
... ...
src/views/fee/meterTypeManageList.vue
... ... @@ -26,7 +26,7 @@
26 26 </el-table>
27 27  
28 28 <el-row class="margin-top">
29   - <el-col :span="18" class="text-left">
  29 + <el-col :span="18" class="text-left table-desc">
30 30 <div>{{ $t('meterTypeManage.tip') }}</div>
31 31 </el-col>
32 32 <el-col :span="6">
... ...
src/views/fee/meterWaterManageList.vue
... ... @@ -9,14 +9,14 @@
9 9 <div slot="header" class="flex justify-between">
10 10 <span>{{ $t('meterWater.queryConditions') }}</span>
11 11 </div>
12   - <el-form :inline="true" :model="conditions" class="demo-form-inline">
13   - <el-form-item :label="$t('meterWater.meterType')">
  12 + <el-form :inline="true" :model="conditions" class="demo-form-inline text-left">
  13 + <el-form-item >
14 14 <el-select v-model="conditions.meterType" :placeholder="$t('meterWater.selectMeterType')" clearable
15 15 style="width: 100%">
16 16 <el-option v-for="item in meterTypes" :key="item.typeId" :label="item.typeName" :value="item.typeId" />
17 17 </el-select>
18 18 </el-form-item>
19   - <el-form-item :label="$t('meterWater.meterId')">
  19 + <el-form-item >
20 20 <el-input v-model="conditions.waterId" :placeholder="$t('meterWater.inputMeterId')" clearable />
21 21 </el-form-item>
22 22 <el-form-item>
... ...