基于Jquery WeUI的微信开发H5页面控件的经验总结(2)

article/2025/10/9 18:57:57

在微信开发H5页面的时候,往往借助于WeUI或者Jquery WeUI等基础上进行界面效果的开发,由于本人喜欢在Asp.net的Web界面上使用JQuery,因此比较倾向于使用 jQuery WeUI,本篇随笔结合官方案例和自己的项目实际开发过程的经验总结,对在H5页面开发过程中设计到的界面控件进行逐一的分析和总结,以期能够给大家在H5页面开发过程中提供有用的参考。

本篇随笔继续上篇随笔《基于Jquery WeUI的微信开发H5页面控件的经验总结(1)》进行介绍其他部分的内容。

7)条码、二维码生成

 在我们做一些扫码操作的时候,我们可能需要根据一些参数生成一些URL,然后生成一个二维码的方式,方便手机扫码直接查看,或者给一些条码设备进行条码的读取,那么这两种情况结合起来就是二维码和条码的处理场景。

例如下面的处方信息展示里面,就需要这样的场景。

二维码QRCode使用的地址是:https://github.com/davidshimjs/qrcodejs 

条码JsBarcode使用的地址是:https://github.com/lindell/JsBarcode

使用前,我们引入所需要的qrcodejs和JsBarcode的JS库文件。

<script src="~/Content/JQueryTools/qrcodejs/qrcode.min.js"></script>
<script src="~/Content/JQueryTools/JsBarcode/dist/JsBarcode.all.min.js"></script>

二维码和条码的处理脚本很简单,如下JS代码所示。

//条码
JsBarcode("#barcode", "@ViewBag.Info.PrescriptionNo", {format: "CODE128",lineColor: "#0aa",height: 50,displayValue: false
});//二维码
var url = '@ViewBag.WebsiteDomain/h5/PrescriptionDetail?id=@ViewBag.Info.ID';
var qrcode = new QRCode(document.getElementById("qrcode"), {text: url, //"@ViewBag.Info.PrescriptionNo",width: 128,height: 128,colorDark : "#000000",colorLight : "#ffffff",correctLevel : QRCode.CorrectLevel.H
});

使用脚本处理的方式非常不错。

 

8)JQuery的Ajax/Post/Get等相关处理

 在我们前面很多案例代码里面,都采用了JQuery的Ajax/Post/Get/getJSON等函数,它们之间很多时候可以相互替代,差异只是很少的部分。

$.get()方法使用GET方式来进行异步请求,它的语法结构为:$.get( url [, data] [, callback] )。如下代码所示。

$.getJSON()是专门为ajax获取json数据而设置的,并且支持跨域调用,其语法的格式为:getJSON(url,[data],[callback])。

var flowUsers = [];
var url = '/qyh5flow/GetCorpUser';
$.getJSON(url, function (data) {$.each(data, function (i, item) {flowUsers.push({title: item.name, value: item.userid});});$("#txtSelectSignUser").select({title: "选择会签人员",items: flowUsers,multi: true,//min: 2,//max: 3,
    });
});

$.get()和$.getJSON()两种方法,后者比前者多了一个对返回数据进行JSON转换对象的处理,$.get()方法需要使用下面代码进行JSON的转换。

 var data = $.parseJSON(json);

$.post()方法使用POST方式来进行异步请求,它的语法结构为:$.post(url,[data],[callback],[type]),这个相对于$.get()的操作,使用POST方式提交。

其中的type:type为请求的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为:json,那么返回的格式则是json格式的,如果没有设置,就和$.get()返回的格式一样,都是字符串的。

如下代码是我们使用$.post()的函数进行数据的提交,注意我们也需要使用$.parseJSON进行返回值JSON转换对象的处理。

$.post(url, postData, function (json) {//转义JSON为对象var data = $.parseJSON(json);if (data.Success) {$.toptip("删除成功!", 'success');//在界面上找到对应控件ID,移除控件
        RemoveImg();}else {$.toast("操作失败:" + data.ErrorMessage, "forbidden");}
});

$.ajax()是jquery中通用的一个ajax封装,其语法的格式为:$.ajax(options),其中options是一个object类型,它指明了本次ajax调用的具体参数。

一般在使用FormData对象的时候,我倾向于使用$.ajax进行处理,以便更多的弹性化设置。

