<template> 
 | 
  <div class="Questionnairemanagement"> 
 | 
    <!-- 上侧栏 --> 
 | 
    <div class="sidecolumn"> 
 | 
      <div> 
 | 
        <el-steps simple :active="Editprogress"> 
 | 
          <el-step 
 | 
            icon="el-icon-edit" 
 | 
            title="基础信息" 
 | 
            description="选择宣教模版、形式等基础信息" 
 | 
          ></el-step> 
 | 
          <el-step 
 | 
            icon="el-icon-user" 
 | 
            title="宣教对象" 
 | 
            description="在本部选择宣教病人" 
 | 
          ></el-step> 
 | 
          <el-step icon="el-icon-user" title="模版确认"></el-step> 
 | 
        </el-steps> 
 | 
      </div> 
 | 
    </div> 
 | 
    <!-- 下侧数据 --> 
 | 
    <div class="leftvlue" style="margin: 0 20px"> 
 | 
      <!-- 基本信息 --> 
 | 
      <div v-if="Editprogress == 1"> 
 | 
        <el-alert 
 | 
          title="选择宣教模版、形式等基础信息" 
 | 
          type="success" 
 | 
          effect="dark" 
 | 
        > 
 | 
        </el-alert> 
 | 
        <div class="leftvlue-jbxx"> 
 | 
          <!-- 基础信息 --> 
 | 
          <div class="examine-jic"> 
 | 
            <div class="headline"> 
 | 
              <div>基础信息</div> 
 | 
            </div> 
 | 
            <div class="jic-value"> 
 | 
              <el-form ref="form" :model="form" label-width="105px"> 
 | 
                <el-form-item label="模版名称:"> 
 | 
                  <el-input 
 | 
                    :disabled="true" 
 | 
                    style="width: 220px" 
 | 
                    v-model="form.preachname" 
 | 
                    placeholder="请在下方选择" 
 | 
                  /> 
 | 
                </el-form-item> 
 | 
                <el-form-item label="发送设置:" v-if="currenttype != 2"> 
 | 
                  <el-radio-group v-model="radio"> 
 | 
                    <el-radio :label="1">时间段发送</el-radio> 
 | 
                    <el-radio :label="2">时间点发送</el-radio> 
 | 
                    <el-radio :label="3">即刻发送</el-radio> 
 | 
                  </el-radio-group> 
 | 
                </el-form-item> 
 | 
                <el-form-item 
 | 
                  label="发送时间点:" 
 | 
                  v-if="currenttype != 2 && radio == 2" 
 | 
                > 
 | 
                  <el-date-picker 
 | 
                    v-model="form.sendTime" 
 | 
                    type="datetime" 
 | 
                    placeholder="选择日期时间" 
 | 
                    default-time="13:00:00" 
 | 
                  > 
 | 
                  </el-date-picker> 
 | 
                </el-form-item> 
 | 
                <el-form-item 
 | 
                  label="发送时间段:" 
 | 
                  v-if="currenttype != 2 && radio == 1" 
 | 
                > 
 | 
                  <el-checkbox-group v-model="checkList"> 
 | 
                    <el-checkbox label="上午(8:30-11:30)"></el-checkbox> 
 | 
                    <el-checkbox label="下午(14:30-16:30)"></el-checkbox> 
 | 
                    <el-checkbox label="夜间(18:30-20:30)"></el-checkbox> 
 | 
                  </el-checkbox-group> 
 | 
                </el-form-item> 
 | 
                <el-form-item label="服务形式"> 
 | 
                  <el-checkbox-group v-model="checkList"> 
 | 
                    <el-checkbox 
 | 
                      v-for="(item, index) in checkboxlist" 
 | 
                      :key="index" 
 | 
                      :label="item" 
 | 
                    ></el-checkbox> 
 | 
                  </el-checkbox-group> 
 | 
                </el-form-item> 
 | 
                <!-- <el-form-item label="组织形式"> 
 | 
                  <el-radio-group v-model="form.radio"> 
 | 
                    <el-radio :label="3">单人宣教</el-radio> 
 | 
                    <el-radio :label="6">多人集中宣教</el-radio> 
 | 
                  </el-radio-group> 
 | 
                </el-form-item> --> 
 | 
                <!-- <el-form-item label="语音模版" prop="region"> 
 | 
                  <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-form> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="examine-jic"> 
 | 
            <div class="headline"> 
 | 
              <div>{{ title }}</div> 
 | 
            </div> 
 | 
            <div class="examine-jic"> 
 | 
              <div class="jic-value"> 
 | 
                <el-row :gutter="20"> 
 | 
                  <!--用户数据--> 
 | 
  
 | 
                  <el-form 
 | 
                    :model="topqueryParams" 
 | 
                    ref="queryForm" 
 | 
                    size="small" 
 | 
                    :inline="true" 
 | 
                    v-show="showSearch" 
 | 
                    label-width="98px" 
 | 
                  > 
 | 
                    <el-form-item label="宣教主题" v-if="currenttype == 1"> 
 | 
                      <el-input v-model="topqueryParams.name"></el-input> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item 
 | 
                      label="随访名称" 
 | 
                      v-if="currenttype == 2 || currenttype == 3" 
 | 
                    > 
 | 
                      <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-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> 
 | 
  
 | 
                    <el-form-item 
 | 
                      label="宣教类型" 
 | 
                      prop="status" 
 | 
                      v-if="currenttype == 1" 
 | 
                    > 
 | 
                      <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" 
 | 
                    > 
 | 
                      <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-select 
 | 
                        v-model="topqueryParams.topica" 
 | 
                        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-select 
 | 
                        v-model="topqueryParams.topicd" 
 | 
                        placeholder="请选择" 
 | 
                      > 
 | 
                        <el-option 
 | 
                          v-for="item in topicoptions" 
 | 
                          :key="item.value" 
 | 
                          :label="item.label" 
 | 
                          :value="item.value" 
 | 
                        > 
 | 
                        </el-option> 
 | 
                      </el-select> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item> 
 | 
                      <el-button 
 | 
                        type="primary" 
 | 
                        icon="el-icon-search" 
 | 
                        size="medium" 
 | 
                        @click="handleQuery" 
 | 
                        >搜索</el-button 
 | 
                      > 
 | 
                      <el-button 
 | 
                        icon="el-icon-refresh" 
 | 
                        size="medium" 
 | 
                        @click="resetQuery" 
 | 
                        >重置</el-button 
 | 
                      > 
 | 
                    </el-form-item> 
 | 
                  </el-form> 
 | 
                  <el-divider></el-divider> 
 | 
                  <!-- 选择任务列表 --> 
 | 
                  <SFtable 
 | 
                    @handleUpdate="handleUpdate" 
 | 
                    @handleSelectionChange="handleSelectionChange" 
 | 
                    :currentList="userList" 
 | 
                    :tableLabel="tableLabel" 
 | 
                    :controlsc="false" 
 | 
                    :multiplechoice="false" 
 | 
                    :typeinfo="1" 
 | 
                  /> 
 | 
                  <pagination 
 | 
                    v-show="total > 0" 
 | 
                    :total="total" 
 | 
                    :page.sync="topqueryParams.pageNum" 
 | 
                    :limit.sync="topqueryParams.pageSize" 
 | 
                    @pagination="getList" 
 | 
                  /> 
 | 
                </el-row> 
 | 
              </div> 
 | 
            </div> 
 | 
          </div> 
 | 
        </div> 
 | 
        <el-button type="success" @click="nextstep('ruleForm')">{{ 
 | 
          quote ? "立即创建" : "任务详情设置" 
 | 
        }}</el-button> 
 | 
        <el-button @click="resetForm('ruleForm')">重置</el-button> 
 | 
      </div> 
 | 
  
 | 
      <!-- 任务详情 --> 
 | 
      <div v-if="Editprogress == 2"> 
 | 
        <el-alert title="在本阶段选择宣教病人" type="success" effect="dark"> 
 | 
        </el-alert> 
 | 
        <div class="leftvlue-jbxx"> 
 | 
          <div class="examine-jic"> 
 | 
            <div class="headline"> 
 | 
              <div>变量匹配量参</div> 
 | 
            </div> 
 | 
            <div class="examine-jic"> 
 | 
              <div class="jic-value"> 
 | 
                <el-row :gutter="20"> 
 | 
                  <el-table :data="variableList" style="width: 100%"> 
 | 
                    <el-table-column 
 | 
                      prop="variablename" 
 | 
                      align="center" 
 | 
                      label="变量名称" 
 | 
                    > 
 | 
                    </el-table-column> 
 | 
                    <el-table-column 
 | 
                      prop="character" 
 | 
                      align="center" 
 | 
                      label="匹配符" 
 | 
                    > 
 | 
                    </el-table-column> 
 | 
                    <el-table-column label="替换值" align="center"> 
 | 
                      <template slot-scope="scope"> 
 | 
                        <el-input 
 | 
                          v-model="scope.row.Replacementvalue" 
 | 
                          placeholder="请输入内容" 
 | 
                        ></el-input> 
 | 
                      </template> 
 | 
                    </el-table-column> 
 | 
                    <el-table-column label="操作" align="center"> 
 | 
                      <template slot-scope="scope"> 
 | 
                        <el-button 
 | 
                          size="mini" 
 | 
                          @click="variableEdit(scope.$index, scope.row)" 
 | 
                          >编辑</el-button 
 | 
                        > 
 | 
                        <el-button 
 | 
                          size="mini" 
 | 
                          type="danger" 
 | 
                          @click="variableDelete(scope.$index, scope.row)" 
 | 
                          >删除</el-button 
 | 
                        > 
 | 
                      </template> 
 | 
                    </el-table-column> 
 | 
                  </el-table> 
 | 
                </el-row> 
 | 
              </div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="examine-jic"> 
 | 
            <div class="headline"> 
 | 
              <div>患者列表</div> 
 | 
            </div> 
 | 
            <div class="examine-jic"> 
 | 
              <div class="jic-value"> 
 | 
                <el-row :gutter="20"> 
 | 
                  <!--用户数据--> 
 | 
                  <el-form 
 | 
                    :model="topqueryParams" 
 | 
                    ref="queryForm" 
 | 
                    size="small" 
 | 
                    :inline="true" 
 | 
                    v-show="showSearch" 
 | 
                    label-width="98px" 
 | 
                  > 
 | 
                    <el-form-item label="患者名称"> 
 | 
                      <el-input v-model="topqueryParams.name"></el-input> 
 | 
                    </el-form-item> 
 | 
  
 | 
                    <el-form-item label="患者范围" prop="status"> 
 | 
                      <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-select 
 | 
                        v-model="topqueryParams.topic" 
 | 
                        placeholder="请选择" 
 | 
                      > 
 | 
                        <el-option 
 | 
                          v-for="item in topicoptions" 
 | 
                          :key="item.value" 
 | 
                          :label="item.label" 
 | 
                          :value="item.value" 
 | 
                        > 
 | 
                        </el-option> 
 | 
                      </el-select> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item label="随访结果" prop="status"> 
 | 
                      <el-select 
 | 
                        v-model="topqueryParams.topic" 
 | 
                        placeholder="请选择" 
 | 
                      > 
 | 
                        <el-option 
 | 
                          v-for="item in topicoptions" 
 | 
                          :key="item.value" 
 | 
                          :label="item.label" 
 | 
                          :value="item.value" 
 | 
                        > 
 | 
                        </el-option> 
 | 
                      </el-select> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item label="患者电话"> 
 | 
                      <el-input v-model="topqueryParams.name"></el-input> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item> 
 | 
                      <el-button 
 | 
                        type="primary" 
 | 
                        icon="el-icon-search" 
 | 
                        size="medium" 
 | 
                        @click="handleQuery" 
 | 
                        >搜索</el-button 
 | 
                      > 
 | 
                      <el-button 
 | 
                        icon="el-icon-refresh" 
 | 
                        size="medium" 
 | 
                        @click="resetQuery" 
 | 
                        >重置</el-button 
 | 
                      > 
 | 
                      <el-button 
 | 
                        icon="el-icon-upload2" 
 | 
                        size="medium" 
 | 
                        type="warning" 
 | 
                        >当前患者一键发送</el-button 
 | 
                      > 
 | 
                    </el-form-item> 
 | 
                  </el-form> 
 | 
                  <el-divider></el-divider> 
 | 
                  <el-row :gutter="10" class="mb8"> 
 | 
                    <el-col :span="1.5"> 
 | 
                      <el-select 
 | 
                        v-model="patientqueryParams.allhosp" 
 | 
                        placeholder="请选择新增类型" 
 | 
                      > 
 | 
                        <el-option 
 | 
                          v-for="item in taskoptions" 
 | 
                          :key="item.value" 
 | 
                          :label="item.label" 
 | 
                          :value="item.value" 
 | 
                        > 
 | 
                        </el-option> 
 | 
                      </el-select> 
 | 
                    </el-col> 
 | 
                    <el-col :span="1.5"> 
 | 
                      <el-button 
 | 
                        type="primary" 
 | 
                        plain 
 | 
                        icon="el-icon-plus" 
 | 
                        size="medium" 
 | 
                        :disabled="!patientqueryParams.allhosp" 
 | 
                        @click="handleAddpatient" 
 | 
                        >新增</el-button 
 | 
                      > 
 | 
                    </el-col> 
 | 
  
 | 
                    <el-col :span="1.5"> 
 | 
                      <el-button 
 | 
                        type="danger" 
 | 
                        plain 
 | 
                        icon="el-icon-delete" 
 | 
                        size="medium" 
 | 
                        :disabled="multiple" 
 | 
                        @click="handleDelete" 
 | 
                        >删除</el-button 
 | 
                      > 
 | 
                    </el-col> 
 | 
  
 | 
                    <!-- <el-col :span="1.5"> </el-col> --> 
 | 
                  </el-row> 
 | 
                  <!-- 选中患者列表 --> 
 | 
                  <SFtable 
 | 
                    @handleUpdate="handleUpdate" 
 | 
                    @handleSelectionChange="handleSelectionChange" 
 | 
                    :currentList="sonuserList" 
 | 
                    :tableLabel="tableLabelhz" 
 | 
                    :controlxz="false" 
 | 
                    :typeinfo="2" 
 | 
                  /> 
 | 
                  <pagination 
 | 
                    v-show="total > 0" 
 | 
                    :total="total" 
 | 
                    :page.sync="topqueryParams.pageNum" 
 | 
                    :limit.sync="topqueryParams.pageSize" 
 | 
                    @pagination="getList" 
 | 
                  /> 
 | 
                </el-row> 
 | 
              </div> 
 | 
            </div> 
 | 
          </div> 
 | 
        </div> 
 | 
        <el-button type="primary" @click="laststep()">上一步</el-button> 
 | 
        <el-button type="success" @click="submitForm('ruleForm')" 
 | 
          >立即创建</el-button 
 | 
        > 
 | 
        <el-button @click="resetForm('ruleForm')">重置</el-button> 
 | 
      </div> 
 | 
    </div> 
 | 
    <!-- 添加患者 --> 
 | 
    <el-dialog 
 | 
      title="添加派发患者" 
 | 
      :visible.sync="dialogVisiblepatient" 
 | 
      width="70%" 
 | 
      :before-close="handleClosehz" 
 | 
    > 
 | 
      <div class="examine-jic"> 
 | 
        <div class="jic-value"> 
 | 
          <el-row :gutter="20"> 
 | 
            <!--用户数据--> 
 | 
            <el-form 
 | 
              :model="patientqueryParams" 
 | 
              ref="queryForm" 
 | 
              size="small" 
 | 
              :inline="true" 
 | 
              v-show="showSearch" 
 | 
              label-width="98px" 
 | 
            > 
 | 
              <el-form-item label="患者名称:"> 
 | 
                <el-input v-model="patientqueryParams.name"></el-input> 
 | 
              </el-form-item> 
 | 
              <el-form-item label="患者来源" prop="status"> 
 | 
                <el-select 
 | 
                  v-model="patientqueryParams.topic" 
 | 
                  placeholder="请选择" 
 | 
                > 
 | 
                  <el-option 
 | 
                    v-for="item in topicoptions" 
 | 
                    :key="item.value" 
 | 
                    :label="item.label" 
 | 
                    :value="item.value" 
 | 
                  > 
 | 
                  </el-option> 
 | 
                </el-select> 
 | 
              </el-form-item> 
 | 
              <el-form-item label="出院科室" prop="status"> 
 | 
                <el-select 
 | 
                  v-model="patientqueryParams.topic" 
 | 
                  placeholder="请选择" 
 | 
                > 
 | 
                  <el-option 
 | 
                    v-for="item in topicoptions" 
 | 
                    :key="item.value" 
 | 
                    :label="item.label" 
 | 
                    :value="item.value" 
 | 
                  > 
 | 
                  </el-option> 
 | 
                </el-select> 
 | 
              </el-form-item> 
 | 
  
 | 
              <el-form-item label="出院病区" prop="status"> 
 | 
                <el-select 
 | 
                  v-model="patientqueryParams.topic" 
 | 
                  placeholder="请选择" 
 | 
                > 
 | 
                  <el-option 
 | 
                    v-for="item in topicoptions" 
 | 
                    :key="item.value" 
 | 
                    :label="item.label" 
 | 
                    :value="item.value" 
 | 
                  > 
 | 
                  </el-option> 
 | 
                </el-select> 
 | 
              </el-form-item> 
 | 
              <el-form-item> 
 | 
                <el-button 
 | 
                  type="primary" 
 | 
                  icon="el-icon-search" 
 | 
                  size="medium" 
 | 
                  @click="handleQuery" 
 | 
                  >搜索</el-button 
 | 
                > 
 | 
                <el-button 
 | 
                  icon="el-icon-refresh" 
 | 
                  size="medium" 
 | 
                  @click="resetQuery" 
 | 
                  >取消创建</el-button 
 | 
                > 
 | 
              </el-form-item> 
 | 
            </el-form> 
 | 
            <!-- 选择患者列表 --> 
 | 
            <SFtable 
 | 
              @handleUpdate="handleUpdate" 
 | 
              @handleSelectionChange="handleSelectionChange" 
 | 
              :currentList="patientuserList" 
 | 
              :tableLabel="tableLabelhz" 
 | 
              :serialnumber="false" 
 | 
              :controlsc="false" 
 | 
              :typeinfo="3" 
 | 
            /> 
 | 
          </el-row> 
 | 
          <pagination 
 | 
            v-show="patienttotal > 0" 
 | 
            :total="patienttotal" 
 | 
            :page.sync="patientqueryParams.pageNum" 
 | 
            :limit.sync="patientqueryParams.pageSize" 
 | 
            @pagination="handleAddpatient" 
 | 
          /> 
 | 
        </div> 
 | 
      </div> 
 | 
      <span slot="footer" class="dialog-footer"> 
 | 
        <el-button @click="dialogVisiblepatient = false">取 消</el-button> 
 | 
        <el-button type="primary" @click="AddDispatchpatients" 
 | 
          >确定添加</el-button 
 | 
        > 
 | 
      </span> 
 | 
    </el-dialog> 
 | 
  </div> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import { messagelistpatient } from "@/api/patient/homepage"; 
 | 
