把这个放到开票管理中,就是财务管理的付款未票啊,付款未开票啊,把它放到开票管理中,同时在后面加一个开票说明,这个就有。经办人自己填,就是这个好久开开不开得到那个个进度。

ALTER TABLE [dbo].[OA_Fukuanshenqing] ADD [Kaipiaoshuoming] [nvarchar](500) NULL;
GO

ALTER TABLE [dbo].[OA_Fukuanshenqing] ADD [Shuominger] [nvarchar](20) NULL;
GO

ALTER TABLE [dbo].[OA_Fukuanshenqing] ADD [ShuomingTime] [datetime] NULL;
GO
5个文件已修改
3个文件已添加
501 ■■■■■ 已修改文件
CY_ECommercePlatform/CY.Model/OA/OA_Fukuanshenqing.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.SQLDAL/OA/OA_FukuanshenqingDAL.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/CY.WebForm.csproj 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiao.aspx 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiao.aspx.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiaoshuoming.aspx 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiaoshuoming.aspx.cs 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiaoshuoming.aspx.designer.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.Model/OA/OA_Fukuanshenqing.cs
@@ -161,6 +161,37 @@
        /// </summary>
        public string WorkPlanId { get; set; }
        /// <summary>
        /// 开票说明
        /// </summary>
        public string Kaipiaoshuoming
        {
            get;
            set;
        }
        /// <summary>
        /// 说明人
        /// </summary>
        public string Shuominger
        {
            get;
            set;
        }
        /// <summary>
        /// 说明时间
        /// </summary>
        public DateTime? ShuomingTime
        {
            get;
            set;
        }
        #endregion Model
        #region Visiter
@@ -295,6 +326,24 @@
                theValue = this.Molingmoney;
            }
            else if ("Kaipiaoshuoming".Equals(name, StringComparison.CurrentCultureIgnoreCase) || index == 29)
            {
                this.Kaipiaoshuoming = isChange ? MyConvert.ConvertToString(value) : Kaipiaoshuoming;
                theValue = this.Kaipiaoshuoming;
            }
            else if ("Shuominger".Equals(name, StringComparison.CurrentCultureIgnoreCase) || index == 30)
            {
                this.Shuominger = isChange ? MyConvert.ConvertToString(value) : Shuominger;
                theValue = this.Shuominger;
            }
            else if ("ShuomingTime".Equals(name, StringComparison.CurrentCultureIgnoreCase) || index == 31)
            {
                this.ShuomingTime = isChange ? MyConvert.ConvertToDateTime(value) : ShuomingTime;
                theValue = this.ShuomingTime;
            }
            return theValue;
        }
CY_ECommercePlatform/CY.SQLDAL/OA/OA_FukuanshenqingDAL.cs
@@ -164,7 +164,15 @@
            {
                return false;
            }
            SqlParameter KehuqianshouTime = null;
            SqlParameter ShuomingTime = null;
            if (trueModel.ShuomingTime.HasValue)
            {
                ShuomingTime = new SqlParameter("@ShuomingTime", trueModel.ShuomingTime);
            }
            else
            {
                ShuomingTime = new SqlParameter("@ShuomingTime", DBNull.Value);
            }
          
            IList<SqlParameter> sqlParms = new List<SqlParameter>()