//提交表单数据和文件
var url = "/qyH5Flow/PaymentSave?userid=@ViewBag.userid";
$.ajax({url: url,type: 'post',processData: false,contentType: false,data: formData,success: function (json) {//转义JSON为对象var data = $.parseJSON(json);if (data.Success) {$.toast("保存成功,稍后请到列表界面查看。");}else {$.toast("保存失败:" + data.ErrorMessage, "forbidden");}}
});

以上就我进行在案例里面使用的各种操作,有时候可以相互替换,根据需要选择不同的操作方式即可。

 

9)JS脚本的数组对象处理

上面我们使用了各种异步的操作,如JQuery的Ajax/Post/Get/getJSON等函数操作,经常会涉及对数组的遍历处理或者插入处理。

JS数组是一个很的强大的数组对象,支持很多复杂的操作,对数组的操作也是我们经常处理的方式之一。

例如对于返回的数据,我们一般需要进行数组的遍历,然后逐一追加到界面显示,这里就需要使用$.each()函数。

//动态处理图片绑定
$.getJSON("/Qyh5Flow/GetImageList2?attachGuid=" + info.AttachGUID, function (data) {$.each(data, function (i, item) {$("#imgAttach").append(`<img class='weui-uploader__file' src='${item.Text}' id='img_${item.Value}'/>`);
    });
});

$.each()函数另一个经常使用的场景就是根据JQuery选择器进行元素集合的遍历处理。

var itemCount = 0;
//计算单选框的选中数量
$("input[type='radio']:checked").each(function(){itemCount += 1;
});
//复选框选中算一个
var chkName = []
$("input[type='checkbox']:checked").each(function () {var name = $(this).attr('name');if (chkName.indexOf(name) < 0) {itemCount += 1;chkName.push(name);}
});

我们在需要加入对象的时候,就需要使用push()函数操作了,有时候往往和$.each()函数配合使用。

var items = [];
$.each(data, function (i, item) {items.push({title: item.Text, value: item.Value});
});

或者进行元素遍历查询的时候,如下代码所示。

//构建选中的列表内容
var list = [];
//计算单选框
$("input[type='radio']:checked").each(function () {list.push($(this).val());
});
//计算复选框
$("input[type='checkbox']:checked").each(function () {list.push($(this).val());
});

如果我们需要判断某个对象是否在集合里面,我们就会用到$.inArray() 函数进行判断,如下代码所示。

if ($.inArray(key, addKeyList) == -1) {addKeyList.push(key);addValueList.push(value);sendList.push({ key: key, value: value});$('#tagsToSend').addTag(value);
}

另外,我们对数组还需要了解,如何移除单个或者所有的集合,这个就用到了splice()函数,如下代码所示。

addKeyList.splice(i, 1);//移除某个对象
addValueList.splice(i, 1);//移除某个对象
sendList.splice(i, 1);//移除某个对象

如果需要清空数组,常用的做法如下所示,也是使用splice()函数。

//清空用户选择
function ClearChoice() {$('#tagsToSend').importTags('');sendList.splice(0, sendList.length);//待发送的部门、标签、用户列表addKeyList.splice(0, addKeyList.length);//键的集合addValueList.splice(0, addValueList.length);//值的集合
}

以上就是我们操作数据的时候,经常使用的一些方法。

 

10)查询即时列表展示

有时候,我们需要根据查询的条件,对数据库的信息进行检索,然后即时的显示在列表中,供选择使用,如下界面所示。

 

上图是我项目中,根据拼音码或者名称对药品进行检索,返回的数据进行显示的处理。

为了使用搜索栏,我们使用了微信WeUI定义的搜索栏样式,以下是界面定义的搜索栏DIV层,如下代码。

    <!--搜索栏,类似于微信原生的搜索栏,应用于常见的搜索场景。--><div class="weui-search-bar" id="searchBar"><form class="weui-search-bar__form" onkeydown="if(event.keyCode==13) return false;"><div class="weui-search-bar__box"><i class="weui-icon-search"></i><input type="search" class="weui-search-bar__input" id="searchInput" placeholder="搜索" required=""><a href="javascript:clear()" class="weui-icon-clear" id="searchClear"></a></div><label class="weui-search-bar__label" id="searchText" style="transform-origin: 0px 0px 0px; opacity: 1; transform: scale(1, 1);"><i class="weui-icon-search"></i><span>请输入你想要查看的关键字</span></label></form><a href="javascript:clear()" class="weui-search-bar__cancel-btn" id="searchCancel">取消</a></div>

