WXL (wul)
4 天以前 6e7f546cc37ed57e7e2eda4fdfc32fa2b3e0160c
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -332,6 +332,35 @@
                  ></el-col>
                </el-row>
                <!-- 缙云县人民医院:超时未完成是否再次随访 / 再次随访关联任务 -->
                <el-row v-if="form.appltype == 1 && orgname == '缙云县人民医院'">
                  <el-col :span="12">
                    <el-form-item label="超时未完成是否再次随访">
                      <el-radio-group v-model="form.nexttaskflag">
                        <el-radio label="1">是</el-radio>
                        <el-radio label="0">否</el-radio>
                      </el-radio-group>
                    </el-form-item>
                  </el-col>
                  <el-col :span="12">
                    <el-form-item label="再次随访关联任务">
                      <el-input
                        style="width: 300px"
                        :disabled="true"
                        v-model="nexttaskname"
                        placeholder="请点击右侧选择任务"
                      />
                      <el-button
                        style="margin-left: 10px"
                        type="primary"
                        icon="el-icon-edit"
                        circle
                        @click="openNextTaskDialog"
                      ></el-button>
                    </el-form-item>
                  </el-col>
                </el-row>
                <!-- 病区关联 -->
                <el-row v-if="form.appltype == 2">
                  <el-col :span="20"
