WXL
2025-02-19 ec64a69276a1a7fa64096d45e2f804fd38d99d17
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"
@@ -69,9 +69,9 @@
      <el-row :gutter="10" class="mb8">
        <el-col :span="1.5">
          <el-select
            @change="handleQuery"
            @change="handleQuerytask"
            v-model="tasktopic"
            placeholder="请选择新增类型"
            placeholder="请选择服务类型"
          >
            <el-option
              v-for="item in taskoptions"
@@ -82,10 +82,11 @@
            </el-option>
          </el-select>
        </el-col>
        <!-- <el-col :span="1.5">
        <el-col :span="1.5">
          <el-select
            v-model="longTask"
            placeholder="请选择任务类型"
            @change="handleQuery"
            v-model="topqueryParams.type"
            placeholder="请选择执行类型"
          >
            <el-option
              v-for="item in longtermlist"
@@ -95,7 +96,7 @@
            >
            </el-option>
          </el-select>
        </el-col> -->
        </el-col>
        <el-col :span="1.5">
          <el-button
            type="primary"
@@ -181,7 +182,7 @@
          width="120"
        >
          <template slot-scope="scope">
            <span>{{ scope.row.longTask?'长期任务':'非长期' }}</span>
            <span>{{ scope.row.longTask ? "长期任务" : "非长期" }}</span>
          </template>
        </el-table-column>
@@ -229,7 +230,10 @@
        >
          <template slot-scope="scope">
            <el-button
              v-if="(scope.row.sendState == 1 || scope.row.sendState == 3)&&!scope.row.longTask"
              v-if="
                (scope.row.sendState == 1 || scope.row.sendState == 3) &&
                !scope.row.longTask
              "
              size="medium"
              type="text"
              @click="sponsor(scope.row)"
@@ -242,7 +246,10 @@
                ><i class="el-icon-circle-plus-outline"></i>终止</span
              ></el-button
            > -->
            <el-button size="medium" type="text" @click="handleUpdate(scope.row,1)"
            <el-button
              size="medium"
              type="text"
              @click="handleUpdate(scope.row, 1)"
              ><span class="button-xj"
                ><i class="el-icon-circle-plus-outline"></i>依照新增</span
              ></el-button