我们在JS代码上执行对应事件的处理,如下所示。

主要就是监控Input控件的内容变化,进行及时的查询和内容展示。

//查询框输入内容触发事件
$('#searchInput').bind('input propertychange', function () {var name = $("#searchInput").val();//获取Json对象集合,并生成数据显示内容var url = "/h5/FindDrugWithPager?page=1&rows=5&Name=" + encodeURI(name);$.getJSON(url, function (data) {$("#searchContent").html("");var html = "";$.each(data.rows, function (i, item) {var background = (i % 2 == 0) ? "background-color:Highlight" : "";html += `<li><div class='pic'><img src='@ViewBag.WebsiteDomain/Content/images/drug.png' /></div><div class='text'><h2><i></i><span>` + item.CommonName + `</span><em>`+ item.Specification +`</em></h2><p>商品名:` + item.ProductName + `</p><p>厂  家:`+item.Manufacturer  +`</p></div><a class='ture' href=\"javascript:;\" οnclick=\"AddDrug('` + item.ID + `','`+ item.ProductName  +`')\" ><img src='@ViewBag.WebsiteDomain/Content/images/add1-24.png'></a></li>`;});$("#searchContent").html(html);});
});function cancel() {$("#searchContent").empty();
}function clear() {$('#searchInput').val('')$("#searchContent").empty();
}

这里的HTML模板,我们有时候也使用代码块的方式,在模板代码里面插入变量,如下所示。

$.getJSON("/Qyh5Flow/GetImageList2?attachGuid=" + info.AttachGUID, function (data) {$.each(data, function (i, item) {$("#previewImage").append(`<img class="weui-preview-box" src='${item.Text}' id='img_${item.Value}'/>`);
    });
});

这里的代码块,开始和结束符使用了 ` ` 符号块,其中插入了变量${item.Text} 、${item.Value}等变量字符串,并没有打断模板的内容,如果多行,我们一样的处理,非常方便。

$.getJSON(url, function (data) {var html = "";$.each(data.rows, function (i, item) {
        html += `<div class="weui-panel weui-panel_access"><div class="weui-panel__hd"><span>${item.FormName}</span>:<span>${item.EditorName}</span>,<span>${item.Edittime}</span><span class="ord-status-txt-ts fr"><b>${GetStatus(item.Status)}</b></span></div><div class="weui-media-box__bd  pd-10"><div class="weui-media-box_appmsg ord-pro-list"><div class="weui-media-box__bd"><p class="weui-media-box__desc">标题:<span>${item.Title}</span></p><div class="clear mg-t-10"><div class="pro-amount fl"><span class="font-13">当前处理类型:<em class="num font-15">${item.Proc_TypeName}</em></span></div><div class="pro-amount fr"><span class="font-13">当前处理人:<em class="name">${item.Proc_UserName}</em></span></div></div></div></div></div><div class="weui-panel__ft"><div class="weui-cell weui-cell_access weui-cell_link oder-opt-btnbox"><a href="${item.ViewUrl}?id=${item.ID}" class="ords-btn-dele">查看详情</a></div></div></div>`;
});$("#" +divname).html(html);
});

这是我们推荐使用的JS代码块,整块代码都不影响阅读,而且可以换行排版,非常直观。 

 

11)界面弹窗处理

在微信Weui里面定义了几种常规的弹窗处理。

对话框只能通过 JavaScript 进行调用,微信WeUI提供了三种常用的对话框 Alert, Confirm, Prompt 和 Login。我们也可以通过 $.modal 来自定义对话框

实际上, Alert, Confirm, Prompt 和 Login 都是 Modal 的一种定制而已。

 

一般的JS调用代码如下所示。

//常规提示窗口
$.alert("自定义的消息内容", "自定义的标题");//确认提示窗口
$.confirm("自定义的消息内容", "自定义的标题", function() {//点击确认后的回调函数}, function() {//点击取消后的回调函数});

例如我们在流程表单处理里面,会在操作前进行提示用户是否确认处理。

//退回拟稿人重新处理
function ApplyCancel(opinion) {var tipMessage2 = "数据检查完毕,如确认无误将【退回拟稿人重新处理】,您确实要提交吗?";$.confirm(tipMessage2, "退回拟稿人重新处理?", function () {var userid = "@ViewBag.userid";var applyid = "@Request["id"]";var url = "/QyH5Flow/SkipFirstApply";//构造参数发送给后台var postData = {userid: userid,applyId: applyid,opinion: opinion};$.post(url, postData, function (json) {var data = $.parseJSON(json);if (data.Success) {//console.log(data);//提示处理结果$.toast("您已经退回经办人进行修改。");$.closePopup();initControls();//重新加载
            }else {$.toast("操作失败:" + data.ErrorMessage);}});}, function () {//取消操作
    });
}

