前端111

1.获取流程节点以进行操作

PowerForm.EventAfterFormLoad = function (e, data) {

	if (workflowdata && workflowdata.BookMarkCode) {
		if (workflowdata.BookMarkCode == "ProjectMangerName"){
		}
	}
}

2.对表单中的元素进行启用,只读,将必填设为不必填

mini.get("Start_ProjStartApp.ProjectType").setReadOnly(false);
mini.get("Start_ProjStartApp.Save").enable();
mini.get("WLY_ResponsiblePersonAssignment.SupervisionUnit").setRequired(false)
mini.get("WLY_ZLGL_Acceptance.CompletionDate").setVisible(false)

3.在窗体上进行分组

        var grid = mini.get("WLY_QQGL_ProphaseManagement");
        grid.on("load", function () {
            grid.groupBy("IsSubmit", "asc");
        });


        function onDrawGroup(e) {
            e.cellHtml = "任务状态:" + getGroupText(e.value) + "(" + e.rows.length + "行"                         
             + ")";
        }


        function getGroupText(id) {
            var GroupText = [];
            jQuery.ajax({
                url: "/Form/ComboxLoadData/FormStatus/",//grid加载用到的方法
                cache: false,
                async: false,
                success: function (text) {//给部门赋值
                    var tmpdata = mini.decode(text);
                    if (tmpdata.length > 0) {
                        debugger;
                        GroupText = tmpdata;
                    }
                }
            });


            for (var i = 0, l = GroupText.length; i < l; i++) {
                var g = GroupText[i];
                if (g.Code == id) return g.Name;
            }
            return "";
        }

4.PowerForm.EventAfterFormLoad = function (e, data);

PowerForm.EventAfterOnBtnSave = function (e);

PowerForm.EventBeforeOnBtnFlow = function (e);

PowerForm.EventWizardData = function (e, data);

formconfig.config.joindata.currow["ProjectId"];

关闭表单不显示是否保存

closecancel = 0;

var PowerForm = new SingleForm();
$(function () {
    PowerForm.Init();
});
closecancel = 0;
mini.parse();

5.暂存

var requiredArr = [];
function Staging(e) {
    requiredArr = mini.findControls(function (control) {
        if (control.formField == true && control.getRequired != undefined &&         
        control.getRequired()) {
            control.setRequired(false);
            return true;
        }
    });

    PowerForm.OnBtnSave(e, false, FormParams);
}

6.文件的下载与查看

//下载,需引入js
    <link href="/Scripts/plugins/uploadify/uploadify.css?v=$AppVersion" rel="stylesheet" type="text/css" />
    <script src="/Scripts/plugins/uploadify/jquery.uploadify.html5.js?v=$AppVersion" type="text/javascript"></script>
    <script src="/Scripts/plugins/uploadify/spark-md5.min.js?v=$AppVersion" type="text/javascript"></script>
var PowerFiles = new PowerFiles();
function Download() {
    var fid_ = mini.get("WLY_ZLGL_Annex").getSelected().FId;
    PowerFiles.DownloadFile(fid_);
}
//查看,FId是文件的Id
function View() {
    var fid = mini.get("WLY_ZLGL_Annex").getSelected().FId;
    var url = "/PowerPlat/FormXml/FileViewer.aspx?fileid=" + fid;
    window.open(url);
}

7.向打开的新窗口传数据

Power.ui.dialog({
	title: '提示',               //对话框标题
	content: "建设实施阶段工期已经超过合同约定工期是否申请授权",          //对话框实体内容
	modal: true,                      //是否创建遮罩
	effect: 'zoom',                   //对话框显示的转场物资
	position: 'center center',        //对话框的位置
	button: {                          //设置对话框的按钮组
		"是": {
			theme: 'primary',         //按钮的主题
			handler: function () {      //点击按钮时的回调
				var url = "/Form/AddForm/0a40f691-db53-49e7-94cb-5cc4cbcc54c0/";
				mini.open({
					url: url,
					width: 1366,
					height: 668,
					showMaxButton: true,
					onload: function () {
						var iframe = this.getIFrameEl();
						var data = {
							projectId: value[1],
							projectCode: value[2],
							projectName: value[3],
							projectType: value[4],
							projectCategory: value[5]
						};
						iframe.contentWindow.SetData(data);
					},
					ondestroy: function () {
					  
					}
				});
			}
		},
		"否": function () {
		}
	}

});

