ed76eb5fe78b4f5d7d9b9bfba47a01faa1d44a07..933b4c4480563a22bf312ebc24161ea7270caf29
2025-08-14 移动系统liao
修正阿里云 oss上传逻辑
933b4c 对比 | 目录
2025-08-14 username@email.com
修改附件
6ab087 对比 | 目录
2025-08-14 username@email.com
修改多供应商中标
d248dd 对比 | 目录
11个文件已修改
222 ■■■■ 已修改文件
Admin.NET/EzUpFile/EzFileUploadService.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/EzUpFile/UpFileConfig.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCZTB.NET.MD/ChangeOrder.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCZTB.NET.MD/TenderOrder.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCZTB.NET.MD/TenderOrderBidding.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderInput.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderOutput.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Web/src/views/Customer/fBS_EnterpriseType/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/EzUpFile/EzFileUploadService.cs
@@ -22,6 +22,7 @@
using Task = System.Threading.Tasks.Task;
using Newtonsoft.Json;
using static AlibabaCloud.SDK.Sts20150401.Models.AssumeRoleResponseBody;
using Admin.NET.Core;
namespace EzUpFile
{
    /// <summary>
@@ -717,7 +718,12 @@
            { "x_oss_date", dtObj1 },
            { "x_oss_credential", $"{stsAccessKeyId}/{dtObj2}/{regionId}/oss/aliyun_v4_request" }, // 请将<cn-hangzhou>替换为您的实际Bucket所处地域,例如北京地域为:cn-beijing
            { "x_oss_signature_version", "OSS4-HMAC-SHA256" },
            { "policy", stringToSign }
            { "policy", stringToSign },
                {"url", App.Configuration["FileUploadOptions:AliOSSSaveBaseUrl"]},
                  {"CallBack", App.Configuration["FileUploadOptions:CallBack"]},
                   {"DirPath", App.Configuration["FileUploadOptions:SavePath"]},
        };
            // 打印返回至客户端的签名信息
Admin.NET/EzUpFile/UpFileConfig.json
@@ -1,12 +1,13 @@
{
  "FileUploadOptions": {
    "AliOSSBucketName": "appimchat",
    "SavePath": "cylsg/",
    "AliOSSBucketName": "feizhengcai",
    "SavePath": "ZBWJ/",
    "AliOSSEndpoint": "oss-accelerate.aliyuncs.com",
    "AliOSSAccessKeyID": "LTAI5tNYGwTd3swLhC8H2XYV",
    "AliOSSAccessKeySecret": "TyfkpYbXRUCh1K8LLtUyxY3ZcFCy1A",
    "AliOSSSaveBaseUrl": "https://appimchat.oss-cn-chengdu.aliyuncs.com/"
    "AliOSSSaveBaseUrl": "https://feizhengcai.oss-cn-chengdu.aliyuncs.com/",
    "CallBack": "CallBack"
  }
}
Admin.NET/FZCZTB.NET.MD/ChangeOrder.cs
@@ -41,6 +41,12 @@
        public string Biangengwenjian { get; set; }
        /// <summary>
        /// 变更文件Name
        /// </summary>
        [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "变更文件Name")]
        public string BiangengwenjianName { get; set; }
        /// <summary>
        /// 投标报名开始时间
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "投标报名开始时间")]
Admin.NET/FZCZTB.NET.MD/TenderOrder.cs
@@ -267,10 +267,22 @@
        public string Zhaobiaowenjian { get; set; }
        /// <summary>
        /// 招标文件Name
        /// </summary>
        [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "招标文件Name")]
        public string ZhaobiaowenjianName { get; set; }
        /// <summary>
        /// 附件
        /// </summary>
        [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "附件")]
        public string Fujian { get; set; }
        /// <summary>
        /// 附件Name
        /// </summary>
        [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "附件Name")]
        public string FujianName { get; set; }
        /// <summary>
        /// 开标地点
@@ -288,7 +300,7 @@
        /// <summary>
        /// 中标供应商姓名
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "中标供应商姓名", Length = 100)]
        [SugarColumn(IsNullable = true, ColumnDescription = "中标供应商姓名", Length = 2000)]
        public  string ZhongbiaoName { get; set; }
        /// <summary>
