WXL (wul)
6 小时以前 6bc24b57837948408cfc4812bbab6ac2f9f4a3dc
src/views/followvisit/tasklist/index.vue
@@ -23,7 +23,7 @@
            @keyup.enter.native="handleQuery"
          ></el-input>
        </el-form-item>
        <el-form-item label="创发送时间">
        <el-form-item label="发送时间">
          <el-date-picker
            v-model="dateRange"
            style="width: 240px"
@@ -142,7 +142,6 @@
        <el-table-column
          label="任务名称"
          fixed
          width="120"
          align="center"
          key="taskName"
          prop="taskName"
@@ -150,7 +149,6 @@
        />
        <el-table-column
          label="任务描述"
          width="280"
          align="center"
          key="taskDesc"
          prop="taskDesc"
@@ -158,20 +156,26 @@
        />
        <el-table-column
          label="服务项目"
          width="120"
          align="center"
          key="templatename"
          prop="templatename"
          :show-overflow-tooltip="true"
        />
        <el-table-column
          label="待执行/总任务"
          label="总任务/已随访"
          align="center"
          key="nickName"
          width="120"
          prop="nickName"
        >
          <template slot-scope="scope">
            <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
            <span
              >{{
                scope.row.wfs || scope.row.wfs == 0
                  ? scope.row.wfs + scope.row.yfs
                  : ""
              }}/{{ scope.row.yfs }}</span
            >
          </template>
        </el-table-column>
        <el-table-column
@@ -179,7 +183,6 @@
          align="center"
          key="longTask"
          prop="longTask"
          width="120"
        >
          <template slot-scope="scope">
            <span>{{ scope.row.longTask ? "长期任务" : "非长期" }}</span>
@@ -191,7 +194,6 @@
          align="center"
          key="sendState"
          prop="sendState"
          width="120"
        >
          <template slot-scope="scope">
            <dict-tag
@@ -206,7 +208,6 @@
          align="center"
          key="createBy"
          prop="createBy"
          width="120"
          :show-overflow-tooltip="true"
        />
        <el-table-column
@@ -214,7 +215,6 @@
          sortable
          align="center"
          prop="createTime"
          width="160"
        >
          <template slot-scope="scope">
            <span>{{ formatTime(scope.row.createTime) }}</span>
@@ -225,7 +225,7 @@
          label="操作"
          fixed="right"
          align="center"
          width="180"
          width="240"
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
@@ -250,8 +250,14 @@
              size="medium"
              type="text"
              @click="handleUpdate(scope.row, 1)"
              ><span class="button-xj"
                ><i class="el-icon-circle-plus-outline"></i>依照新增</span
              ><span class="button-xj">依照新增</span></el-button
            >
            <el-button
              size="medium"
              type="text"
              @click="handleAddpatient(scope.row)"
              ><span class="button-hz"
                ><i class="el-icon-circle-plus-outline"></i>新增患者</span
              ></el-button
            >
            <el-button
@@ -259,9 +265,7 @@
              size="medium"
              type="text"
              @click="stop(scope.row)"
              ><span class="button-zt"
                ><i class="el-icon-circle-plus-outline"></i>暂停</span
              ></el-button
              ><span class="button-zt">暂停</span></el-button
            >
          </template>
        </el-table-column>
@@ -269,7 +273,7 @@
          label="任务详情"
          fixed="right"
          align="center"
          width="200"
          width="240"
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
@@ -373,6 +377,15 @@
        >
      </div>
    </el-dialog>
    <!-- 选择患者弹框 -->
    <Patient-Selection
      ref="Patient"
      :dialogVisiblepatient="dialogVisiblepatient"
      :overallCase="Patientlist"
      :tableLabel="tableLabelhz"
      @addoption="dialogVisiblepatient = false"
      @kkoption="dialogVisiblepatient = true"
    />
  </div>
</template>
@@ -396,7 +409,8 @@
  TaskTemplateSendExecution,
} from "@/api/AiCentre/index";
import store from "@/store";
import PatientSelection from "@/components/PatientSelection"; //正则组件
import SFtable from "@/components/SFtable"; //表格组件
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -421,7 +435,7 @@
      // 用户表格数据
      userList: null,
      // 弹出层标题
      title: "新增门诊随访",
      title: "新增影像随访",
      // 是否显示修改、添加弹出层
      addalteropen: false,
      // 部门名称
