WXL
2024-09-11 b5a56d53e44c426fa188ba3e4e1db3eb779e2fd9
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -176,6 +176,26 @@
                    </div>
                  </div>
                </el-form-item>
                <el-row>
                  <el-col :span="12"
                    ><el-form-item label="开场白" prop="kcb">
                      <el-input
                        type="textarea"
                          :rows="3"
                        v-model="form.kcb"
                        placeholder="请输入开场白"
                      /> </el-form-item
                  ></el-col>
                  <el-col :span="12"
                    ><el-form-item label="结束语" prop="jsy">
                      <el-input
                        type="textarea"
                        :rows="3"
                        v-model="form.jsy"
                        placeholder="请输入结束语"
                      /> </el-form-item
                  ></el-col>
                </el-row>
              </el-form>
            </div>
          </div>
@@ -286,6 +306,7 @@
                        </el-option>
                      </el-select>
                    </el-col>
                    <el-col :span="1.5">
                      <el-button
                        type="primary"
@@ -293,7 +314,7 @@
                        icon="el-icon-plus"
                        size="medium"
                        :disabled="!patientqueryParams.allhosp"
                        @click="handleAddpatient"
                        @click="handleQuery"
                        >新增</el-button
                      >
                    </el-col>
@@ -369,6 +390,18 @@
                  @keyup.enter.native="handleQuery"
                ></el-input>
              </el-form-item>
              <el-select
                v-model="patientqueryParams.topica"
                placeholder="请选择患者来源"
              >
                <el-option
                  v-for="item in source"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
              <el-form-item>
                <el-button
