WXL (wul)
2025-09-24 d0ec9165edd35e56fbed20eccee9143e835163f3
src/views/patient/patient/outpatient.vue
@@ -319,7 +319,23 @@
            prop="drname"
            width="120"
          />
          <el-table-column
            label="是否存在任务"
            align="center"
            key="serverState"
            prop="serverState"
            width="100"
          >
            <template slot-scope="scope">
              <span
                :style="{
                  color: scope.row.serverState == 1 ? 'green' : 'gray',
                }"
              >
                {{ scope.row.serverState == 1 ? "是" : "无" }}
              </span>
            </template>
          </el-table-column>
          <el-table-column
            label="操作"
            fixed="right"
@@ -440,6 +456,12 @@
                  <span>{{ formatTime(scope.row.createTime) }}</span>
                </template>
              </el-table-column>
              <template #empty>
                <div class="empty-message">
                  <i class="el-icon-warning"></i>
                  <span>患者科室无匹配服务</span>
                </div>
              </template>
            </el-table>
          </div>
        </el-col>
@@ -669,8 +691,8 @@
          YongHuXX: {
            XiTongID: "SUIFANGXT",
            XiTongMC: "随访系统",
            YongHuID: "1400466972205912064",
            YongHuXM: "JNRMYY",
            YongHuID: localStorage.getItem("YongHuID"),
            YongHuXM: localStorage.getItem("YongHuXM"),
            ZuZhiJGID: localStorage.getItem("orgid"),
            ZuZhiJGMC: localStorage.getItem("orgname"),
            idp: "lyra",
@@ -718,8 +740,7 @@
        pageSize: 10,
        searchscope: 3,
        scopetype: [],
        leaveldeptcodes: [],
        leavehospitaldistrictcodes: [],
        deptcodes: [],
      },
      // 表单校验
      rules: {
@@ -796,11 +817,11 @@
    getList() {
      this.loading = true;
      if (this.queryParams.searchscope == 3) {
        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
        this.queryParams.deptcodes = store.getters.belongDepts.map(
          (obj) => obj.deptCode
        );
        this.queryParams.leavehospitaldistrictcodes =
          store.getters.belongWards.map((obj) => obj.districtCode);
        // this.queryParams.leavehospitaldistrictcodes =
        //   store.getters.belongWards.map((obj) => obj.districtCode);
      }
      if (this.dateRange) {
        this.queryParams.beginTime = this.dateRange[0];
@@ -833,16 +854,16 @@
    handleChange(value) {
      let type = value[0];
      let code = value.slice(-1)[0];
      this.queryParams.leavehospitaldistrictcodes = [];
      this.queryParams.leaveldeptcodes = [];
      // this.queryParams.leavehospitaldistrictcodes = [];
      this.queryParams.deptcodes = [];
      if (type == 1) {
        this.queryParams.leaveldeptcodes.push(code);
        this.queryParams.leavehospitaldistrictcodes = [];
        this.queryParams.deptcodes.push(code);
        // this.queryParams.leavehospitaldistrictcodes = [];
        this.queryParams.searchscope = 1;
      } else if (type == 2) {
        this.queryParams.leavehospitaldistrictcodes.push(code);
        this.queryParams.leaveldeptcodes = [];
        // this.queryParams.leavehospitaldistrictcodes.push(code);
        this.queryParams.deptcodes = [];
        this.queryParams.searchscope = 2;
      } else {
        this.queryParams.searchscope = 3;
@@ -858,12 +879,11 @@
      });
    },
    //患者360跳转
    gettoken360(sfzh, drcode, drname) {
    gettoken360(sfzh,drcode,drname) {
      // this.$modal.msgWarning('360功能暂未开通');
      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
      if (this.postData.XiaoXiTou.ZuHuMC == "丽水市中医院") {
        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
      }
      query360PatInfo(this.postData).then((res) => {
        if (res.data.url) {
@@ -918,8 +938,8 @@
        pageSize: 10,
        searchscope: 3,
        scopetype: [],
        leaveldeptcodes: [],
        leavehospitaldistrictcodes: [],
        deptcodes: [],
        // leavehospitaldistrictcodes: [],
      };
      this.handleQuery();
    },
@@ -1045,7 +1065,18 @@
        this.$modal.msgWarning("请至少选中1名患者");
        return;
      }
      // 检查选中的患者中是否有已有任务的
      const hasTaskPatients = this.userList.filter(
        (item) => this.ids.includes(item.patid) && item.serverState == 1
      );
      if (hasTaskPatients.length > 0) {
        const patientNames = hasTaskPatients.map((p) => p.patname).join("、");
        this.$modal.msgError(
          `选中的患者 ${patientNames} 已有任务,无法重复添加`
        );
        return;
      }
      // 获取选中患者的科室信息(用于校验同一科室)
      const patientDepts = new Set();
      let deptcode = "";
@@ -1112,9 +1143,10 @@
        // 遍历选中的患者,逐个调用接口
        for (const patient of this.selectedPatients) {
          const params = {
            taskId: this.selectedTask.taskId,
            taskid: this.selectedTask.taskid,
            taskName: this.selectedTask.taskName,
            serviceType: this.selectedTask.serviceType,
            sendstate:2,
            ...patient,
            age: "",
          };
@@ -1193,7 +1225,7 @@
  }
}
.button-textsc {
  color: #28cfe6;
  color: #3664D9;
}
.batch-patient-section,
.batch-task-section {