fix:主要数据列表导出时可按选中行导出

dev_1.0.2
jiangpeng 2026-04-28 19:52:01 +08:00
parent 8be71600a2
commit d6b41e7cb2
25 changed files with 154 additions and 39 deletions

View File

@ -1,4 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
import { tansParams } from '@/utils/ruoyi'
// 查询制造商信息列表 // 查询制造商信息列表
export function listVendor(query) { export function listVendor(query) {
@ -48,7 +49,9 @@ export function exportVendor(query) {
return request({ return request({
url: '/system/vendor/export', url: '/system/vendor/export',
method: 'post', method: 'post',
params: query data: query,
transformRequest: [(params) => tansParams(params)],
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}) })
} }

View File

@ -49,7 +49,7 @@ export function delOrder(id) {
export function exportOrder(query) { export function exportOrder(query) {
return request({ return request({
url: `${baseURL}/export`, url: `${baseURL}/export`,
method: 'post', method: 'get',
params: query params: query
}) })
} }

View File

@ -1,4 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
import { tansParams } from '@/utils/ruoyi'
// 查询项目管理列表 // 查询项目管理列表
export function listProject(query) { export function listProject(query) {
@ -51,7 +52,9 @@ export function exportProject(query) {
return request({ return request({
url: '/sip/project/vue/export', url: '/sip/project/vue/export',
method: 'post', method: 'post',
params: query data: query,
transformRequest: [(params) => tansParams(params)],
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}) })
} }

View File

@ -1,4 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
import { tansParams } from '@/utils/ruoyi'
// 查询办事处信息列表 // 查询办事处信息列表
export function listAgent(query) { export function listAgent(query) {
@ -48,6 +49,8 @@ export function exportAgent(query) {
return request({ return request({
url: '/system/agent/vue/export', url: '/system/agent/vue/export',
method: 'post', method: 'post',
params: query data: query,
transformRequest: [(params) => tansParams(params)],
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}) })
} }

View File

@ -1,4 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
import { tansParams } from '@/utils/ruoyi'
// 查询客户信息列表 // 查询客户信息列表
export function listCustomer(query) { export function listCustomer(query) {
@ -48,6 +49,8 @@ export function exportCustomer(query) {
return request({ return request({
url: '/system/customer/vue/export', url: '/system/customer/vue/export',
method: 'post', method: 'post',
params: query data: query,
transformRequest: [(params) => tansParams(params)],
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}) })
} }

View File

@ -1,4 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
import { tansParams } from '@/utils/ruoyi'
// 查询产品管理列表 // 查询产品管理列表
export function listProduct(query) { export function listProduct(query) {
@ -45,11 +46,13 @@ export function delProduct(id) {
// 导出产品管理 // 导出产品管理
export function exportProduct(query) { export function exportProduct(query) {
return request({ return request({
url: '/system/product/export', url: '/system/product/export',
method: 'post', method: 'post',
params: query data: query,
}) transformRequest: [(params) => tansParams(params)],
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
})
} }
// a new function that queries a product by its code // a new function that queries a product by its code

View File

@ -1,4 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
import { tansParams } from '@/utils/ruoyi'
// 查询仓库基础信息列表 // 查询仓库基础信息列表
export function listInfo(query) { export function listInfo(query) {
@ -45,9 +46,11 @@ export function delInfo(id) {
// 导出仓库基础信息 // 导出仓库基础信息
export function exportInfo(query) { export function exportInfo(query) {
return request({ return request({
url: '/warehouse/info/export', url: '/warehouse/info/export',
method: 'post', method: 'post',
params: query data: query,
}) transformRequest: [(params) => tansParams(params)],
} headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
})
}

View File

@ -301,6 +301,8 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
//
selectedVendorCodes: [],
// //
single: true, single: true,
// //
@ -454,6 +456,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.vendorId) this.ids = selection.map(item => item.vendorId)
this.selectedVendorCodes = selection.map(item => item.vendorCode)
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -526,8 +529,12 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams; const queryParams = {
this.$modal.confirm('是否确认导出所有制造商信息数据项?').then(() => { ...this.queryParams,
vendorCodeList: this.selectedVendorCodes.length ? this.selectedVendorCodes : undefined
};
const exportTip = this.selectedVendorCodes.length ? '是否确认导出选中的制造商信息数据项?' : '是否确认导出所有制造商信息数据项?';
this.$modal.confirm(exportTip).then(() => {
this.exportLoading = true; this.exportLoading = true;
return exportVendor(queryParams); return exportVendor(queryParams);
}).then(response => { }).then(response => {

View File

@ -315,8 +315,14 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams; const queryParams = {
this.$confirm('是否确认导出所有发货记录数据项?', "警告", { ...this.queryParams,
ids: this.ids.length ? this.ids.join(",") : undefined
};
const confirmText = this.ids.length
? "是否确认导出选中的发货记录数据项?"
: "是否确认导出所有发货记录数据项?";
this.$confirm(confirmText, "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"

View File

@ -188,8 +188,14 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams; const queryParams = {
this.$modal.confirm('是否确认导出所有合同档案数据项?').then(() => { ...this.queryParams,
ids: this.ids.length ? this.ids.join(",") : undefined
};
const confirmText = this.ids.length
? "是否确认导出选中的合同档案数据项?"
: "是否确认导出所有合同档案数据项?";
this.$modal.confirm(confirmText).then(() => {
return exportOrder(queryParams); return exportOrder(queryParams);
}).then(response => { }).then(response => {
const fileName = response.msg; const fileName = response.msg;

View File

@ -316,6 +316,8 @@ export default {
canUpdateJoinTrial: false, canUpdateJoinTrial: false,
// //
ids: [], ids: [],
// ID
selectedProjectIds: [],
// //
single: true, single: true,
// //
@ -466,6 +468,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.selectedProjectIds = selection.map(item => item.id)
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -500,9 +503,14 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.$modal.confirm('是否确认导出所有项目管理数据项?').then(() => { const queryParams = {
...this.queryParams,
ids: this.selectedProjectIds.length ? this.selectedProjectIds.join(',') : undefined
}
const exportTip = this.selectedProjectIds.length ? '是否确认导出选中的项目管理数据项?' : '是否确认导出所有项目管理数据项?'
this.$modal.confirm(exportTip).then(() => {
this.loading = true; this.loading = true;
return exportProject(this.queryParams); return exportProject(queryParams);
}).then(response => { }).then(response => {
this.loading = false; this.loading = false;
const fileName = response.msg; const fileName = response.msg;

View File

@ -165,6 +165,8 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
// ID
selectedOrderIds: [],
// //
single: true, single: true,
// //
@ -262,6 +264,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.selectedOrderIds = selection.map(item => item.id)
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -299,6 +302,7 @@ export default {
handleExport() { handleExport() {
let query = { ...this.queryParams }; let query = { ...this.queryParams };
query.params = {}; query.params = {};
query.ids = this.selectedOrderIds.length ? this.selectedOrderIds.join(',') : undefined;
if (this.dateRange && this.dateRange.length === 2) { if (this.dateRange && this.dateRange.length === 2) {
const timeType = this.queryParams.timeType; const timeType = this.queryParams.timeType;
const beginKey = `begin${timeType.charAt(0).toUpperCase() + timeType.slice(1)}`; const beginKey = `begin${timeType.charAt(0).toUpperCase() + timeType.slice(1)}`;
@ -307,7 +311,8 @@ export default {
query.params[endKey] = this.dateRange[1]; query.params[endKey] = this.dateRange[1];
} }
delete query.timeType; delete query.timeType;
this.$confirm('是否确认导出所有订单管理数据项?', "警告", { const exportTip = this.selectedOrderIds.length ? '是否确认导出选中的订单管理数据项?' : '是否确认导出所有订单管理数据项?';
this.$confirm(exportTip, "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"

View File

@ -219,6 +219,8 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
// ID
selectedOrderIds: [],
// //
single: true, single: true,
// //
@ -308,6 +310,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.selectedOrderIds = selection.map(item => item.id)
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -325,7 +328,8 @@ export default {
this.addDateRange(this.queryParams, this.dateRange); this.addDateRange(this.queryParams, this.dateRange);
this.changeTimeType(); this.changeTimeType();
this.download('/project/order/finance/export', { this.download('/project/order/finance/export', {
...this.queryParams ...this.queryParams,
ids: this.selectedOrderIds.length ? this.selectedOrderIds.join(',') : undefined
}, `order_finance_${new Date().getTime()}.xlsx`) }, `order_finance_${new Date().getTime()}.xlsx`)
}, },
/** 时间选择类型切换 */ /** 时间选择类型切换 */

View File

@ -200,6 +200,8 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
//
selectedAgentCodes: [],
// //
single: true, single: true,
// //
@ -332,6 +334,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.selectedAgentCodes = selection.map(item => item.agentCode)
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -390,8 +393,13 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.$modal.confirm('是否确认导出所有办事处信息数据项?').then(() => { const queryParams = {
return exportAgent(this.queryParams); ...this.queryParams,
agentCodeList: this.selectedAgentCodes.length ? this.selectedAgentCodes : undefined
}
const exportTip = this.selectedAgentCodes.length ? '是否确认导出选中的办事处信息数据项?' : '是否确认导出所有办事处信息数据项?'
this.$modal.confirm(exportTip).then(() => {
return exportAgent(queryParams);
}).then(response => { }).then(response => {
this.$download.download(response.msg); this.$download.download(response.msg);
}).catch(() => {}); }).catch(() => {});

View File

@ -264,6 +264,8 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
//
selectedCustomerCodes: [],
// //
single: true, single: true,
// //
@ -426,6 +428,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.selectedCustomerCodes = selection.map(item => item.customerCode)
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -490,8 +493,13 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.$modal.confirm('是否确认导出所有客户信息数据项?').then(() => { const queryParams = {
return exportCustomer(this.queryParams); ...this.queryParams,
customerCodeList: this.selectedCustomerCodes.length ? this.selectedCustomerCodes : undefined
}
const exportTip = this.selectedCustomerCodes.length ? '是否确认导出选中的客户信息数据项?' : '是否确认导出所有客户信息数据项?'
this.$modal.confirm(exportTip).then(() => {
return exportCustomer(queryParams);
}).then(response => { }).then(response => {
this.$download.download(response.msg); this.$download.download(response.msg);
}).catch(() => {}); }).catch(() => {});

View File

@ -287,6 +287,8 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
//
selectedPartnerCodes: [],
// //
single: true, single: true,
// //
@ -462,6 +464,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.selectedPartnerCodes = selection.map(item => item.partnerCode)
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -520,8 +523,13 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.$modal.confirm('是否确认导出所有代理商管理数据项?').then(() => { const queryParams = {
return exportPartner(this.queryParams); ...this.queryParams,
partnerCodeList: this.selectedPartnerCodes.length ? this.selectedPartnerCodes : undefined
};
const exportTip = this.selectedPartnerCodes.length ? '是否确认导出选中的代理商管理数据项?' : '是否确认导出所有代理商管理数据项?';
this.$modal.confirm(exportTip).then(() => {
return exportPartner(queryParams);
}).then(response => { }).then(response => {
this.$download.download(response.msg); this.$download.download(response.msg);
}).catch(() => {}); }).catch(() => {});

View File

@ -276,6 +276,8 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
//
selectedProductCodes: [],
// //
single: true, single: true,
// //
@ -468,6 +470,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.selectedProductCodes = selection.map(item => item.productCode)
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -527,8 +530,12 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams; const queryParams = {
this.$modal.confirm('是否确认导出所有产品管理数据项?').then(() => { ...this.queryParams,
productCodeList: this.selectedProductCodes.length ? this.selectedProductCodes : undefined
};
const exportTip = this.selectedProductCodes.length ? '是否确认导出选中的产品管理数据项?' : '是否确认导出所有产品管理数据项?';
this.$modal.confirm(exportTip).then(() => {
this.exportLoading = true; this.exportLoading = true;
return exportProduct(queryParams); return exportProduct(queryParams);
}).then(response => { }).then(response => {

View File

@ -353,8 +353,12 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams; const queryParams = {
this.$modal.confirm('是否确认导出所有仓库基础信息数据项?').then(() => { ...this.queryParams,
idList: this.ids.length ? this.ids : undefined
};
const exportTip = this.ids.length ? '是否确认导出选中的仓库基础信息数据项?' : '是否确认导出所有仓库基础信息数据项?';
this.$modal.confirm(exportTip).then(() => {
this.exportLoading = true; this.exportLoading = true;
return exportInfo(queryParams); return exportInfo(queryParams);
}).then(response => { }).then(response => {

View File

@ -24,6 +24,9 @@ public class OrderDelivery extends BaseEntity
/** 主键,自增 */ /** 主键,自增 */
private Long id; private Long id;
/** 导出/查询时按选中ID过滤 */
private String ids;
/** 关联合同id */ /** 关联合同id */
@Excel(name = "关联合同id") @Excel(name = "关联合同id")
private Long orderId; private Long orderId;

View File

@ -26,6 +26,9 @@ public class OrderInfo extends BaseEntity
/** 主键,自增 */ /** 主键,自增 */
private Long id; private Long id;
/** 导出/查询时按选中ID过滤 */
private String ids;
/** 关联项目编号 */ /** 关联项目编号 */
@Excel(name = "项目编号") @Excel(name = "项目编号")
private String projectCode; private String projectCode;

View File

@ -1,6 +1,7 @@
package com.ruoyi.sip.domain; package com.ruoyi.sip.domain;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
@ -23,6 +24,7 @@ public class PartnerInfo extends BaseEntity
/** 供应商编码 */ /** 供应商编码 */
@Excel(name = "供应商编码") @Excel(name = "供应商编码")
private String partnerCode; private String partnerCode;
private List<String> partnerCodeList;
/** 供应商名称 */ /** 供应商名称 */
@Excel(name = "供应商名称") @Excel(name = "供应商名称")

View File

@ -45,6 +45,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="logisticsCode != null and logisticsCode != ''"> and t1.logistics_code = #{logisticsCode}</if> <if test="logisticsCode != null and logisticsCode != ''"> and t1.logistics_code = #{logisticsCode}</if>
<if test="deliveryStatus != null and deliveryStatus != ''"> and t1.delivery_status = #{deliveryStatus}</if> <if test="deliveryStatus != null and deliveryStatus != ''"> and t1.delivery_status = #{deliveryStatus}</if>
<if test="orderName != null and orderName != ''"> and t2.order_name like concat('%', #{orderName},'%')</if> <if test="orderName != null and orderName != ''"> and t2.order_name like concat('%', #{orderName},'%')</if>
<if test="ids != null and ids != ''">
and t1.id in
<foreach collection="ids.split(',')" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where> </where>
order by t1.order_id,t1.delivery_date order by t1.order_id,t1.delivery_date
</select> </select>

View File

@ -169,6 +169,12 @@
select delivery_id from delivery_list where serial_number=#{serialNumber})) select delivery_id from delivery_list where serial_number=#{serialNumber}))
</if> </if>
<if test="ids != null and ids != ''">
and t1.id in
<foreach collection="ids.split(',')" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where> </where>
order by ISNULL(t1.project_code)||t1.project_code='' ,t1.project_code order by ISNULL(t1.project_code)||t1.project_code='' ,t1.project_code
</select> </select>

View File

@ -74,6 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectProjectOrderInfoList" parameterType="ProjectOrderInfo" resultMap="ProjectOrderInfoResult"> <select id="selectProjectOrderInfoList" parameterType="ProjectOrderInfo" resultMap="ProjectOrderInfoResult">
<include refid="selectProjectOrderInfoRelationVo"/> <include refid="selectProjectOrderInfoRelationVo"/>
where 1=1 where 1=1
<if test="ids != null and ids != ''">and find_in_set(t1.id, #{ids})</if>
<if test="projectId != null ">and t1.project_id = #{projectId}</if> <if test="projectId != null ">and t1.project_id = #{projectId}</if>
<if test="projectCode != null and projectCode!='' ">and t2.project_code like <if test="projectCode != null and projectCode!='' ">and t2.project_code like
concat('%',#{projectCode},'%') concat('%',#{projectCode},'%')

View File

@ -36,6 +36,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectPartnerInfoVo"/> <include refid="selectPartnerInfoVo"/>
<where> <where>
<if test="partnerCode != null and partnerCode != ''"> and t1.partner_code like concat('%', #{partnerCode}, '%')</if> <if test="partnerCode != null and partnerCode != ''"> and t1.partner_code like concat('%', #{partnerCode}, '%')</if>
<if test="partnerCodeList != null and partnerCodeList.size > 0"> and t1.partner_code in
<foreach item="item" index="index" collection="partnerCodeList" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="partnerName != null and partnerName != ''"> and t1.partner_name like concat('%', #{partnerName}, '%')</if> <if test="partnerName != null and partnerName != ''"> and t1.partner_name like concat('%', #{partnerName}, '%')</if>
<if test="level != null and level != ''"> and t1.level = #{level}</if> <if test="level != null and level != ''"> and t1.level = #{level}</if>
<if test="province != null and province != ''"> and t1.province = #{province}</if> <if test="province != null and province != ''"> and t1.province = #{province}</if>