WXL
2024-06-20 8d2e62da290ba8c40101f282a60efcdb29b22cd2
src/views/followvisit/tasklist/index.vue
@@ -218,7 +218,7 @@
        >
          <template slot-scope="scope">
            <el-button
              v-if="scope.row.status != 1"
              v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
              size="medium"
              type="text"
              @click="sponsor(scope.row)"
@@ -226,12 +226,25 @@
                ><i class="el-icon-s-promotion"></i>任务发起</span
              ></el-button
            >
            <el-button
              v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
              size="medium"
              type="text"
              @click="immediateExecution(scope.row)"
              ><span class="button-lj"
                ><i class="el-icon-s-promotion"></i>立即执行</span
              ></el-button
            >
            <el-button size="medium" type="text" @click="newAdd(scope.row)"
              ><span class="button-xj"
                ><i class="el-icon-circle-plus-outline"></i>依照新增</span
              ></el-button
            >
            <el-button size="medium" type="text" @click="stop(scope.row)"
            <el-button
              v-if="scope.row.sendState == 2"
              size="medium"
              type="text"
              @click="stop(scope.row)"
              ><span class="button-zt"
                ><i class="el-icon-circle-plus-outline"></i>暂停任务</span
              ></el-button
@@ -272,58 +285,68 @@
        @pagination="getList"
      />
    </el-row>
    <!-- 添加或修改门诊随访对话框 -->
    <!-- 确认发起对话框 -->
    <el-dialog
      :title="title"
      :visible.sync="addalteropen"
      width="700px"
      append-to-body
      title="任务发起确认"
      :visible.sync="taskformVisible"
      width="50%"
      :before-close="handleClose"
    >
      <el-form ref="form" :model="form" label-width="100px">
        <el-row :gutter="20">
          <el-col :span="12"
            ><el-form-item label="任务名称">
              <el-input v-model="form.taskName"></el-input> </el-form-item
          ></el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="24"
            ><el-form-item label="所属科室">
              <el-select v-model="form.region" placeholder="请选择科室">
                <el-option label="区域一" value="shanghai"></el-option>
                <el-option label="区域二" value="beijing"></el-option>
              </el-select> </el-form-item></el-col
        ></el-row>
        <el-row :gutter="20">
          <el-col :span="24"
            ><el-form-item label="随访类型">
              <el-select v-model="form.region" placeholder="请选择随访类型">
                <el-option label="区域一" value="shanghai"></el-option>
                <el-option label="区域二" value="beijing"></el-option>
              </el-select> </el-form-item
          ></el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="服务模块">
              <el-select v-model="form.region" placeholder="请选择模块">
                <el-option label="区域一" value="shanghai"></el-option>
                <el-option label="区域二" value="beijing"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="门诊随访要求">
              <el-input type="textarea" v-model="form.desc"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">提 交</el-button>
        <el-button @click="cancel">返 回</el-button>
      <div style="font-size: 20px; color: red; margin-bottom: 20px">
        请确认任务"{{ taskform.taskName }}"的执行时间
      </div>
      <div
        style="font-size: 18px; margin-bottom: 20px"
        v-if="taskform.showDate[0]"
      >
        执行日期:<span
          style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
          >{{ taskform.showDate[0] }} 至 {{ taskform.showDate[1] }}</span
        >
      </div>
      <div
        style="font-size: 18px; margin-bottom: 20px"
        v-if="taskform.showTimeMorn[0]"
      >
        第一时间段:<span
          style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
          >{{ taskform.showTimeMorn[0] }} 至
          {{ taskform.showTimeMorn[1] }}</span
        >
      </div>
      <div
        style="font-size: 18px; margin-bottom: 20px"
        v-if="taskform.showTimeNight[0]"
      >
        第二时间段:<span
          style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
          >{{ taskform.showTimeNight[0] }} 至
          {{ taskform.showTimeNight[1] }}</span
        >
      </div>
      <div
        style="font-size: 18px; margin-bottom: 20px"
        v-if="taskform.showTimeNoon[0]"
      >
        第三时间段:<span
          style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
          >{{ taskform.showTimeNoon[0] }} 至
          {{ taskform.showTimeNoon[1] }}</span
        >
      </div>
      <div style="text-align: right">
        <el-button style="margin-right: 20px" @click="taskformVisible = false"
          >取 消</el-button
        >
        <el-button
          style="margin-right: 20px"
          type="success"
          @click="confirmSponsor(taskform)"
          >确认执行</el-button
        >
        <el-button type="primary" @click="handleUpdate(taskform)"
          >前往修改</el-button
        >
      </div>
    </el-dialog>
  </div>
