站长信息
jeffery.xu
jeffery.xu

软件工程师

欢迎访问我的个人笔记网站!我是一名热爱技术的开发者,专注于Web开发和技术分享。

811495111@qq.com
18521510875
筛选

个人笔记

雅培CRDx财务部Q3CR
工作笔记

医院编号管理功能调整

  1. 新增医院总院字段,在新增及修改操作时,业务人员可借助放大镜工具从 DMS 系统医院主数据中选择相关数据,同时支持数据的查询与导出。
  1. 将医院级别字段修改为放大镜形式,并设定为必填项,其数据来源变更为医院等级主数据,且支持查询导出功能。
  1. 增设医院英文名字段,支持手工维护,同时具备查询导出功能。
  1. 修改数据同步功能。点击“数据同步”时,需将当前医院信息同步至SOI系统 “终端信息管理→医院信息维护→医院信息维护” 中。在同步过程中,要增加判断逻辑,仅当 DMS 系统中不存在医院编号时才执行同步操作,若已存在则给出相应提示。此外,同步还需将新增英文名、级别、总院等字段同步至“终端信息管理→医院信息维护→医院信息维护”。
  1. 在“终端信息管理→医院信息维护→医院信息维护”功能中,添加英文名、级别、总院以展示相关数据。
  1. 数据同步时,若在医院编号管理功能里数据未填写总院信息,则默认该医院的总院为其自身,保存时,其外键为SOI_CustomerInfo 表的主键。

经销商与医院关系管理功能调整

  1. 当系统手动停用关联关系时,将停用时间默认值从当前时间 +60 天调整为当前时间。
  1. 调整系统自动停用关联关系的逻辑,把停用时间默认值从当前时间 +60 天改为当前时间。同时,需对仪器签约导入、开票信息导入等功能及相关存储过程进行检查,去除自动创建经销商客户关系的额外代码逻辑,仅保留依据当前导入数据创建经销商与医院关系的相关代码。另外,对于停用关系的代码,将停用时间统一设定为当前时间,不再额外增加 60 天。

去除 DMS 系统自动创建经销商医院客户关系功能

  1. 经销商信息管理模块中的新增修改一、二级经销商关系功能。
  1. 经销商客户关系管理模块中的新增修改经销商医院关系功能。
  1. 机器信息管理模块中的上传仪器签约指标功能。
  1. 年中经销商签约导入功能。

退款审批逻辑调整

退款审批通过后,系统依据已开票退款生成退款预提信息,依据待开票情况生成负数开票明细信息。
新增逻辑:
生成的预提数据或开票数据需与当前退款申请单及退款单中的退款原因及退款备注建立 Mapping 关系,并进行系统存储,同时需新增相应的关系表。

报表功能调整

SOI 相关报表(退款明细报表、开票明细报表、预提明细报表、预提汇总报表)

  1. 在上述三个报表功能的列表页面,新增退款原因字段,支持查询及导出操作。
  1. 在导出数据时,新增退款备注字段的导出功能。
  1. 修复预提导入的数据在预提汇总功能中点击查看按钮时出现的报错问题,确保操作正常无报错。
  1. 创建数据导入功能,具体包括仪开票明细,预提明细增加 VAT 发票信息导入。根据BPCS订单号导入VAT发票号。

DMS 相关报表(开票明细报表、预提明细报表)

  1. 在两个报表功能的列表页面,新增退款原因字段,支持查询及导出。
  1. 在导出数据时,新增退款备注字段的导出功能。
  1. 修改开票明细报表,将原来的预提时间改为BPCS返回时间,修改查询条件和导出。

新增医院 VS 仪器关系报表

新增医院仪器关系报表功能
报表字段: Region、经销商 BPCS 代码、经销商 DMS 代码、经销商名称、BPCS Account、一级经销商代码、一级经销商名称、医院编码、医院名称、仪器编码、仪器名称、近三个月是否有销售、当前年是否有开票、经销商客户关系状态、经销商客户关系停用时间等,同时支持数据的查询与导出。
 
