WXL
2025-04-22 fecb2f5b3a5b4c7994eb76cc730c2bd27b6f8b67
测试完成
已添加1个文件
已修改6个文件
185 ■■■■ 文件已修改
src/main.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/drag.js 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/record/detailpage/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/index.vue 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/profile/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/shortmessage/communication/index.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js
@@ -77,6 +77,8 @@
import components from "./components";
// è¯­éŸ³ç»„ä»¶
import VueAudio from 'vue-audio-better'
// å¼¹æ¡†æ‹–动
import '@/utils/drag.js';
// æ³¨å†Œè¿‡æ»¤å™¨
// è‡ªå®šä¹‰æŒ‡ä»¤
import * as directives from "./directives";
src/utils/drag.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,87 @@
import Vue from 'vue';
/*
*  ä½¿ç”¨æ–¹æ³•:
*  å°†ä»¥ä¸‹ä»£ç å¤åˆ¶åˆ°ä¸€ä¸ªjs文件中,然后在入口文件main.js中import引入即可;
*  ç»™elementUI的dialog上加上 v-dialogDrags
*  ç»™dialog设置 :close-on-click-modal="false" , ç¦æ­¢ç‚¹å‡»é®ç½©å±‚关闭弹出层
*/
// å…¼å®¹ie,谷歌
// v-dialogDrags: å¼¹çª—拖拽属性 ï¼ˆé‡ç‚¹ï¼ï¼ï¼ ç»™æ¨¡æ€æ¡†æ·»åŠ è¿™ä¸ªå±žæ€§æ¨¡æ€æ¡†å°±èƒ½æ‹–æ‹½äº†ï¼‰
Vue.directive('dialogDrags', { // å±žæ€§åç§°dialogDrags,前面加v- ä½¿ç”¨
    bind(el, binding, vnode, oldVnode) {
        const dialogHeaderEl = el.querySelector('.el-dialog__header');
        const dragDom = el.querySelector('.el-dialog');
        dialogHeaderEl.style.cssText += ';cursor:move;';
        // èŽ·å–åŽŸæœ‰å±žæ€§ ie dom元素.currentStyle ç«ç‹è°·æ­Œ window.getComputedStyle(dom元素, null);
        const sty = (function () {
            if (window.document.currentStyle) {
                return (dom, attr) => dom.currentStyle[attr];
            } else {
                return (dom, attr) => getComputedStyle(dom, false)[attr];
            }
        })();
        dialogHeaderEl.onmousedown = (e) => {
            // é¼ æ ‡æŒ‰ä¸‹ï¼Œè®¡ç®—当前元素距离可视区的距离
            const disX = e.clientX - dialogHeaderEl.offsetLeft;
            const disY = e.clientY - dialogHeaderEl.offsetTop;
            const screenWidth = document.body.clientWidth; // body当前宽度
            const screenHeight = document.documentElement.clientHeight; // å¯è§åŒºåŸŸé«˜åº¦(应为body高度,可某些环境下无法获取)
            const dragDomWidth = dragDom.offsetWidth; // å¯¹è¯æ¡†å®½åº¦
            const dragDomheight = dragDom.offsetHeight; // å¯¹è¯æ¡†é«˜åº¦
            // èŽ·å–åˆ°çš„å€¼å¸¦px æ­£åˆ™åŒ¹é…æ›¿æ¢
            let styL = sty(dragDom, 'left');
            let styT = sty(dragDom, 'top');
            // æ³¨æ„åœ¨ie中 ç¬¬ä¸€æ¬¡èŽ·å–åˆ°çš„å€¼ä¸ºç»„ä»¶è‡ªå¸¦50% ç§»åŠ¨ä¹‹åŽèµ‹å€¼ä¸ºpx
            if (styL.includes('%')) {
                styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100);
                styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100);
            } else {
                styL = +styL.replace(/\px/g, '');
                styT = +styT.replace(/\px/g, '');
            };
            document.onmousemove = function (e) {
                // é€šè¿‡äº‹ä»¶å§”托,计算移动的距离
                let left = e.clientX - disX + styL;
                let top = e.clientY - disY + styT;
                // // è¾¹ç•Œå¤„理
                // if (left < 0) {
                //     left = 0;
                // }
                // if (left > screenWidth - dragDomWidth) {
                //     left = screenWidth - dragDomWidth;
                // }
                // if (top < 0) {
                //     top = 0;
                // }
                // if (top > screenHeight - dragDomheight) {
                //     top = screenHeight - dragDomheight;
                // }
                // ç§»åŠ¨å½“å‰å…ƒç´ 
                dragDom.style.cssText += `;left:${left}px;top:${top}px;`;
            };
            document.onmouseup = function (e) {
                document.onmousemove = null;
                document.onmouseup = null;
            };
        };
    }
});
src/views/followvisit/record/detailpage/index.vue
@@ -1,6 +1,6 @@
<template>
  <!-- èŠè¿žé¡µé¢è®°å½• -->
  <div class="Followupdetailspage">
  <div class="Followupdetailspage" id="app-container">
    <div class="Followuserinfo">
      <div>
        <div class="userinfo-text">
@@ -532,7 +532,11 @@
        </el-tab-pane>
      </el-tabs>
    </div>
    <el-dialog title="患者再次随访" :visible.sync="dialogFormVisible">
    <el-dialog
      title="患者再次随访"
      v-dialogDrags
      :visible.sync="dialogFormVisible"
    >
      <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px">
        <el-form-item label="任务名称">
          <el-input
