xj qian
2024-11-14 85b59ba5c6e2b2ad0cce127d414afef187eddb0b
update
已修改3个文件
237 ■■■■■ 文件已修改
jrj/project/business/QuoteFile.cpp 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/xframe/kobject/kcell.hpp 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/xframe/xcontrol/xcell.hpp 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/QuoteFile.cpp
@@ -1853,7 +1853,7 @@
                        }
                        dw_cell.SetRowColumn(lastrow, 1);
                        dw_cell.SetAnchorRowColumn(lastrow, 1);
                        SendCtrlCmd(dw_cell, L"xmFormatCellDeleteRow");
                        //SendCtrlCmd(dw_cell, L"xmFormatCellDeleteRow");
                        drow++;
                    }
                }
@@ -2145,16 +2145,16 @@
                SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                //SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                //SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                //SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
                cell1.SetItemString(headrow, purchremarkcol + 1, L"供应商");
                cell1.SetItemString(headrow, purchremarkcol + 2, L"类型");
                cell1.SetItemString(headrow, purchremarkcol + 3, L"价格");
                cell1.SetItemString(headrow, purchremarkcol + 4, L"供应商1");
                cell1.SetItemString(headrow, purchremarkcol + 5, L"类型1");
                cell1.SetItemString(headrow, purchremarkcol + 6, L"价格1");
                //cell1.SetItemString(headrow, purchremarkcol + 4, L"供应商1");
                //cell1.SetItemString(headrow, purchremarkcol + 5, L"类型1");
                //cell1.SetItemString(headrow, purchremarkcol + 6, L"价格1");
                int colRemark = getItemCol(cell1, headrow, L"Remarks");
                cell1.SetRowColumn(1, colRemark);