软件支持时间
工作笔记
软件 版本 支持结束时间
Windows server 2022 2026 年 10 月
IIS 10 2029 年 1 月 9 日(基于 Windows Server 2019 上的 IIS 10,若部署在其他系统可能有所不同)
Android 10 2023 36
Java Jdk 1.8.0-71 2030 年 12 月
.net framework 4.8 仍受支持,无结束时间
Newtonsoft.Json 9.0.1 无明确的整体支持结束时间,有新版本
Log4net 2.0.8 无明确的整体支持结束时间,有新版本
Sql server sql server 2022 2032 年 10 月 11 日(主流支持结束于 2027 年 10 月 11 日,扩展支持结束于 2032 年 10 月 11 日)

 

microsoft.web.ui.controls 的 treeview 控件绑定问题
工作笔记

周五遇到一个问题,treeview控件绑定菜单数据,当菜单节点过少的时候,报错了。仔细查找了好久,找不到原因。只知道databind()就报错了。查看了报错日志,发现有Page.url报错,甚是奇怪。最后反编译了dll,找到了问题。问题在于下面这个方法:

控件的 ReadXmlSrc 先把 TreeNodeSrc 当作 URI 去读取(GetXmlReaderFromUri);只有当该 URI 读取抛异常时才回退到把字符串当 XML(GetXmlReaderFromString)。
当节点较少时,编码后的相对 URI 比较短,请求成功返回了内容(或服务器对短 URL 做了特殊处理),解析器就直接在那个输入流上解析并在 DTD/属性处报错 —— 因为那不是一个纯净的 XML 输入(被当作 URL 处理后产生了问题)。
当节点很多时,编码后的 URL 变得更长或触发服务器拒绝/超时等错误,导致 GetXmlReaderFromUri 抛出异常,代码走到 catch 分支再用字符串解析,这样就不会触发 URI 路径上的那类错误,所以看起来“节点多反而不报错”。微软的控件真是一言难尽

IIFE
工作笔记

(function () { … })() 是 JavaScript 中常见的一种模式,称为 IIFE(Immediately‑Invoked Function Expression,立即执行函数表达式)。下面分点解释并给出示例。
1.    目的(为什么用)
•    建立独立作用域:函数内部的变量不会污染全局命名空间。
•    封装私有变量/方法:可以把实现细节隐藏,只暴露需要的接口。
•    立即执行初始化逻辑(模块初始化、事件绑定等)。
•    可安全传入全局对象(如 window、jQuery)作局部引用,性能与兼容性更好。

Edge下打开IE的开发工具
工作笔记

%systemroot%\system32\f12\IEChooser.exe