登陆窗口界面效果如下所示。

 

$.login("自定义的消息内容", function(username, password) {// 这里进行登录操作
}, function() {
});//如果参数过多,建议通过 object 方式传入
$.login({title: '标题',text: '内容文案',username: 'tom',  // 默认用户名password: 'tom',  // 默认密码onOK: function (username, password) {//点击确认
  },onCancel: function () {//点击取消
  }
});

我们可以利用登录框进行一个系统账号的绑定,如下是实际项目的处理代码。

$(document).on('click', '#btnBind', function() {$.login({title: '登录',text: '请输入用户名和密码',onOK: function (username, password) {var url = "/H5/VerifyUser?openid=@ViewBag.openid";var postData = {username: username,password: password};$.post(url, postData, function (json) {//转义JSON为对象var data = $.parseJSON(json);if (data.Success) {$.toptip('登录成功!');location.reload();//刷新页面//WeixinJSBridge.call('closeWindow');//关闭窗口
              }else {$.toptip("登录失败:" + data.ErrorMessage, "forbidden");}});},onCancel: function () {$.toptip('取消登录!', 'cancel');}});
});

上述的几种对话框都是 $.modal 的一种特殊形式。你可以通过 $.modal 来定制对话框

$.modal({title: "Hello",text: "我是自定义的modal",buttons: [{ text: "支付宝", onClick: function(){ console.log(1)} },{ text: "微信支付", onClick: function(){ console.log(2)} },{ text: "取消", className: "default", onClick: function(){ console.log(3)} },]
});

默认情况下,点击对话框的按钮都会先关闭对话框再触发回调函数。可以通过JS来关闭任何正在显示的对话框:

$.closeModal();

 

除了上面的几种情况的模态对话框,还有一种是Popup弹出遮盖下面页面的场景,如常规的购物车的情况。

Popup 是一个覆盖式的弹出层,可以完全盖住当前页面或者遮盖一半。

例如我在流程处理页面中,往往需要进行审核、会签处理的时候,弹出对应的处理内容,这个就是Popup的使用场景。

 

我们通过JS进行调用显示窗口。

$("#SignAction").popup();//主动弹出窗口

其中SignAction层就是一个popup的窗口层,视图HTML代码如下所示。

 

我们只需要注意到 class='weui-popup__container popup-bottom' 的说明,就知道它的样式了,从底部弹出的Popup窗口。

如果没有加上Popup-bottom的样式,那么就是全屏覆盖的模式。

关闭 Popup

给任何链接加上 class='close-popup' 则点击之后可以关闭当前打开的 popup. 你也可以通过 $.closePopup() 来关闭。 

 

12)微信JSSDK的整合等处理

 微信JSSDK提供了很多丰富的功能,我们可以利用JSSDK实现图片的上传、预览、扫码等操作,图片上传由于我使用了附件上传的方式,因此不在介绍较为繁琐的JSSDK图片上传模式,有兴趣可以参考我之前随笔《微信开发中使用微信JSSDK和使用URL.createObjectURL上传预览图片的不同处理对比》了解下不同。

a) 图片预览

一般我们在一些查看内容的视图界面里面,往往对图片进行预览操作,这时候可以利用JSSDK的图片预览接口,在使用JSSDK接口前,需要进行接口的初始化,然后才能调用,下面是初始化和调用的案例代码。

    <!--微信API初始化--><script language="javascript">var appid = '@ViewBag.appid';var noncestr = '@ViewBag.noncestr';var signature = '@ViewBag.signature';var timestamp = '@ViewBag.timestamp';wx.config({debug: false,appId: appid, // 必填,公众号的唯一标识
            timestamp: timestamp, // 必填,生成签名的时间戳
            nonceStr: noncestr, // 必填,生成签名的随机串
            signature: signature, // 必填,签名,见附录1
            jsApiList: ['checkJsApi','chooseImage','previewImage','uploadImage','downloadImage']});//所有准备好后,通过样式查找的方式,加入对应集合,然后绑定click事件
        wx.ready(function () {var $images = $(".preview").find("img");var imgPaths = [];$images.each(function(){imgPaths.push(this.src);});$images.on("click",function(){wx.previewImage({current: this.src,urls: imgPaths});});});</script>

