WXL
2024-09-27 476569c60192a7ff3b2c291e7eb72f1c2c6b9aaa
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"
@@ -35,7 +35,7 @@
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="服务项目" prop="status">
        <el-form-item label="任务模板" prop="status">
          <el-input
            v-model="topqueryParams.templatename"
            @keyup.enter.native="handleQuery"
@@ -82,6 +82,20 @@
            </el-option>
          </el-select>
        </el-col>
        <!-- <el-col :span="1.5">
          <el-select
            v-model="longTask"
            placeholder="请选择任务类型"
          >
            <el-option
              v-for="item in longtermlist"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </el-col> -->
        <el-col :span="1.5">
          <el-button
            type="primary"
@@ -89,11 +103,11 @@
            size="medium"
            @click="handleAdd"
            :disabled="!tasktopic"
            >新增</el-button
            >新建任务</el-button
          >
        </el-col>
        <el-col :span="19">
        <!-- <el-col :span="19">
          <div class="documentf">
            <div class="document">
              <el-button
@@ -107,7 +121,7 @@
              >
            </div>
          </div>
        </el-col>
        </el-col> -->
        <!-- <el-col :span="1.5"> </el-col> -->
      </el-row>
      <!-- <right-toolbar
@@ -127,6 +141,7 @@
        <el-table-column
          label="任务名称"
          fixed
          width="120"
          align="center"
          key="taskName"
          prop="taskName"
@@ -134,15 +149,19 @@
        />
        <el-table-column
          label="任务描述"
          width="280"
          align="center"
          key="taskDesc"
          prop="taskDesc"
          :show-overflow-tooltip="true"
        />
        <el-table-column
          label="服务项目"
          width="120"
          align="center"
          key="templatename"
          prop="templatename"
          :show-overflow-tooltip="true"
        />
        <el-table-column
          label="待执行/总任务"
@@ -154,6 +173,33 @@
            <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="是否长期任务"
          align="center"
          key="longTask"
          prop="longTask"
          width="120"
        >
          <template slot-scope="scope">
            <span>{{ scope.row.longTask ? "长期任务" : "非长期" }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="状态"
          align="center"
          key="sendState"
          prop="sendState"
          width="120"
        >
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.task_status"
              :value="scope.row.sendState"
            />
          </template>
        </el-table-column>
        <el-table-column
          label="创建人"
          align="center"
@@ -170,45 +216,41 @@
          width="160"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
            <span>{{ formatTime(scope.row.createTime) }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="状态"
          fixed="right"
          align="center"
          key="sendState"
          prop="sendState"
          width="120"
        >
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.task_status"
              :value="scope.row.sendState"
            />
          </template>
        </el-table-column>
        <el-table-column
          label="操作"
          fixed="right"
          align="center"
          width="120"
          width="180"
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button
              v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
              v-if="
                (scope.row.sendState == 1 || scope.row.sendState == 3) &&
                !scope.row.longTask
              "
              size="medium"
              type="text"
              @click="sponsor(scope.row)"
              ><span class="button-zx"
                ><i class="el-icon-s-promotion"></i>任务发起</span
                ><i class="el-icon-s-promotion"></i>发起</span
              ></el-button
            >
            <el-button size="medium" type="text" @click="newAdd(scope.row)"
            <!-- <el-button size="medium" type="text" @click="newAdd(scope.row)"
              ><span class="button-xj"
                ><i class="el-icon-circle-plus-outline"></i>任务终止</span
                ><i class="el-icon-circle-plus-outline"></i>终止</span
              ></el-button
            > -->
            <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
            >
            <el-button
@@ -217,7 +259,7 @@
              type="text"
              @click="stop(scope.row)"
              ><span class="button-zt"
                ><i class="el-icon-circle-plus-outline"></i>暂停任务</span
                ><i class="el-icon-circle-plus-outline"></i>暂停</span
              ></el-button
            >
          </template>
@@ -358,7 +400,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() {
@@ -391,6 +433,7 @@
      postOptions: [],
      // 角色选项
      roleOptions: [],
      longTask: 0,
      taskform: {
        showDate: [],
        showTimeMorn: [],
@@ -412,6 +455,16 @@
      previewvalue: {
        username: "这个医生对你怎么样",
      },
      longtermlist: [
        {
          value: "1",
          label: "长期任务",
        },
        {
          value: "0",
          label: "普通任务",
        },
      ],
      taskoptions: [
        {
          value: "1",
@@ -554,24 +607,6 @@
      propss: { multiple: true },
      options: [],
      topicoptions: [
        {
          value: 1,
          label: "待审核",
        },
        {
          value: 2,
          label: "执行中",
        },
        {
          value: 3,
          label: "执行完成",
        },
        {
          value: 4,
          label: "已停止",
        },
      ],
      // 表单校验
      rules: {
        userName: [
@@ -622,6 +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.tasktopic = this.$route.query.tasktopic
      ? this.$route.query.tasktopic
      : this.tasktopic;
@@ -630,6 +670,9 @@
      this.initPassword = response.msg;
    });
    // this.taskoptions = store.getters.Serviceauthority;
  },
  activated() {
    this.getList();
  },
  // 搜索
  mounted() {
@@ -665,7 +708,9 @@
      //   this.taskoptions,
      //   this.tasktopic
      // );
      getTasklist(this.addDateRange(this.topqueryParams, this.dateRange)).then(
      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;
@@ -779,7 +824,7 @@
      }
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
    handleUpdate(row, newadd) {
      if (this.topqueryParams.type == 1) {
        this.$router.push({
          path: "/followvisit/particty",
@@ -787,6 +832,7 @@
            id: row.taskid,
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
            newadd: newadd, //是否依照新建
          },
        });
      } else if (this.topqueryParams.type == 2) {
@@ -796,6 +842,7 @@
            id: row.taskid,
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
            newadd: newadd,
          },
        });
      } else if (this.topqueryParams.type == 3) {
@@ -805,19 +852,28 @@
            id: row.taskid,
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
            newadd: newadd,
          },
        });
      }
    },
    // 删除任务
    deletefn(row) {
      delTaskInfo(row.taskid).then((res) => {
        console.log(2);
        if (res.code == 200) {
          this.getList();
          this.$modal.msgSuccess("删除成功");
        }
      });
      this.$modal
        .confirm(
          '是否删除任务名称为"' +
            row.taskName +
            '"的数据项,删除后不可撤回!是否继续'
        )
        .then(() => {
          delTaskInfo(row.taskid).then((res) => {
            if (res.code == 200) {
              this.getList();
              this.$modal.msgSuccess("删除成功");
            }
          });
        })
        .catch(() => {});
    },
    // 任务发起
    sponsor(row) {
@@ -909,34 +965,6 @@
      }
    },
    // 依照新增
    newAdd(row) {
      this.$modal
        .confirm("是否依照当前任务创建新任务?")
        .then(() => {
          if (this.tasktopic == 5) {
            this.$router.push({
              path: "/followvisit/particty",
              query: { type: 1, id: row.taskid, nhh: 1 },
            });
          } else if (
            this.tasktopic == 2 ||
            this.tasktopic == 3 ||
            this.tasktopic == 6
          ) {
            this.$router.push({
              path: "/followvisit/QuestionnaireTask",
              query: { type: 2, id: row.taskid, nhh: 1 },
            });
          } else if (this.tasktopic == 8 || this.tasktopic == 4) {
            this.$router.push({
              path: "/followvisit/Missioncreation",
              query: { type: 3, id: row.taskid, nhh: 1 },
            });
          }
        })
        .catch(() => {});
    },
    // 暂停
    stop(row) {
      console.log(row);