@@ -929,6 +958,30 @@
              </div>
            </div>
          </div>
          <div class="examine-jic">
            <div class="headline">
              <div>二次随访任务配置</div>
            </div>
            <div class="jic-value">
              <el-form label-width="125px">
                <el-form-item label="二次随访任务">
                  <el-input
                    style="width: 300px"
                    :disabled="true"
                    v-model="nexttaskname"
                    placeholder="请点击右侧选择任务"
                  />
                  <el-button
                    style="margin-left: 10px"
                    type="primary"
                    icon="el-icon-edit"
                    circle
                    @click="openNextTaskDialog"
                  ></el-button>
                </el-form-item>
              </el-form>
            </div>
          </div>
        </div>
        <el-button type="primary" @click="nextstep('ruleForm')">{{
          quote ? "立即创建" : "派发患者配置"
@@ -1330,6 +1383,68 @@
        </div>
      </div>
    </el-drawer>
    <!-- 选择再次随访关联任务 -->
    <el-dialog
      title="选择任务"
      :visible.sync="nextTaskDialogVisible"
      width="60%"
      :close-on-click-modal="false"
    >
      <el-form :inline="true" size="small">
        <el-form-item label="任务名称">
          <el-input
            v-model="nextTaskQuery.taskName"
            placeholder="请输入任务名称"
            @keyup.enter.native="handleNextTaskQuery"
          ></el-input>
        </el-form-item>
        <el-form-item>
          <el-button
            type="primary"
            icon="el-icon-search"
            @click="handleNextTaskQuery"
            >搜索</el-button
          >
          <el-button icon="el-icon-refresh" @click="resetNextTaskQuery"
            >重置</el-button
          >
        </el-form-item>
      </el-form>
      <el-table :data="nextTaskList" border v-loading="nextTaskLoading">
        <el-table-column
          label="任务名称"
          prop="taskName"
          show-overflow-tooltip
        />
        <el-table-column
          label="任务描述"
          prop="taskDesc"
          show-overflow-tooltip
        />
        <el-table-column
          label="服务项目"
          prop="templatename"
          show-overflow-tooltip
        />
        <el-table-column label="操作" width="100" align="center">
          <template slot-scope="scope">
            <el-button type="text" @click="selectNextTask(scope.row)"
              >选择</el-button
            >
          </template>
        </el-table-column>
      </el-table>
      <pagination
        v-show="nextTaskTotal > 0"
        :total="nextTaskTotal"
        :page.sync="nextTaskQuery.pageNum"
        :limit.sync="nextTaskQuery.pageSize"
        @pagination="getNextTaskList"
      />
      <span slot="footer" class="dialog-footer">
        <el-button @click="nextTaskDialogVisible = false">取 消</el-button>
      </span>
    </el-dialog>
    <Optional-Form
      ref="child"
      :dialogVisiblepatient="dialogVisiblepatientjb"
@@ -1368,8 +1483,10 @@
  rwztaskdepthospgetsonlist,
  rwztaskdiaggetlist,
  taskopergetlist,
  getTasklist,
} from "@/api/AiCentre/index";
import { listMedication } from "@/api/knowledge/drug";
import { getIvrtask } from "@/api/smartor/ivrtask";
import OptionalForm from "@/components/OptionalForm";
import SFtable from "@/components/SFtable";
import SortCheckbox from "@/components/SortCheckbox";
@@ -1566,6 +1683,9 @@
      orgname: localStorage.getItem("orgname"),
      form: {
        patTaskRelevances: [],
        nexttaskflag: "0",
        nexttaskid: null,
        nexttaskname: "",
        sendType: 1,
        longTask: 0,
        templatename: "",
@@ -1637,6 +1757,13 @@
      queryParamsdept: {},
      quote: false,
      serviceType: null,
      // 再次随访关联任务(缙云县人民医院)
      nextTaskDialogVisible: false,
      nextTaskLoading: false,
      nextTaskList: [],
      nextTaskTotal: 0,
      nextTaskQuery: { pageNum: 1, pageSize: 10, taskName: "" },
      nexttaskname: "",
      // 模板搜索
      templateOptions: [],
      templateLoading: false,
@@ -1802,6 +1929,9 @@
    Getdetails() {
      this.form = {
        patTaskRelevances: [],
        nexttaskflag: "0",
        nexttaskid: null,
        nexttaskname: "",
        sendType: 1,
        sendDay: 5,
        templatename: "",
@@ -1831,6 +1961,15 @@
        Questionnairetaskgetson({ taskid: this.id }).then((res) => {
          if (res.code == 200) {
            this.form = res.data;
            // 回显再次随访关联任务
            if (this.form.nexttaskflag == null) this.form.nexttaskflag = "0";
            this.nexttaskname = "";
            if (this.form.nexttaskid) {
              getIvrtask(this.form.nexttaskid).then((r) => {
                this.nexttaskname = (r.data && r.data.taskName) || "";
                this.form.nexttaskname = (r.data && r.data.taskName) || "";
              });
            }
            // 如果返回了 serviceTaskScheduleVO,解析明细中的 content
            if (
              this.form.serviceTaskScheduleVO &&
@@ -1933,6 +2072,10 @@
      this.time2 = "";
      this.time3 = "";
      this.time4 = "";
      this.form.nexttaskflag = "0";
      this.form.nexttaskid = null;
      this.form.nexttaskname = "";
      this.nexttaskname = "";
      // 重置任务组
      this.form.serviceTaskScheduleVO = {
        scheduleStyle: 0,
@@ -2284,6 +2427,43 @@
      );
    },
    // ---------- 再次随访关联任务 ----------
    openNextTaskDialog() {
      this.nextTaskQuery = { pageNum: 1, pageSize: 10, taskName: "" };
      this.nextTaskDialogVisible = true;
      this.getNextTaskList();
    },
    getNextTaskList() {
      this.nextTaskLoading = true;
      getTasklist({
        pageNum: this.nextTaskQuery.pageNum,
        pageSize: this.nextTaskQuery.pageSize,
        taskName: this.nextTaskQuery.taskName || undefined,
      })
        .then((res) => {
          this.nextTaskList = res.rows || [];
          this.nextTaskTotal = res.total || 0;
          this.nextTaskLoading = false;
        })
        .catch(() => {
          this.nextTaskLoading = false;
        });
    },
    handleNextTaskQuery() {
      this.nextTaskQuery.pageNum = 1;
      this.getNextTaskList();
    },
    resetNextTaskQuery() {
      this.nextTaskQuery = { pageNum: 1, pageSize: 10, taskName: "" };
      this.getNextTaskList();
    },
    selectNextTask(row) {
      this.form.nexttaskid = row.taskid;
      this.form.nexttaskname = row.taskName;
      this.nexttaskname = row.taskName;
      this.nextTaskDialogVisible = false;
    },
    // ---------- 患者选择 ----------
    handleAddpatient(row) {
      this.allpids = [];