WXL
2024-09-04 7eaee92ee52e1501480adbbe8a1af9ddecc04275
src/views/patient/propaganda/Missioncreation.vue
@@ -7,7 +7,7 @@
          <el-step
            icon="el-icon-edit"
            title="基础信息"
            description="选择模版、形式等基础信息"
            description="选择模板、形式等基础信息"
          ></el-step>
          <el-step
            icon="el-icon-user"
@@ -21,7 +21,7 @@
    <div class="leftvlue" style="margin: 0 20px">
      <!-- 基本信息 -->
      <div v-if="Editprogress == 1">
        <el-alert title="选择模版、形式等基础信息" type="success" effect="dark">
        <el-alert title="选择模板、形式等基础信息" type="success" effect="dark">
        </el-alert>
        <div class="leftvlue-jbxx">
          <!-- 基础信息 -->
@@ -41,7 +41,7 @@
                      /> </el-form-item
                  ></el-col>
                  <el-col :span="8"
                    ><el-form-item label="模版名称">
                    ><el-form-item label="模板名称">
                      <el-input
                        style="width: 220px"
                        :disabled="true"
@@ -434,13 +434,13 @@
        >
      </span>
    </el-dialog>
    <el-dialog title="模版预览" :visible.sync="previewtf" width="60%">
    <el-dialog title="模板预览" :visible.sync="previewtf" width="60%">
      <div class="preview-left">
        <!-- 单选 -->
        <div v-html="richText"></div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="previewGo">前往模版详情修改</el-button>
        <el-button @click="previewGo">前往模板详情修改</el-button>
        <el-button type="primary" @click="previewFn">确认使用</el-button>
      </span>
    </el-dialog>
@@ -464,96 +464,35 @@
              label-width="98px"
            >
              <el-form-item
                label="宣教主题"
                v-if="currenttype == 1 || currenttype == 8"
              >
                <el-input v-model="topqueryParams.name"></el-input>
              </el-form-item>
              <el-form-item
                label="宣教名称"
                v-if="currenttype == 2 || currenttype == 3 || currenttype == 7"
              >
                <el-input
                  v-model="topqueryParams.name"
                ></el-input> </el-form-item
              ><el-form-item
                label="通知名称"
                v-if="currenttype == 4 || currenttype == 5"
              >
                <el-input
                  v-model="topqueryParams.name"
                ></el-input> </el-form-item
              ><el-form-item label="体检套餐" v-if="currenttype == 5">
                <el-input v-model="topqueryParams.name"></el-input>
                <el-input v-model="topqueryParams.preachname"></el-input>
              </el-form-item>
              <el-form-item label="问卷主题" v-if="currenttype == 6">
                <el-input v-model="topqueryParams.name"></el-input>
              </el-form-item>
              <el-form-item label="适用疾病" v-if="currenttype != 5">
                <el-input v-model="topqueryParams.name"></el-input>
              <el-form-item label="宣教分类" prop="region">
                <el-select
                  v-model="topqueryParams.assortid"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option-group
                    v-for="group in sortlist"
                    :key="group.id"
                    :label="group.assortname"
                  >
                    <el-option
                      v-for="item in group.heLibraryAssortList"
                      :key="item.id"
                      :label="item.assortname"
                      :value="item.id"
                    >
                    </el-option>
                  </el-option-group>
                </el-select>
              </el-form-item>
              <el-form-item
                label="宣教类型"
                prop="status"
                v-if="currenttype == 1 || currenttype == 8"
              >
                <el-select v-model="topqueryParams.topic" placeholder="请选择">
                  <el-option
                    v-for="item in taskoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item
                label="通知类型"
                prop="status"
                v-if="currenttype == 4 || currenttype == 5"
              >
                <el-select v-model="topqueryParams.topic" placeholder="请选择">
                  <el-option
                    v-for="item in taskoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item
                label="宣教类型"
                prop="status"
                v-if="currenttype == 2 || currenttype == 3 || currenttype == 7"
              >
                <el-select v-model="topqueryParams.topic" placeholder="请选择">
                  <el-option
                    v-for="item in taskoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item
                label="问卷类型"
                prop="status"
                v-if="currenttype == 6"
              >
                <el-select v-model="topqueryParams.topic" placeholder="请选择">
                  <el-option
                    v-for="item in taskoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="适用形式" prop="status">
              <!-- <el-form-item label="适用形式" prop="status">
                <el-select v-model="topqueryParams.topica" placeholder="请选择">
                  <el-option
                    v-for="item in taskoptions"
@@ -563,9 +502,9 @@
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              </el-form-item> -->
              <el-form-item label="适用科室" prop="status">
              <!-- <el-form-item label="适用科室" prop="status">
                <el-select v-model="topqueryParams.topicd" placeholder="请选择">
                  <el-option
                    v-for="item in topicoptions"
@@ -575,13 +514,13 @@
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              </el-form-item> -->
              <el-form-item>
                <el-button
                  type="primary"
                  icon="el-icon-search"
                  size="medium"
                  @click="handleQuery"
                  @click="Acquisitiontypeget"
                  >搜索</el-button
                >
                <el-button
@@ -593,7 +532,7 @@
              </el-form-item>
            </el-form>
            <el-divider></el-divider>
            <!-- 选择模版列表 -->
            <!-- 选择模板列表 -->
            <SFtable
              @selectfn="selectfn"
              :currentList="userList"