而图片的初始化,我们可以在HTML代码进行处理即可。

<div id="previewImage" class="preview">@if (ViewBag.PresImages != null){for (var i = 0; i < ViewBag.PresImages.Count; i++){<img class="weui-preview-box" src='@ViewBag.PresImages[i]' alt="处方图片">}}
</div>

b) 调用扫码处理

我们可以利用JSSDK调用手机的扫码操作,让其进行相应的扫码处理,如下是使用JSSDK进行扫码的JS代码。

    <script language="javascript">var appid = '@ViewBag.appid';var noncestr = '@ViewBag.noncestr';var signature = '@ViewBag.signature';var timestamp = '@ViewBag.timestamp';wx.config({debug: false,appId: appid, // 必填,公众号的唯一标识
            timestamp: timestamp, // 必填,生成签名的时间戳
            nonceStr: noncestr, // 必填,生成签名的随机串
            signature: signature, // 必填,签名,见附录1
            jsApiList: ['checkJsApi','chooseImage','previewImage','uploadImage','downloadImage','scanQRCode']});//所有准备好后
        wx.ready(function () {document.querySelector('#scancode').onclick = function () {//调用扫码事件返回扫码值
                wx.scanQRCode({needResult: 1,desc: 'scanQRCode desc',success: function (res) {//console.log(res.resultStr);var isUrl = CheckUrl(res.resultStr);if (isUrl) {location.href = res.resultStr;//跳转页面
                        }}});};});//验证URL字符串function CheckUrl(str) {var RegUrl = new RegExp();RegUrl.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");//jihua.cnblogs.comif (!RegUrl.test(str)) {return false;}return true;}</script>

上面扫码后,识别判断URL,如果是URL,那么页面地址自动调整到相应的界面上去。

以上就是一些实际项目中运用到的各种界面处理和JS处理代码,抛砖引玉,希望大家多多支持和鼓励。


http://chatgpt.dhexx.cn/article/2qG9Ui4g.shtml

相关文章

jquery weui 图片浏览器Photo Browser 如何使用?

对应组件地址&#xff1a;http://jqweui.com/extends#swiper 先说说业务场景&#xff1a;类似朋友圈这样的布局效果&#xff0c;点击小图可以浏览大图&#xff0c;并支持大图左右切换&#xff0c;效果图如下&#xff08;加了滚动加载更多的操作在里面&#xff09;&#xff1a;…

jQuery WeUI日历calendar时间段(开始日期默认选中日期是今天,结束日期设置最小日期),显示日期格式是yyyy年mm月dd日

jQuery WeUI官网&#xff1a; https://jqweui.cn(国内) 说明 日历calendar时间段为两段&#xff0c;开始日期和结束日期。 开始日期&#xff1a;打开后&#xff0c;默认选中日期是今天。 结束日期&#xff1a;打开后&#xff0c;默认选中和最小日期是开始日期。 html <d…

【WeUI】关于jQuery WeUI和WeUI版本兼容的问题

最近做的一个小demo&#xff0c;在添加Dialog的时候出现了对话框显示的问题&#xff0c;如下左图所示。 一开始以为自己的写的CSS文件影响了&#xff0c;注释掉还是这个问题&#xff0c;所以问题指向很明确了&#xff0c;是官方weui.css的问题。但是官方demo里的运行是正常显示…

jQueryWEUI自定义对话框-带有textarea

jQueryWEUI 示例下载 在jQueryWEUI中提供了很多类型的对话框&#xff0c; 可以去访问看一下。 今天记录的则是&#xff0c;自己定义的一个带有文本域的对话框&#xff0c;这样&#xff0c;可以不通过调转页面&#xff0c;实现一些信息的提交。比如&#xff0c;发送留言&#x…

jQuery weui 时间选择器datetimepicker只用年月日

<input placeholder"请选择出生日期" name"birth_time" type"text" iddatetime-picker />let allTime ;var myDate new Date();//let CreateDateLessD myDate.getFullYear() "-" (myDate.getMonth() 1) "-" …

关于Jqueryweui 的select联动用法

在使用Jquery weui 框架时&#xff0c;我想实现根据收货地址获得该条收货地址的绑定的联系人和电话。 但是又懒得根据收货地址查询联系人和联系电话。&#xff08;因为收货地址都是从数据库获取的&#xff0c;此时不仅拿到了收货地址&#xff0c;还拿到了联系人和联系电话&…