修改线下订单退单记录罐码
工作笔记
private dynamic ReturnScanOrderSubmit(WebParameterContext webContext)
{
    var response = new ServerContext<dynamic>() { ResponseMessage = new ResponseMessage() { Success = true } };
    ActionReturnResponseMessage = () =>
    {
        TransactionResult<dynamic> transactionResult = new TransactionResult<dynamic>();
        response = VerifyReturnScanData(webContext);
        if (response.ResponseMessage.Success == false)
        {
            return response;
        }
        try
        {
            var result = Dalserver.Base.BatchExecuteForTransaction(() =>
            {
                try
                {

                    LogUtil.DoLog("ReturnOrderSubmit-webContext", JSON.ToJSON(webContext));
                    // 获取请求体中的数据
                    string tank_codes = string.Join(",", webContext.RequestBody.tank_codes.ToArray());
                    string StoreID = webContext?.StoreID.ToString();

                    dynamic Datas = DynamicExtension.EmptyDynamic;

                    Datas = Dalserver.DA.Query("CT_GetOffIDData", new { codes = tank_codes, FK_StoreID = StoreID });
                    if (Datas != null && Datas is IEnumerable<dynamic> list && ((IEnumerable<dynamic>)Datas).ToList().Count > 0)
                    {
                        var returnData = new List<dynamic>();
                        returnData = ((IEnumerable<dynamic>)Datas).ToList();

                        var idList = returnData
                            .Select(x => x.ID)
                            .ToList();

                        foreach (var id in idList)
                        {
                            dynamic updatequery = DynamicExtension.EmptyDynamic;
                            updatequery.ID = id;
                            dynamic updateObj = DynamicExtension.EmptyDynamic;
                            updateObj.Status = 2;
                            Dalserver.Base.DataLogicFactory(new SqlDynamicContext("TBProductTankCode", OperationType.EDITE, updatequery, updateObj));
                        }

                        var orderList = returnData
                            .GroupBy(x => x.OrderID)
                            .Select(g => new
                            {
                                OrderID = g.Key,
                            })
                            .ToList();
                        // 为每个OrderID创建一个单独的ProductReturnCreate
                        Dictionary<string, dynamic> orderReturnMap = new Dictionary<string, dynamic>();

                        foreach (var order in orderList)
                        {
                            string orderNumber = GetOrderNumberByID(order.OrderID?.ToString()); // 假设有这个方法获取订单号
                            dynamic returnID = ProductReturnCreate(webContext.Account.Id.ToString(), 0, webContext.StoreID?.ToString(), orderNumber);
                            orderReturnMap.Add(order.OrderID?.ToString(), returnID);
                        }
                        var detailList = returnData
                            .GroupBy(x => new { DetailID = x.DetailID, OrderID = x.OrderID })
                            .Select(g => new
                            {
                                DetailID = g.Key.DetailID,
                                ProductCount = g.Count(),
                                ProductID = g.First().ProductID,
                                OrderID = g.First().OrderID,
                                OnlinePrice = Convert.ToDecimal(g.First().OnlinePrice),
                                TankCodes = g.Select(x => x.TankCode).Where(tc => !string.IsNullOrEmpty(tc)).Distinct().ToList()
                            })
                            .ToList();


                        foreach (var detail in detailList)
                        {
                            UpdateProductOrderDetail(detail.DetailID, detail.ProductCount);
                            dynamic returnID = orderReturnMap[detail.OrderID?.ToString()];
                            CreateReturnDetail(detail, returnID, webContext.Account.Id.ToString(), 1);
                        }

                        foreach (var order in orderList)
                        {
                            UpdateMainProductOrder(order.OrderID);
                        }

                        foreach (var returnID in orderReturnMap.Values)
                        {
                            UpdateMainReturnProductOrder(returnID);
                        }

                        var ProductList = returnData
                            .GroupBy(x => x.ProductID)
                            .Select(g => new
                            {
                                ProductID = g.Key,
                                TankCodes = g.Select(x => x.TankCode).Where(tc => !string.IsNullOrEmpty(tc)).Distinct().ToList(),
                                TankCodeCount = g.Select(x => x.TankCode).Where(tc => !string.IsNullOrEmpty(tc)).Distinct().ToList().Count
                            })
                            .ToList();
                        foreach (var detail in ProductList)
                        {
                            string Message = ReturnStock(detail.ProductID?.ToString(), webContext.StoreID, (int)detail.TankCodeCount, detail.TankCodes);
                            if (!string.IsNullOrEmpty(Message))
                            {
                                response.ResponseMessage.ErrorMessage = Message;
                                response.ResponseMessage.ErrorCode = 500;
                                response.ResponseMessage.Success = false;
                                response.Status = DynamicExtension.EmptyDynamic;
                                return false;
                            }
                        }
                        response.ResponseMessage.ErrorMessage = "退单成功!";
                        response.ResponseMessage.ErrorCode = 200;
                        response.Status = string.Join(",", orderReturnMap.Values);
                    }
                    else
                    {
                        response.ResponseMessage.ErrorMessage = "未查询到订单!";
                        response.ResponseMessage.ErrorCode = 500;
                        response.ResponseMessage.Success = false;
                        response.Status = DynamicExtension.EmptyDynamic;
                        return false;
                    }

                    return true;
                }
                catch (Exception e)
                {
                    LogUtil.LogExceptionInfo("ReturnOrderSubmit-接口异常", e);
                    response.ResponseMessage.Success = false;
                    response.ResponseMessage.ErrorMessage = e.Message;
                    response.ResponseMessage.ErrorCode = 500;
                    return false;
                }
            }, transactionResult);



            return response;
        }
        catch (Exception ex)
        {
            LogUtil.LogExceptionInfo("ReturnOrderSubmit-接口异常", ex);
            response.ResponseMessage.Success = false;
            response.ResponseMessage.ErrorCode = 500;
            response.ResponseMessage.ErrorMessage = "程序异常!" + ex.Message;
            return response;
        }

    };
    return webContext;
}
private dynamic CreateReturnDetail(dynamic detail, dynamic returnID, dynamic AccountID, int ReturnType)
{
    ServerContext<dynamic> data = new ServerContext<dynamic>();
    dynamic factory = DynamicExtension.EmptyDynamic;
    factory.FK_TBProduct_ID = detail.ProductID?.ToString();
    factory.ProductCode = GetProductCodeByID(detail.ProductID?.ToString());
    factory.ProductName = GetProductNameByID(detail.ProductID?.ToString());
    factory.QuantityNum = detail.ProductCount; // 总数量
    factory.QuantityMoney = (decimal)detail.OnlinePrice * (int)detail.ProductCount;
    factory.FK_TBProductReturn_ID = returnID;
    factory.FK_TBProductOrder_ID = detail.OrderID?.ToString(); // 订单来源(固定线下)
    factory.FK_TBProductOrderDetail_ID = detail.DetailID?.ToString(); // 订单来源(固定线下)
    factory.FK_SystemUser_Create_ID = AccountID;    // 创建人ID
    factory.FK_SystemUser_Modify_ID = AccountID;    // 修改人ID
    factory.IsValid = 1;
    factory.CreateTime = DateTime.Now;
    factory.ModifyTime = DateTime.Now;
    SqlDynamicContext sql = new SqlDynamicContext("TBProductReturnDetail", OperationType.ADD, factory: factory);
    data = Dalserver.Base.DataLogicFactory(sql);//新增
    var detailID = data.Status?.ToString();
    if (ReturnType == 1)
    {
        foreach (var tankCode in detail.TankCodes)
        {
            if (!string.IsNullOrEmpty(tankCode?.ToString()))
            {
                CreateReturnTankCode(tankCode, returnID?.ToString(), detail.ProductID?.ToString(), AccountID, detailID);
            }
        }
    }
    return data.Status;


}
记录一个BUG
工作笔记