@@ -3561,10 +3561,59 @@
        return 1;
    }
    int OnDelBOMItem()
    {
        int startRow = getItemHeadRow(dw_cell);
        int headrow = startRow;
        if (startRow < 1) return 1;
        startRow++;
        int row = dw_cell.GetRow();
        int colPurchPrice1 = getItemCol(dw_cell, headrow, L"价格1");
        int colPurchPrice2 = getItemCol(dw_cell, headrow, L"价格2");
        int colPurchPrice3 = getItemCol(dw_cell, headrow, L"价格3");
        if (colPurchPrice3 > 0)
        {
            dw_cell.SetRowColumn(row, colPurchPrice3 - 2);
            dw_cell.SetAnchorRowColumn(row, colPurchPrice3 - 2);
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            return 1;
        }
        if (colPurchPrice2 > 0)
        {
            dw_cell.SetRowColumn(row, colPurchPrice2 -2);
            dw_cell.SetAnchorRowColumn(row, colPurchPrice2 -2);
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            return 1;
        }
        if (colPurchPrice1 > 0)
        {
            dw_cell.SetRowColumn(row, colPurchPrice1 - 2);
            dw_cell.SetAnchorRowColumn(row, colPurchPrice1 - 2);
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            return 1;
        }
        return 1;
    }
    //命令发布函数
    int OnCmdDispatch(xstring comdid)
    {
        if (comdid == L"xmAddBOMItem") return OnAddBOMItem();
        if (comdid == L"xmDelBOMItem") return OnDelBOMItem();
        if (comdid == L"xmQuoteBill")
        {
            if (dw_base.GetItemString(1, L"CustomerID") == L"")
@@ -4922,6 +4971,156 @@
        return str.mid(pos, epos - pos);
    }
    int AdjustView(xcell& dw_cell)
    {
        int startRow = getItemHeadRow(dw_cell);
        //没有找到商品行的标题
        if (startRow < 1) return 0;
        startRow++;
        int colItemDesc = getItemCol(dw_cell, startRow - 1, L"产品信息");
        int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo");
        bool newItemDesc = false;
        if (colItemDesc < 0)
        {
            dw_cell.SetRowColumn(1, colPhoto+1);
            dw_cell.SetAnchorRowColumn(1, colPhoto+1);
            SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
            colItemDesc = colPhoto + 1;
            dw_cell.SetItemString(startRow - 1, colItemDesc, L"产品信息");
            newItemDesc = true;
        }
        if (newItemDesc)
        {
            int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
            int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
            int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
            int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
            int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
            int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
            int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
            int colBuyer = getItemCol(dw_cell, startRow - 1, L"采购人员");
            int colQty = getItemCol(dw_cell, startRow - 1, L"Qty");
            int colPackage = getItemCol(dw_cell, startRow - 1, L"Package");
            int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外)");
            int colBuyerMOQ = getItemCol(dw_cell, startRow - 1, L"MOQ");
            int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
            int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
            int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)");
            int colNWT = getItemCol(dw_cell, startRow - 1, L"净重,净重(KG)");
            int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)");
            int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)");
            int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)");
            int colPurchedDate = getItemCol(dw_cell, startRow - 1, L"采购提交业务时间");
            int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"工厂图片");
            int colProductInfo = getItemCol(dw_cell, startRow - 1, L"业务部产品信息");
            int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
            int colBOMType = getItemCol(dw_cell, startRow - 1, L"类型");
            int colBOMType1 = getItemCol(dw_cell, startRow - 1, L"类型1");
            int colSaler = getItemCol(dw_cell, startRow - 1, L"业务员");
            int colSaletoBuyerRemark = getItemCol(dw_cell, startRow - 1, L"业务To采购备注");
            int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1");
            int colBuyPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
            int colSaleSendDate = getItemCol(dw_cell, startRow - 1, L"业务发送采购时间");
            dw_cell.SetColumnWidth(colSKUID, 0);
            dw_cell.SetColumnWidth(colItemNo, 0);
            dw_cell.SetColumnWidth(colCustomerItemNo, 0);
            dw_cell.SetColumnWidth(colItemName, 0);
            dw_cell.SetColumnWidth(colItemCName, 0);
            dw_cell.SetColumnWidth(colBuyerRemark, 0);
            dw_cell.SetColumnWidth(colPackage, 0);
            dw_cell.SetColumnWidth(colQty, 0);
            dw_cell.SetColumnWidth(col40HQ, 0);
            dw_cell.SetColumnWidth(colInnerOuter, 0);
            dw_cell.SetColumnWidth(colSaler, 0);
            dw_cell.SetColumnWidth(colSaletoBuyerRemark, 0);
            dw_cell.SetColumnWidth(colProductInfo, 0);
            dw_cell.SetColumnWidth(colSaler, 0);
            dw_cell.SetColumnWidth(colBOMType, 0);
            dw_cell.SetColumnWidth(colBOMType1, 0);
            dw_cell.SetColumnWidth(colItemDesc, 160);
            bool bPrice1 = false;
            for (int row = startRow; row <= dw_cell.GetValidRow(); row++)
            {
                if (dw_cell.GetItemString(row, colSKUID) != L"")
                {
                    xstring itemDesc = L"SKUID:" + dw_cell.GetItemString(row, colSKUID);
                    if (dw_cell.GetItemString(row, colItemNo) != L"")
                        itemDesc += L"\r\nItem No: " + dw_cell.GetItemString(row, colItemNo);
                    if (dw_cell.GetItemString(row, colItemNo) != L"")
                        itemDesc += L"\r\nCustomer Item No: " + dw_cell.GetItemString(row, colCustomerItemNo);
                    if (dw_cell.GetItemString(row, colItemName) != L"")
                        itemDesc +=  L"\r\nItem Name:" + dw_cell.GetItemString(row, colItemName);
                    if (dw_cell.GetItemString(row, colItemCName) != L"")
                        itemDesc += L"\r\n产品名称:" + dw_cell.GetItemString(row, colItemCName);
                    if (dw_cell.GetItemString(row, colQty) != L"")
                        itemDesc += L"\r\n数量:" + dw_cell.GetItemString(row, colQty);
                    if (dw_cell.GetItemString(row, colPackage) != L"")
                        itemDesc += L"\r\n包装:" + dw_cell.GetItemString(row, colPackage);
                    if (dw_cell.GetItemString(row, colInnerOuter) != L"")
                        itemDesc += L"\r\n装箱数(内/外):" + dw_cell.GetItemString(row, colInnerOuter);
                    if (dw_cell.GetItemString(row, colProductInfo) != L"")
                        itemDesc += L"\r\n\r\n规格:\r\n" + dw_cell.GetItemString(row, colProductInfo);
                    if (dw_cell.GetItemString(row, colSaletoBuyerRemark) != L"")
                        itemDesc += L"\r\n\r\n采购要求:\r\n" + dw_cell.GetItemString(row, colSaletoBuyerRemark);
                    dw_cell.SetItemString(row, colItemDesc, itemDesc);
                    if (!bPrice1)
                    {
                        if (dw_cell.GetItemString(row, colSupplier1) != L"") bPrice1 = true;
                        else if (dw_cell.GetItemString(row, colBuyPrice1) != L"") bPrice1 = true;
                    }
                }
            }
            if (!bPrice1)
            {
                dw_cell.SetRowColumn(1, colSupplier1);
                dw_cell.SetAnchorRowColumn(1, colSupplier1);
                SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
                SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
                SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            }
            dw_cell.SetRowColumn(1, 1);
            dw_cell.SetAnchorRowColumn(startRow-1, 1);
            SendCtrlCmd(dw_cell, L"xmEditCopy");
            dw_cell.SetRowColumn(1, colPhoto);
            dw_cell.SetAnchorRowColumn(startRow - 1, colPhoto);
            SendCtrlCmd(dw_cell, L"xmEditPaste");
            dw_cell.SetRowColumn(1, 2);
            dw_cell.SetAnchorRowColumn(startRow - 1, 2);
            SendCtrlCmd(dw_cell, L"xmEditCopy");
            dw_cell.SetRowColumn(1, colPhoto+1);
            dw_cell.SetAnchorRowColumn(startRow - 1, colPhoto+1);
            SendCtrlCmd(dw_cell, L"xmEditPaste");
            dw_cell.SetItemString(2, colBuyerPrice, L"业务员");
            dw_cell.SetItemString(3, colBuyerPrice, L"发送日期:");
            dw_cell.SetItemString(2, colBuyerPrice+1, dw_cell.GetItemString(startRow, colSaler));
            dw_cell.SetItemString(3, colBuyerPrice+1, dw_cell.GetItemString(startRow, colSaleSendDate));
        }
        return 1;
    }
    int onload()
    {
        SetArg();
@@ -5063,6 +5262,8 @@
            xnode anode = GetAgentNode(L"tabheader");
            anode.SetLayerFlow(0x00000100);
            dw_cell.SetColumnCount(dw_cell.GetValidCol() + 6);
            //dw_cell.SetFixedCols(7);
            AdjustView(dw_cell);
        }
        else
            dw_cell.SetColumnCount(dw_cell.GetValidCol()+3);
jrj/xframe/kobject/kcell.hpp
@@ -94,5 +94,11 @@
public:
    LPCTSTR GetSortColumns();
    void SortData(LPCTSTR sortColumn, LPTSTR strType, bool bAsc);
    public:
        int GetFixedRows();
        void    SetFixedRows(int value);
    public:
        int GetFixedCols();
        void SetFixedCols(int value);
};
}}}}
jrj/xframe/xcontrol/xcell.hpp
@@ -284,6 +284,22 @@
    { return GetKCell()->SetReadOnly(bReadOnly);
    }
    int GetFixedRows()
    {
        return GetKCell()->GetFixedRows();
    }
    void    SetFixedRows(int value = 1)
    {
        return GetKCell()->SetFixedRows(value);
    }
    int GetFixedCols()
    {
        return GetKCell()->GetFixedCols();
    }
    void SetFixedCols(int value = 1)
    {
        return GetKCell()->SetFixedCols(value);
    }
};