| 
					
				 | 
			
			
				@@ -1,131 +1,106 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div class="contenBox"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="table-action flex-b"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="customList">{{ contentConfig.header.title ? contentConfig.header.title : '' }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="btns"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <slot name="button"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-table :data="pageList" style="width: 100%; max-height: 55vh; overflow: auto" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            @selection-change="handleSelectionChange" ref="multipleTableRef" v-bind="props.contentConfig?.tableProps" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            :row-key="getRowKeys" v-loading="loading"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <template v-for="item in contentConfig.propsList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- 序号 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column :fixed="item.fixed" v-if="item.type === 'index'" type="index" :key="item.prop" center> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- 选择 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column :fixed="item.fixed" type="selection" width="55" align="center" :key="item.prop" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    v-if="item.type === 'selection'" :reserve-selection="true" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- 操作类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column :key="item" :fixed="item.fixed" align="center" v-bind="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    v-else-if="item.type === 'handler'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <slot :name="item.slotName" v-bind="scope"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<div class="contenBox"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<div class="table-action flex-b"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<div class="customList">{{ contentConfig.header.title ? contentConfig.header.title : '' }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<div class="btns"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<slot name="button"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<el-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			:data="pageList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			style="width: 100%; max-height: 55vh; overflow: auto" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			@selection-change="handleSelectionChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ref="multipleTableRef" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			v-bind="props.contentConfig?.tableProps" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			:row-key="getRowKeys" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			v-loading="loading" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<template v-for="item in contentConfig.propsList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<!-- 序号 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:fixed="item.fixed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-if="item.type === 'index'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					type="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:key="item.prop" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					center 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				</el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<!-- 选择 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:fixed="item.fixed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					type="selection" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					width="55" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:key="item.prop" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-if="item.type === 'selection'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:reserve-selection="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<!-- 操作类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:key="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:fixed="item.fixed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-bind="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-else-if="item.type === 'handler'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						<slot :name="item.slotName" v-bind="scope"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				</el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- 自定义类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column show-overflow-tooltip :fixed="item.fixed" :key="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    v-else-if="item.type === 'custom'" :label="item.label" :width="item.width" :prop="item.prop" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :sortable="item.sortable || false" :column-key="item.prop"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <slot :name="item.slotName" v-bind="scope"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- 时间类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column show-overflow-tooltip :fixed="item.fixed" :key="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    v-else-if="item.type === 'time'" align="center" :label="item.label" :width="item.width"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        {{ parseTime(scope.row[item.prop]) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- 普通渲染类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column :fixed="item.fixed" show-overflow-tooltip v-else-if="item.type === 'normal'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :key="item.label" v-bind="item" :prop="item.prop" :sortable="item.sortable || false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :column-key="item.prop" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <!-- 倒序类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column :fixed="item.fixed" show-overflow-tooltip v-else-if="item.type === 'sortable'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    :key="item.label" sortable v-bind="item" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="flex-b"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div v-if="contentConfig.moneyTotal"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="flex" v-if="contentConfig.moneyTotalType === false"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr10">小计:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20" v-if="!contentConfig.customSubtotal"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        数量 {{ subNumber || 0 }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        张 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20" v-else>数量 {{ subtotalNum || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <slot name="subtotalSlot"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div v-else class="flex"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr10">小计:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20" v-if="!contentConfig.customSubtotal"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        费用金额 {{ subtotal || 0 }}元 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20" v-else>费用金额 {{ subtotalNum || 0 }}元</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <slot name="subtotalSlot"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div v-if="contentConfig.moneyTotalType === false" class="flex"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr10">总计:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20">数量 {{ resDate.moneyTotal || 0 }} 张</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <slot name="totalSlot"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div v-else class="flex"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr10">总计:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20">费用金额 {{ resDate.moneyTotal || 0 }} 元</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <slot name="totalSlot"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div v-else-if="contentConfig.energyMonery"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="flex"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr10">小计:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20 energyClass"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">电:{{ electricity || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">水:{{ water || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">气:{{ gas || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <slot name="subtotalSlot"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="flex"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr10">总计:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20 energyClass"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">电:{{ electricityTotalPrice || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">水:{{ waterTotalPrice || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">气:{{ gasTotalPrice || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <slot name="totalSlot"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <!-- 其他/能耗费用计算 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div style="width: 60%;" v-else-if="contentConfig.energyConsumption"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="flex" v-if="contentConfig.energyConsumptionType === false"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr10">能耗总量:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20 energyClass"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName" v-for="(item, index) in rowDate.value" :key="index">{{ item.energyName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }}:{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                item.dosage || 0 }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="flex" v-else> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr10">能耗总量:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="footSlotStyle mr20 energyClass"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">电:{{ electricityDosage || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">水:{{ waterDosage || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="itemName">气:{{ gasDosage || 0 }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="flex" v-else></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-pagination class="mt10" v-model:current-page="systemStore.pageInfo.pageNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                v-model:page-size="systemStore.pageInfo.pageSize" :page-sizes="sizes" :small="false" :disabled="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                :background="true" layout="total, sizes, prev, pager, next, jumper" :total="pageTotalCount" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                @size-change="onPageSizeChange" @current-change="onPageChange" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<!-- 自定义类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					show-overflow-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:fixed="item.fixed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:key="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-else-if="item.type === 'custom'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:label="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:width="item.width" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:prop="item.prop" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:sortable="item.sortable || false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:column-key="item.prop" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						<slot :name="item.slotName" v-bind="scope"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				</el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<!-- 时间类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					show-overflow-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:fixed="item.fixed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:key="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-else-if="item.type === 'time'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:label="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:width="item.width" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						{{ parseTime(scope.row[item.prop]) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				</el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<!-- 普通渲染类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:fixed="item.fixed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					show-overflow-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-else-if="item.type === 'normal'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:key="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-bind="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:prop="item.prop" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:sortable="item.sortable || false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:column-key="item.prop" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<!-- 倒序类 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:fixed="item.fixed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					show-overflow-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-else-if="item.type === 'sortable'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					:key="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					sortable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					v-bind="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		</el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script setup lang="ts" name="content"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,85 +109,70 @@ import { parseTime } from '@/utils/ruoyi'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import useUserStore from '@/store/modules/user'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const userStore = useUserStore().userInfo.userName === 'admin' ? '' : useUserStore().userInfo.userId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { ref, watch } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// import { ElTable } from 'element-plus'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { useSharedValueStore } from './sharedValueStore'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const props = withDefaults( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    defineProps<{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        contentConfig: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            pageName: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            status: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            createUser: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            oneself: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            header: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                title: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tableProps: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            propsList: any[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            pageListParams?: {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            moneyTotal?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            energyConsumption?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            energyConsumptionType?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            energyMonery?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            moneyTotalType?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customSubtotal?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sizes?: number[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        showSummary?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        summaryMethod?: () => any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        subtotalNum?: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }>(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sizes: [10, 50, 100, 300, 500], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        customSubtotal: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	defineProps<{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		contentConfig: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pageName: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			status: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			createUser: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			oneself: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			header: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				title: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			tableProps: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			propsList: any[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pageListParams?: {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			moneyTotal?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			energyConsumption?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			energyConsumptionType?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			energyMonery?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			moneyTotalType?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			customSubtotal?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		sizes?: number[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		showSummary?: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		summaryMethod?: () => any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		subtotalNum?: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}>(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		sizes: [10, 50, 100, 300, 500], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		customSubtotal: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const emit = defineEmits(['handleSelect', 'pageChanged']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const loading = ref(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 请求数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const systemStore = useSystemStore(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// const pageNum = ref(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// const pageSize = ref(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const sharedValueStore = useSharedValueStore(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const sharedValue = computed(() => sharedValueStore.sharedValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 async function fetchPageListData(queryInfo: any = {}) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    loading.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // const pageNumber = pageNum.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // const pageSizeValue = pageSize.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 2.发生网络请求 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    await systemStore 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .getPageListDataAction(props.contentConfig.pageName, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            pageNum: systemStore.pageInfo.pageNum, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            pageSize: systemStore.pageInfo.pageSize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            userId: userStore, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            status: props.contentConfig.status, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            createUser: props.contentConfig.createUser, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            oneself: props.contentConfig.oneself, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ...queryInfo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ...props.contentConfig.pageListParams, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            loading.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	loading.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	await systemStore 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.getPageListDataAction(props.contentConfig.pageName, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pageNum: systemStore.pageInfo.pageNum, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pageSize: systemStore.pageInfo.pageSize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			userId: userStore, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			status: props.contentConfig.status, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			createUser: props.contentConfig.createUser, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			oneself: props.contentConfig.oneself, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			...queryInfo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			...props.contentConfig.pageListParams, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			loading.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fetchPageListData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 systemStore.$onAction(arg => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (arg.name === 'newPageDataAction' || arg.name === 'deletePageDataAction') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // pageNum.value = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // pageSize.value = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        systemStore.pageInfo.pageNum = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        systemStore.pageInfo.pageSize = 50; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (arg.name === 'newPageDataAction' || arg.name === 'deletePageDataAction') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		systemStore.pageInfo.pageNum = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		systemStore.pageInfo.pageSize = 50; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 2.展示数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const { pageList, pageTotalCount, resDate } = storeToRefs(systemStore); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 监听列表数据变化清空选择器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const multipleTableRef = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let subtotal = ref(0 as any); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let subNumber = ref(0 as any); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -225,182 +185,94 @@ const electricityTotalPrice = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const gasTotalPrice = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const waterTotalPrice = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 watch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    () => resDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (newValue: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (props.contentConfig?.energyConsumption === true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (props.contentConfig?.energyConsumptionType === false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                rowDate.value = newValue._object.resDate.otherEnergyList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                electricityDosage.value = newValue._object.resDate.electricityDosage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                gasDosage.value = newValue._object.resDate.gasDosage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                waterDosage.value = newValue._object.resDate.waterDosage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } if (props.contentConfig?.energyMonery === true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            electricityTotalPrice.value = newValue._object.resDate.electricityDosage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            gasTotalPrice.value = newValue._object.resDate.gasDosage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            waterTotalPrice.value = newValue._object.resDate.waterDosage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    { deep: true } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	() => resDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(newValue: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (props.contentConfig?.energyConsumption === true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (props.contentConfig?.energyConsumptionType === false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				rowDate.value = newValue._object.resDate.otherEnergyList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				electricityDosage.value = newValue._object.resDate.electricityDosage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				gasDosage.value = newValue._object.resDate.gasDosage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				waterDosage.value = newValue._object.resDate.waterDosage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (props.contentConfig?.energyMonery === true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			electricityTotalPrice.value = newValue._object.resDate.electricityDosage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gasTotalPrice.value = newValue._object.resDate.gasDosage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			waterTotalPrice.value = newValue._object.resDate.waterDosage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ deep: true } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 watch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    () => pageList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (newValue: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (clearFlag.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            multipleTableRef.value!.clearSelection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            subtotal.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            subNumber.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 控制是否清空所选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        clearFlag.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // pageList.value.forEach((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //     subtotal.value += item.moneyTotal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // subtotal.value = Number(subtotal.value.toFixed(2)).toFixed(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    { deep: true } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	() => pageList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(newValue: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (clearFlag.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			multipleTableRef.value!.clearSelection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			subtotal.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			subNumber.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		clearFlag.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ deep: true } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 处理选中状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const selectedItems = ref([] as any); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getRowKeys = row => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return row.checkId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const echoWay = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    await pageList.value.forEach((row: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (selectedItems.value!.indexOf(row.checkId) >= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            multipleTableRef.value!.toggleRowSelection(row, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // console.log(selectedItems.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return row.checkId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 清空多选 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function clearSelection() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (pageList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        multipleTableRef.value!.clearSelection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (pageList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		multipleTableRef.value!.clearSelection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const water = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const electricity = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const gas = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 多选框切换 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function handleSelectionChange(e: any) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    emit('handleSelect', e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (props.contentConfig.energyMonery) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        water.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        electricity.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        gas.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        e.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (item.energyType == '水') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let waters = item.moneyTotal * 100; // 将金额转换为分; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                water.value += waters; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else if (item.energyType == '电') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let electricitys = item.moneyTotal * 100; // 将金额转换为分; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                electricity.value += electricitys; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else if (item.energyType == '气') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let gase = item.moneyTotal * 100; // 将金额转换为分; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                gas.value += gase; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        water.value = (water.value / 100).toFixed(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        electricity.value = (electricity.value / 100).toFixed(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        gas.value = (gas.value / 100).toFixed(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log('zheshi', water.value, electricity.value, gas.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        subtotal.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        subNumber.value = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selectedItems.value = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        e.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            subNumber.value += item.moneyTotal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let moneyTotalInCents = item.moneyTotal * 100; // 将金额转换为分 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            subtotal.value += moneyTotalInCents; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            selectedItems.value.push(item.checkId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        subtotal.value = (subtotal.value / 100).toFixed(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // selectedItems.value = e.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //     console.log(item.moneyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //     subtotal.value += item.moneyTotal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //     return item.checkId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // console.log(subtotal.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	emit('handleSelect', e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 页码变化 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-async function onPageSizeChange(size: number) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 每页条数改变函数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // pageSize.value = size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // pageNum.value = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    systemStore.pageInfo.pageSize = size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    systemStore.pageInfo.pageNum = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 控制是否清空所选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    clearFlag.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    await fetchPageListData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 恢复选中状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // await echoWay(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-async function onPageChange(current: number) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 页码改变函数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    systemStore.pageInfo.pageNum = current; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    systemStore.pageInfo.pageNum = current; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 控制是否清空所选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    clearFlag.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    await fetchPageListData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 恢复选中状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // await echoWay(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-watch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    () => sharedValueStore.pageNum, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (newVal, oldVal) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // pageNum.value = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        systemStore.pageInfo.pageNum = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    { deep: true } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 暴露函数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 defineExpose({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    clearSelection, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    fetchPageListData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	clearSelection, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fetchPageListData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <style scoped lang="scss"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .contenBox { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    padding: 15px 20px 20px 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    margin-top: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	padding: 15px 20px 20px 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	margin-top: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    .table-action { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        margin-bottom: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.table-action { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		margin-bottom: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            margin-right: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		button { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			margin-right: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    .ivu-table-header thead tr th { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        background-color: #f0f9fe; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.ivu-table-header thead tr th { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		background-color: #f0f9fe; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .customList { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    color: #606266; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    font-weight: 700; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	color: #606266; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	font-weight: 700; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .itemName { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    margin: 0 10px 5px 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	margin: 0 10px 5px 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .energyClass { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    flex-wrap: wrap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    flex: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	flex-wrap: wrap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	flex: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </style> 
			 |