<Column isVirtualField="false" field="a_ExpectedInstallationTime" fkField="" title="预计装机时间" titleTooltip="预计装机时间" funcValue="CONVERT(varchar(100), a.ExpectedInstallationTime, 23)" align="left" sortable="false" order="" formatter="" level="2" visible="true" gridPickerShow="true" notExport="false" notImport="false" isBold="false" fontSize="0" /> funcValue里的值写错了,需要牢记

APOC修复客户关联关系BUG,修复发票导入空行BUG
工作笔记
if (this.gpCustomer.SelectedValue.ToString() != string.Empty && this.gpSD.SelectedValue.ToString() != string.Empty && this.gpCustomer.SelectedValue.ToString() != "-1" && this.gpSD.SelectedValue.ToString() != "-1")
{
    if (((Enums.PageStatus)Session["Session_PageStatus"]) == SOI.Enums.PageStatus.Create || ((Enums.PageStatus)Session["Session_PageStatus"]) == SOI.Enums.PageStatus.Edit)
    {
        //if ((Enums.PageStatus)Session["Session_PageStatus"] == SOI.Enums.PageStatus.Create)

        Wicresoft.Session.Session session = new Wicresoft.Session.Session();
        string sql = @"select count(*) from SOI_DealerCustomer where  isvalid=1 and FK_CustomerInfo=" + gpCustomer.SelectedValue + "and FK_Dealer=" + gpSD.SelectedValue + " and customerkind='客户'" + ((Enums.PageStatus)Session["Session_PageStatus"] == SOI.Enums.PageStatus.Create ? "" : (" AND PKID!= " + this.PKID));
        int i = Convert.ToInt32(session.SqlHelper.ExecuteScalar(sql, CommandType.Text));
        if (i > 0)
        {
            valiateSDDName.ErrorMessage = "经销商与医院已做过关联";
            args.IsValid = false;
        }
    }
}
更新医院客户关联关系(APOC)
工作笔记

新疆生产建设兵团总医院
新疆生产建设兵团第一师医院
新疆生产建设兵团第六师医院101团分院
新疆生产建设兵团第十三师红星医院
新疆生产建设兵团第十师北屯医院
新疆生产建设兵团第四师六十二团医院
石河子大学医学院第一附属医院
第八师石河子市总医院(石河子市人民医院、石河子大学医学院第三附属医院)
新疆生产建设兵团第三师总医院四十五团分院

