WXL (wul)
23 小时以前 83928adb1c68a4093e7457db248760b8ad1b4f22
src/views/patient/patient/hospital.vue
@@ -45,11 +45,20 @@
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="科室名称" prop="inhospno">
            <el-input
              v-model="queryParams.deptname"
              placeholder="请输入科室名称"
              clearable
              style="width: 250px"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="患者范围" prop="status">
            <el-cascader
              v-model="queryParams.scopetype"
              placeholder="默认全部"
              placeholder="默认全部科室"
              :options="sourcetype"
              :props="{ expandTrigger: 'hover' }"
              @change="handleChange"
@@ -110,6 +119,18 @@
              >修改</el-button
            >
          </el-col> -->
<el-col :span="1.5">
  <el-button
    type="warning"
    plain
    icon="el-icon-plus"
    size="medium"
    :disabled="multiple"
    @click="handleBatchAddTask"
  >
    批量添加任务
  </el-button>
</el-col>
          <el-col :span="1.5">
            <el-button
              type="danger"
@@ -259,6 +280,13 @@
            width="120"
          />
          <el-table-column
            label="经管医生"
            align="center"
            key="managementDoctor"
            prop="managementDoctor"
            width="120"
          />
          <el-table-column
            label="主治医生"
            align="center"
            key="drname"
@@ -307,7 +335,114 @@
        />
      </el-col>
    </el-row>
<!-- 批量添加任务弹窗 -->
<el-dialog
  title="批量添加任务"
  :visible.sync="batchTaskVisible"
  width="90%"
  append-to-body
>
  <el-row :gutter="20">
    <!-- 左侧:选中患者列表 -->
    <el-col :span="12">
      <div class="batch-patient-section">
        <h4>选中患者({{ selectedPatients.length }}人)</h4>
        <el-table
          :data="selectedPatients"
          border
          style="width: 100%"
          size="small"
        >
          <el-table-column prop="patname" label="姓名" width="100" />
          <el-table-column prop="sex" label="性别" width="80">
            <template slot-scope="scope">
              {{ scope.row.sex === 1 ? "男" : "女" }}
            </template>
          </el-table-column>
          <el-table-column
            label="出院时间"
            align="center"
            key="endtime"
            prop="endtime"
          >
            <template slot-scope="scope">
              <span>{{ formatTime(scope.row.endtime) }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="inhospno" label="住院号" />
          <el-table-column prop="deptname" label="科室" />
        </el-table>
      </div>
    </el-col>
    <!-- 右侧:任务列表 -->
    <el-col :span="12">
      <div class="batch-task-section">
        <h4>任务列表(请选择1个任务)</h4>
        <el-table
          :data="taskList"
          border
          style="width: 100%"
          size="small"
          @current-change="handleTaskSelectionChange"
          highlight-current-row
        >
          <el-table-column
            label="任务名称"
            fixed
            align="center"
            key="taskName"
            prop="taskName"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="服务项目"
            align="center"
            key="templatename"
            prop="templatename"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="创建人"
            align="center"
            key="createBy"
            prop="createBy"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="创建时间"
            sortable
            align="center"
            prop="createTime"
          >
            <template slot-scope="scope">
              <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>
  </el-row>
  <!-- 底部按钮 -->
  <div slot="footer" class="dialog-footer">
    <el-button @click="batchTaskVisible = false">取 消</el-button>
    <el-button
      type="primary"
      :loading="batchLoading"
      @click="submitBatchTask"
      >创建任务</el-button
    >
  </div>
</el-dialog>
    <!-- 用户导入对话框 -->
    <el-dialog
      :title="upload.title"
@@ -454,6 +589,12 @@
      // 默认密码
      initPassword: undefined,
      amendtag: false, //是否修改
      // 批量任务相关数据
    batchTaskVisible: false, // 弹窗可见性
    selectedPatients: [], // 选中的患者列表
    taskList: [], // 任务列表
    selectedTask: null, // 选中的任务
    batchLoading: false, // 批量提交加载状态
      // 日期范围
      dateRange: [],
      source: [
@@ -495,8 +636,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",
@@ -533,7 +674,11 @@
        },
        {
          value: 3,
          label: "全部",
          label: "全部科室",
        },
        {
          value: 4,
          label: "全部病区",
        },
      ],
      //导入进度
@@ -607,20 +752,19 @@
        value: dept.districtCode,
      };
    });
    this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
      (obj) => obj.deptCode
    );
    this.queryParams.leavehospitaldistrictcodes = store.getters.belongWards.map(
      (obj) => obj.districtCode
    );
    this.getList();
    this.listDept();
    // this.listDept();
    this.gettabList();
  },
  methods: {
    /** 查询患者列表 */
    getList() {
      if (this.queryParams.searchscope == 3) {
        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
          (obj) => obj.deptCode
        );
        this.queryParams.leavehospitaldistrictcodes =
          store.getters.belongWards.map((obj) => obj.districtCode);
      }
      this.loading = true;
      listpatient(this.queryParams).then((response) => {
        console.log(response);
@@ -637,11 +781,10 @@
    },
    //患者360跳转
    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) {
          window.open(res.data.url, "_blank");
@@ -680,8 +823,17 @@
        this.queryParams.leavehospitaldistrictcodes.push(code);
        this.queryParams.leaveldeptcodes = [];
        this.queryParams.searchscope = 2;
      } else {
      } else if (type == 3) {
        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
          (obj) => obj.deptCode
        );
        this.queryParams.searchscope = 3;
        this.queryParams.leavehospitaldistrictcodes = [];
      } else if (type == 4) {
        this.queryParams.leaveldeptcodes = [];
        this.queryParams.leavehospitaldistrictcodes =
          store.getters.belongWards.map((obj) => obj.districtCode);
        this.queryParams.searchscope = 4;
      }
    },
    // 查询导入展示列表
@@ -749,7 +901,10 @@
        leaveldeptcodes: [],
        leavehospitaldistrictcodes: [],
      };
        this.handleQuery();
      this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
      (obj) => obj.deptCode
    );
      this.handleQuery();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
@@ -919,6 +1074,6 @@
  }
}
.button-textsc {
  color: #28cfe6;
  color: #3664D9;
}
</style>