接收数据

function SetData(data) {
	data = mini.clone(data);
	mini.get("WLY_ZLGL_AuthApp.ProjectId").setValue(data.projectId);
	mini.get("WLY_ZLGL_AuthApp.ProjectCode").setValue(data.projectCode);
	mini.get("WLY_ZLGL_AuthApp.ProjectName").setValue(data.projectName);
	mini.get("WLY_ZLGL_AuthApp.ProjectType").setValue(data.projectType);
	mini.get("WLY_ZLGL_AuthApp.ProjectCategory").setValue(data.projectCategory);
}

8.日期可以显示到秒加上showTime="true"

9.如果向导选择之后,页面上没有显示出来,但是数据库又存上数据了,有可能是textname没有写。

 

10.输入框自动搜索并代入数据

 

<tr>
	<td>
		建设项目名称
	</td>
	<td colspan="3">
		<input id="WLY_TZGL_ProjectCooperationContract.ProjectName_JS" name="ProjectName_JS" textname="ProjectName_JS" class="mini-autocomplete" url="/Data/AutoComplete?keyword=WLY_QQGL_BusinessDevelopment_New&id=Id&text=ProjectName" popupWidth="400px" emptytext="搜索建设项目名称" required="required" onvaluechanged="onValueChanged"  />

	</td>
</tr>

 

function onValueChanged(e) {
	var item = e.selected;
	if (item) {
		getDataJson([{
			KeyWord: "WLY_QQGL_BusinessDevelopment_New",
			Type: "Business",
			Where: "Id='" + item.id + "'"
		}], function (json) {
			if (json.data.WLY_QQGL_BusinessDevelopment_New.length > 0) {

				var ProjectName_JS = json.data.WLY_QQGL_BusinessDevelopment_New[0].ProjectName;
				var ProjectNature_JS = json.data.WLY_QQGL_BusinessDevelopment_New[0].ProjectNature;
				var Delivery = json.data.WLY_QQGL_BusinessDevelopment_New[0].DeliveryDate;
				var ProjectAddress_JS = json.data.WLY_QQGL_BusinessDevelopment_New[0].ProjectAddress;
				var EngineeringFundsSource = json.data.WLY_QQGL_BusinessDevelopment_New[0].FundingType;
				var CustomerName = json.data.WLY_QQGL_BusinessDevelopment_New[0].CustomerName;
				var CustomerContacts = json.data.WLY_QQGL_BusinessDevelopment_New[0].CustomerContact;
				var CustomerPhone = json.data.WLY_QQGL_BusinessDevelopment_New[0].CustomerPhone;

				mini.get("WLY_TZGL_ProjectCooperationContract.ProjectName_JS").setValue(ProjectName_JS);
				mini.get("WLY_TZGL_ProjectCooperationContract.ProjectNature_JS").setValue(ProjectNature_JS);
				mini.get("WLY_TZGL_ProjectCooperationContract.Delivery").setValue(Delivery);
				mini.get("WLY_TZGL_ProjectCooperationContract.ProjectAddress_JS").setValue(ProjectAddress_JS);
				mini.get("WLY_TZGL_ProjectCooperationContract.EngineeringFundsSource").setValue(EngineeringFundsSource);
				mini.get("WLY_TZGL_ProjectCooperationContract.CustomerName").setValue(CustomerName);
				mini.get("WLY_TZGL_ProjectCooperationContract.CustomerContacts").setValue(CustomerContacts);
				mini.get("WLY_TZGL_ProjectCooperationContract.CustomerPhone").setValue(CustomerPhone);
			 
			}
		})
	}
}

11.表格上传文件

 配置文件:

 页面引入js

    <link href="/Scripts/plugins/uploadify/uploadify.css?v=$AppVersion" rel="stylesheet" type="text/css" />
    <script src="/Scripts/plugins/uploadify/jquery.uploadify.html5.js?v=$AppVersion" type="text/javascript"></script>

其中必须要有以Add结尾的id,并且这个按钮是可用的