import store from "@/store"; 
 | 
import { 
 | 
  getTaskpatient, 
 | 
  getlibrarylist, 
 | 
  getFollowuplist, 
 | 
  getQtemplatelist, 
 | 
  edithetask, 
 | 
  addhetask, 
 | 
  gethetaskinfo, 
 | 
  delhetaskinfo, 
 | 
  Editsingletask, 
 | 
} from "@/api/AiCentre/index"; 
 | 
import SFtable from "@/components/SFtable"; //表格组件 
 | 
  
 | 
export default { 
 | 
  name: "ServiceDetails", 
 | 
  data() { 
 | 
    return { 
 | 
      title: "宣教内容列表", 
 | 
      currenttype: 1, //1宣教2门诊3出院4复诊5体检6问卷 
 | 
      id: "", 
 | 
      Editprogress: 1, //编辑进度 
 | 
      loading: false, // 遮罩层 
 | 
      patientloading: false, // 遮罩层 
 | 
      dialogVisiblepatient: false, //添加患者弹框 
 | 
      radio: 1, 
 | 
      checkboxlist: [], 
 | 
      tableLabel: [], 
 | 
      // 患者表单 
 | 
      tableLabelhz: [ 
 | 
        { label: "序号", width: "", prop: "patid" }, 
 | 
        { label: "患者名称", width: "", prop: "name" }, 
 | 
        { label: "性别", width: "", prop: "sex" }, 
 | 
        { label: "年龄", width: "", prop: "age" }, 
 | 
        { label: "就诊科室", width: "", prop: "impTemplate" }, 
 | 
        { label: "入院日期", width: "", prop: "uploadTime" }, 
 | 
        { label: "创建人(缺)", width: "", prop: "update_by" }, 
 | 
      ], 
 | 
      tableLabelxj: [ 
 | 
        { label: "宣教名称", width: "", prop: "preachname" }, 
 | 
        { label: "宣教描述", width: "", prop: "note" }, 
 | 
        { label: "宣教形式", width: "", prop: "playType" }, 
 | 
        { label: "适用方式", width: "", prop: "suitway" }, 
 | 
        { label: "创建日期", width: "", prop: "uploadTime" }, 
 | 
        { label: "创建人(缺)", width: "", prop: "update_by" }, 
 | 
      ], 
 | 
      tableLabelmz: [ 
 | 
        { label: "随访名称", width: "118", prop: "templateName" }, 
 | 
        { label: "随访模版", width: "130", prop: "impTemplate" }, 
 | 
        { label: "创建日期", width: "136", prop: "uploadTime" }, 
 | 
        { label: "创建人(缺)", width: "130", prop: "update_by" }, 
 | 
      ], 
 | 
      tableLabelcy: [ 
 | 
        { label: "随访名称", width: "118", prop: "templateName" }, 
 | 
        { label: "随访计划", width: "130", prop: "impTemplate" }, 
 | 
        { label: "创建日期", width: "136", prop: "uploadTime" }, 
 | 
        { label: "创建人(缺)", width: "130", prop: "update_by" }, 
 | 
      ], 
 | 
      tableLabelfz: [ 
 | 
        { label: "通知名称", width: "118", prop: "templateName" }, 
 | 
        { label: "通知模版", width: "130", prop: "impTemplate" }, 
 | 
        { label: "创建日期", width: "136", prop: "uploadTime" }, 
 | 
        { label: "创建人(缺)", width: "130", prop: "update_by" }, 
 | 
      ], 
 | 
      tableLabeltj: [ 
 | 
        { label: "通知名称", width: "118", prop: "name" }, 
 | 
        { label: "通知模版", width: "130", prop: "impTemplate" }, 
 | 
        { label: "创建日期", width: "136", prop: "uploadTime" }, 
 | 
        { label: "创建人(缺)", width: "130", prop: "update_by" }, 
 | 
      ], 
 | 
      tableLabelwj: [ 
 | 
        { label: "问卷名称", width: "118", prop: "name" }, 
 | 
        { label: "问卷模版", width: "130", prop: "impTemplate" }, 
 | 
        { label: "创建日期", width: "136", prop: "uploadTime" }, 
 | 
        { label: "创建人(缺)", width: "130", prop: "update_by" }, 
 | 
      ], 
 | 
      // 变量 
 | 
      tableLabelvariable: [ 
 | 
        { label: "变量名称", width: "", prop: "variablename" }, 
 | 
        { label: "匹配符", width: "", prop: "character" }, 
 | 
        { label: "替换值", width: "", prop: "Replacementvalue" }, 
 | 
      ], 
 | 
      topqueryParams: { 
 | 
        pageNum: 1, // 
 | 
        pageSize: 10, 
 | 
      }, 
 | 
      checkList: [], 
 | 
      deliverytopqueryParams: { 
 | 
        pageNum: 1, // 
 | 
        pageSize: 10, 
 | 
      }, 
 | 
      patientqueryParams: { 
 | 
        pageNum: 1, // 
 | 
        pageSize: 10, 
 | 
      }, 
 | 
      topicoptions: [], 
 | 
      showSearch: true, // 
 | 
      total: 0, // 
 | 
      sontotal: 0, // 
 | 
      patienttotal: 0, // 
 | 
      // 选中数组 
 | 
      ids: [], 
 | 
      // 非单个禁用 
 | 
      single: true, 
 | 
      // 非多个禁用 
 | 
      multiple: true, 
 | 
      // 用户表格数据 
 | 
      userList: [], //模版列表 
 | 
      patientuserList: [], //选择患者列表 
 | 
      sonuserList: [], //选中患者列表 
 | 
      variableList: [ 
 | 
        { 
 | 
          variablename: "姓名", 
 | 
          character: "${name}", 
 | 
          Replacementvalue: "龙傲天", 
 | 
        }, 
 | 
        { 
 | 
          variablename: "地址", 
 | 
          character: "${dzz}", 
 | 
          Replacementvalue: "龙宫", 
 | 
        }, 
 | 
        { 
 | 
          variablename: "电话", 
 | 
          character: "${dhh}", 
 | 
          Replacementvalue: "八个八", 
 | 
        }, 
 | 
      ], //变量列表 
 | 
      tasktopic: null, //新增类型 
 | 
      form: { 
 | 
        name: "", 
 | 
        region: "", 
 | 
        date1: "", 
 | 
        date2: "", 
 | 
        delivery: false, 
 | 
        type: [], 
 | 
        resource: "", 
 | 
        desc: "", 
 | 
      }, 
 | 
      taskoptions: [ 
 | 
        { 
 | 
          value: "1", 
 | 
          label: "出院病人", 
 | 
        }, 
 | 
        { 
 | 
          value: "2", 
 | 
          label: "门诊病人", 
 | 
        }, 
 | 
        { 
 | 
          value: "3", 
 | 
          label: "体检病人", 
 | 
        }, 
 | 
      ], 
 | 
      quote: false, 
 | 
    }; 
 | 
  }, 
 | 
  components: { SFtable }, 
 | 
  
 | 
  created() { 
 | 
    this.id = this.$route.query.id; 
 | 
    this.form.type = this.$route.query.type; 
 | 
    this.Addsubtask(); 
 | 
    this.Getsubtask(); 
 | 
    this.Acquisitiontype(); 
 | 
  }, 
 | 
  
 | 
  methods: { 
 | 
    // { 
 | 
    //   姓名: { "${name}": "龙傲天" }, 
 | 
    //   地址: { "${dzz}": "龙宫" }, 
 | 
    //   电话: { "${dhh}": "八个八" }, 
 | 
    // } 
 | 
    // 对象转数组 
 | 
    convertFormat1ToFormat2(data) { 
 | 
      let result = []; 
 | 
      for (let key in data) { 
 | 
        let innerKey = Object.keys(data[key])[0]; 
 | 
        result.push({ 
 | 
          name: key, 
 | 
          value: innerKey, 
 | 
          fill: data[key][innerKey], 
 | 
        }); 
 | 
      } 
 | 
      return result; 
 | 
    }, 
 | 
    // 数组转对象 
 | 
    convertFormat2ToFormat1(data) { 
 | 
      let result = {}; 
 | 
      data.forEach((item) => { 
 | 
        let innerObj = {}; 
 | 
        innerObj[item.value] = item.fill; 
 | 
        result[item.name] = innerObj; 
 | 
      }); 
 | 
      return result; 
 | 
    }, 
 | 
    // 获取当前类型 
 | 
    Acquisitiontype() { 
 | 
      let queryParams = { 
 | 
        pageNum: 1, 
 | 
        pageSize: 10, 
 | 
        isavailable: "", 
 | 
      }; 
 | 
      this.currenttype = this.$route.query.type; 
 | 
      console.log(this.currenttype, "1"); 
 | 
      if (this.currenttype == 1) { 
 | 
        this.title = "宣教内容列表"; 
 | 
        this.tableLabel = this.tableLabelxj; 
 | 
        this.checkboxlist = [ 
 | 
          "当面", 
 | 
          "多媒体", 
 | 
          "纸质", 
 | 
          "电话", 
 | 
          "短信", 
 | 
          "微信公众号", 
 | 
          "微信小程序", 
 | 
          "支付宝", 
 | 
          "智能小程序", 
 | 
          "钉钉", 
 | 
        ]; 
 | 
        getlibrarylist(queryParams).then((response) => { 
 | 
          this.userList = response.rows; 
 | 
          this.total = response.total; 
 | 
        }); 
 | 
      } else if (this.currenttype == 2) { 
 | 
        this.title = "随访内容列表"; 
 | 
        this.tableLabel = this.tableLabelmz; 
 | 
        this.checkboxlist = ["当面", "纸质", "电话", "短信", "微信公众号"]; 
 | 
        getFollowuplist(queryParams).then((response) => { 
 | 
          this.userList = response.rows; 
 | 
          this.total = response.total; 
 | 
        }); 
 | 
      } else if (this.currenttype == 3) { 
 | 
        this.title = "随访计划列表"; 
 | 
        this.tableLabel = this.tableLabelcy; 
 | 
        this.checkboxlist = ["当面", "纸质", "电话", "短信", "微信公众号"]; 
 | 
        getFollowuplist(queryParams).then((response) => { 
 | 
          this.userList = response.rows; 
 | 
          this.total = response.total; 
 | 
        }); 
 | 
      } else if (this.currenttype == 4) { 
 | 
        this.title = "通知内容列表"; 
 | 
        this.tableLabel = this.tableLabelfz; 
 | 
        this.checkboxlist = ["电话", "短信", "微信公众号"]; 
 | 
        getFollowuplist(queryParams).then((response) => { 
 | 
          this.userList = response.rows; 
 | 
          this.total = response.total; 
 | 
        }); 
 | 
      } else if (this.currenttype == 5) { 
 | 
        this.title = "通知内容列表"; 
 | 
        this.tableLabel = this.tableLabeltj; 
 | 
        this.checkboxlist = ["纸质", "电话", "短信", "微信公众号"]; 
 | 
        getFollowuplist(queryParams).then((response) => { 
 | 
          this.userList = response.rows; 
 | 
          this.total = response.total; 
 | 
        }); 
 | 
      } else if (this.currenttype == 6) { 
 | 
        this.title = "问卷内容列表"; 
 | 
        this.tableLabel = this.tableLabelwj; 
 | 
        this.checkboxlist = [ 
 | 
          "当面", 
 | 
          "多媒体", 
 | 
          "纸质", 
 | 
          "电话", 
 | 
          "短信", 
 | 
          "微信公众号", 
 | 
          "微信小程序", 
 | 
          "钉钉", 
 | 
        ]; 
 | 
        getQtemplatelist(queryParams).then((response) => { 
 | 
          this.userList = response.rows; 
 | 
          this.total = response.total; 
 | 
        }); 
 | 
      } 
 | 
    }, 
 | 
    nextstep() { 
 | 
      if (this.Editprogress <= 3) { 
 | 
        return this.Editprogress++; 
 | 
      } 
 | 
    }, 
 | 
    // 保存 
 | 
    submitForm(formName) { 
 | 
      Editsingletask(this.form).then((response) => { 
 | 
        if (res.code == 200) { 
 | 
          if (this.form.id) { 
 | 
            this.$modal.msgSuccess("新增成功"); 
 | 
          }else{ 
 | 
            this.$modal.msgSuccess("修改成功成功"); 
 | 
          } 
 | 
          this.$router.go(-1); 
 | 
        } 
 | 
      }); 
 | 
      // 提交 
 | 
      // this.$refs[formName].validate((valid, object) => { 
 | 
      //   if (valid) { 
 | 
      //     alert("submit!"); 
 | 
      //   } else { 
 | 
      //     console.log("error submit!!", object); 
 | 
      //     return false; 
 | 
      //   } 
 | 
      // }); 
 | 
    }, 
 | 
    // 子任务二级弹框 
 | 
    handleAddpatient(row) { 
 | 
      getTaskpatient(this.patientqueryParams).then((response) => { 
 | 
        console.log(response); 
 | 
        this.patientuserList = response.rows; 
 | 
        this.patienttotal = response.total; 
 | 
        this.loading = false; 
 | 
      }); 
 | 
      this.dialogVisiblepatient = true; 
 | 
    }, 
 | 
    handleUpdate() {}, 
 | 
    handleDelete() {}, 
 | 
    handleExport() {}, 
 | 
    // 多选框选中数据 
 | 
    handleSelectionChange(selection) { 
 | 
      this.ids = null; 
 | 
      this.ids = selection.map((item) => item.patid).join(","); 
 | 
      // let result = this.ids.join(","); 
 | 
      this.multiple = !selection.length; 
 | 
      console.log(this.ids); 
 | 
    }, 
 | 
    getList() {}, 
 | 
    handleQuery() {}, 
 | 
    resetQuery() {}, 
 | 
    handleClosehz() { 
 | 
      this.dialogVisiblepatient = false; 
 | 
    }, 
 | 
    // 上一步 
 | 
    laststep() { 
 | 
      this.Editprogress--; 
 | 
    }, 
 | 
    // 提交表单 
 | 
    resetForm(formName) { 
 | 
      this.$refs[formName].resetFields(); 
 | 
    }, 
 | 
    // 预览模版 
 | 
    PreviewTemplate() {}, 
 | 
    Acknowledgereference() { 
 | 
      this.quote = true; 
 | 
    }, 
 | 
    // 新增子任务 
 | 
    Addsubtask() { 
 | 
      this.topqueryParams.pguid = 2; 
 | 
      // addsvr_prjtask(this.topqueryParams).then((res) => { 
 | 
      //   console.log(res); 
 | 
      // }); 
 | 
    }, 
 | 
    // 新增派送患者 
 | 
    AddDispatchpatients() { 
 | 
      let objictpint = {}; 
 | 
      objictpint.patientes = this.ids; 
 | 
      objictpint.pguid = 2; 
 | 
      // Addpatienttask(objictpint).then((res) => { 
 | 
      //   console.log(res); 
 | 
      // }); 
 | 
      this.dialogVisiblepatient = false; 
 | 
    }, 
 | 
  
 | 
    // 查询子任务列表 
 | 
    Getsubtask() { 
 | 
      this.topqueryParams.pguid = 2; 
 | 
      console.log(this.topqueryParams, "aa"); 
 | 
      messagelistpatient(this.topqueryParams).then((res) => { 
 | 
        this.userList = res.rows; 
 | 
        this.total = res.total; 
 | 
        console.log(this.userList, "ss"); 
 | 
      }); 
 | 
    }, 
 | 
    // 变量--------------- 
 | 
    variableEdit(index, row) { 
 | 
      console.log(index, row); 
 | 
    }, 
 | 
    variableDelete(index, row) { 
 | 
      console.log(index, row); 
 | 
    }, 
 | 
  }, 
 | 
}; 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
.Questionnairemanagement { 
 | 
} 
 | 