运费模板XML
工作笔记
<GridViewConfig xmlns="http://www.mobizone.cn/Configuration/GridViewConfig" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<GridViewName>TBFreightTemplate</GridViewName>
<GridViewBase>
<!--列表ID-->
<GridViewId>ID00423D3CB9574D98A2898BAE9CC82009</GridViewId>
<!--列表Ng-Mode指令-->
<NgModel>NM00423D3CB9574D98A2898BAE9CC82009</NgModel>
<!--表单请求方式-->
<Method>POST</Method>
<!--表单请求数据源路径-->
<URL>Gridview/LoadData</URL>
<!--启用缓存-->
<Cache>false</Cache>
<!--是否单选-->
<SingleSelect>true</SingleSelect>
<!--分页-->
<Pagination>true</Pagination>
<!--表格样式-->
<Classes>table table-hover table-no-bordered</Classes>
<!--排序方式-->
<Sort>desc</Sort>
<!--默认排序字段-->
<SortName>a_CreateTime</SortName>
<!--是否显示行间隔色-->
<Striped>true</Striped>
<!--表格汉化-->
<Locales>zh-US</Locales>
<!--显示搜索框-->
<Search>false</Search>
<!--是否启用所有列-->
<ShowColumns>true</ShowColumns>
<!--是否启用刷新事件-->
<ShowRefresh>true</ShowRefresh>
<!--最少允许的列数-->
<MinimumCountColumns>2</MinimumCountColumns>
<!--是否显示导出-->
<ShowExport>true</ShowExport>
<!--basic', 'all', 'selected'-->
<ExportDataType>all</ExportDataType>
<!--是否显示详细视图和列表视图的切换按钮-->
<ShowToggle>true</ShowToggle>
<!--工具按钮用哪个容器-->
<!--<Toolbar>#toolbar</Toolbar>  -->
<!--分页大小-->
<PageSize>20</PageSize>
<PageNumber>1</PageNumber>
<!--<pageList>[10, 20, 50, 100, 200, 500]</pageList>-->
<!--标识哪个字段为id主键-->
<IdField>a_ID</IdField>
<!--针对弹出框放大镜的选择字段-->
<GridPickerSelectField>a_TemplateName</GridPickerSelectField>
<!--下拉框是单选框-->
<SelectItemName>a_ID</SelectItemName>
<!--刷新事件必须设置-->
<Silent>true</Silent>
<!--点击行即可选中单选/复选框-->
<ClickToSelect>true</ClickToSelect>
<!--参数格式,发送标准的RESTFul类型的参数请求-->
<QueryParamsType>limit</QueryParamsType>
<!--参数-->
<!--<QueryParams>$.queryParams</QueryParams>  -->
<!--表单列-->
<SidePagination>server</SidePagination>
<!--列表第一列配置-->
<FistColumn checkbox="true" align="center"/>
</GridViewBase>
<ColumnList>
<Column field="a_ID" title="ID" align="left" sortable="false" formatter="" visible="false" class="" level="1" notExport="true"></Column>
<Column field="a_TemplateName" title="模板名称" align="left" sortable="true" formatter="" visible="true" class="" level="2" gridPickerShow="true"/>
<Column field="b_BigName" title="大区" align="left" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="b_DiquName" title="地区" align="left" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="b_ProviceName" title="省份" align="left" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="b_CityName" title="城市" align="left" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="b_DName" title="区县" align="left" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="b_Code" title="门店编码" align="left" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="b_Name" title="门店名称" align="left" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="a_DeliveryMethod" title="配送方式值" align="center" sortable="true" formatter="" visible="false" notExport="true" class="" level="3" gridPickerShow="true"/>
<Column field="a_DeliveryMethodText" title="配送方式" align="center" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="a_TemplateType" title="模板类型值" align="center" sortable="true" formatter="" visible="false" notExport="true" class="" level="3" gridPickerShow="true"/>
<Column field="a_TemplateTypeText" title="模板类型" align="center" sortable="true" formatter="" visible="true" class="" level="3" gridPickerShow="true"/>
<Column field="a_IsFreeShipping" title="是否包邮值" align="center" sortable="true" formatter="" visible="false" notExport="true" class="" level="4" gridPickerShow="true"/>
<Column field="a_IsFreeShippingText" title="是否包邮" align="center" sortable="true" formatter="" visible="true" class="" level="4" gridPickerShow="true"/>
<Column field="a_FreeShippingMoney" title="免邮金额" align="right" sortable="true" formatter="" visible="true" class="" level="4" gridPickerShow="true"/>
<Column field="a_FreeShippingNum" title="免邮数量" align="right" sortable="true" formatter="" visible="true" class="" level="4" gridPickerShow="true"/>
<Column field="a_IsDefault" title="默认" align="center" sortable="true" formatter="" visible="false" notExport="true" class="" level="5" gridPickerShow="true"/>
<Column field="a_IsDefaultText" title="默认模板" align="center" sortable="true" formatter="" visible="true" class="" level="5" gridPickerShow="true"/>
<Column field="a_TemplateStatus" title="模板状态值" align="center" sortable="true" formatter="" visible="false" notExport="true" class="" level="6" gridPickerShow="true"/>
<Column field="a_TemplateStatusText" title="模板状态" align="center" sortable="true" formatter="" visible="true" class="" level="6" gridPickerShow="true"/>
<Column field="a_ReturnValue" title="运费方式值" align="center" sortable="true" formatter="" visible="false" notExport="true" class="" level="6" gridPickerShow="true"/>
<Column field="a_ReturnValueText" title="运费方式" align="center" sortable="true" formatter="" visible="true" class="" level="6" gridPickerShow="true"/>
<Column field="a_CreateTime" title="创建时间" align="left" sortable="true" formatter="formatterDatetime" visible="true" class="" level="33" gridPickerShow="true" notExport="true"/>
<Column field="cu_ChineseName" title="创建人" align="left" sortable="true" formatter="" visible="true" class="" level="33" gridPickerShow="true"/>
<Column field="a_ModifyTime" title="修改时间" align="left" sortable="true" formatter="formatterDatetime" visible="true" class="" level="33" gridPickerShow="true" notExport="true"/>
<Column field="mu_ChineseName" title="修改人" align="left" sortable="true" formatter="" visible="true" class="" level="33" gridPickerShow="true"/>
</ColumnList>
<TableMapping tableName="V_TBFreightTemplate" tableFixName="a" title="运费模板管理">
<Relations>
<JoinTable tableName="V_TBstoreInfo" tableFixName="b" Condition="a.FK_TBStore_ID=b.ID" type="Left_Join" level="1"/>
<!--关联创建用户-->
<JoinTable tableName="cu_SystemUser" tableFixName="cu" Condition="a.FK_SystemUser_Create_ID=cu.id" type="Left_Join" level="1"/>
<!--关联修改用户-->
<JoinTable tableName="mu_SystemUser" tableFixName="mu" Condition="a.FK_SystemUser_Modify_ID=mu.id" type="Left_Join" level="1"/>
</Relations>
<!--附加条件语句-->
<QueryWhereClause><![CDATA[a.IsDelete=0]]></QueryWhereClause>
</TableMapping>
<SearchForm isFixedPanel="true">
<FormController>FormController</FormController>
<ElementList>
<!--模板名称-->
<Element elementType="TextBox" dataType="" required="false" name="a_TemplateName" model="a_TemplateName" fullRow="false" searchType="Like">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control " inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="模板名称" lableEndText="" placeholder="请输入模板名称" defaultValue=""/>
</Element>
<Element elementType="TextBox" dataType="" required="false" name="b_BigName" model="b_BigName" fullRow="false" searchType="Like">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control " inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="大区" lableEndText="" placeholder="" defaultValue=""/>
</Element>
<Element elementType="TextBox" dataType="" required="false" name="b_DiquName" model="b_DiquName" fullRow="false" searchType="Like">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control " inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="地区" lableEndText="" placeholder="" defaultValue=""/>
</Element>
<Element elementType="TextBox" dataType="" required="false" name="b_ProviceName" model="b_ProviceName" fullRow="false" searchType="Like">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control " inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="省份" lableEndText="" placeholder="" defaultValue=""/>
</Element>
<Element elementType="TextBox" dataType="" required="false" name="b_CityName" model="b_CityName" fullRow="false" searchType="Like">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control " inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="城市" lableEndText="" placeholder="" defaultValue=""/>
</Element>
<Element elementType="TextBox" dataType="" required="false" name="b_DName" model="b_DName" fullRow="false" searchType="Like">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control " inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="区县" lableEndText="" placeholder="" defaultValue=""/>
</Element>
<Element elementType="TextBox" dataType="" required="false" name="b_Code" model="b_Code" fullRow="false" searchType="Like">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control " inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="门店编码" lableEndText="" placeholder="" defaultValue=""/>
</Element>
<Element elementType="TextBox" dataType="" required="false" name="b_Name" model="b_Name" fullRow="false" searchType="Like">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control " inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="门店名称" lableEndText="" placeholder="" defaultValue=""/>
</Element>
 