@@ -394,7 +401,7 @@
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
  name: "User",
  name: "Tasklist",
  dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
  components: { Treeselect },
  data() {
@@ -414,7 +421,7 @@
      // 用户表格数据
      userList: null,
      // 弹出层标题
      title: "新增门诊随访",
      title: "新增影像随访",
      // 是否显示修改、添加弹出层
      addalteropen: false,
      // 部门名称
@@ -427,7 +434,7 @@
      postOptions: [],
      // 角色选项
      roleOptions: [],
      longTask:0,
      longTask: 0,
      taskform: {
        showDate: [],
        showTimeMorn: [],
@@ -438,31 +445,35 @@
      dynamicTags: ["选项一", "选项二", "选项三"], //选项
      inputVisible: false,
      inputValue: "",
      previewVisible: false, //门诊随访预览弹框
      previewVisible: false, //影像随访预览弹框
      TaskOperation: {},
      radio: "",
      radios: [],
      previewtype: 2, //预览门诊随访类型
      previewtype: 2, //预览影像随访类型
      total: 0, // 总条数
      ImportQuantity: 999, //导门诊随访数量
      //预览门诊随访信息
      ImportQuantity: 999, //导影像随访数量
      //预览影像随访信息
      previewvalue: {
        username: "这个医生对你怎么样",
      },
      longtermlist:[
      {
          value: '1',
          label: "长期任务",
      longtermlist: [
        {
          value: 1,
          label: "语音随访",
        },
        {
          value: '0',
          label: "普通任务",
          value: 2,
          label: "问卷随访",
        },
        {
          value: 3,
          label: "宣教关怀",
        },
      ],
      taskoptions: [
        {
          value: "1",
          label: "监测评估",
          label: "心电随访",
        },
        {
          value: "2",
@@ -470,7 +481,7 @@
        },
        {
          value: "3",
          label: "门诊随访",
          label: "影像随访",
        },
        {
          value: "4",
@@ -478,20 +489,15 @@
        },
        {
          value: "5",
          label: "复诊管理",
          label: "体检随访",
        },
        {
          value: "6",
          label: "满意度调查",
          value: "11",
          label: "医技随访",
        },
        {
          value: "7",
          label: "患者报告",
        },
        {
          value: "8",
          label: "其他通知",
          value: "10",
          label: "专科随访",
        },
      ],
      tasktopic: "2", //新增类型
@@ -593,14 +599,14 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        type: 3,
        type: 2,
        userName: undefined,
        tagid: undefined,
        topic: undefined,
      },
      propss: { multiple: true },
      options: [],
      checkboxlist: [],
      // 表单校验
      rules: {
        userName: [
@@ -651,8 +657,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;
@@ -660,7 +669,10 @@
    this.getConfigKey("sys.user.initPassword").then((response) => {
      this.initPassword = response.msg;
    });
    // this.taskoptions = store.getters.Serviceauthority;
    this.checkboxlist = store.getters.checkboxlist;
  },
  activated() {
    this.getList();
  },
  // 搜索
  mounted() {
@@ -672,10 +684,9 @@
    /** 查询任务列表 */
    getList() {
      this.loading = true;
      let type = this.$route.query.type;
      console.log(this.topqueryParams.type);
      this.topqueryParams.serviceType = Number(this.tasktopic);
      this.topqueryParams.type = Number(this.type);
      if (
        this.tasktopic == 2 ||
        this.tasktopic == 3 ||
@@ -683,29 +694,52 @@
        this.tasktopic == 7 ||
        this.tasktopic == 6
      ) {
        this.topqueryParams.type = 2;
        this.TaskOperation.taskType = 2;
        if (!this.topqueryParams.type) this.topqueryParams.type = '2';
        this.longtermlist = [
          {
            value: 1,
            label: "语音随访",
          },
          {
            value: 2,
            label: "问卷随访",
          },
        ];
      } else if (this.tasktopic == 4 || this.tasktopic == 8) {
        this.topqueryParams.type = 3;
        this.TaskOperation.taskType = 3;
        if (!this.topqueryParams.type) this.topqueryParams.type = '3';
        this.longtermlist = [
          {
            value: 3,
            label: "宣教关怀",
          },
        ];
      } else if (this.tasktopic == 5) {
        this.topqueryParams.type = 1;
        this.TaskOperation.taskType = 1;
        if (!this.topqueryParams.type) this.topqueryParams.type = '1';
        this.longtermlist = [
          {
            value: 1,
            label: "语音随访",
          },
          {
            value: 2,
            label: "问卷随访",
          },
        ];
      }
      // this.topqueryParams.typename = this.findLabelByValue(
      //   this.taskoptions,
      //   this.tasktopic
      // );
      getTasklist(this.addDateRange(this.topqueryParams, this.dateRange)).then(
        (response) => {
          this.userList = response.rows;
          this.total = response.total;
          this.$forceUpdate();
          this.loading = false;
        }
      );
      this.topqueryParams.startOutHospTime = this.dateRange[0];
      this.topqueryParams.endOutHospTime = this.dateRange[1];
      getTasklist(this.topqueryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
        this.$forceUpdate();
        this.loading = false;
      });
    },
    // 查看门诊随访详情
    // 查看影像随访详情
    Referencequestion(row) {
      this.previewVisible = true;
    },
@@ -743,6 +777,11 @@
      this.resetForm("form");
    },
    /** 搜索按钮操作 */
    handleQuerytask() {
      this.topqueryParams.pageNum = 1;
      // this.topqueryParams.type = '';
      this.getList();
    },
    handleQuery() {
      this.topqueryParams.pageNum = 1;
      this.getList();
@@ -810,7 +849,7 @@
      }
    },
    /** 修改按钮操作 */
    handleUpdate(row,newadd) {
    handleUpdate(row, newadd) {
      if (this.topqueryParams.type == 1) {
        this.$router.push({
          path: "/followvisit/particty",
@@ -818,7 +857,7 @@
            id: row.taskid,
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
            newadd:newadd,//是否依照新建
            newadd: newadd, //是否依照新建
          },
        });
      } else if (this.topqueryParams.type == 2) {
@@ -828,7 +867,7 @@
            id: row.taskid,
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
            newadd:newadd,
            newadd: newadd,
          },
        });
      } else if (this.topqueryParams.type == 3) {
@@ -838,7 +877,7 @@
            id: row.taskid,
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
            newadd:newadd,
            newadd: newadd,
          },
        });
      }
@@ -887,6 +926,7 @@
        this.taskformVisible = true;
      } else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) {
        this.TaskOperation.taskId = row.taskid;
        this.TaskOperation.taskType = this.topqueryParams.type;
        this.TaskOperation.sendState = 2;
        this.TaskOperation.sendType = 2;
        this.$modal
@@ -912,6 +952,7 @@
    confirmSponsor(row) {
      if (this.activname == 0) {
        this.TaskOperation.taskId = row.taskid;
        this.TaskOperation.taskType = this.topqueryParams.type;
        this.TaskOperation.sendState = 2;
        TaskTemplateSendExecution(this.TaskOperation).then((res) => {
          if (res.code == 200) {
@@ -929,6 +970,7 @@
    immediateExecution(row) {
      console.log(row, "任务信息");
      if (row.sendState != 2) {
        this.TaskOperation.taskType = this.topqueryParams.type;
        this.TaskOperation.taskId = row.taskid;
        this.TaskOperation.sendState = 2;
        this.TaskOperation.sendType = 2;
@@ -950,7 +992,6 @@
          .catch(() => {});
      }
    },
    // 暂停
    stop(row) {