@@ -311,6 +323,12 @@
        public string Zhongbiaowenjian { get; set; }
        /// <summary>
        /// 中标文件Name
        /// </summary>
        [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "中标文件中标文件Name")]
        public string ZhongbiaowenjianName { get; set; }
        /// <summary>
        /// 中标时间
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "中标时间")]
Admin.NET/FZCZTB.NET.MD/TenderOrderBidding.cs
@@ -35,6 +35,12 @@
        [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "投标文件")]
        public string Touboaowenjian { get; set; }
        /// <summary>
        /// 投标文件name
        /// </summary>
        [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "投标文件Name")]
        public string TouboaowenjianName { get; set; }
        /// <summary>
        /// 是否中标
Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs
@@ -97,7 +97,7 @@
        var query = _ChangeOrderRep.AsQueryable()
            .OrderByDescending(x => x.CreateTime)
            .Select(x => new ChangeTenderOrderOut { Id = x.Id, TenderId = x.TenderId, ProjectName = x.ProjectName, ToubiaoStartDate = x.ToubiaoStartDate.Value, ToubiaoEndDate = x.ToubiaoEndDate.Value, KaibiaoDate = x.KaibiaoDate.Value, Biangengwenjian = x.Biangengwenjian, Kaibiaodidian = x.Kaibiaodidian, CreateTime = x.CreateTime })
            .Select(x => new ChangeTenderOrderOut { Id = x.Id, TenderId = x.TenderId, ProjectName = x.ProjectName, ToubiaoStartDate = x.ToubiaoStartDate.Value, ToubiaoEndDate = x.ToubiaoEndDate.Value, KaibiaoDate = x.KaibiaoDate.Value, Biangengwenjian = x.Biangengwenjian,BiangengwenjianName = x.BiangengwenjianName, Kaibiaodidian = x.Kaibiaodidian, CreateTime = x.CreateTime })
            .Take(7);
Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs
@@ -221,8 +221,8 @@
      
        if (tenderOrder.Baomingfei.HasValue && tenderOrder.Baomingfei.Value > 0)
        {
        //if (tenderOrder.Baomingfei.HasValue && tenderOrder.Baomingfei.Value > 0)
        //{
            var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == userId).FirstAsync();
            if(tenderOrderBidding!=null && (tenderOrderBidding.IsTransfer.HasValue && tenderOrderBidding.IsTransfer.Value))
            {
@@ -236,13 +236,13 @@
                tenderOrderBidding = new TenderOrderBidding();
                tenderOrderBidding.Id = Guid.NewGuid();
                tenderOrderBidding.TenderId = input.TenderOrderId;
                //tenderOrderBidding.IsTransfer = true;
                tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei.Value;
                tenderOrderBidding.IsTransfer = true;
                tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei;
                tenderOrderBidding.TransferTime = DateTime.Now;
                tenderOrderBidding.TransferNo = "BMF"+tenderOrderBidding.Id.ToString("N");
                tenderOrderBidding.TradeNo = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 订单号
                tenderOrderBidding.CreateTime = DateTime.Now;
               tenderOrderBidding.CreateTime = DateTime.Now;
                tenderOrderBidding.CreateUserId = usertrueId;
                tenderOrderBidding.CreateUserName = RealName;
                tenderOrderBidding.UpdateTime = DateTime.Now;
@@ -252,9 +252,11 @@
            }
            else
            {
                tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei.Value;
                tenderOrderBidding.IsTransfer = true;
                tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei;
                tenderOrderBidding.TransferTime = DateTime.Now;
                tenderOrderBidding.TransferNo = "BMF" + tenderOrderBidding.Id.ToString("N");
                tenderOrderBidding.TradeNo = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 订单号
                tenderOrderBidding.UpdateTime = DateTime.Now;
                tenderOrderBidding.UpdateUserId = usertrueId;
                tenderOrderBidding.UpdateUserName = RealName;
@@ -263,11 +265,11 @@
            
           
        }
        else
        {
            throw Oops.Oh("无需支付报名费!");
        }
        //}
        //else
        //{
        //    throw Oops.Oh("无需支付报名费!");
        //}
    }
@@ -314,6 +316,7 @@
            tenderOrderBidding.Id = Guid.NewGuid();
            tenderOrderBidding.TenderId = input.TenderOrderId;
            tenderOrderBidding.Touboaowenjian = input.Touboaowenjian;
            tenderOrderBidding.TouboaowenjianName = input.TouboaowenjianName;
            tenderOrderBidding.IsTransfer = true;
            tenderOrderBidding.Zhifujine = 0;
            tenderOrderBidding.CreateTime = DateTime.Now;
@@ -326,6 +329,7 @@
        }
        tenderOrderBidding.Touboaowenjian = input.Touboaowenjian;
        tenderOrderBidding.TouboaowenjianName = input.TouboaowenjianName;
        tenderOrderBidding.UpdateTime = DateTime.Now;
        tenderOrderBidding.UpdateUserId = usertrueId;
        tenderOrderBidding.UpdateUserName = RealName;
Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderInput.cs
@@ -818,10 +818,23 @@
    public string Zhaobiaowenjian { get; set; }
    /// <summary>
    /// 招标文件Name
    /// </summary>
    [MaxLength(512, ErrorMessage = "招标文件Name字符长度不能超过512")]
    [Required(ErrorMessage = "招标文件Name不能为空")]
    public string ZhaobiaowenjianName { get; set; }
    /// <summary>
    /// 附件
    /// </summary>
    [MaxLength(512, ErrorMessage = "附件字符长度不能超过512")]
    public string Fujian { get; set; }
    /// <summary>
    /// 附件Name
    /// </summary>
    [MaxLength(512, ErrorMessage = "附件字符Name长度不能超过512")]
    public string FujianName { get; set; }
    /// <summary>
    /// 开标地点