11.打开编辑窗口操作,调用 FormFuns.OnEditViewForm

OnBtnEditForm: function (e, formid, params) { 

    FormFuns.OnEditViewForm(e, formid, "edit", params); 

}

12.miniui 隐藏列

需要注意的是:这种两列有一个合并列头的要想隐藏只能通过数字的方式隐藏,无法通过field隐藏列。

var grid = mini.get("WLY_ZLGL_SupervisionEvaluationDtl");
//可以通过数字隐藏对应的列,起始值为1
grid.hideColumn(5);
grid.hideColumn(6);
//显示列
grid.showColumn(5);
grid.showColumn(6);

//可以通过列的field隐藏
var grid = mini.get("WLY_QQGL_ProphaseFile");
grid.hideColumn("ExpiryDate");
grid.hideColumn("FName1");
grid.hideColumn("FId1");
//显示列
grid.showColumn("FName1");
grid.showColumn("FId1");

13.下拉框展示多列

<tr>
	<td>
	检查内容
	</td>
	<td colspan="3">
		<div id="WLY_AQGL_HiddenDangerCheck.CheckPosition" name="CheckPosition" class="mini-combobox" multiselect="true" required="true" showClose="true" oncloseclick="onCloseClick">
			<div property="columns">
				<div header="检查内容" field="Content"></div>
				<div header="项目" field="text"></div>
			</div>
		</div>
	</td>
</tr>

14.前端通过日历计算结束日期

//1 表单引用这个JS
<script src="/Scripts/PowerWeb/PlanUIView/calendarFuns.js?v=$AppVersion" type="text/javascript"></script>
//2 获取需要使用的日历规则
var a =  calendarFuns.getTaskCalendar("348979ac-95d1-421b-9f64-c787751bc7d3")
//3 根据开始日期和工期计算结束日期
calendarFuns.getEndDateByCalendar(a,"2023-4-26",5)

15.表单中实现下图上传附件样式

js中的canEdit是用来控制可不可以上传文件的,可以根据具体条件控制该附件是否可以上传(true 可以,false不可以)

<td>
	工程变更材料
</td>
<td colspan="3" style="text-align:center;" id="gcbgcl">
	<a class="btn btn-primary" id="SignIn" name="SignIn" title="工程变更材料"
	   align="Right" onclick="OnBt_SignIn(this)">上传工程变更材料</a>
</td>
function OnBt_SignIn(e){
	var title = e.title;
	var canEdit = "true";
	// if (mini.get("WLY_QQGL_SelfAssessment.PersonInChargeId").getValue() != HumanId) {
	//     canEdit = "false"
	// }

	var url = "/Form/OpenURL?url=/PowerPlat/FormXml/zh-CN/WLY_QQGL/FileOperate_QQGL.htm&KeyWord=WLY_TZGL_ChargingBudgetChange&canEdit=" + canEdit +"&thetype=" + title + "&KeyValue=" + KeyValue;
	mini.open({
		url: url,
		width: 900,
		height: 400,
		showMaxButton: true,
		onload: function () { },
		ondestroy: function () { }
	});
}