jQuery WeUI 上传

jQuery WeUI 是专为微信公众账号开发而设计的一个框架&#xff0c;jQuery WeUI的官网&#xff1a;http://jqweui.com/ 需求&#xff1a;需要在微信公众号网页添加上传图片功能 技术选型&#xff1a;实现上传图片功能可选百度的WebUploader、饿了么的Element和微信的jQuery We…

jQuery WEUI select的使用

jQuery WEUI select的使用 1.官网样式&#xff1a; html样式 <div class"weui-cell"><div class"weui-cell__hd"><label class"weui-label">联系人</label></div><div class"weui-cell__bd">&l…

前端优秀框架jQuery weui推荐

作为和微信风格类似的一款移动端开发工具 jQuery weu在移动端开发中也是能完美兼容微信&#xff0c;而且语法简单对前端萌新开发移动端H5页面相对友好 这边推荐的资源网站是 http://www.santii.com/weui 这这里你可以看到很完整的组件使用 但这个框架的依赖相对比较难找 可能需…

浅谈jQuery WeUI框架

WeUI 是一套同微信原生视觉体验一致的基础样式库&#xff0c;由微信官方设计团队为微信内网页和微信小程序量身设计。而jQuery WeUI是在其基础上的加强版本&#xff0c;专为微信公众账号开发而设计的一个简洁而强大的UI库&#xff0c;包含全部WeUI官方的CSS组件&#xff0c;并且…

jQuery WeUI学习笔记一

一 引言 最近在对时间典当行这一公众号进行一个粗浅的学习。涉及到WeUI插件库&#xff0c;就整理以下笔记。 &#xff11; jQuery WeUI官网地址&#xff1a;http://jqweui.com/ &#xff12; WeUI 目前只包含 CSS 代码&#xff0c;核心文件是weui.css jQuery WeUI WeUI …

Jquery WeUI(一)

用于微信端的控件UI &#xff0c; 首先&#xff0c;需要做的是开发一个微信能访问的网页&#xff0c;并和微信关联 A&#xff0e; 创建一个空网站 B&#xff0e; 增加一般处理程序 A&#xff0e; 增加 web 网页 和空文件到项目中 B&#xff0e; 申请和配置测试服务 创建菜单 通…

jQuery WeUI学习笔记1

前言&#xff1a;内容基本是参考博客笔记&#xff0c;偶尔会加些个人补充&#xff0c;仅作为复习巩固用途。如有错误&#xff0c;请指出&#xff0c;谢谢。 提示&#xff1a;后续更深理解在补充 前序、使用过程出现的问题 注意&#xff1a;发现问题解决问题比学习新知识更重要…

weui和jquery weui的区别、下载和在项目中的引用、使用、应用

jquery weui weui jquery插件; jquery-weui是官方weui的升级版本&#xff0c;扩展了官方的weui。jquery-weui是官方weui的jquery版本。 在javaWeb 项目中&#xff0c;使用的方式有另种&#xff0c; 第一种&#xff1a;在官网上下载压缩包 1、下载jquery weui 压缩文件加压…

项目管理十大知识领域,为何不含

问&#xff1a;项目管理十大知识领域&#xff0c;为何不含以下几项&#xff1a;立项管理&#xff0c;合同管理&#xff0c;文档管理&#xff0c;变更管理&#xff1f; 答&#xff1a; 立项完了才有项目&#xff1b; 合同管理包含在采购管理&#xff1b; 变更管理在整体管理&am…

项目管理(PMP)》项目管理十大知识领域

目录 项目管理十大知识领域 1、项目整合管理 2、项目范围管理 3、项目时间管理 4、项目成本管理 5、项目质量管理 6、项目人力资源管理 7、项目沟通管理 8、项目风险管理 9、项目采购管理 10、项目干系人管理 项目管理十大知识领域 1、项目整合管理 2、项目范围管理…

项目管理十大知识领域之项目相关方管理

(1) 什么是项目相关方管理&#xff1f;项目有哪些相关方&#xff1f;如何来识别相关方&#xff1f;识别相关方的目的是什么&#xff1f; ✧ 相关方管理主要包含的过程&#xff1a; ➢ 一启动、一规划、一执行、一监控 ✧ 相关方(干系人)定义&#xff1a; 每个项目都有相关方&a…