|
|
@@ -147,6 +147,30 @@
|
|
|
>
|
|
|
<storeOrderDetails ref="order" />
|
|
|
</el-drawer>
|
|
|
+
|
|
|
+ <!-- 导出字段选择对话框 -->
|
|
|
+ <el-dialog title="选择导出字段" :visible.sync="exportDialogVisible" width="600px" append-to-body>
|
|
|
+ <div style="margin-bottom: 15px;">
|
|
|
+ <el-checkbox
|
|
|
+ :indeterminate="exportFieldOptions.some(item => item.checked) && !exportFieldOptions.every(item => item.checked)"
|
|
|
+ :value="exportFieldOptions.every(item => item.checked)"
|
|
|
+ @change="handleCheckAllChange"
|
|
|
+ >全选</el-checkbox>
|
|
|
+ </div>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="8" v-for="field in exportFieldOptions" :key="field.field">
|
|
|
+ <el-checkbox
|
|
|
+ v-model="field.checked"
|
|
|
+ :label="field.label"
|
|
|
+ style="margin-bottom: 10px;"
|
|
|
+ ></el-checkbox>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="exportDialogVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="confirmExport">确定导出</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -187,6 +211,30 @@ export default {
|
|
|
dateRange:[],
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
+ // 导出字段选择对话框
|
|
|
+ exportDialogVisible: false,
|
|
|
+ // 当前导出类型 0-全部 1-商城订单明细
|
|
|
+ currentExportType: 0,
|
|
|
+ // 可选导出字段(与后端字段对应)
|
|
|
+ exportFieldOptions: [
|
|
|
+ { field: 'logsId', label: 'ID', checked: true },
|
|
|
+ { field: 'companyName', label: '公司团队', checked: false },
|
|
|
+ { field: 'money', label: '金额', checked: true },
|
|
|
+ { field: 'balance', label: '余额', checked: true },
|
|
|
+ { field: 'redPacketConsume', label: '红包消耗', checked: false },
|
|
|
+ { field: 'rechargeDetail', label: '充值明细', checked: false },
|
|
|
+ { field: 'remark', label: '备注', checked: true },
|
|
|
+ { field: 'createTime', label: '创建时间', checked: true },
|
|
|
+ { field: 'logsType', label: '类型', checked: true },
|
|
|
+ { field: 'businessId', label: '业务ID', checked: false },
|
|
|
+ { field: 'orderCode', label: '订单号', checked: false },
|
|
|
+ { field: 'payCode', label: '收款单号', checked: false },
|
|
|
+ { field: 'payTypeCode', label: '支付方式', checked: false },
|
|
|
+ { field: 'packageName', label: '套餐名称', checked: false },
|
|
|
+ { field: 'packageSecondName', label: '套餐别名', checked: false },
|
|
|
+ { field: 'userName', label: '收货人', checked: false },
|
|
|
+ { field: 'storeName', label: '店铺名称', checked: false }
|
|
|
+ ],
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
@@ -328,15 +376,37 @@ export default {
|
|
|
},
|
|
|
/** 导出按钮操作 */
|
|
|
handleExport(type) {
|
|
|
- var that=this;
|
|
|
+ // 保存导出类型,打开字段选择对话框
|
|
|
+ this.currentExportType = type;
|
|
|
+ this.exportDialogVisible = true;
|
|
|
+ },
|
|
|
+ /** 确认导出 */
|
|
|
+ confirmExport() {
|
|
|
+ var that = this;
|
|
|
+
|
|
|
+ // 获取选中的字段
|
|
|
+ const selectedFields = this.exportFieldOptions
|
|
|
+ .filter(item => item.checked)
|
|
|
+ .map(item => item.field);
|
|
|
+
|
|
|
+ if (selectedFields.length === 0) {
|
|
|
+ this.msgWarning('请至少选择一个导出字段');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if(this.createTimeRange!=null&&this.createTimeRange.length==2){
|
|
|
this.queryParams.createTimeRange=this.createTimeRange[0]+"--"+this.createTimeRange[1]
|
|
|
}
|
|
|
else{
|
|
|
this.queryParams.createTimeRange=null;
|
|
|
}
|
|
|
+
|
|
|
const queryParams = this.queryParams;
|
|
|
- queryParams.type=type;
|
|
|
+ queryParams.type = this.currentExportType;
|
|
|
+ queryParams.filter = selectedFields.join(','); // 使用filter参数传递字段列表
|
|
|
+
|
|
|
+ this.exportDialogVisible = false;
|
|
|
+
|
|
|
this.$confirm('是否确认导出所有企业账户记录数据项?', "警告", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
@@ -361,6 +431,12 @@ export default {
|
|
|
}
|
|
|
}).catch(function() {});
|
|
|
},
|
|
|
+ /** 全选/取消全选导出字段 */
|
|
|
+ handleCheckAllChange(val) {
|
|
|
+ this.exportFieldOptions.forEach(item => {
|
|
|
+ item.checked = val;
|
|
|
+ });
|
|
|
+ },
|
|
|
changeLogsType(){
|
|
|
this.getList();
|
|
|
}
|