15.动态生成列

    <div class="row-wrap" > 
        <div class="row  row-hd row-hd-responsive" style="height: 100%">
            <div class="col-md-12 col-hd-12">
                <div class="portlet box blue" style="height: 100%;">
                    <div class="portlet-title">
                        <div class="captiontools">
                           <a class="mini-button blue" id="DynamicColumn.Refresh" onclick="Refresh()"><i class="fa fa-refresh"></i>刷新</a><!--刷新-->
                           <a class="mini-button blue" id="DynamicColumn.Export" onclick="PowerForm.OnExportDataToXls('DynamicColumn', '导出excel',null,null,'66,139,202', '255,255,255')"><i class="fa fa-sign-out"></i>导出EXCEL</a>
                           <!-- <a class="mini-button blue" id="DynamicColumn.Print" onclick="PowerForm.OnExportDataToPDF('DynamicColumn', 'PDF查看', null, null, '66,139,202', '255,255,255')"><i class=" fa fa-print"></i>PDF查看</a> -->
                        </div>
                    </div>
                    <div class="portlet-body" style="height: 100%;">
                        <div id="DynamicColumn" class="mini-datagrid"  visible="true" style="width: 100%; height: 100%;" showPager="false" pagesize="100" summarycolumns="" fitcolumns=""   multiselect="true" allowcellselect="true" >
                                    
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
function setDynamic(){
            debugger;
            var Id = getParameter("Id");
            var ProductionUnitId = getParameter("ProductionUnitId")!=""?getParameter("ProductionUnitId"):"";
            //动态设置列
            var x=new Array();
            var exec = {};
            exec.KeyWord = "ps_internal_projects_fund_approval";
            exec.MethodName = "getColumns"; 
            exec.MethodParams = {};
            var params = exec.MethodParams;
            params.Id = Id;
            params.ProductionUnitId = ProductionUnitId;
            var txt = mini.encode(exec);
            $.ajax({
                url: "/API/Exec",
                type: "POST",
                data: { jsonData: txt },
                //contentType: "application/json; charset=utf-8", 
                cache: false,
                async: false,
                success: function (text){
                    var tmp = mini.decode(text);
                    var data = mini.decode(tmp.data.value);
                    if(tmp.success){
                        x.push({ type: "indexcolumn", header:"序号",width:40});
                        x.push({ field: "Supplier_new",name:"Supplier_new", width: 160, headerAlign: "center",  align :"left",header: "科目名称", editor: { type: "textbox"} });
                        // x.push({ field: "SubjectName", width: 120, headerAlign: "center", header: "科目名称", editor: { type: "textbox"} });
                        for (var i = 0; i < data.length; i++) {
                            x.push({
                                field:data[i].ResponsibleUnitName,
                                width: 120,
                                headerAlign: "center",
                                align:"center",
                                // allowSort: true,
                                header: data[i].ResponsibleUnitName,
                                // editor: { type: "textbox"},
                                // editor: { type: "spinner",format:"n2"},
                                editor:{cls:"mini-spinner",format: "n2",minValue: "0",maxValue: "999999999999999999"},
                                numberFormat:"n2"
                            }); 
                        }
                    }
                }
            });

            var grids = mini.get("DynamicColumn");
            grids.set({
                columns: x
            });

            //动态设置数据
            var exec = {};
            exec.KeyWord = "ps_internal_projects_fund_approval";
            exec.MethodName = "getProjectSettlement"; 
            exec.MethodParams = {};
            var params = exec.MethodParams;
            params.Id = Id;
            params.ProductionUnitId = ProductionUnitId;
            var txt = mini.encode(exec);
            $.ajax({
                url: "/API/Exec",
                type: "POST",
                data: { jsonData: txt },
                //contentType: "application/json; charset=utf-8", 
                cache: false,
                async: false,
                success: function (text){
                    // grids.mergeColumns(["SubjectType"]);
                    var tmp = mini.decode(text);
                    var data = tmp.data.value; 
                    var obj = JSON.parse(data);
                    grids.setData(obj);
                    // grids.mergeColumns(["SubjectType"]);
                    grids.frozenColumns(0,1);
                    // var marges = [
                    //     { rowIndex: 1, columnIndex: 0, rowSpan: 1, colSpan: 2 }
                    // ];
                    // grids.mergeCells(marges);
                }
            })
        }

16.设计向导,树结构,让树是展开的结构,把是否懒加载设置为false。

17.鼠标悬停显示文本

function ondrawcell(e) {
	var row = e.row,
		column = e.column,
		field = e.field,
		value = e.value;
	if (field == "parent_name") {
		e.cellHtml = '<div id="' + row.parent_name + '" class="showCellTooltip"  data-placement="bottomright">' + row.parent_name + '</div>';

	}

}

var tip = new mini.ToolTip();
tip.set({
	target: document,
	selector: '.showCellTooltip',
	onbeforeopen: function (e) {
		e.cancel = false;
	},
	onopen: function (e) {
		var el = e.element;
		var id = el.id;
		if (id) {
			this.showLoading();
			//模拟网络延迟
			setTimeout(function () {
				var html = "<div style='width:300px;color:blue;'><span style='text-align:left;display:block;'>" + id + ";</span><div>";
				tip.setContent(html);
			}, 100);
		}
	}
});
<style>
	.showCellTooltip {
		color: black;
	}
</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值