guide_the_message.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. ! function() {
  2. var httpData = GetRequest();
  3. new Vue({
  4. el: "#app",
  5. data: {
  6. imgData: {
  7. accept: 'image/gif, image/jpeg, image/png, image/jpg',
  8. },
  9. isCollapse: false,
  10. upImgs: [],
  11. upImgArr: [],
  12. planid: httpData['planid'],
  13. service: []
  14. },
  15. mounted: function() {
  16. this.getServiceItem();
  17. },
  18. methods: {
  19. zwkf: function() {
  20. top.layer.msg('此功能暂未开放', {
  21. icon: 1
  22. });
  23. },
  24. jkjy: function(patient, planId) {
  25. var vm = this
  26. top.layer.open({
  27. type: 2,
  28. // offset: ['100px'], //右下角弹出
  29. area: ['80%', '648px'],
  30. shade: 0.5,
  31. title: '健康教育',
  32. fixed: true, //不固定
  33. maxmin: true,
  34. closeBtn: 1,
  35. shift: 5,
  36. shadeClose: false, //点击遮罩关闭层
  37. content: '../../article/html/article.html?code=' + patient + '&planId=' + planId + '&isReha=true'
  38. });
  39. },
  40. // 健康指导
  41. jkzd: function(patient, planId) {
  42. var vm = this
  43. top.layer.open({
  44. type: 2,
  45. // offset: ['100px'], //右下角弹出
  46. area: ['80%', '648px'],
  47. shade: 0.5,
  48. title: '健康教育',
  49. fixed: true, //不固定
  50. maxmin: true,
  51. closeBtn: 1,
  52. shift: 5,
  53. shadeClose: false, //点击遮罩关闭层
  54. content: '../../guidance/html/index.html#/person-edit-panel?patient=' + patient + '&planId=' + planId
  55. });
  56. },
  57. qwapp: function() {
  58. top.layer.msg('请前往app处理', {
  59. icon: 5
  60. });
  61. },
  62. getServiceItem: function() {
  63. var vm = this;
  64. var loginDoctor = JSON.parse(window.localStorage.getItem('wlyyAgent'));
  65. var loadding = top.layer.load(0, {
  66. shade: false
  67. }); //0代表加载的风格,支持0-2
  68. rehaAPI.serviceItem({
  69. planDetailId: vm.planid
  70. }).then(function(res) {
  71. top.layer.close(loadding);
  72. if(res.status == 200) {
  73. vm.service = res.data;
  74. var isZK=loginDoctor.doctorType==1?true:false;
  75. vm.service.isZK=isZK;
  76. if(vm.service.isMyTask==1){//执行者
  77. vm.service.isCK=true;//无法显示按钮
  78. if(loginDoctor.uid==vm.service.specialistDoctorCode){//说明我自己是创建者
  79. vm.service.isCK=false;
  80. vm.service.isCreate=true;
  81. }
  82. }else{
  83. if(loginDoctor.uid==vm.service.specialistDoctorCode){//说明我自己是创建者
  84. vm.service.isCreate=true;
  85. }
  86. }
  87. } else {
  88. top.layer.msg(res.msg, {
  89. icon: 5
  90. });
  91. }
  92. if(vm.service.status==1){
  93. var index = top.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  94. top.layer.title('服务记录详情', index) //再改变当前层的标题
  95. }
  96. })
  97. },
  98. zdly: function(data) {
  99. var vm = this
  100. var loginDoctor = JSON.parse(window.localStorage.getItem('wlyyAgent'));
  101. var otherCode, otherName;
  102. var planDetailId = data.planDetaiId;
  103. if(loginDoctor.doctorType == 1) {
  104. otherCode = data.familyDoctorCode;
  105. otherName = data.familyDoctorName;
  106. } else {
  107. otherCode = data.specialistDoctorCode;
  108. otherName = data.specialistDoctorName;
  109. }
  110. top.layer.open({
  111. type: 2,
  112. // offset: ['100px'], //右下角弹出
  113. area: ['80%', '600px'],
  114. shade: 0.5,
  115. title: '指导留言',
  116. fixed: true, //不固定
  117. maxmin: true,
  118. closeBtn: 1,
  119. shift: 5,
  120. shadeClose: false, //点击遮罩关闭层
  121. content: '../../consulting/html/consulting.html?otherCode=' + otherCode + '&otherName=' + encodeURI(otherName) + '&planDetailId=' + planDetailId,
  122. end: function() { // 未点击确定按钮,点击关闭按钮
  123.       
  124. vm.getServiceItemList();    
  125. }
  126. });
  127. },
  128. deleteImg: function(idx) {
  129. console.log(idx)
  130. this.upImgs.splice(idx, 1)
  131. },
  132. chakan: function() {
  133. this.isCollapse = !this.isCollapse;
  134. },
  135. upLoadImgToBase64: function() {
  136. var vm = this;
  137. var img1 = event.target.files[0];
  138. console.log(img1)
  139. var reader = new FileReader();
  140. var type = img1.type; //文件的类型,判断是否是图片
  141. var size = img1.size; //文件的大小,判断图片的大小
  142. if(this.imgData.accept.indexOf(type) == -1) {
  143. alert('请选择我们支持的图片格式!');
  144. return false;
  145. }
  146. if(size > 3145728) {
  147. alert('请选择3M以内的图片!');
  148. return false;
  149. }
  150. reader.readAsDataURL(img1);
  151. reader.onload = function(e) {
  152. vm.upImgs.push({
  153. baseUrl: e.target.result
  154. });
  155. vm.upImgArr.push(img1);
  156. // vm.uploadImg(vm.upImgArr);
  157. }
  158. },
  159. qrwc: function() {
  160. var vm = this;
  161. vm.uploadImg(vm.upImgArr, vm.updateNoteAndImageRehabilitationOperate);
  162. },
  163. //上传图片
  164. uploadImg: function(data, cb) {
  165. var vm = this;
  166. var len = data.length;
  167. if(!len) {
  168. cb && cb();
  169. } else {
  170. var file = data[len - 1];
  171. var formData = new FormData();
  172. formData.append('file', file);
  173. rehaAPI.upload(formData).then(function(res) {
  174. console.log(res)
  175. if(res.status == 200) {
  176. console.log(vm.upImgs[len - 1])
  177. vm.upImgs[len - 1].img = res.data;
  178. data.pop();
  179. vm.uploadImg(data, cb);
  180. }
  181. })
  182. }
  183. },
  184. viewDetial:function(type,code){
  185. if(type==4){
  186. top.layer.msg('客户端暂不支持查询随访记录');
  187. }else{
  188. top.layer.open({
  189. type: 2,
  190. // offset: ['100px'], //右下角弹出
  191. area: ['80%', '600px'],
  192. shade: 0.5,
  193. title: '指导留言',
  194. fixed: true, //不固定
  195. maxmin: true,
  196. closeBtn: 1,
  197. shift: 5,
  198. shadeClose: false, //点击遮罩关闭层
  199. content: '../../article/html/article-info.html?articleId=' + code,
  200. end: function() { // 未点击确定按钮,点击关闭按钮
  201. vm.getServiceItemList();    
  202. }
  203. });
  204. }
  205. },
  206. updateNoteAndImageRehabilitationOperate: function() {
  207. var vm = this;
  208. var _image = [];
  209. for(var i in vm.upImgs) {
  210. _image.push(vm.upImgs[i].img);
  211. }
  212. var params = {
  213. planDetailId: vm.planid,
  214. node: vm.service.node,
  215. image: JSON.stringify(_image)
  216. }
  217. var loadding = top.layer.load(0, {
  218. shade: false
  219. }); //0代表加载的风格,支持0-2
  220. rehaAPI.updateNoteAndImageRehabilitationOperate(params).then(function(res) {
  221. top.layer.close(loadding);
  222. console.log(res)
  223. if(res.status == 200) {
  224. vm.getServiceItem();
  225. }
  226. })
  227. },
  228. },
  229. filters: {
  230. formatDate: function(value, format) {
  231. if(!value) return;
  232. var fmt = format || "yyyy-MM-dd hh:mm";
  233. var date = new Date(value);
  234. if(/(y+)/.test(fmt)) {
  235. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  236. }
  237. let o = {
  238. 'M+': date.getMonth() + 1,
  239. 'd+': date.getDate(),
  240. 'h+': date.getHours(),
  241. 'm+': date.getMinutes(),
  242. 's+': date.getSeconds()
  243. };
  244. for(let k in o) {
  245. if(new RegExp(`(${k})`).test(fmt)) {
  246. let str = o[k] + '';
  247. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length));
  248. }
  249. }
  250. return fmt;
  251. },
  252. getImgUrl: function(value) {
  253. var url = httpRequest.getImgUrl(value);
  254. return url;
  255. }
  256. }
  257. })
  258. $("body").on('click','img',function(){
  259. var _this = $(this);//将当前的img元素作为_this传入函数
  260. imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);
  261. });
  262. function imgShow(outerdiv, innerdiv, bigimg, _this){
  263. var src = _this.attr("src");//获取当前点击的pimg元素中的src属性
  264. $(bigimg).attr("src", src);//设置#bigimg元素的src属性
  265. /*获取当前点击图片的真实大小,并显示弹出层及大图*/
  266. $("<img/>").attr("src", src).load(function(){
  267. var windowW = $(window).width();//获取当前窗口宽度
  268. var windowH = $(window).height();//获取当前窗口高度
  269. var realWidth = this.width;//获取图片真实宽度
  270. var realHeight = this.height;//获取图片真实高度
  271. var imgWidth, imgHeight;
  272. var scale = 0.8;//缩放尺寸,当图片真实宽度和高度大于窗口宽度和高度时进行缩放
  273. if(realHeight>windowH*scale) {//判断图片高度
  274. imgHeight = windowH*scale;//如大于窗口高度,图片高度进行缩放
  275. imgWidth = imgHeight/realHeight*realWidth;//等比例缩放宽度
  276. if(imgWidth>windowW*scale) {//如宽度扔大于窗口宽度
  277. imgWidth = windowW*scale;//再对宽度进行缩放
  278. }
  279. } else if(realWidth>windowW*scale) {//如图片高度合适,判断图片宽度
  280. imgWidth = windowW*scale;//如大于窗口宽度,图片宽度进行缩放
  281. imgHeight = imgWidth/realWidth*realHeight;//等比例缩放高度
  282. } else {//如果图片真实高度和宽度都符合要求,高宽不变
  283. imgWidth = realWidth;
  284. imgHeight = realHeight;
  285. }
  286. $(bigimg).css("width",imgWidth);//以最终的宽度对图片缩放
  287. var w = (windowW-imgWidth)/2;//计算图片与窗口左边距
  288. var h = (windowH-imgHeight)/2;//计算图片与窗口上边距
  289. $(innerdiv).css({"top":h, "left":w});//设置#innerdiv的top和left属性
  290. $(outerdiv).fadeIn("fast");//淡入显示#outerdiv及.pimg
  291. });
  292. $(outerdiv).click(function(){//再次点击淡出消失弹出层
  293. $(this).fadeOut("fast");
  294. });
  295. }
  296. }();