@@ -441,18 +455,20 @@
        showTimeNight: [],
        showTimeNoon: [],
      },
      dialogVisiblepatient: false,
      Patientlist: [],
      taskformVisible: false,
      dynamicTags: ["选项一", "选项二", "选项三"], //选项
      inputVisible: false,
      inputValue: "",
      previewVisible: false, //门诊随访预览弹框
      previewVisible: false, //影像随访预览弹框
      TaskOperation: {},
      radio: "",
      radios: [],
      previewtype: 2, //预览门诊随访类型
      previewtype: 2, //预览影像随访类型
      total: 0, // 总条数
      ImportQuantity: 999, //导门诊随访数量
      //预览门诊随访信息
      ImportQuantity: 999, //导影像随访数量
      //预览影像随访信息
      previewvalue: {
        username: "这个医生对你怎么样",
      },
@@ -469,46 +485,13 @@
          value: 3,
          label: "宣教关怀",
        },
      ],
      taskoptions: [
        {
          value: "1",
          label: "监测评估",
        },
        {
          value: "2",
          label: "出院随访",
        },
        {
          value: "3",
          label: "门诊随访",
        },
        {
          value: "4",
          label: "宣教关怀",
        },
        {
          value: "5",
          label: "复诊管理",
        },
        {
          value: "6",
          label: "满意度调查",
        },
        {
          value: "7",
          label: "患者日常报告",
        },
        {
          value: "9",
          label: "患者异常报告",
        },
        {
          value: "8",
          label: "其他通知",
          value: 4,
          label: "消息通知",
        },
      ],
      tasktopic: "2", //新增类型
      taskoptions: store.getters.tasktypes,
      tasktopic: 2, //新增类型
      activname: "",
      value: [],
      list: [],
@@ -665,11 +648,11 @@
  },
  watch: {},
  created() {
    this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
      (obj) => obj.deptCode
    );
    this.topqueryParams.leavehospitaldistrictcodes =
      store.getters.belongWards.map((obj) => obj.districtCode);
    // this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
    //   (obj) => obj.deptCode
    // );
    // this.topqueryParams.leavehospitaldistrictcodes =
    //   store.getters.belongWards.map((obj) => obj.districtCode);
    this.tasktopic = this.$route.query.tasktopic
      ? this.$route.query.tasktopic
      : this.tasktopic;
@@ -692,7 +675,6 @@
    /** 查询任务列表 */
    getList() {
      this.loading = true;
      console.log(this.topqueryParams.type);
      this.topqueryParams.serviceType = Number(this.tasktopic);
      if (
@@ -700,9 +682,10 @@
        this.tasktopic == 3 ||
        this.tasktopic == 1 ||
        this.tasktopic == 7 ||
        this.tasktopic == 5 ||
        this.tasktopic == 6
      ) {
        if (!this.topqueryParams.type) this.topqueryParams.type = '2';
        if (!this.topqueryParams.type) this.topqueryParams.type = "2";
        this.longtermlist = [
          {
            value: 1,
@@ -713,16 +696,18 @@
            label: "问卷随访",
          },
        ];
        this.topqueryParams.type = 2;
      } else if (this.tasktopic == 4 || this.tasktopic == 8) {
        if (!this.topqueryParams.type) this.topqueryParams.type = '3';
        if (!this.topqueryParams.type) this.topqueryParams.type = "3";
        this.longtermlist = [
          {
            value: 3,
            label: "宣教关怀",
          },
        ];
      } else if (this.tasktopic == 5) {
        if (!this.topqueryParams.type) this.topqueryParams.type = '1';
        this.topqueryParams.type = 3;
      } else if (this.tasktopic == 16) {
        if (!this.topqueryParams.type) this.topqueryParams.type = "2";
        this.longtermlist = [
          {
            value: 1,
@@ -732,14 +717,15 @@
            value: 2,
            label: "问卷随访",
          },
          {
            value: 3,
            label: "宣教关怀",
          },
        ];
        this.topqueryParams.type = 2;
      }
      // this.topqueryParams.typename = this.findLabelByValue(
      //   this.taskoptions,
      //   this.tasktopic
      // );
      this.topqueryParams.startOutHospTime = this.dateRange[0];
      this.topqueryParams.endOutHospTime = this.dateRange[1];
      this.topqueryParams.beginTime = this.dateRange[0];
      this.topqueryParams.endTime = this.dateRange[1];
      getTasklist(this.topqueryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
@@ -747,7 +733,7 @@
        this.loading = false;
      });
    },
    // 查看门诊随访详情
    // 查看影像随访详情
    Referencequestion(row) {
      this.previewVisible = true;
    },
@@ -798,8 +784,15 @@
    resetQuery() {
      this.dateRange = [];
      this.resetForm("queryForm");
      this.topqueryParams.deptId = undefined;
      this.$refs.tree.setCurrentKey(null);
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        type: 2,
        userName: undefined,
        tagid: undefined,
        topic: undefined,
      };
      // this.$refs.tree.setCurrentKey(null);
      this.handleQuery();
    },
    // 多选框选中数据