<!--配送方式-->
<Element elementType="multiple" dataType="" required="false" name="a_DeliveryMethod" model="a_DeliveryMethod" fullRow="false" validateType="">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control" inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="配送方式" lableEndText="" placeholder="" defaultValue=""/>
<SelectItemList multipleChoice="false">
<SelectItem text="快递" value="1" />
<SelectItem text="自提" value="2" />
<SelectItem text="同城配送" value="3" />
<SelectItem text="物流" value="4" />
</SelectItemList>
</Element>
 
<!--模板类型-->
<Element elementType="multiple" dataType="" required="false" name="a_TemplateType" model="a_TemplateType" fullRow="false" validateType="">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control" inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="模板类型" lableEndText="" placeholder="" defaultValue=""/>
<SelectItemList multipleChoice="false">
<SelectItem text="按件数" value="2" />
<!--<SelectItem text="按重量" value="2" />
<SelectItem text="按体积" value="3" />-->
</SelectItemList>
</Element>
 
<!--模板状态-->
<Element elementType="multiple" dataType="" required="false" name="a_TemplateStatus" model="a_TemplateStatus" fullRow="false" validateType="">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control" inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="模板状态" lableEndText="" placeholder="" defaultValue=""/>
<SelectItemList multipleChoice="false">
<SelectItem text="启用" value="1" />
<SelectItem text="禁用" value="0" />
</SelectItemList>
</Element>
<!--是否免邮-->
<Element elementType="multiple" dataType="" required="false" name="a_IsFreeShipping" model="a_IsFreeShipping" fullRow="false" validateType="">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control" inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="是否包邮" lableEndText="" placeholder="" defaultValue=""/>
<SelectItemList multipleChoice="false">
<SelectItem text="是" value="1" />
<SelectItem text="否" value="0" />
</SelectItemList>
</Element>
<!--是否默认模板-->
<Element elementType="multiple" dataType="" required="false" name="a_IsDefault" model="a_IsDefault" fullRow="false" validateType="">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control" inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="默认模板" lableEndText="" placeholder="" defaultValue=""/>
<SelectItemList multipleChoice="false">
<SelectItem text="是" value="1" />
<SelectItem text="否" value="0" />
</SelectItemList>
</Element>
 