@@ -416,66 +449,66 @@
    </el-dialog>
    <el-dialog title="模板预览" :visible.sync="previewtf" width="60%">
      <div class="preview-left">
        <!-- 单选 -->
        <div
          class="scriptTopic-dev"
          v-for="item in questionList"
          :key="item.sort"
          v-if="item.scriptType == 1"
        >
          <div class="dev-text">
            {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span>
        <div v-for="item in questionList">
          <!-- 单选 -->
          <div
            class="scriptTopic-dev"
            :key="item.sort"
            v-if="item.scriptType == 1"
          >
            <div class="dev-text">
              {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-radio-group v-model="item.remark">
                <el-radio
                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                  :key="index"
                  :label="index"
                  >{{ items.optioncontent }}</el-radio
                >
              </el-radio-group>
            </div>
          </div>
          <div class="dev-xx">
            <el-radio-group v-model="item.remark">
              <el-radio
                v-for="(items, index) in item.svyLibTemplateTargetoptions"
                :key="index"
                :label="index"
                >{{ items.optioncontent }}</el-radio
              >
            </el-radio-group>
          <!-- 多选 -->
          <div
            class="scriptTopic-dev"
            :key="item.sort"
            v-if="item.scriptType == 2"
          >
            <div class="dev-text">
              {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-checkbox-group v-model="qremark">
                <el-checkbox
                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                  :key="index"
                  :label="index"
                >
                  {{ items.optioncontent }}
                </el-checkbox>
              </el-checkbox-group>
            </div>
          </div>
        </div>
        <!-- 多选 -->
        <div
          class="scriptTopic-dev"
          v-for="item in questionList"
          v-if="item.scriptType == 2"
        >
          <div class="dev-text">
            {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span>
          </div>
          <div class="dev-xx">
            <el-checkbox-group v-model="multiplechoice">
              <el-checkbox
                v-for="items in item.svyLibTemplateTargetoptions"
                :key="items.optioncontent"
                :label="items.optioncontent"
              >
                {{ items.optioncontent }}
              </el-checkbox>
            </el-checkbox-group>
          </div>
        </div>
        <!-- 填空 -->
        <div
          class="scriptTopic-dev"
          v-for="item in questionList"
          :key="item.sort"
          v-if="item.scriptType == 4"
        >
          <div class="dev-text">
            {{ item.sort }}、[填空]<span>{{ item.scriptContent }}</span>
          </div>
          <div class="dev-xx">
            <el-input placeholder="请输入答案" v-model="item.radioas" clearable>
            </el-input>
          <!-- 填空 -->
          <div
            class="scriptTopic-dev"
            :key="item.sort"
            v-if="item.scriptType == 4"
          >
            <div class="dev-text">
              {{ item.sort }}、[问答]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-input placeholder="请输入答案" v-model="radioas" clearable>
              </el-input>
            </div>
          </div>
        </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>
@@ -562,6 +595,7 @@
  getlibrarylist,
  getFollowuplist,
  getQtemplatelist,
  getQtemplateobj,
  TaskQuestioncomit,
  Questionnairetaskget,
  gethetaskinfo,
@@ -650,6 +684,7 @@
      patientqueryParams: {
        pageNum: 1, //
        pageSize: 10,
        topica:0,//0全部1科室2病区
      },
      topicoptions: [{ children: [{ children: [] }] }],
      showSearch: true, //
@@ -717,6 +752,8 @@
        templatename: "",
        templateid: null,
        libtemplateid: null,
        kcb:'亲爱的患者-家属,您好!我们是浙中医大二院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,完成这份随访问卷。',
        jsy:'生活上要劳逸结合,注意休息和营养,适当锻炼,戒烟限酒,保持心情舒畅,定期复诊。那本次回访就到这里,祝您身体健康!',
      },
      taskoptions: [
        {
@@ -732,6 +769,21 @@
          label: "体检病人",
        },
      ],
      source: [
        {
          value: 0,
          label: "所有患者",
        },
        {
          value: 1,
          label: "科室患者",
        },
        {
          value: 2,
          label: "病区患者",
        },
      ],
      tasktypes: [
        {
          value: 1,
@@ -963,11 +1015,13 @@
    submitForm(formName) {
      if (this.time4 && this.form.sendType == 3)
        this.form.showTimeMorn = this.time4;
      this.form.sendTimeslot = [{
        begantime: this.time4,
        endtime: "",
        xh: 1,
      }];
      this.form.sendTimeslot = [
        {
          begantime: this.time4,
          endtime: "",
          xh: 1,
        },
      ];
      if (this.checkList[0]) {
        this.form.preachform = this.checkList.join(",");
      } else {
@@ -1026,7 +1080,13 @@
        this.libId = row.svyid;
        this.Tasktemplate = row;
        this.questionList = row.svyTemplateLibScripts;
        this.previewtf = true;
        getQtemplateobj({ svyid: row.svyid }).then((res) => {
          if (res.code == 200) {
            this.questionList = res.rows[0].svyTemplateLibScripts;
            this.previewtf = true;
          }
        });
        console.log(row.svyTemplateLibScripts);
        this.previewid = row.svyid;
        this.Variablehandling(row.svyTemplateLibScripts, 1);
      } else if (type == 2) {
@@ -1037,10 +1097,8 @@
    previewfnmb() {
      console.log(this.form);
      getQtemplatelist({ svyid: this.form.libtemplateid }).then((res) => {
      getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => {
        if (res.code == 200) {
          console.log();
          this.questionList = res.rows[0].svyTemplateLibScripts;
          this.previewtf = true;
        }
@@ -1121,7 +1179,6 @@
    handleUpdate() {},
    handleDelete() {},
    handleExport() {},
    // 选择患者表数据
    handleSelectionChange(selection) {
      console.log("多选患者");
@@ -1182,6 +1239,18 @@
    },
    getList() {},
    handleQuery() {
      if (this.patientqueryParams.topica == 0) {
        this.patientqueryParams.leavehospitaldistrictcodes =
          store.getters.leavehospitaldistrictcodes;
        this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes;
      } else if (topica == 1) {
        this.patientqueryParams.leavehospitaldistrictcodes = null;
        this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes;
      } else if (topica == 2) {
        this.patientqueryParams.leavehospitaldistrictcodes =
          store.getters.leavehospitaldistrictcodes;
        this.patientqueryParams.leaveldeptcodes = null;
      }
      this.handleAddpatient();
    },
    resetQuery() {},
@@ -1215,6 +1284,8 @@
        templatename: "",
        templateid: null,
        libtemplateid: null,
        kcb:'亲爱的患者-家属,您好!我们是浙中医大二院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,完成这份随访问卷。',
        jsy:'生活上要劳逸结合,注意休息和营养,适当锻炼,戒烟限酒,保持心情舒畅,定期复诊。那本次回访就到这里,祝您身体健康!',
      };
      this.questionList = [];
      if (this.id) {
@@ -1229,7 +1300,8 @@
            this.overallCase = this.form.patTaskRelevances.concat();
            this.checkList = this.form.preachform.split(",");
            console.log(this.form, "this.form");
            if (this.form.showDate)this.daytime = this.form.showDate.split(",");
            if (this.form.showDate)
              this.daytime = this.form.showDate.split(",");
            if (this.form.showTimeMorn) {
              if (this.form.sendType == 3) {
                this.time4 = this.form.showTimeMorn;