@@ -383,10 +406,18 @@
      postOptions: [],
      // 角色选项
      roleOptions: [],
      taskform: {
        showDate: [],
        showTimeMorn: [],
        showTimeNight: [],
        showTimeNoon: [],
      },
      taskformVisible: false,
      dynamicTags: ["选项一", "选项二", "选项三"], //选项
      inputVisible: false,
      inputValue: "",
      previewVisible: false, //门诊随访预览弹框
      TaskOperation: {},
      radio: "",
      radios: [],
      previewtype: 2, //预览门诊随访类型
@@ -635,11 +666,6 @@
      }
    },
    // 取消按钮
    cancel() {
      this.addalteropen = false;
      this.reset();
    },
    // 表单重置
    reset() {
      this.form = {
@@ -715,18 +741,81 @@
    deletefn() {},
    // 任务发起
    sponsor(row) {
      if (row.sendState != 1) {
        TaskTemplateSendExecution().then((res) => {});
      console.log(row, "任务信息");
      this.taskform = row;
      if (this.taskform.showDate) {
        this.taskform.showDate = this.taskform.showDate.split(",");
      }
      if (this.taskform.showTimeMorn) {
        this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(",");
      } else {
        this.taskform.showTimeMorn = [];
      }
      if (this.taskform.showTimeNight) {
        this.taskform.showTimeNight = this.taskform.showTimeNight.split(",");
      } else {
        this.taskform.showTimeNight = [];
      }
      if (this.taskform.showTimeNoon) {
        this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(",");
      } else {
        this.taskform.showTimeNoon = [];
      }
      if (row.sendState != 2) {
        this.taskformVisible = true;
      } else {
        this.$modal.msgError("任务已发起,不可再次发起");
      }
    },
    // 确认发起
    confirmSponsor(row) {
      this.TaskOperation.taskId = row.taskid;
      this.TaskOperation.sendState = 2;
      TaskTemplateSendExecution(this.TaskOperation).then((res) => {
        if (res.code == 200) {
          this.$modal.msgSuccess("任务已成功加入执行队列");
          this.getList();
        }
      });
    },
    // 立即执行
    immediateExecution(row) {
      console.log(row, "任务信息");
      if (row.sendState != 2) {
        this.TaskOperation.taskId = row.taskid;
        this.TaskOperation.sendState = 2;
        this.TaskOperation.sendType = 2;
        this.$modal
          .confirm(
            '是否立即执行任务名称为为"' +
              row.taskName +
              '"的数据项?发起执行后不可撤回!'
          )
          .then(() => {
            TaskTemplateSendExecution(this.TaskOperation).then((res) => {
              if (res.code == 200) {
                this.getList();
                this.$modal.msgSuccess("任务已立即执行");
              }
            });
          })
          .then(() => {})
          .catch(() => {});
      }
    },
    // 依照新增
    newAdd(row) {
      TaskTemplateSendExecution().then((res) => {});
    },
    // 暂停
    stop(row) {
      if (row.sendState == 2 || row.sendState == 3) {
        TaskTemplateSendExecution().then((res) => {});
      if (row.sendState == 2) {
        this.TaskOperation.taskId = row.taskId;
        this.TaskOperation.sendState = 3;
        TaskTemplateSendExecution().then((res) => {
          this.getList();
        });
      }
    },
@@ -885,6 +974,12 @@
  border-radius: 1px;
  color: #ffffff;
}
.button-lj {
  background: #e9614f;
  padding: 5px;
  border-radius: 1px;
  color: #ffffff;
}
.button-xj {
  background: #815c94;
  padding: 5px;