@@ -883,11 +896,18 @@
    //public DateTime? FabuDate { get; set; }
    /// <summary>
    /// 招标文件
    /// 变更文件
    /// </summary>
    [MaxLength(512, ErrorMessage = "招标文件字符长度不能超过512")]
    [Required(ErrorMessage = "招标文件不能为空")]
    [MaxLength(512, ErrorMessage = "变更文件字符长度不能超过512")]
    [Required(ErrorMessage = "变更文件不能为空")]
    public string Biangengwenjian { get; set; }
    /// <summary>
    /// 变更文件Name
    /// </summary>
    [MaxLength(512, ErrorMessage = "变更文件Name字符长度不能超过512")]
    [Required(ErrorMessage = "变更文件Name不能为空")]
    public string BiangengwenjianName { get; set; }
    /// <summary>
@@ -941,6 +961,13 @@
    [Required(ErrorMessage = "投标文件不能为空")]
    public string Touboaowenjian { get; set; }
    /// <summary>
    /// 投标文件Name
    /// </summary>
    [Required(ErrorMessage = "投标文件Name不能为空")]
    public string TouboaowenjianName { get; set; }
}
@@ -963,12 +990,18 @@
    [Required(ErrorMessage = "中标文件不能为空")]
    public string Zhongbiaowenjian { get; set; }
    /// <summary>
    /// 中标文件Name
    /// </summary>
    [Required(ErrorMessage = "中标文件Name不能为空")]
    public string ZhongbiaowenjianName { get; set; }
    /// <summary>
    /// 中标供应商id
    /// 中标供应商id   逗号分隔! 12121212,232323,232323,232323
    /// </summary>
    [Required(ErrorMessage = "中标供应商id不能为空")]
    public long SupplierUserId { get; set; }
    public string SupplierUserIds { get; set; }
    /// <summary>
Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderOutput.cs
@@ -277,9 +277,20 @@
    public string Zhaobiaowenjian { get; set; }
    /// <summary>
    /// 招标文件
    /// </summary>
    public string ZhaobiaowenjianName{ get; set; }
    /// <summary>
    /// 附件
    /// </summary>
    public string Fujian { get; set; }
    /// <summary>
    /// 附件
    /// </summary>
    public string FujianName { get; set; }
    /// <summary>
    /// 开标地点
@@ -342,6 +353,11 @@
    /// 中标文件
    /// </summary>
    public string Zhongbiaowenjian { get; set; }
    /// <summary>
    /// 中标文件
    /// </summary>
    public string ZhongbiaowenjianName { get; set; }
    /// <summary>
    /// 中标时间
@@ -468,6 +484,11 @@
    /// </summary>
    public string Biangengwenjian { get; set; }
    /// <summary>
    /// 变更文件Name
    /// </summary>
    public string BiangengwenjianName { get; set; }
    /// <summary>
    /// 开标地点
@@ -502,6 +523,10 @@
        /// 投标文件
        public string Touboaowenjian { get; set; }
        /// <summary>
        /// 投标文件
        public string TouboaowenjianName { get; set; }
        /// <summary>
        /// 是否中标
Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs
@@ -636,7 +636,7 @@
        entity.UpdateUserName = RealName;
        entity.FabuDate = entity.UpdateTime;
        entity.OrderStatus = 2;
        await _sqlSugarClient.Updateable(entity).UpdateColumns(x => new { x.ToubiaoStartDate, x.ToubiaoEndDate, x.KaibiaoDate, x.FabuDate, x.Zhaobiaowenjian, x.Fujian, x.Kaibiaodidian, x.UpdateTime, x.UpdateUserId, x.UpdateUserName,x.OrderStatus }).ExecuteCommandAsync();
        await _sqlSugarClient.Updateable(entity).UpdateColumns(x => new { x.ToubiaoStartDate, x.ToubiaoEndDate, x.KaibiaoDate, x.FabuDate, x.Zhaobiaowenjian,x.ZhaobiaowenjianName, x.Fujian,x.FujianName, x.Kaibiaodidian, x.UpdateTime, x.UpdateUserId, x.UpdateUserName,x.OrderStatus }).ExecuteCommandAsync();
        //await _TenderOrderRep.UpdateAsync(entity);
    }