.leftvlue-jbxx { 
 | 
  margin-top: 10px; 
 | 
} 
 | 
.sidecolumn { 
 | 
  width: 100%; 
 | 
  // min-height: 12vh; 
 | 
  margin: 20px; 
 | 
  margin-bottom: 0; 
 | 
  padding: 30px; 
 | 
  background: #edf1f7; 
 | 
  border: 1px solid #dcdfe6; 
 | 
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 
 | 
    0 0 6px 0 rgba(0, 0, 0, 0.04); 
 | 
} 
 | 
.leftvlue { 
 | 
  //   display: flex; 
 | 
  //   flex: 1; 
 | 
  width: 100%; 
 | 
  margin-top: 20px; 
 | 
  //   margin: 20px; 
 | 
  padding: 30px; 
 | 
  background: #ffff; 
 | 
  border: 1px solid #dcdfe6; 
 | 
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 
 | 
    0 0 6px 0 rgba(0, 0, 0, 0.04); 
 | 
} 
 | 
.examine-jic { 
 | 
  .headline { 
 | 
    font-size: 24px; 
 | 
    border-left: 5px solid #41a1be; 
 | 
    padding-left: 5px; 
 | 
    margin-bottom: 10px; 
 | 
    display: flex; 
 | 
    justify-content: space-between; 
 | 
    .Add-details { 
 | 
      font-size: 18px; 
 | 
      color: #02a7f0; 
 | 
      cursor: pointer; 
 | 
    } 
 | 
  } 
 | 
  .jic-value { 
 | 
    font-size: 20px; 
 | 
    border-top: 1px solid #a7abac; 
 | 
    padding: 10px; 
 | 
    margin-bottom: 10px; 
 | 
    .details-jic { 
 | 
      padding: 10px 15px; 
 | 
      border: 1px solid #dcdfe6; 
 | 
      -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 
 | 
        0 0 6px 0 rgba(0, 0, 0, 0.04); 
 | 
      .details-title { 
 | 
        display: flex; 
 | 
        justify-content: space-between; 
 | 
        margin-bottom: 10px; 
 | 
        div:nth-child(2) { 
 | 
          color: #02a7f0; 
 | 
          cursor: pointer; 
 | 
        } 
 | 
      } 
 | 
      .details-renw { 
 | 
        background: #e4ebfc; 
 | 
        padding: 15px 5px; 
 | 
        border-radius: 5px; 
 | 
        margin-bottom: 20px; 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
} 
 | 
// .leftvlue-jbxx { 
 | 
//   margin-bottom: 50px; 
 | 
//   font-size: 20px; 
 | 
//   span { 
 | 
//     position: absolute; 
 | 
//     right: 80px; 
 | 
//   } 
 | 
//   .demo-cascader { 
 | 
//     margin-right: 20px; 
 | 
//   } 
 | 
//   .PreviewTemplate { 
 | 
//     color: #02a7f0; 
 | 
//     cursor: pointer; 
 | 
//     font-size: 20px; 
 | 
//     margin: 0 20px; 
 | 
//   } 
 | 
// } 
 | 
.jic-value { 
 | 
  font-size: 20px; 
 | 
  border-top: 1px solid #a7abac; 
 | 
  padding: 10px; 
 | 
  margin-bottom: 10px; 
 | 
  .details-jic { 
 | 
    padding: 10px 15px; 
 | 
    border: 1px solid #dcdfe6; 
 | 
    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 
 | 
      0 0 6px 0 rgba(0, 0, 0, 0.04); 
 | 
    .details-title { 
 | 
      display: flex; 
 | 
      justify-content: space-between; 
 | 
      margin-bottom: 10px; 
 | 
      div:nth-child(2) { 
 | 
        color: #02a7f0; 
 | 
        cursor: pointer; 
 | 
      } 
 | 
    } 
 | 
    .details-renw { 
 | 
      background: #e4ebfc; 
 | 
      padding: 15px 5px; 
 | 
      border-radius: 5px; 
 | 
      margin-bottom: 20px; 
 | 
    } 
 | 
  } 
 | 
} 
 | 
::v-deep .addtopic-input { 
 | 
  input { 
 | 
    background: #02a7f0; 
 | 
    color: #edf1f7; 
 | 
    width: 150px; 
 | 
  } 
 | 
} 
 | 
::v-deep.el-step.is-vertical .el-step__title { 
 | 
  font-size: 25px; 
 | 
} 
 | 
::v-deep.el-row { 
 | 
  margin-bottom: 10px; 
 | 
} 
 | 
// ::v-deep.el-input--medium { 
 | 
//   font-size: 24px !important; 
 | 
// } 
 | 
::v-deep.ruleFormaa.el-select { 
 | 
  display: inline-block; 
 | 
  position: relative; 
 | 
  width: 700px; 
 | 
} 
 | 
.el-select__tags { 
 | 
  font-size: 20px; 
 | 
  max-width: 888px !important; 
 | 
} 
 | 
::v-deep.el-radio__inner { 
 | 
  width: 22px; 
 | 
  height: 22px; 
 | 
} 
 | 
// ::v-deep.topic-dev.el-radio__label { 
 | 
//   font-size: 24px; 
 | 
// } 
 | 
::v-deep.el-radio-group { 
 | 
  span { 
 | 
    font-size: 24px; 
 | 
  } 
 | 
} 
 | 
::v-deep.el-checkbox-group { 
 | 
  span { 
 | 
    font-size: 24px; 
 | 
  } 
 | 
} 
 | 
</style> 
 |