• Jquery记录



    //添加行
    function AddRow(obj) {
    var con = obj.parentNode.parentNode.cloneNode(true);
    obj.parentNode.parentNode.parentNode.insertAdjacentElement("beforeEnd", con);
    //每次添加行的时候清空工作时间和内容,其他不清空
    $("#serviceData tr:last").find("input[name=workDate]").val("");
    $("#serviceData tr:last").find("input[name=workcontent]").val("");

    //得到多少行
    var table = document.getElementById("serviceData");
    var rows = table.rows.length;
    //设置id
    var newId = "workDate" + rows;
    $("#serviceData tr:last").find("input[name=workDate]").attr("Id", newId);

    //工时新增
    laydate.render({
    elem: '#'+newId
    });

    //工作时间输入逻辑处理
    WorkHourInput();
    }

    //删除行
    function DelRow(obj) {

    $(obj).parent().parent().remove();
    }

    //显示涉及服务
    function Z_ShowProLinePicker(obj) {
    //记录当前点击的行数
    var row = $(obj).parent().parent().index();
    $("#service_nowclickRowindex").val(row);
    $("#servicemodal").modal('show');

    }

    //涉及服务选择(多选)
    function SelectProLine(obj) {
    var id = $(obj).attr("id");
    var name = $(obj).attr("name");

    //得到点击的行数
    var rowIndex = parseInt($("#service_nowclickRowindex").val()) + 1;

    var nameInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(4) input:eq(1)");
    var oldNameValue = nameInp.val();

    var idInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(4) input:eq(0)");
    var oldIdValue = idInp.val();

    if (oldIdValue.indexOf(id) != -1) {//包含就是删除
    $(obj).parent().find("i[name=ischecked]").hide();// //选中图标的隐藏
    if (oldIdValue.indexOf("," + id) != -1) {
    oldNameValue = oldNameValue.replace("," + name, '');
    oldIdValue = oldIdValue.replace("," + id, '');
    } else {
    oldNameValue = oldNameValue.replace(name, '');
    oldIdValue = oldIdValue.replace(id, '');
    }

    nameInp.val(oldNameValue);
    idInp.val(oldIdValue);
    } else {//不包含就是增加
    $(obj).parent().find("i[name=ischecked]").show();// //选中图标的显示
    if (oldNameValue.length > 0) {
    nameInp.val(oldNameValue + "," + name);
    idInp.val(oldIdValue + "," + id);
    }
    else {
    nameInp.val(name);
    idInp.val(id);
    }
    }

    nameInp.attr("title", nameInp.val());

    }


    //涉及服务选择(单选)
    function SelectProLineSingle(obj) {
    var name = $(obj).attr("name");
    //得到点击的行数
    var rowIndex = parseInt($("#service_nowclickRowindex").val()) + 1;
    $("#serviceData tr:eq(" + rowIndex + ") td:eq(4) input:eq(0)").val(name);
    $("#servicemodal").modal('hide');
    }

    //子任务点击选择
    function SelectSubTask(obj) {
    $("#choseapprovePerson").hide();
    $("#chosedApproves").hide();
    $("#approvePerson").empty();
    $("#selectapprovePersonId").val("");
    //都要是小写
    var projectName = $(obj).data("projectname");
    var projectManager = $(obj).data("projectmanager");
    var taskName = $(obj).data("taskname");
    var taskManager = $(obj).data("taskmanager");
    var subTaskName = $(obj).data("subtaskname");
    var subTaskManager = $(obj).data("subtaskmanager");
    var subTaskId = $(obj).data("subtaskid");
    var subtaskidDes = $(obj).data("subtaskiddes");
    var estimate_hours = $(obj).data("estimate_hours");
    var totalUseHours = $(obj).data("totalUsehours");
    var projectId = $(obj).data("projectid");
    var taskId = $(obj).data("taskid");
    var productline3id = $(obj).data("productline3id");//三级服务产品线id
    var servicetype = $(obj).data("servicetype");//虚拟四级
    var productline3name = $(obj).data("productline3name");//三级服务产品线值
    var hardwareProline = $(obj).data("hardwareproline");//硬件产品线value
    var hardwareProlineName = $(obj).data("hardwareprolinename");//硬件产品线name
    var payContent = $(obj).data("paycontent");
    var customerName = $(obj).data("customername").trim();//客户名称
    var contract_No = $(obj).data("contract_no");//合同号
    var secondOrder_No = $(obj).data("secondorder_no");//二级订单号
    var projectType = $(obj).data("projecttype");//项目类型


    //合同订单
    //支持类可选,选择来源是子任务对应客户的合同订单
    //非支持类带过来,根据项目合同号自动关联并显示,不予许修改
    //(服务合同默认为对应合同号,产品合同默认二级订单号,借货合同默认合同号,营销需求默认合同号)

    //产品线
    //当虚拟四级为:增值IT和增值CT时,产品线栏位为灰色不可选(在当前界面录入);
    //当虚拟四级为:支持类,将任务层级的产品线默认读取过来,用户只需要选择产品,为必须
    //当虚拟四级为:上述三种之外,用户手工选择产品线,然后手工选择产品。 ,为必须

    //初始化
    $("#serviceData").find("input[name=workhour]").attr("disabled", "disabled");
    $("#serviceData").find("input[name=onpassagehour]").attr("disabled", "disabled");
    $("#serviceData").find("input[name=overhour]").attr("disabled", "disabled");
    $("#serviceData").find("input[name=totalhour]").attr("disabled", "disabled");
    $("#serviceData").find("input[name=productlinetext]").val("").attr("disabled", false);
    $("#serviceData").find("input[name=productline]").val();
    $("#serviceData").find("input[name=IsShowAll]").val(1);//设置为1
    $("#serviceData").find("input[name=productline]").val("[]");
    $("input[name=SearchKey]").val("");
    $("#appointApproverDiv").hide();

    if (servicetype == "ZZ_it" || servicetype == "ZZ_ct") {//增值it,ct
    $("#serviceData").find("input[name=productlinetext]").val("不涉及").attr("disabled", "disabled");
    $("#serviceData").find("input[name=workhour]").attr("disabled", false);
    $("#serviceData").find("input[name=onpassagehour]").attr("disabled", false);
    $("#serviceData").find("input[name=overhour]").attr("disabled", false);

    }
    else if (servicetype == "ZCL") {//支持类
    if (hardwareProline.length > 0) {//有值
    $("#serviceData").find("input[name=productline]").val("[{"proLvalue1":"" + hardwareProline + "","proLname1":"" + hardwareProlineName + "","wkhour":"0","ophour":"0","ovhour":"0","pro2names":""}]");
    $("#serviceData").find("input[name=IsShowAll]").val(0);//设置为0
    }

    //支持类可选,根据选择的子任务的客户名称加载合同订单
    $("#serviceData").find("input[name=ContractNo]").val("").attr("disabled", false);
    //var conurl = "/Partial/ContractsList?Customer_Name=" + customerName + "&onclick=SelectContractSingle(this)";
    //$("#ContractsListView").load(conurl);
    $("#ContractsList_SearchForm").find("input[name=Customer_Name]").val(customerName);
    $("#ContractsList_SearchForm").submit();
    }


    if (servicetype != "ZCL") {//非支持类

    //合同订单,非支持类 (服务合同默认为对应合同号,产品合同默认二级订单号,借货合同默认合同号,营销需求默认合同号)
    if (projectType == "服务合同" || projectType == "借货合同" || projectType == "营销需求")
    {
    $("#serviceData").find("input[name=ContractNo]").val(contract_No).attr("disabled", "disabled");
    } else if (projectType == "产品合同")
    {
    $("#serviceData").find("input[name=ContractNo]").val(secondOrder_No).attr("disabled", "disabled");
    }

    }


    //涉及服务
    if (productline3id != "" && productline3id != null) {
    $("#serviceData").find("input[name=serviceName]").val(productline3name).attr("disabled", "disabled");
    }


    $("#projectName").val(projectName);
    $("#projectManager").val(projectManager);
    $("#taskName").val(taskName);
    $("#taskManager").val(taskManager);
    $("#subTaskName").val(subTaskName);
    $("#subTaskManager").val(subTaskManager);
    $("#estimate_hours").val(estimate_hours);
    $("#totalUseHours").val(totalUseHours);
    $("#qualityMonitoringPoint").val(payContent);
    $("#subTaskId").val(subTaskId);
    $("#projectId").val(projectId);
    $("#taskId").val(taskId);
    $("#servicetype").val(servicetype);
    $("#subTaskIdDes").val(subtaskidDes);
    $("#SelectWorkHourTaskmodal").modal('hide');

    //录入工时框显示
    $("#addwkBody").show();

    //判断该项目任务下的工时是否需要审批
    JudgeWorkHourIsApprove(projectId, taskId);

    }

    //判断是否需要选择审核人,需要则加载审核人
    function JudgeWorkHourIsApprove(projectId, taskId) {
    $.ajax({
    url: "/Projects_WorkHour/JudgeWorkHourIsApprove",
    data: {
    projectId: projectId, taskId: taskId
    },
    dataType: "json", type: "POST",
    success: function (res) {

    if (res.mes == "YES_NEEDCHOSE") {//需要选择审核人
    $("#choseapprovePerson").show();
    $("#chosedApproves").show();
    $("#wkApprovers tbody").empty();
    $("#isNeedChoseApprove").val("1");

    //自动搜索
    $("input[name=BenifitBranchName]").val(res.data);
    $("#PwkApprover_SearchForm").submit();

    } else if (res.mes == "YES_NOCHOSE")//不需要选择
    {
    $("#appointApproverDiv").show();
    $("#appointApprover").text(res.data);
    } else {//不需要审核
    //用户添加成功显示判断
    $("#isNeedApprove").val("NO");
    }

    },
    error: function () { alert("此子任务不能继续录入工时"); }
    });
    }

    //涉及项目显示
    function Z_ShowContractPicker(obj) {
    //记录当前点击的行数
    var row = $(obj).parent().parent().index();
    $("#contract_nowclickRowindex").val(row);
    $("#contractmodal").modal('show');
    $("#contractmodal").find("i[name=ischecked]").hide();//选中图标全部隐藏
    }


    //合同选择(多选)
    function SelectContract(obj) {
    var contractNo = $(obj).attr("contractNo");
    var name = $(obj).attr("name");

    //得到点击的行数
    var rowIndex = parseInt($("#contract_nowclickRowindex").val()) + 1;
    var nameInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(3) input:eq(1)");
    var oldNameValue = nameInp.val();

    //记录选中的contractNo
    var contractNoInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(3) input:eq(0)");
    var oldcontractNoValue = contractNoInp.val();

    if (oldcontractNoValue.indexOf(contractNo) != -1) {//包含就是删除
    $(obj).find("i[name=ischecked]").hide();// //选中图标的隐藏
    if (oldcontractNoValue.indexOf("," + contractNo) != -1) {
    //oldNameValue = oldNameValue.replace("," + name, '');
    oldcontractNoValue = oldcontractNoValue.replace("," + contractNo, '');
    oldNameValue = oldNameValue.replace("," + contractNo, '');

    } else {
    //oldNameValue = oldNameValue.replace(name, '');
    oldcontractNoValue = oldcontractNoValue.replace(contractNo, '');
    oldNameValue = oldNameValue.replace(contractNo, '');
    }

    nameInp.val(oldNameValue);
    contractNoInp.val(oldcontractNoValue);
    } else {//不包含就是增加
    $(obj).find("i[name=ischecked]").show();// //选中图标的显示
    if (oldNameValue.length > 0) {
    //nameInp.val(oldNameValue + "," + name);
    contractNoInp.val(oldcontractNoValue + "," + contractNo);
    nameInp.val(oldcontractNoValue + "," + contractNo);
    }
    else {
    //nameInp.val(name);
    contractNoInp.val(contractNo);
    nameInp.val(contractNo);
    }
    }

    nameInp.attr("title", nameInp.val());

    }

    //合同选择(单选)
    function SelectContractSingle(obj) {
    var contractNo = $(obj).attr("contractNo");
    //得到点击的行数
    var rowIndex = parseInt($("#contract_nowclickRowindex").val()) + 1;
    $("#serviceData tr:eq(" + rowIndex + ") td:eq(3) input:eq(0)").val(contractNo);
    $("#contractmodal").modal('hide');
    }

    //产品线显示---isShowALl表示是否显示全部 1是0否
    function Z_ShowProductLine(obj) {
    //记录当前点击的行数
    var row = $(obj).parent().parent().index();
    $("#productline_nowclickRowindex").val(row);

    //加载产品线的信息
    var jsonStr = $(obj).parent().find("input[name=productline]").val();
    var isShowALl = $(obj).parent().find("input[name=IsShowAll]").val();

    //所有控件还原默认值(表头跳过)
    $("#datatable tr:not(:first)").each(function () {
    $(this).hide();
    });

    $("#datatable input[name=proIsChecked]").each(function () {
    $(this).prop("checked", false);
    });

    $("#datatable input").each(function () {
    $(this).val("0");
    });

    LoadProLine(jsonStr, isShowALl);

    $("#productlinemodal").modal('show');

    }

    //产品线选择
    function SelectProductLine() {

    var nameVals = "";
    var idVals = "";
    var isFALSE = 0;//判断是否选择涉及产品(必选)

    var wkhours = 0; var ovhours = 0; var ophours = 0;
    var ths = $("#datatable").find("input[name=proIsChecked]:checked");
    if (ths.length <= 0) {
    alert("请选择产品线");
    return;
    }
    $("#datatable").find("input[name=proIsChecked]").each(function () {
    if ($(this).is(':checked')) {
    var id1 = $(this).attr("id1");//一级产品value
    var name1 = $(this).attr("name1");//一级产品name

    var wkhour = $(this).parent().parent().find("#wkhour").val();
    var ophour = $(this).parent().parent().find("#ophour").val();
    var ovhour = $(this).parent().parent().find("#ovhour").val();

    wkhours = parseFloat(wkhour) + parseFloat(wkhours);
    ovhours = parseFloat(ovhour) + parseFloat(ovhours);
    ophours = parseFloat(ophour) + parseFloat(ophours);

    //涉及产品
    var pro2names = "";
    var procks = $(this).parent().parent().find("[name='proline2']");
    procks.each(function () {
    if ($(this).is(':checked')) {
    var pro2name = $(this).attr("pro2name");
    pro2names += pro2name + ",";
    }
    });

    if (wkhour == "0")
    {
    isFALSE = 2;
    return;
    }
    if (pro2names.length <= 0) {//涉及产品线
    isFALSE = 1;
    return;
    }

    nameVals += name1 + ",";
    idVals += '{"proLvalue1":"' + id1 + '","proLname1":"' + name1 + '","wkhour":"' + wkhour +
    '","ophour":"' + ophour + '","ovhour":"' + ovhour + '","pro2names":"' + pro2names + '"},';
    }

    });


    if (isFALSE == 1) {
    alert("请选择涉及产品");
    return;
    }

    if (isFALSE == 2) {
    alert("工作时长不能为0");
    return;
    }


    nameVals = nameVals.substring(0, nameVals.length - 1);
    idVals = '[' + idVals.substring(0, idVals.length - 1) + ']';
    //得到点击的行数
    var rowIndex = parseInt($("#productline_nowclickRowindex").val()) + 1;

    //记录name
    var nameInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(5) input:eq(1)");

    //记录选中的id
    var idInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(5) input:eq(0)");

    nameInp.val(nameVals);
    idInp.val(idVals);
    nameInp.attr("title", nameInp.val());

    //更新页面的时间
    var whInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(7) input:eq(0)");
    whInp.val(wkhours);
    var opInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(8) input:eq(0)");
    opInp.val(ophours);
    var ovInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(9) input:eq(0)");
    ovInp.val(ovhours);
    var totalInp = $("#serviceData tr:eq(" + rowIndex + ") td:eq(10) input:eq(0)");
    totalInp.val(wkhours);

    //关闭模态窗
    $("#productlinemodal").modal('hide');


    }

    //问题工单显示
    function Z_ShowCaseNumPicker(obj) {
    //记录当前点击的行数
    var row = $(obj).parent().parent().index();
    $("#caseNum_nowclickRowindex").val(row);
    $("#caseNumtmodal").modal('show');
    }


    //问题工单选择
    function SelectCasenum(obj) {
    var id = $(obj).attr("id");
    var name = $(obj).attr("name");
    //得到点击的行数
    var rowIndex = parseInt($("#caseNum_nowclickRowindex").val()) + 1;
    $("#serviceData tr:eq(" + rowIndex + ") td:eq(6) input:eq(1)").val(name);
    $("#serviceData tr:eq(" + rowIndex + ") td:eq(6) input:eq(0)").val(name);
    $("#caseNumtmodal").modal('hide');
    }

    //显示审核人选择
    function ShowApprovePerson() {

    $("#pwkapproverPickermodal").modal('show');
    $("#pwkapproverPickermodal").find("i[name=ischecked]").hide();//选中图标全部隐藏
    }


    //审核人员选择
    function PwkapproverPicker(obj) {
    var id = $(obj).data("id");
    var name = $(obj).data("name");

    var oldIdValue = $("#selectapprovePersonId").val();

    if (oldIdValue.indexOf(id) != -1) {//包含就是删除
    $(obj).parent().parent().find("i[name=ischecked]").hide();//选中图标的隐藏
    if (oldIdValue.indexOf("," + id) != -1) {
    oldIdValue = oldIdValue.replace("," + id, '');
    } else {
    oldIdValue = oldIdValue.replace(id, '');
    }
    $("#selectapprovePersonId").val(oldIdValue);
    $("#approvePerson #" + id).remove();

    } else {//不包含就是增加
    $(obj).parent().parent().find("i[name=ischecked]").show();// //选中图标的显示
    if (oldIdValue.length > 0) {

    $("#selectapprovePersonId").val(oldIdValue + id + ",");
    }
    else {
    $("#selectapprovePersonId").val(id + ",");
    }
    $("#approvePerson").append("<li id=" + id + "><i onclick="RemoveApprovePerson(" + id + ")" class="fa fa-minus-square" aria-hidden="true" style="color:red;"></i>&nbsp;" + name + "</li>");

    }

    }

    //删除审核人员
    function RemoveApprovePerson(id) {
    var oldIdValue = $("#selectapprovePersonId").val();
    if (oldIdValue.indexOf("," + id) != -1) {
    oldIdValue = oldIdValue.replace("," + id, '');
    } else {
    oldIdValue = oldIdValue.replace(id, '');
    }
    $("#selectapprovePersonId").val(oldIdValue);
    $("#approvePerson #" + id).remove();
    }

    //在产品线中录入工时,加班工时不能大于工作时长+在途时长
    function OvhourWrite(obj) {
    var wkhour = $(obj).parent().parent().find("#wkhour").val();
    var ophour = $(obj).parent().parent().find("#ophour").val();
    var ovhour = $(obj).parent().parent().find("#ovhour").val();

    if (parseFloat(ovhour) > (parseFloat(ophour) + parseFloat(wkhour))) {
    alert("加班时长不能大于工作时长+在途时长");
    $(obj).parent().parent().find("#ovhour").val("0");

    }
    }


    //直接录入工时,加班工时不能大于工作时长+在途时长
    function OvhourWriteZJ(obj) {
    var workhour = $(obj).parent().parent().find("#workhour").val();
    var onpassagehour = $(obj).parent().parent().find("#onpassagehour").val();
    var overhour = $(obj).parent().parent().find("#overhour").val();

    if (parseFloat(overhour) > (parseFloat(onpassagehour) + parseFloat(workhour))) {
    alert("加班时长不能大于工作时长+在途时长");
    $(obj).parent().parent().find("#overhour").val("0");

    }
    }
    //加载产品线信息,显示到页面
    function LoadProLine(jsonStr,isShowALl) {

    var jsonObj = $.parseJSON(jsonStr);

    var tds = $("#datatable tr").each(function () {
    var pro = $(this).find("td:eq(1)").text();//
    if (isShowALl == 1) { $(this).show() }//显示全部
    for (var i in jsonObj) {

    //如果相等的话
    if (jsonObj[i].proLname1 == pro) {
    if (isShowALl == 0) { $(this).show() }//显示选中的
    $(this).find("input[name=proIsChecked]").prop("checked", "checked");// //选中

    //赋值工时相关信息
    $(this).find("td:eq(3) input:eq(0)").val(jsonObj[i].wkhour);
    $(this).find("td:eq(4) input:eq(0)").val(jsonObj[i].ophour);
    $(this).find("td:eq(5) input:eq(0)").val(jsonObj[i].ovhour);

    //涉及产品
    var pro2names = jsonObj[i].pro2names;
    $(this).find("td:eq(2) input[name=proline2]").each(function () {
    var pro2nameAttr = $(this).attr("pro2name");
    var nms = pro2names.split(',');
    for (var i = 0; i < nms.length; i++) {
    if (nms[i].length > 0 && nms[i] == pro2nameAttr) {
    //选中
    this.checked = true;
    }
    }

    });
    }
    }
    });
    }

    //工作时间输入逻辑处理
    function WorkHourInput()
    {
    $("input[name=workhour]").keyup(function () {
    var wk = $(this).val();
    $(this).parent().parent().find("input[name=totalhour]").val(wk);
    });
    }

  • 相关阅读:
    eclipse下配置hadoop环境
    eclipse下安装hadoop伪分布式集群
    ubuntu安装eclipse步骤
    Fiddler修改抓包请求
    Fiddler抓包(以谷歌浏览器、安卓手机为例)
    whistle抓包-数据包分析
    whistle手机抓包(以安卓手机为例)
    whistle浏览器抓包(以火狐浏览器为例)
    whistle安装
    Jmeter结构体系及运行原理
  • 原文地址:https://www.cnblogs.com/zxking/p/9373039.html
Copyright © 2020-2023  润新知