@@ -713,6 +713,7 @@
        changeOrder.TenderId = input.TenderId;
        changeOrder.ProjectName = input.ProjectName;
        changeOrder.Biangengwenjian = input.Biangengwenjian;
        changeOrder.BiangengwenjianName = input.BiangengwenjianName;
        changeOrder.CreateTime = DateTime.Now;
        changeOrder.CreateUserId = usertrueId;
        changeOrder.CreateUserName = RealName;
@@ -821,30 +822,47 @@
            throw Oops.Oh("已经中标的项目不能再次中标!");
        }
        var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == input.SupplierUserId).FirstAsync();
        if (tenderOrderBidding == null)
        var ssss = input.SupplierUserIds.Split(',');
        if (string.IsNullOrEmpty(input.SupplierUserIds))
        {
            throw Oops.Oh("不存在的投标!");
            throw Oops.Oh("没有选中中标供应商!");
        }
        if (tenderOrderBidding.IsTransfer != true )
         foreach ( var sss in ssss)
        {
            throw Oops.Oh("没有支付报名费。不能中标!");
        }
        if (string.IsNullOrEmpty(tenderOrderBidding.Touboaowenjian) )
        {
            throw Oops.Oh("没有投标文件。不能中标!");
            var SupplierUserId = long.Parse(sss);
            var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == SupplierUserId).FirstAsync();
            if (tenderOrderBidding == null)
            {
                throw Oops.Oh("不存在的投标!");
            }
            if (tenderOrderBidding.IsTransfer != true)
            {
                throw Oops.Oh("没有支付报名费。不能中标!");
            }
            if (string.IsNullOrEmpty(tenderOrderBidding.Touboaowenjian))
            {
                throw Oops.Oh("没有投标文件。不能中标!");
            }
        }
        tenderOrder.ZhongbiaoId = input.SupplierUserId;
        tenderOrder.ZhongbiaoId = null;
        //tenderOrder.ZhongbiaoName = input.SupplierUserName;
        var cusExtend = await _sqlSugarClient.Queryable<FBS_CusExtend>().Where(x => x.CustomerId == input.SupplierUserId && x.TransactionCode == "GYS" && x.steps == CusExtendStep.Pass ).FirstAsync();
        if (cusExtend != null)
        tenderOrder.ZhongbiaoName = "";
        foreach (var sss in ssss)
        {
            tenderOrder.ZhongbiaoName = cusExtend.EnterpriseName;
            var SupplierUserId = long.Parse(sss);
            var cusExtend = await _sqlSugarClient.Queryable<FBS_CusExtend>().Where(x => x.CustomerId == SupplierUserId && x.TransactionCode == "GYS" && x.steps == CusExtendStep.Pass).FirstAsync();
            if (cusExtend != null)
            {
                tenderOrder.ZhongbiaoName += cusExtend.EnterpriseName+",";
            }
        }
        tenderOrder.Zhongbiaowenjian = input.Zhongbiaowenjian;
        tenderOrder.ZhongbiaowenjianName = input.ZhongbiaowenjianName;
        tenderOrder.ZhongbiaoDate = DateTime.Now;
        tenderOrder.UpdateTime = DateTime.Now;
        tenderOrder.UpdateUserId = usertrueId;
@@ -854,17 +872,26 @@
        await _TenderOrderRep.UpdateAsync(tenderOrder);
        tenderOrderBidding.IsSelected = true;
        tenderOrderBidding.SelectedTime = tenderOrder.ZhongbiaoDate;
        tenderOrderBidding.UpdateTime = DateTime.Now;
        tenderOrderBidding.UpdateUserId = usertrueId;
        tenderOrderBidding.UpdateUserName = RealName;
        foreach (var sss in ssss)
        {
            var SupplierUserId = long.Parse(sss);
            var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == SupplierUserId).FirstAsync();
            tenderOrderBidding.IsSelected = true;
            tenderOrderBidding.SelectedTime = tenderOrder.ZhongbiaoDate;
            tenderOrderBidding.UpdateTime = DateTime.Now;
            tenderOrderBidding.UpdateUserId = usertrueId;
            tenderOrderBidding.UpdateUserName = RealName;
            await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding);
        }
        return true;
        return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding);
    }
Web/src/views/Customer/fBS_EnterpriseType/index.vue
@@ -33,7 +33,7 @@
  tableData: [],
  tableDataCopy:[] //拷贝
});
const hasChildren = data => {
const hasChildren = (data: any[]) => {
  data.forEach(item => {
    if (item.child) {
      item.hasChildren = true;
@@ -41,7 +41,7 @@
  });
  
};
const processNodesWithChildrenCheck = (nodes) => {
const processNodesWithChildrenCheck = (nodes: any[]) => {
  
  // 确保输入是数组
  if (!Array.isArray(nodes)) {