<!--运费方式-->
<Element elementType="multiple" dataType="" required="false" name="a_ReturnValue" model="a_ReturnValue" fullRow="false" validateType="">
<StyleClass modeClass="col-sm-3" labelBeforeClass="col-sm-4 control-label" labelEndClass="" inputClass="form-control" inputParentClass="col-sm-8" />
<ElementTextInfo lableBeforeText="运费方式" lableEndText="" placeholder="" defaultValue=""/>
<SelectItemList multipleChoice="false">
<SelectItem text="买家承担" value="1" />
<SelectItem text="卖家承担" value="0" />
</SelectItemList>
</Element>
 
</ElementList>
</SearchForm>
<ButtonList>
<Button name="btn_delete" text="删除" class="btn btn-default" spanClass="glyphicon glyphicon-remove" level="2"></Button>
<Button name="btn_custom_use" text="启用\禁用" class="btn btn-outline-primary" spanClass="glyphicon glyphicon-file" level="8"></Button>
</ButtonList>
<ParameterList>
<!---外部关联参数-->
<outParameter>template_name,template_id</outParameter>
<!---如果存在直接调用使用-->
<innerParameter>template_id=1 and template_name='标准模板'</innerParameter>
<!---静态参数,如果存在直接调用使用-->
<staticParam><![CDATA[{a.IsDelete=0}]]></staticParam>
</ParameterList>
</GridViewConfig>