@@ -190,9 +198,13 @@
                                    new SqlParameter("@Creater",trueModel.Creater),
                                     new SqlParameter("@Huming",string.IsNullOrEmpty(trueModel.Huming)?"":trueModel.Huming),
                                       new SqlParameter("@SupplierName",string.IsNullOrEmpty(trueModel.SupplierName)?"":trueModel.SupplierName),
                                          new SqlParameter("@Kaipiaoshuoming",string.IsNullOrEmpty(trueModel.Kaipiaoshuoming)?"":trueModel.Kaipiaoshuoming),
                                           new SqlParameter("@Shuominger",string.IsNullOrEmpty(trueModel.Shuominger)?"":trueModel.Shuominger),
                                ShuomingTime,
            };
            string sql = "Update OA_Fukuanshenqing Set [FirmId]=@FirmId,[SupplierId]=@SupplierId,[Fukuanshenqingstatus]=@Fukuanshenqingstatus,[ApprovalStatus]=@ApprovalStatus, [Fukuanmoney]=@Fukuanmoney, [Bank]=@Bank,[AccountID]=@AccountID, [Yishoumoney]=@Yishoumoney,[Youwufapiao]=@Youwufapiao, [Creater]=@Creater,[CreateTime]=@CreateTime,[Updater]=@Updater,[LastUpdateTime]=@LastUpdateTime,Fukuanyongtu=@Fukuanyongtu,FukuanStatus=@FukuanStatus,remark=@remark,DindanId=@DindanId,Huming=@Huming,SupplierName=@SupplierName where [Keyid] =@Keyid ";
            string sql = "Update OA_Fukuanshenqing Set [FirmId]=@FirmId,[SupplierId]=@SupplierId,[Fukuanshenqingstatus]=@Fukuanshenqingstatus,[ApprovalStatus]=@ApprovalStatus, [Fukuanmoney]=@Fukuanmoney, [Bank]=@Bank,[AccountID]=@AccountID, [Yishoumoney]=@Yishoumoney,[Youwufapiao]=@Youwufapiao, [Creater]=@Creater,[CreateTime]=@CreateTime,[Updater]=@Updater,[LastUpdateTime]=@LastUpdateTime,Fukuanyongtu=@Fukuanyongtu,FukuanStatus=@FukuanStatus,remark=@remark,DindanId=@DindanId,Huming=@Huming,SupplierName=@SupplierName,Kaipiaoshuoming=@Kaipiaoshuoming,Shuominger=@Shuominger,ShuomingTime=@ShuomingTime where [Keyid] =@Keyid ";
            try
            {
CY_ECommercePlatform/CY.WebForm/CY.WebForm.csproj
@@ -1906,6 +1906,7 @@
    <Content Include="Pages\business\DeliverWorkBookPandian.aspx" />
    <Content Include="Pages\business\DeliverWorkBookFahuo.aspx" />
    <Content Include="Pages\business\DeliverWorkBookfahuoqingkuang.aspx" />
    <Content Include="Pages\business\Waixiefukuanweikaipiaoshuoming.aspx" />
    <Content Include="Pages\business\ShejiOrderDeatil.aspx" />
    <Content Include="Pages\business\ShejiOrderList.aspx" />
    <Content Include="Pages\business\SHejiOrderEdit.aspx" />
@@ -3526,6 +3527,13 @@
    <Compile Include="Pages\business\FileUploadHandler.ashx.cs">
      <DependentUpon>FileUploadHandler.ashx</DependentUpon>
    </Compile>
    <Compile Include="Pages\business\Waixiefukuanweikaipiaoshuoming.aspx.cs">
      <DependentUpon>Waixiefukuanweikaipiaoshuoming.aspx</DependentUpon>
      <SubType>ASPXCodeBehind</SubType>
    </Compile>
    <Compile Include="Pages\business\Waixiefukuanweikaipiaoshuoming.aspx.designer.cs">
      <DependentUpon>Waixiefukuanweikaipiaoshuoming.aspx</DependentUpon>
    </Compile>
    <Compile Include="Pages\business\ShejiOrderDeatil.aspx.cs">
      <DependentUpon>ShejiOrderDeatil.aspx</DependentUpon>
      <SubType>ASPXCodeBehind</SubType>
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiao.aspx
@@ -84,10 +84,7 @@
            top.Dialog.open({ URL: "/Pages/business/WaixiefukuanweikaipiaoEdit.aspx?id=" + personId, Title: "确认发票", Width: 400, Height: 600 });
        }
        //催收
        function ViewCuishou(personId) {
            top.Dialog.open({ URL: "/Pages/business/InvoicingCuishou.aspx?id=" + personId, Title: "催款", Width: 600, Height: 800 });
        }
        //收款
        function ViewShoukuan(personId, shenqingleixing) {
            if (shenqingleixing == "订单开票") {
@@ -108,11 +105,14 @@
        }
        
        
        //回款
        //开票说明查看
        function ViewFukuan(personId) {
            top.Dialog.open({ URL: "/Pages/business/InvoicingHuikuan.aspx?id=" + personId, Title: "付款登记", Width: 400, Height: 600 });
            top.Dialog.open({ URL: "/Pages/business/Waixiefukuanweikaipiaoshuoming.aspx?keyid=" + personId + "&&chakan=chakan", Title: "开票说明查看", Width: 600, Height: 400 });
        }
        //开票说明
        function ViewCuishou(personId) {
            top.Dialog.open({ URL: "/Pages/business/Waixiefukuanweikaipiaoshuoming.aspx?keyid=" + personId, Title: "开票说明", Width: 600, Height: 400 });
        }
        
        //查看客户资料
        function Viewkaipiao(Keyid, SellerOrderId, yongtu, supplierId) {
@@ -274,7 +274,9 @@
                            订单
                        </th>
                        
                           <th width="100">
                            操作
                        </th>
                       
                      
                    </tr>
@@ -343,6 +345,13 @@
                                </td>
                                                            
                               
                                    <td>
                                         <a href='javascript:void(0)' menu_member_case_id="case_shuomingchakan" menu_member_case_name="查看说明" title='查看说明' class='a_under' onclick='ViewFukuan("<%#Eval("Keyid")%>")'> 查看说明    </a>  &nbsp;&nbsp;&nbsp;
                                      <a href='javascript:void(0)' menu_member_case_id="case_kaipiaoshuoming" menu_member_case_name="开票说明" title='开票说明' class='a_under' onclick='ViewCuishou("<%#Eval("Keyid")%>")'> <%#Eval("Kaipiaoshuoming") %>    </a> &nbsp;&nbsp;&nbsp;
                                </td>
                                 
                                  
                                
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiao.aspx.cs
@@ -558,6 +558,18 @@
                PageIndex = UCPager1.AspNetPager.CurrentPageIndex
            };
            IEnumerable<OA_Fukuanshenqing> result = oA_FukuanshenqingBLL.SelectModelPageweikaipiao(pagination, CurrentUser.MemberId, this.txtSQBeginDate.Value, this.txtSQEndDate.Value, this.txtCreatorName.Value, this.txtCustormerName.Value,"", this.selFukuanyongtu.Value);
            foreach(var oA_Fukuanshenqing in result)
            {
                if (string.IsNullOrEmpty(oA_Fukuanshenqing.Kaipiaoshuoming))
                {
                    oA_Fukuanshenqing.Kaipiaoshuoming = "开票说明";
                }
                else
                {
                    oA_Fukuanshenqing.Kaipiaoshuoming = "√";
                }
            }
            rptData.DataSource = result;
            rptData.DataBind();
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiaoshuoming.aspx
New file
@@ -0,0 +1,204 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Waixiefukuanweikaipiaoshuoming.aspx.cs" Inherits="CY.WebForm.Pages.Property.Waixiefukuanweikaipiaoshuoming" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <uc:CMSHead ID="CMSHead1" runat="server" />
    </head>
    <body style="padding:10px">
        <form runat="server">
            <table class="tableStyle" >
                 <tr>
                <td class="ali03">
                    开票说明:
                </td>
                <td colspan="3">
                    <textarea id="txtPlanRemark" runat="server" style="width: 390px; height: 100px;" MaxLength="500"  ></textarea>
                </td>
            </tr>
                <tr>
                    <td colspan="2"></td>
                </tr>
                 <tr id="trbtn" runat="server">
                    <td class="ali02" colspan="2">
                        <asp:Button ID="btn_Submit" Text="提交说明" runat="server" OnClick="btn_Submit_form" />
                        <span style="margin-left:10px"></span>
                        <input type="button" value="取消 " onclick="top.Dialog.close()" />
                    </td>
                </tr>
            </table>
        </form>
    </body>
    <script type="text/javascript" language="javascript">
        function custormerChange(sel) {
            window.submitUrl = '/Pages/Property/Waixiefukuanweikaipiaoshuoming.aspx';
            CallServer({ Target: "GetSuplier", id: sel.value }, function (data, textStatus) {
                var jobj = false;
                try {
                    jobj = eval('[' + data + ']')[0];
                } catch (ex) {
                    global.DealDataException(ex); return;
                }
                if (jobj != '-2') {
                    document.getElementById('txtBank').value = jobj.Bank;
                    document.getElementById('txtAccountID').value = jobj.AccountID;
                    if (jobj.Huming == "") {
                        document.getElementById('txtHuming').value = jobj.Name;
                    } else {
                        document.getElementById('txtHuming').value = jobj.Huming;
                    }
                } else {
                    document.getElementById('txtBank').value = "";
                    document.getElementById('txtAccountID').value = "";
                    document.getElementById('txtHuming').value = "";
                }
            });
        }
        ///新增客户
        function showCustomer() {
            top.Dialog.open({ URL: "/Pages/procurement/SuppliersEdit.aspx?Keyid='0'&&flasss=ddfffff", Title: "新增供应商", Width: 950, Height: 650 });
        }
        //为Select新增过滤功能
        function SelectAddSearch() {
            $("select[SelInputHtml='True']").each(function (i, v) {
                $(this).unbind("blur");
                var old = $(this).html();
                var oldObject = $(this).clone();
                var sign = "selectS" + i;
                $(v).attr("sign", sign);
                var inputClass = "input_" + sign;
                var html = "<span style='margin-left:10px'>过滤:</span><input type='text' class='" + inputClass + "' style='width:80px;height:18px;line-height:18px;'/>";
                $(v).after(html);
                $("." + inputClass).blur(function () {
                    var nowval = $(this).val().trim();
                    var output = "";
                    if (nowval == "" || nowval == null) {
                        output = old;
                    } else {
                        output += "<option value=''>请选择</option>";
                        var valueArr = new Array();
                        oldObject.find("option").each(function (ii, vv) {
                            var value = $.trim($(vv).attr("value"));
                            var text = $.trim($(vv).text());
                            if (text.indexOf(nowval) >= 0)
                                valueArr.push(value + "|||" + text);
                        });
                        for (var ss in valueArr) {
                            var s = valueArr[ss];
                            if (s.split("|||").length == 2) {
                                var value1 = s.split("|||")[0];
                                var text1 = s.split("|||")[1];
                                output += "<option value='" + value1 + "'>" + text1 + "</option>";
                            }
                        }
                    }
                    $(v).html(output);
                });
            });
        }
        $(function () {
            SelectAddSearch();
        });
        function validateAmount(event) {
            var input = event.target;
            var value = input.value;
            var regex = /^\d+(\.\d+)?$/;
            if (!regex.test(value)) {
                // 输入无效,重置值并将焦点设回文本框
                input.value = '0';
                input.focus();
                alert('请输入有效的正负金额,例如  45.67');
            }
        }
        //查看
        function checkSelFile() {
                var oFile = document.getElementById('file1');
                if (oFile.value == "") {
                    alertMsg('没有选择文件');
                    return;
                }
                var formData = new FormData();
                formData.append('file', oFile.files[0]); // this.files[0]是文件对象
                $.ajax({
                    url: '/Pages/Property/FileUploadHandler.ashx', // 替换为你的服务器端点
                    type: 'POST',
                    data: formData,
                    contentType: false,
                    processData: false,
                    async: false,        // 设置为同步
                    success: function (response) {
                        console.log('File uploaded successfully:', response);
                        if (response.code == 1) {
                            $(".AddTab").last().after($(".AddTab").last().clone(true));
                            $(".AddTab").last().show();
                            $("input[name='HideKeyidFapiao']").last().val("");
                            $("input[name='HideAttachmentFapiao']").last().val(response.data);
                            $('a[name="HrefAttachmentFapiao"]').last().attr("href", response.data);
                            $('a[name="HrefAttachmentFapiao"]').last().html('<img src="' + response.data+'" width="20" height="20" />');
                            alertMsg('上传成功');
                        } else {
                            alertMsg(response.message);
                        }
                    },
                    error: function (xhr, status, error) {
                        console.error('File upload failed:', status, error);
                        alertMsg('上传失败');
                    }
                });
        }
        function deletefujian(obj) {
            if (confirm("是否删除选中数据?")) {
                $(obj).parent().parent().remove()
            }
        }
    </script>
</html>
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiaoshuoming.aspx.cs
New file
@@ -0,0 +1,134 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CY.BLL.EC;
using CY.Model;
using CY.Infrastructure.Common;
using CY.BLL.Integrity;
using CY.BLL;
using System.Threading.Tasks;
using System.Transactions;
using CY.BLL.OA;
using System.Net;
using System.IO;
using System.Web.Script.Serialization;
namespace CY.WebForm.Pages.Property
{
    //吴辉
    //卖家评价
    public partial class Waixiefukuanweikaipiaoshuoming : BasePage
    {
        OA_FukuanshenqingBLL _oA_FukuanshenqingBLL = null;
        //初始化
        public Waixiefukuanweikaipiaoshuoming()
        {
            _oA_FukuanshenqingBLL = new OA_FukuanshenqingBLL();
        }
        //页面加载
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                switch (Request["Target"])
                {
                    case "GetSuplier":
                        break;
                    default:
                        if (!IsPostBack)
                        {
                            InitData();
                        }
                        return;
                }
            }
            catch (Exception ex)
            {
                PAGEHandleException(ex);
                Response.Clear();
                //Response.Write("-1");
                Response.Write(ex.Message);
            }
            Response.End();
        }
        //绑定数据
        public void InitData()
        {
            var chakan = Request["chakan"];
            if (!string.IsNullOrEmpty(chakan))
            {
                this.txtPlanRemark.Disabled = true;
                this.btn_Submit.Visible = false;
            }
             var keyid = Request["keyid"];
             var oA_Fukuanshenqing  = _oA_FukuanshenqingBLL.GetModelByKeyid(keyid.ToInt32().Value);
            if (oA_Fukuanshenqing != null)
            {
                this.txtPlanRemark.InnerText = oA_Fukuanshenqing.Kaipiaoshuoming;
            }
        }
        //提交事件
        protected void btn_Submit_form(object sender, EventArgs e)
        {
            AcceptAll3();
        }
        /// <summary>
        /// 批量开票申请
        /// </summary>
        public void AcceptAll3()
        {
            var keyid = Request["keyid"];
            var oA_Fukuanshenqing = _oA_FukuanshenqingBLL.GetModelByKeyid(keyid.ToInt32().Value);
            oA_Fukuanshenqing.Kaipiaoshuoming = this.txtPlanRemark.InnerText;
            oA_Fukuanshenqing.Shuominger = CurrentUser.ShortName;
            oA_Fukuanshenqing.ShuomingTime = DateTime.Now;
            _oA_FukuanshenqingBLL.UpdateModel(oA_Fukuanshenqing);
            //操作成功
            JavaScript.MessageBox("提交成功", this, true, true);
        }
    }
}
CY_ECommercePlatform/CY.WebForm/Pages/business/Waixiefukuanweikaipiaoshuoming.aspx.designer.cs
New file
@@ -0,0 +1,53 @@
//------------------------------------------------------------------------------
// <自动生成>
//     此代码由工具生成。
//
//     对此文件的更改可能导致不正确的行为,如果
//     重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace CY.WebForm.Pages.Property
{
    public partial class Waixiefukuanweikaipiaoshuoming
    {
        /// <summary>
        /// CMSHead1 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::CY.WebForm.Pages.common.CMSHead CMSHead1;
        /// <summary>
        /// txtPlanRemark 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlTextArea txtPlanRemark;
        /// <summary>
        /// trbtn 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlTableRow trbtn;
        /// <summary>
        /// btn_Submit 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.WebControls.Button btn_Submit;
    }
}