@@ -608,7 +547,7 @@
              :total="total"
              :page.sync="topqueryParams.pageNum"
              :limit.sync="topqueryParams.pageSize"
              @pagination="Acquisitiontype"
              @pagination="Acquisitiontypeget"
            />
          </el-row>
        </div>
@@ -632,6 +571,7 @@
  gethetaskinfo,
  delhetaskinfo,
  Editsingletask,
  getheLibraryAssort,
} from "@/api/AiCentre/index";
import { listDept } from "@/api/system/dept";
@@ -644,13 +584,13 @@
      title: "宣教内容列表",
      currenttype: 1, //1宣教2门诊3出院4复诊5体检6问卷
      id: "", //
      previewid: "", //任务模版传递id
      previewid: "", //任务模板传递id
      libName: "",
      overallCase: [], //选择患者总
      allpids: [],
      libId: null, //模板库模版id
      libId: null, //模板库模板id
      Editprogress: 1, //编辑进度
      drawermb: false, //选择模版弹窗
      drawermb: false, //选择模板弹窗
      previewtf: false, //预览
      loading: false, // 遮罩层
      patientloading: false, // 遮罩层
@@ -662,7 +602,7 @@
      richText: "<p>Hello, <strong>world</strong>!</p>",
      // 患者表单
      tableLabelhz: [
        { label: "序号", width: "", prop: "patid" },
        // { label: "序号", width: "", prop: "patid" },
        { label: "患者名称", width: "", prop: "name" },
        { label: "性别", width: "", prop: "sex" },
        { label: "年龄", width: "", prop: "age" },
@@ -726,7 +666,7 @@
      // 非多个禁用
      multiple: true,
      // 用户表格数据
      userList: [], //模版列表
      userList: [], //模板列表
      patientuserList: [], //选择患者列表
      sonuserList: [], //选中患者列表
      delvariableList: [], //删除变量临时存储
@@ -771,6 +711,7 @@
        },
      ],
      variableListTime: [],
      sortlist: [],
      tasktopic: null, //新增类型
      SelectPatientslist: [],
      form: {
@@ -807,6 +748,7 @@
    this.listDept();
    this.Acquisitiontype();
    this.Getdetails();
    this.getheLibraryAssort();
  },
  methods: {
@@ -837,6 +779,14 @@
        result[item.name] = innerObj;
      });
      return result;
    },
    Acquisitiontypeget() {
      console.log(2211);
      getlibrarylist(this.topqueryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
      });
    },
    // 获取当前类型
    Acquisitiontype() {
@@ -912,7 +862,6 @@
    submitForm(formName) {
      this.form.preachform = this.checkList.join(",");
      // this.formatFn(1);
      this.form.hospType = this.currenttype;
      if (!this.form.patTaskRelevances[0]) {
        this.$modal.msgError("请选择病人");
        return;
@@ -940,15 +889,15 @@
          }
          this.$router.push({
            path: "/followvisit/tasklist",
            query: { tasktopic: 1 },
            query: { tasktopic: this.form.serviceType },
          });
        }
      });
    },
    // ----------------------表格子组件事件
    // 确认选择模版放入任务模版
    // 确认选择模板放入任务模板
    selectfn(row, type) {
      // 模版情况下获取模版信息
      // 模板情况下获取模板信息
      this.libName = row.preachname;
      this.richText = null;
      this.libId = row.id;
@@ -967,6 +916,7 @@
          this.richText = this.addStyleToImages(this.richText);
        })
        .catch((error) => {
          this.$modal.msgError("获取富文本失败");
          console.error("Failed to fetch file:", error);
        });
    },
@@ -1007,7 +957,6 @@
    // },
    // 子任务二级弹框
    handleAddpatient(row) {
      console.log(this.overallCase, "ssaaa");
      this.allpids = [];
      this.overallCase.forEach((item) => {
        this.allpids.push(item.patid);
@@ -1066,6 +1015,7 @@
        const isExist = this.overallCase.find((obj) => obj.name == item.name);
        if (!isExist) {
          item.isoperation = 1;
          item.patid = item.id;
          item.hospType = this.patientqueryParams.allhosp;
          this.overallCase.push(item);
          this.form.patTaskRelevances.push(item);
@@ -1128,7 +1078,7 @@
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    // 预览模版
    // 预览模板
    PreviewTemplate() {},
    Acknowledgereference() {
      this.quote = true;
@@ -1169,6 +1119,13 @@
          }
        });
      }
    },
    getheLibraryAssort() {
      // 宣教分类
      getheLibraryAssort({}).then((res) => {
        this.sortlist = res.rows;
        console.log(this.sortlist);
      });
    },
    // 获取科室列表
    listDept() {
@@ -1265,10 +1222,10 @@
      if (this.time3) this.form.showTimeNight = this.time3.join(",");
      console.log(combinedData, "combinedData");
    },
    // 查看模版
    // 查看模板
    previewGo() {
      this.$router.push({
        path: "/knowledge/templateku/configurat/",
        path: "/knowledge/tpuconfigurat/",
        query: { id: this.previewid, task: true, data: this.form },
      });
    },
@@ -1283,7 +1240,7 @@
        this.form.templateid = response.data;
        this.form.libtemplateid = this.libId;
        this.form.templatename = this.libName;
        this.$modal.msgSuccess("选择模版成功");
        this.$modal.msgSuccess("选择模板成功");
      });
    },
    // 处理服务形式