@@ -809,11 +813,15 @@
            }
          });
          this.Editsingletasksonyic(6);
          this.$modal
            .confirm(
              '任务保存成功是否针对患者:"' + this.userform.name + '"再次随访?'
              '任务保存成功是否针对患者:"' +
                this.logsheetlist[0].sendname +
                '"再次随访?'
            )
            .then(() => {
              document.querySelector("#app").scrollTo(0, 0);
              this.dialogFormVisible = true;
            })
            .catch(() => {});
@@ -852,6 +860,7 @@
              '任务保存成功是否针对患者:"' + this.userform.name + '"再次随访?'
            )
            .then(() => {
              document.querySelector("#app").scrollTo(0, 0);
              this.dialogFormVisible = true;
            })
            .catch(() => {});
@@ -948,6 +957,8 @@
    },
    // è°ƒèµ·å†æ¬¡å‘送
    sendAgain() {
 document.querySelector("#app").scrollTo(0, 0);
      // scrollTo(0, 0)
      this.dialogFormVisible = true;
    },
    // æŸ¥çœ‹è¯¦æƒ…
@@ -1026,6 +1037,7 @@
            } else {
              this.$modal.msgError("创建失败");
            }
            document.querySelector("#app").scrollTo(0, 0);
            this.dialogFormVisible = false;
          });
        }
src/views/patient/patient/index.vue
@@ -109,7 +109,7 @@
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="患者范围" prop="tagId">
              <!-- <el-form-item label="患者范围" prop="tagId">
                <el-select
                  v-model="queryParams.searchscope"
                  placeholder="请选择患者范围"
@@ -122,7 +122,16 @@
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              </el-form-item> -->
              <el-form-item label="患者范围" prop="status">
          <el-cascader
            v-model="queryParams.scopetype"
            placeholder="默认全部"
            :options="sourcetype"
            :props="{ expandTrigger: 'hover' }"
            @change="handleChange"
          ></el-cascader>
        </el-form-item>
              <el-form-item label="联系电话" prop="telcode">
                <el-input
                  v-model="queryParams.telcode"
@@ -1031,12 +1040,26 @@
        pageSize: 10,
        notrequiredFlag:0,
        searchscope: 2,
        idcardno: undefined,
        name: undefined,
        status: undefined,
        tagIds: undefined,
        telcode: undefined,
        scopetype: [],
        leaveldeptcodes: [],
        leavehospitaldistrictcodes: [],
      },
      sourcetype: [
        {
          value: 1,
          label: "科室",
          children: [],
        },
        {
          value: 2,
          label: "病区",
          children: [],
        },
        {
          value: 3,
          label: "全部",
        },
      ],
      // è¡¨å•校验
      rules: {
        name: [
@@ -1093,16 +1116,7 @@
  methods: {
    /** æŸ¥è¯¢æ‚£è€…列表 */
    getList() {
      if (this.queryParams.searchscope == 1) {
        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
          (obj) => obj.deptCode
        );
        this.queryParams.leavehospitaldistrictcodes = null;
      } else if (this.queryParams.searchscope == 2) {
        this.queryParams.leavehospitaldistrictcodes =
          store.getters.belongWards.map((obj) => obj.districtCode);
        this.queryParams.leaveldeptcodes = null;
      } else {
      if (this.queryParams.searchscope == 3) {
        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
          (obj) => obj.deptCode
        );
@@ -1250,7 +1264,25 @@
        }
      });
    },
  // æ‚£è€…范围处理
  handleChange(value) {
      let type = value[0];
      let code = value.slice(-1)[0];
      this.queryParams.leavehospitaldistrictcodes = [];
      this.queryParams.leaveldeptcodes = [];
      if (type == 1) {
        this.queryParams.leaveldeptcodes.push(code);
        this.queryParams.leavehospitaldistrictcodes = [];
        this.queryParams.searchscope = 1;
      } else if (type == 2) {
        this.queryParams.leavehospitaldistrictcodes.push(code);
        this.queryParams.leaveldeptcodes = [];
        this.queryParams.searchscope = 2;
      } else {
        this.queryParams.searchscope = 3;
      }
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const userIds = row.userId || this.ids;
src/views/patient/patient/profile/index.vue
@@ -111,7 +111,7 @@
            ref="userform"
            :model="userform"
            :rules="rules"
            label-width="100px"
            label-width="150px"
          >
            <el-row :gutter="20">
              <el-col :span="12">
@@ -123,7 +123,7 @@
                  ></el-input> </el-form-item
              ></el-col>
            </el-row>
            <el-row :gutter="20">
            <el-row >
              <el-col :span="12"
                ><el-form-item label="联系方式" prop="telcode">
                  <el-input
@@ -133,7 +133,7 @@
                  /> </el-form-item
              ></el-col>
              <el-col :span="12">
                <el-form-item label="亲属联系方式" prop="name">
                <el-form-item label="亲属联系方式"  prop="name">
                  <el-input
                    v-model="userform.telcodewx"
                    placeholder="请输入姓名"
src/views/shortmessage/communication/index.vue
@@ -702,9 +702,7 @@
    },
    // èŽ·å–è”ç³»äººä¿¡æ¯æˆ–æ»šåŠ¨åˆ°é¡¶éƒ¨è§¦å‘
    handlePullMessages(contact, next, instance) {
      console.log(contact, "获取联系人信息A");
      console.log(instance, "获取联系人信息B");
      console.log(next, "获取联系人信息C");
      const otheruser = {
        id: contact.id,
        displayName: contact.displayName,
vue.config.js
@@ -38,7 +38,7 @@
        // target: `http://192.168.68.111:8095`,
        // target: `http://10.202.20.185:8095`,
        // target: `http://192.168.100.184:8095`,
        target:`http://localhost:8096`,
        target:`http://localhost:8095`,
        // target: `http://192.168.101.135:8095`,
        // target: `http://192.168.101.166:8093`,
        // target: `http://192.168.191.181:8095`,