@@ -1064,6 +1057,111 @@
      const item = data.find((item) => item.value === value);
      return item ? item.label : null;
    },
    //患者添加相关
    handleAddpatient(row) {
      this.allpids = [];
      this.overallCase.forEach((item) => {
        this.allpids.push(item.patid);
      });
      if (this.patientqueryParams.allhosp == 4) {
        this.tableLabelhz = [
          // { label: "入院日期", width: "170", prop: "starttime" },
          { label: "出院日期", width: "150", prop: "endtime" },
          { label: "患者", width: "", prop: "name" },
          { label: "患者诊断", width: "", prop: "leavediagname" },
          { label: "身份证", width: "200", prop: "idcardno" },
          { label: "性别", width: "", prop: "sex" },
          { label: "年龄", width: "", prop: "age" },
          { label: "出院天数", width: "", prop: "endDay" },
          { label: "责任护士", width: "", prop: "nurseName" },
          { label: "医生", width: "", prop: "drname" },
          { label: "科室", width: "180", prop: "dept" },
          { label: "病区", width: "150", prop: "leavehospitaldistrictname" },
        ];
      } else if (this.patientqueryParams.allhosp == 1) {
        this.tableLabelhz = [
          { label: "入院日期", width: "150", prop: "starttime" },
          { label: "患者", width: "", prop: "name" },
          { label: "患者诊断", width: "", prop: "leavediagname" },
          { label: "身份证", width: "200", prop: "idcardno" },
          { label: "性别", width: "", prop: "sex" },
          { label: "年龄", width: "", prop: "age" },
          { label: "出院天数", width: "", prop: "endDay" },
          { label: "责任护士", width: "", prop: "nurseName" },
          { label: "医生", width: "", prop: "drname" },
          { label: "科室", width: "180", prop: "dept" },
          { label: "病区", width: "150", prop: "leavehospitaldistrictname" },
        ];
      }
      if (this.allpids[0]) {
        this.patientqueryParams.pids = this.allpids;
      } else {
        this.patientqueryParams.pids = null;
      }
      // 来源判断
      if (this.patientqueryParams.allhosp == 4) {
        this.patientqueryParams.hospitaldistrictcodes = [];
        this.patientqueryParams.deptcodes = [];
      } else if (this.patientqueryParams.allhosp == 1) {
        this.patientqueryParams.deptcodes =
          this.patientqueryParams.leaveldeptcodes;
        this.patientqueryParams.hospitaldistrictcodes =
          this.patientqueryParams.leavehospitaldistrictcodes;
        this.patientqueryParams.leavehospitaldistrictcodes = [];
        this.patientqueryParams.leaveldeptcodes = [];
      }
      getTaskpatientQC(this.patientqueryParams).then((response) => {
        this.patientuserList = response.rows;
        this.patientuserList.forEach((item) => {
          if (item.endtime) {
            item.endDay = this.daysBetween(item.endtime);
          }
        });
        this.patienttotal = response.total;
        this.loading = false;
        this.Restorecheck();
      });
      this.dialogVisiblepatient = true;
    },
    // 查询
    handleQuery() {
      // 获取外部患者
      if (this.patientqueryParams.allhosp == 6) {
        this.Externallist();
        console.log();
        return;
      }
      if (this.patientqueryParams.searchscope == 1) {
        this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
          (obj) => obj.deptCode
        );
        this.patientqueryParams.leavehospitaldistrictcodes = [];
      } else if (this.patientqueryParams.searchscope == 2) {
        this.patientqueryParams.leavehospitaldistrictcodes =
          store.getters.belongWards.map((obj) => obj.districtCode);
        this.patientqueryParams.leaveldeptcodes = [];
      } else {
        this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
          (obj) => obj.deptCode
        );
        this.patientqueryParams.leavehospitaldistrictcodes =
          store.getters.belongWards.map((obj) => obj.districtCode);
      }
      if (
        !this.patientqueryParams.leavehospitaldistrictcodes ||
        !this.patientqueryParams.leavehospitaldistrictcodes[0]
      )
        this.patientqueryParams.leavehospitaldistrictcodes = null;
      if (
        !this.patientqueryParams.leaveldeptcodes ||
        !this.patientqueryParams.leaveldeptcodes[0]
      )
        this.patientqueryParams.leaveldeptcodes = null;
      this.handleAddpatient();
    },
  },
};
</script>
@@ -1193,6 +1291,12 @@
  border-radius: 1px;
  color: #ffffff;
}
.button-hz {
  background: #63d37b;
  padding: 5px;
  border-radius: 1px;
  color: #ffffff;
}
::v-deep.el-radio-group {
  span {