<template> 
 | 
  <!-- 聊连页面记录 --> 
 | 
  <div class="Followupdetailspage" id="app-container"> 
 | 
    <div class="Followuserinfo"> 
 | 
      <div> 
 | 
        <div class="userinfo-text"> 
 | 
          <!-- <span>患者服务详情</span> --> 
 | 
          <div class="headline"> 
 | 
            <div>患者服务详情</div> 
 | 
            <div style="margin-left: 20px"> 
 | 
              <el-button 
 | 
                v-if="!Whetherall" 
 | 
                type="primary" 
 | 
                @click="getTaskservelist()" 
 | 
                >查看患者全部服务</el-button 
 | 
              > 
 | 
              <el-button v-else type="success" @click="getTaskservelist(id)" 
 | 
                >只展示本次服务信息</el-button 
 | 
              > 
 | 
            </div> 
 | 
            <!-- <div style="margin-left: 20px; color: #59a0f0"> 
 | 
              <el-link 
 | 
                href="https://9.208.2.207:6060/search-homepage" 
 | 
                target="_blank" 
 | 
                :underline="true" 
 | 
              > 
 | 
                前往CDSS查询 
 | 
              </el-link> 
 | 
            </div> --> 
 | 
          </div> 
 | 
          <!-- <el-button type="success">随访后短信</el-button> --> 
 | 
        </div> 
 | 
      </div> 
 | 
      <div> 
 | 
        <el-table 
 | 
          :data="logsheetlist" 
 | 
          :row-class-name="tableRowClassName" 
 | 
          style="width: 100%" 
 | 
        > 
 | 
          <el-table-column 
 | 
            prop="sendname" 
 | 
            align="center" 
 | 
            label="姓名" 
 | 
            width="100" 
 | 
          > 
 | 
            <template slot-scope="scope"> 
 | 
              <el-button 
 | 
                size="medium" 
 | 
                type="text" 
 | 
                @click=" 
 | 
                  gettoken360( 
 | 
                    scope.row.sfzh, 
 | 
                    scope.row.drcode, 
 | 
                    scope.row.drname 
 | 
                  ) 
 | 
                " 
 | 
                ><span class="button-textsc">{{ 
 | 
                  scope.row.sendname 
 | 
                }}</span></el-button 
 | 
              > 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
          <el-table-column 
 | 
            prop="taskName" 
 | 
            align="center" 
 | 
            width="200" 
 | 
            show-overflow-tooltip 
 | 
            label="任务名称" 
 | 
          > 
 | 
          </el-table-column> 
 | 
          <el-table-column 
 | 
            prop="sendstate" 
 | 
            align="center" 
 | 
            width="200" 
 | 
            label="任务状态" 
 | 
          > 
 | 
            <template slot-scope="scope"> 
 | 
              <div v-if="scope.row.sendstate == 1"> 
 | 
                <el-tag type="primary" :disable-transitions="false" 
 | 
                  >表单已领取</el-tag 
 | 
                > 
 | 
              </div> 
 | 
              <div v-if="scope.row.sendstate == 2"> 
 | 
                <el-tag type="primary" :disable-transitions="false" 
 | 
                  >待随访</el-tag 
 | 
                > 
 | 
              </div> 
 | 
              <div v-if="scope.row.sendstate == 3"> 
 | 
                <el-tag type="success" :disable-transitions="false" 
 | 
                  >表单已发送</el-tag 
 | 
                > 
 | 
              </div> 
 | 
              <div v-if="scope.row.sendstate == 4"> 
 | 
                <el-tag type="info" :disable-transitions="false">不执行</el-tag> 
 | 
              </div> 
 | 
              <div v-if="scope.row.sendstate == 5"> 
 | 
                <el-tag type="danger" :disable-transitions="false" 
 | 
                  >发送失败</el-tag 
 | 
                > 
 | 
              </div> 
 | 
              <div v-if="scope.row.sendstate == 6"> 
 | 
                <el-tag type="success" :disable-transitions="false" 
 | 
                  >已完成</el-tag 
 | 
                > 
 | 
              </div> 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
          <el-table-column 
 | 
            prop="finishtime" 
 | 
            align="center" 
 | 
            label="随访完成时间" 
 | 
            width="200" 
 | 
            show-overflow-tooltip 
 | 
          > 
 | 
          </el-table-column> 
 | 
          <el-table-column 
 | 
            label="出院日期" 
 | 
            width="200" 
 | 
            align="center" 
 | 
            key="endtime" 
 | 
            prop="endtime" 
 | 
          > 
 | 
            <template slot-scope="scope"> 
 | 
              <span>{{ formatTime(scope.row.endtime) }}</span> 
 | 
            </template></el-table-column 
 | 
          > 
 | 
          <el-table-column 
 | 
            label="责任护士" 
 | 
            width="120" 
 | 
            align="center" 
 | 
            key="nurseName" 
 | 
            prop="nurseName" 
 | 
          /> 
 | 
          <el-table-column 
 | 
            label="主治医生" 
 | 
            width="120" 
 | 
            align="center" 
 | 
            key="drname" 
 | 
            prop="drname" 
 | 
          /> 
 | 
  
 | 
          <el-table-column 
 | 
            label="结果状态" 
 | 
            align="center" 
 | 
            key="excep" 
 | 
            prop="excep" 
 | 
            width="120" 
 | 
          > 
 | 
            <template slot-scope="scope"> 
 | 
              <dict-tag 
 | 
                :options="dict.type.sys_yujing" 
 | 
                :value="scope.row.excep" 
 | 
              /> 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
          <el-table-column 
 | 
            label="处理意见" 
 | 
            align="center" 
 | 
            key="suggest" 
 | 
            prop="suggest" 
 | 
            width="120" 
 | 
          > 
 | 
            <template slot-scope="scope"> 
 | 
              <dict-tag 
 | 
                :options="dict.type.sys_suggest" 
 | 
                :value="scope.row.suggest" 
 | 
              /> 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
  
 | 
          <el-table-column 
 | 
            prop="templatename" 
 | 
            align="center" 
 | 
            label="服务模板" 
 | 
            width="200" 
 | 
            show-overflow-tooltip 
 | 
          > 
 | 
          </el-table-column> 
 | 
          <el-table-column 
 | 
            prop="remark" 
 | 
            align="center" 
 | 
            label="服务记录" 
 | 
            width="200" 
 | 
            show-overflow-tooltip 
 | 
          > 
 | 
          </el-table-column> 
 | 
  
 | 
          <el-table-column 
 | 
            prop="bankcardno" 
 | 
            align="center" 
 | 
            label="呼叫状态" 
 | 
            width="210" 
 | 
          > 
 | 
          </el-table-column> 
 | 
          <el-table-column 
 | 
            label="操作" 
 | 
            fixed="right" 
 | 
            align="center" 
 | 
            width="200" 
 | 
            class-name="small-padding fixed-width" 
 | 
          > 
 | 
            <template slot-scope="scope"> 
 | 
              <el-button 
 | 
                size="medium" 
 | 
                type="text" 
 | 
                @click="Seedetails(scope.row)" 
 | 
                ><span class="button-zx" 
 | 
                  ><i class="el-icon-s-order"></i>查看</span 
 | 
                ></el-button 
 | 
              > 
 | 
            </template> 
 | 
          </el-table-column> 
 | 
        </el-table> 
 | 
      </div> 
 | 
    </div> 
 | 
    <div class="Followuserinfos"> 
 | 
      <div> 
 | 
        <el-form 
 | 
          ref="userform" 
 | 
          :model="form" 
 | 
          :rules="userrules" 
 | 
          label-width="120px" 
 | 
        > 
 | 
          <div class="headline"> 
 | 
            <div>人工处理</div> 
 | 
            <el-form-item label="联系电话"> 
 | 
              <el-input placeholder="联系电话缺失" v-model="form.phone"> 
 | 
                <el-button 
 | 
                  slot="append" 
 | 
                  icon="el-icon-phone" 
 | 
                  @click="handleCall(form.phone, 'tel')" 
 | 
                  :disabled="!isValidPhone(form.phone)" 
 | 
                ></el-button 
 | 
              ></el-input> 
 | 
            </el-form-item> 
 | 
          </div> 
 | 
  
 | 
          <el-form-item label="随访记录"> 
 | 
            <el-input type="textarea" v-model="form.remark"></el-input> 
 | 
          </el-form-item> 
 | 
  
 | 
          <el-form-item label="处理意见"> 
 | 
            <div> 
 | 
              <el-button plain type="warning" @click="Editsingletaskson('1')" 
 | 
                >暂不处理</el-button 
 | 
              > 
 | 
              <el-button plain type="success" @click="Editsingletaskson('2')" 
 | 
                >病情稳定</el-button 
 | 
              > 
 | 
              <el-button plain type="primary" @click="Editsingletaskson('3')" 
 | 
                >通知就诊</el-button 
 | 
              > 
 | 
              <!-- <el-button type="danger" @click="Editsingletaskson('4')" 
 | 
    >失访</el-button 
 | 
  > --> 
 | 
              <el-button plain type="info" @click="Editsingletaskson('5')" 
 | 
                >中心随访</el-button 
 | 
              > 
 | 
              <el-button 
 | 
                type="primary" 
 | 
                round 
 | 
                v-if="this.form.isVisitAgain != 2" 
 | 
                @click="sendAgain()" 
 | 
                >再次随访</el-button 
 | 
              > 
 | 
  
 | 
              <el-button type="success" @click="Editsingletasksonyic('')" 
 | 
                >保存服务</el-button 
 | 
              > 
 | 
            </div> 
 | 
          </el-form-item> 
 | 
        </el-form> 
 | 
        <!-- <el-collapse> 
 | 
          <el-collapse-item title="查看当前患者信息" name="1"> 
 | 
            <div class="detailed"> 
 | 
              <el-form ref="userform" :model="userform" label-width="100px"> 
 | 
                <el-row :gutter="20"> 
 | 
                  <el-col :span="12"> 
 | 
                    <el-form-item label="患者姓名" prop="name"> 
 | 
                      <el-input 
 | 
                        v-model="userform.name" 
 | 
                        placeholder="请输入姓名" 
 | 
                        maxlength="30" 
 | 
                      ></el-input> </el-form-item 
 | 
                  ></el-col> 
 | 
                </el-row> 
 | 
                <el-row :gutter="20"> 
 | 
                  <el-col :span="12" 
 | 
                    ><el-form-item label="联系方式" prop="telcode"> 
 | 
                      <el-input 
 | 
                        v-model="userform.telcode" 
 | 
                        placeholder="请输入联系方式" 
 | 
                        maxlength="20" 
 | 
                      /> </el-form-item 
 | 
                  ></el-col> 
 | 
                  <el-col :span="12"> 
 | 
                    <el-form-item label="亲属联系方式" prop="name"> 
 | 
                      <el-input 
 | 
                        v-model="userform.relativetelcode" 
 | 
                        placeholder="请输入姓名" 
 | 
                        maxlength="20" 
 | 
                      ></el-input> </el-form-item 
 | 
                  ></el-col> 
 | 
                </el-row> 
 | 
                <el-row :gutter="20"> 
 | 
                  <el-col :span="24"> 
 | 
                    <el-form-item label="出生地" prop="birthplace"> 
 | 
                      <el-input 
 | 
                        v-model="userform.birthplace" 
 | 
                        placeholder="国、省、地市、区县、街道等详细信息" 
 | 
                        maxlength="50" 
 | 
                      /> </el-form-item 
 | 
                  ></el-col> 
 | 
                </el-row> 
 | 
                <el-row :gutter="20"> 
 | 
                  <el-col :span="24" 
 | 
                    ><el-form-item label="居住地" prop="placeOfResidence"> 
 | 
                      <el-input 
 | 
                        v-model="userform.placeOfResidence" 
 | 
                        placeholder="国、省、地市、区县、街道等详细信息" 
 | 
                        maxlength="50" 
 | 
                      /> </el-form-item 
 | 
                  ></el-col> 
 | 
                </el-row> 
 | 
  
 | 
              </el-form> 
 | 
            </div> 
 | 
          </el-collapse-item> 
 | 
        </el-collapse> --> 
 | 
      </div> 
 | 
    </div> 
 | 
    <div> 
 | 
      <CallButton 
 | 
        ref="callButton" 
 | 
        :phoneNumber="currentPhoneNumber" 
 | 
        style="display: none" 
 | 
      /> 
 | 
    </div> 
 | 
    <el-dialog 
 | 
      title="患者再次随访" 
 | 
      v-dialogDrags 
 | 
      :visible.sync="dialogFormVisible" 
 | 
    > 
 | 
      <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px"> 
 | 
        <el-form-item label="任务名称"> 
 | 
          <el-input 
 | 
            style="width: 400px" 
 | 
            disabled 
 | 
            v-model="form.taskName" 
 | 
          ></el-input> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="患者名称"> 
 | 
          <el-input 
 | 
            style="width: 400px" 
 | 
            disabled 
 | 
            v-model="form.sendname" 
 | 
          ></el-input> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="年龄"> 
 | 
          <el-input style="width: 400px" disabled v-model="form.age"></el-input> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="科室"> 
 | 
          <el-input 
 | 
            style="width: 400px" 
 | 
            disabled 
 | 
            v-model="form.deptname" 
 | 
          ></el-input> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="病区"> 
 | 
          <el-input 
 | 
            style="width: 400px" 
 | 
            disabled 
 | 
            v-model="form.leavehospitaldistrictname" 
 | 
          ></el-input> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="出院时间"> 
 | 
          <el-input 
 | 
            style="width: 400px" 
 | 
            disabled 
 | 
            v-model="form.endtime" 
 | 
          ></el-input> 
 | 
        </el-form-item> 
 | 
        <div class="headline">上次随访</div> 
 | 
        <el-divider></el-divider> 
 | 
        <el-row> 
 | 
          <el-col :span="12"> 
 | 
            <el-form-item label="随访方式"> 
 | 
              <el-select 
 | 
                v-model="form.visitType2" 
 | 
                filterable 
 | 
                allow-create 
 | 
                default-first-option 
 | 
                disabled 
 | 
                placeholder="请选择随访方式" 
 | 
                class="custom-disabled" 
 | 
              > 
 | 
                <el-option 
 | 
                  v-for="item in options" 
 | 
                  :key="item.value" 
 | 
                  :label="item.label" 
 | 
                  :value="item.value" 
 | 
                > 
 | 
                </el-option> 
 | 
              </el-select> 
 | 
            </el-form-item> 
 | 
          </el-col> 
 | 
          <el-col :span="12"> 
 | 
            <el-form-item label="随访时间"> 
 | 
              <el-date-picker 
 | 
                type="date" 
 | 
                disabled 
 | 
                placeholder="选择日期" 
 | 
                :picker-options="pickerOptions" 
 | 
                align="right" 
 | 
                v-model="form.date2" 
 | 
                class="custom-disabled" 
 | 
              ></el-date-picker> 
 | 
            </el-form-item> 
 | 
          </el-col> 
 | 
        </el-row> 
 | 
  
 | 
        <el-form-item label="随访记录"> 
 | 
          <el-input 
 | 
            class="custom-disabled" 
 | 
            type="textarea" 
 | 
            disabled 
 | 
            v-model="form.remark2" 
 | 
          ></el-input> 
 | 
        </el-form-item> 
 | 
        <div class="headline">下次随访</div> 
 | 
        <el-divider></el-divider> 
 | 
        <el-row> 
 | 
          <el-col :span="12"> 
 | 
            <el-form-item label="随访方式" prop="date1"> 
 | 
              <el-select 
 | 
                v-model="form.visitType" 
 | 
                filterable 
 | 
                allow-create 
 | 
                default-first-option 
 | 
                @change="visitChange" 
 | 
                placeholder="请选择随访方式(依出院时间技计算)" 
 | 
              > 
 | 
                <el-option 
 | 
                  v-for="item in options" 
 | 
                  :key="item.value" 
 | 
                  :label="item.label" 
 | 
                  :value="item.value" 
 | 
                > 
 | 
                </el-option> 
 | 
              </el-select> 
 | 
            </el-form-item> 
 | 
          </el-col> 
 | 
          <el-col :span="12"> 
 | 
            <el-form-item label="随访时间" prop="date1"> 
 | 
              <el-date-picker 
 | 
                type="date" 
 | 
                placeholder="选择日期" 
 | 
                :picker-options="pickerOptions" 
 | 
                align="right" 
 | 
                v-model="form.date1" 
 | 
              ></el-date-picker> 
 | 
            </el-form-item> 
 | 
          </el-col> 
 | 
        </el-row> 
 | 
        <el-form-item label="随访方式" prop="resource"> 
 | 
          <el-radio-group v-model="form.resource"> 
 | 
            <el-radio label="1">本病区随访</el-radio> 
 | 
            <el-radio label="2">随访中心随访</el-radio> 
 | 
          </el-radio-group> 
 | 
        </el-form-item> 
 | 
  
 | 
        <el-form-item label="随访记录"> 
 | 
          <el-input type="textarea" v-model="form.remark"></el-input> 
 | 
        </el-form-item> 
 | 
      </el-form> 
 | 
      <div slot="footer" class="dialog-footer"> 
 | 
        <el-button type="warning" @click="dialogFormVisible = false" 
 | 
          >取 消</el-button 
 | 
        > 
 | 
        <el-button type="primary" @click="setupsubtask">确认创建服务</el-button> 
 | 
      </div> 
 | 
    </el-dialog> 
 | 
  </div> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import { 
 | 
  getsearchrResults, 
 | 
  getPersonVoices, 
 | 
  addserviceSubtask, 
 | 
  getTaskservelist, 
 | 
  getTaskFollowup, 
 | 
  Editsingletaskson, 
 | 
  serviceSubtaskDetailedit, 
 | 
  serviceSubtaskDetailadd, 
 | 
  updatePersonVoices, 
 | 
  addPersonVoices, 
 | 
  query360PatInfo, 
 | 
} from "@/api/AiCentre/index"; 
 | 
import { 
 | 
  messagelistpatient, 
 | 
  alterpatient, 
 | 
  listcontactinformation, 
 | 
} from "@/api/patient/homepage"; 
 | 
import CallButton from "@/components/CallButton"; 
 | 
export default { 
 | 
  components: { 
 | 
    CallButton, 
 | 
  }, 
 | 
  
 | 
  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], 
 | 
  data() { 
 | 
    const validatePhone = (rule, value, callback) => { 
 | 
      if (!value) { 
 | 
        return callback(new Error("请输入联系电话")); 
 | 
      } 
 | 
      setTimeout(() => { 
 | 
        if (!/^1[3-9]\d{9}$/.test(value)) { 
 | 
          callback(new Error("请输入正确的11位手机号码")); 
 | 
        } else { 
 | 
          callback(); 
 | 
        } 
 | 
      }, 300); 
 | 
    }; 
 | 
    return { 
 | 
      userid: "", 
 | 
      currentPhoneNumber: "", 
 | 
      callType: "", // 用于区分是哪个电话 
 | 
      input: "今天身体还不错", 
 | 
      radio: "2", 
 | 
      taskname: "", 
 | 
      voice: "", 
 | 
      templateid: "", 
 | 
      again: "", 
 | 
      zcform: {}, 
 | 
      form: {}, 
 | 
      tableDatatop: [], //题目表 
 | 
      voiceDatatop: [], //题目表 
 | 
      dynamicTags: [], 
 | 
      zcrules: { 
 | 
        resource: [ 
 | 
          { required: true, message: "请选择随访方式", trigger: "change" }, 
 | 
        ], 
 | 
        date1: [{ required: true, message: "请选择随访时间", trigger: "blur" }], 
 | 
      }, 
 | 
      userrules: { 
 | 
        telcode: [{ validator: validatePhone, trigger: "blur" }], 
 | 
        relativetelcode: [{ validator: validatePhone, trigger: "blur" }], 
 | 
      }, 
 | 
      url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo", 
 | 
      postData: { 
 | 
        XiaoXiTou: { 
 | 
          FaSongFCSJC: "ZJHES", 
 | 
          FaSongJGID: localStorage.getItem("orgid"), 
 | 
          FaSongJGMC: localStorage.getItem("orgname"), 
 | 
          FaSongSJ: "2025-01-09 17:29:36", 
 | 
          FaSongXTJC: "SUIFANGXT", 
 | 
          FaSongXTMC: "随访系统", 
 | 
          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171", 
 | 
          XiaoXiLX: "SC_LC_360STCX", 
 | 
          XiaoXiMC: "360 视图查询", 
 | 
          ZuHuID: localStorage.getItem("ZuHuID"), 
 | 
          ZuHuMC: localStorage.getItem("orgname"), 
 | 
        }, 
 | 
        YeWuXX: { 
 | 
          BingRenXX: { 
 | 
            ZhengJianHM: "", 
 | 
            ZhengJianLXDM: "01", 
 | 
            ZhengJianLXMC: "居民身份证", 
 | 
            ZuZhiJGID: localStorage.getItem("orgid"), 
 | 
            ZuZhiJGMC: localStorage.getItem("orgname"), 
 | 
          }, 
 | 
          YongHuXX: { 
 | 
            XiTongID: "SUIFANGXT", 
 | 
            XiTongMC: "随访系统", 
 | 
            YongHuID: "1400466972205912064", 
 | 
            YongHuXM: "JNRMYY", 
 | 
            ZuZhiJGID: localStorage.getItem("orgid"), 
 | 
            ZuZhiJGMC: localStorage.getItem("orgname"), 
 | 
            idp: "lyra", 
 | 
          }, 
 | 
        }, 
 | 
      }, 
 | 
      pickerOptions: { 
 | 
        shortcuts: [ 
 | 
          { 
 | 
            text: "七天后", 
 | 
            onClick(picker) { 
 | 
              const date = new Date(); 
 | 
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 7); 
 | 
              picker.$emit("pick", date); 
 | 
            }, 
 | 
          }, 
 | 
          { 
 | 
            text: "15天后", 
 | 
            onClick(picker) { 
 | 
              const date = new Date(); 
 | 
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 15); 
 | 
              picker.$emit("pick", date); 
 | 
            }, 
 | 
          }, 
 | 
          { 
 | 
            text: "一个月后", 
 | 
            onClick(picker) { 
 | 
              const date = new Date(); 
 | 
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 30); 
 | 
              picker.$emit("pick", date); 
 | 
            }, 
 | 
          }, 
 | 
          { 
 | 
            text: "三个月后", 
 | 
            onClick(picker) { 
 | 
              const date = new Date(); 
 | 
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 90); 
 | 
              picker.$emit("pick", date); 
 | 
            }, 
 | 
          }, 
 | 
          { 
 | 
            text: "六个月后", 
 | 
            onClick(picker) { 
 | 
              const date = new Date(); 
 | 
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 180); 
 | 
              picker.$emit("pick", date); 
 | 
            }, 
 | 
          }, 
 | 
          { 
 | 
            text: "一年后", 
 | 
            onClick(picker) { 
 | 
              const date = new Date(); 
 | 
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 365); 
 | 
              picker.$emit("pick", date); 
 | 
            }, 
 | 
          }, 
 | 
        ], 
 | 
      }, 
 | 
      options: [ 
 | 
        { 
 | 
          value: "七天后", 
 | 
          label: "七天后", 
 | 
        }, 
 | 
        { 
 | 
          value: "15天后", 
 | 
          label: "15天后", 
 | 
        }, 
 | 
        { 
 | 
          value: "一个月后", 
 | 
          label: "一个月后", 
 | 
        }, 
 | 
        { 
 | 
          value: "三个月后", 
 | 
          label: "三个月后", 
 | 
        }, 
 | 
        { 
 | 
          value: "六个月后", 
 | 
          label: "六个月后", 
 | 
        }, 
 | 
        { 
 | 
          value: "一年后", 
 | 
          label: "一年后", 
 | 
        }, 
 | 
      ], 
 | 
      userform: {}, 
 | 
      Whetherall: true, //是否全部记录展示 
 | 
      dialogFormVisible: false, 
 | 
      Voicetype: 0, //是否为语音服务 
 | 
      visitCount: null, 
 | 
      logsheetlist: [], 
 | 
      topicobj: {}, 
 | 
      sendname: null, 
 | 
      serviceType: null, 
 | 
      id: null, 
 | 
      taskid: null, 
 | 
      patid: null, 
 | 
    }; 
 | 
  }, 
 | 
  
 | 
  created() { 
 | 
    this.taskid = this.$route.query.taskid; 
 | 
    this.id = this.$route.query.id; 
 | 
    this.sendname = this.$route.query.sendname; 
 | 
    this.patid = this.$route.query.patid; 
 | 
    this.again = this.$route.query.again; 
 | 
    this.Voicetype = this.$route.query.Voicetype; 
 | 
    this.visitCount = this.$route.query.visitCount; 
 | 
    this.serviceType = this.$route.query.serviceType; 
 | 
  
 | 
    this.getTaskservelist(); 
 | 
  }, 
 | 
  
 | 
  methods: { 
 | 
    // 获取问卷数据 
 | 
  
 | 
    //患者360跳转 
 | 
    gettoken360(sfzh, drcode, drname) { 
 | 
      this.$modal.msgWarning('360功能暂未开通'); 
 | 
  return; // 阻止后续代码执行 
 | 
      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; 
 | 
      if (this.postData.XiaoXiTou.ZuHuMC == "丽水市中医院") { 
 | 
        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728"; 
 | 
        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY"; 
 | 
      } 
 | 
      query360PatInfo(this.postData).then((res) => { 
 | 
        if (res.data.url) { 
 | 
          window.open(res.data.url, "_blank"); 
 | 
          // this.linkUrl = res.data.url; 
 | 
        } else { 
 | 
          this.$modal.msgWarning("360查询无结果"); 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    // 获取基础信息 
 | 
    getuserinfo() { 
 | 
      const queryParams = { 
 | 
        pid: Number(this.patid), 
 | 
        allhosp: "0", 
 | 
      }; 
 | 
      // 患者基础信息 
 | 
      messagelistpatient(queryParams).then((response) => { 
 | 
        if (response.rows[0]) { 
 | 
          this.userform = response.rows[0]; 
 | 
          // this.dynamicTags = response.rows[0].tagList.map(this.processElement); 
 | 
        } 
 | 
      }); 
 | 
      listcontactinformation({ patid: this.patid }).then((response) => { 
 | 
        this.tableData = response.rows; 
 | 
        if (this.tableData.length) { 
 | 
          this.userform.relativetelcode = this.tableData[0].contactway; 
 | 
          this.userform.relation = this.tableData[0].relation; 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    // 再次随访时间选取 
 | 
    visitChange(value) { 
 | 
      // 根据选择的随访方式设置时间 
 | 
      const now = new Date(); 
 | 
      if (value.includes("七天后")) { 
 | 
        this.form.date1 = new Date( 
 | 
          Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 7 
 | 
        ); 
 | 
      } else if (value.includes("15天后")) { 
 | 
        this.form.date1 = new Date( 
 | 
          Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 15 
 | 
        ); 
 | 
      } else if (value.includes("一个月后")) { 
 | 
        this.form.date1 = new Date( 
 | 
          Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 30 
 | 
        ); 
 | 
      } else if (value.includes("三个月后")) { 
 | 
        this.form.date1 = new Date( 
 | 
          Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 90 
 | 
        ); 
 | 
      } else if (value.includes("六个月后")) { 
 | 
        this.form.date1 = new Date( 
 | 
          Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 180 
 | 
        ); 
 | 
      } else if (value.includes("一年后")) { 
 | 
        this.form.date1 = new Date( 
 | 
          Date.parse(this.form.endtime) + 3600 * 1000 * 24 * 365 
 | 
        ); 
 | 
      } 
 | 
    }, 
 | 
  
 | 
    // 获取语音数据 
 | 
    getPersonVoices(id) { 
 | 
      let obj = { 
 | 
        taskid: this.taskid, 
 | 
        patid: this.patid, 
 | 
        subId: id ? id : this.id, 
 | 
      }; 
 | 
  
 | 
      getPersonVoices(obj).then((res) => { 
 | 
        if (res.code == 200) { 
 | 
          this.voiceDatatop = res.data.serviceSubtaskDetails; 
 | 
          this.voice = res.data.voice; 
 | 
          this.activeName = "yy"; 
 | 
          this.taskname = res.data.taskName; 
 | 
          // 问卷展示数据处理 
 | 
          this.tableDatatop = res.data.filteredDetails; 
 | 
          this.tableDatatop.forEach((item) => { 
 | 
            if (item.targetvalue) { 
 | 
              item.scriptResult = item.targetvalue.split("&"); 
 | 
            } else { 
 | 
              item.scriptResult = []; 
 | 
            } 
 | 
          }); 
 | 
  
 | 
          if (!this.tableDatatop.length) { 
 | 
            this.puttaskid(this.templateid); 
 | 
          } 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    // 获取问卷完整数据比对 
 | 
    puttaskid(id) { 
 | 
      getTaskFollowup(id).then((res) => { 
 | 
        if (res.code == 200) { 
 | 
          this.tableDatatop = res.data.ivrTaskTemplateScriptVOList; 
 | 
          this.tableDatatop.forEach((item) => { 
 | 
            item.id = null; 
 | 
            // 类型判断赋值 
 | 
            if (item.ivrTaskScriptTargetoptionList) { 
 | 
              item.targetvalue = 1; 
 | 
              item.questiontext = item.scriptContent; 
 | 
              item.targetvalue = item.ivrTaskScriptTargetoptionList 
 | 
                .map((obj) => obj.targetvalue) 
 | 
                .join("&"); 
 | 
            } 
 | 
            if (item.targetvalue) { 
 | 
              item.scriptResult = item.targetvalue.split("&"); 
 | 
            } else { 
 | 
              item.scriptResult = []; 
 | 
            } 
 | 
          }); 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    // 医护人员存储数据 
 | 
    getdetail() { 
 | 
      let excep = ""; 
 | 
      const promises = []; 
 | 
      this.tableDatatop.forEach((item) => { 
 | 
        var objs = item.svyLibTemplateTargetoptions.find( 
 | 
          (items) => items.optioncontent == item.scriptResult 
 | 
        ); 
 | 
        if (obj) { 
 | 
          if (objs.isabnormal) { 
 | 
            excep = 1; 
 | 
          } 
 | 
        } 
 | 
        let obj = { 
 | 
          asrtext: null, 
 | 
          patid: this.patid, 
 | 
          subId: this.id, 
 | 
          taskid: this.taskid, 
 | 
          scriptid: item.id, 
 | 
          excep: excep, 
 | 
          questiontext: item.scriptContent, 
 | 
        }; 
 | 
        if (item.scriptType == 2 && item.scriptResult[0]) { 
 | 
          obj.asrtext = item.scriptResult.join("&"); 
 | 
        } else if (item.scriptType != 2 && item.scriptResult) { 
 | 
          obj.asrtext = item.scriptResult; 
 | 
        } 
 | 
  
 | 
        if (item.isoption == 3) { 
 | 
          promises.push(serviceSubtaskDetailedit(obj)); 
 | 
        } else { 
 | 
          promises.push(serviceSubtaskDetailadd(obj)); 
 | 
        } 
 | 
      }); 
 | 
      // 使用 Promise.all 等待所有异步操作完成 
 | 
      Promise.all(promises) 
 | 
        .then((results) => { 
 | 
          // 所有异步操作成功完成后的逻辑 
 | 
          results.forEach((res) => { 
 | 
            if (res.code !== 200) { 
 | 
              this.$modal.error("修改失败"); 
 | 
            } 
 | 
          }); 
 | 
          this.Editsingletasksonyic(6); 
 | 
  
 | 
          this.$modal 
 | 
            .confirm( 
 | 
              '任务保存成功是否针对患者:"' + 
 | 
                this.logsheetlist[0].sendname + 
 | 
                '"再次随访?', 
 | 
              "确认", 
 | 
              { 
 | 
                confirmButtonText: "确定", 
 | 
                cancelButtonText: "取消", 
 | 
                showCancelButton: true, 
 | 
                dangerouslyUseHTMLString: true, 
 | 
                confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名 
 | 
                cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名 
 | 
              } 
 | 
            ) 
 | 
            .then(() => { 
 | 
              document.querySelector("#app").scrollTo(0, 0); 
 | 
              this.formtidy(); 
 | 
              this.dialogFormVisible = true; 
 | 
            }) 
 | 
            .catch(() => { 
 | 
              if (this.form.serviceType == 13) { 
 | 
                if (this.visitCount) { 
 | 
                  this.$router.push({ 
 | 
                    path: "/logisticsservice/zbAgain", 
 | 
                  }); 
 | 
                } else { 
 | 
                  this.$router.push({ 
 | 
                    path: "/logisticsservice/record", 
 | 
                  }); 
 | 
                } 
 | 
              } else if (form.serviceType == 2) { 
 | 
                if (this.visitCount) { 
 | 
                  this.$router.push({ 
 | 
                    path: "/followvisit/again", 
 | 
                  }); 
 | 
                } else { 
 | 
                  this.$router.push({ 
 | 
                    path: "/followvisit/discharge", 
 | 
                  }); 
 | 
                } 
 | 
              } 
 | 
            }); 
 | 
        }) 
 | 
        .catch((error) => { 
 | 
          // 如果有任何一个异步操作失败,会进入这里 
 | 
          console.error("发生错误:", error); 
 | 
        }); 
 | 
    }, 
 | 
    // 验证手机号格式 
 | 
    isValidPhone(phone) { 
 | 
      return /^1[3-9]\d{9}$/.test(phone); 
 | 
    }, 
 | 
    // 呼叫处理 
 | 
    handleCall(phone, type) { 
 | 
      if (this.isValidPhone(phone)) { 
 | 
        this.currentPhoneNumber = phone; 
 | 
        this.callType = type; 
 | 
  
 | 
        // 等待下一个tick确保值已更新 
 | 
        this.$nextTick(() => { 
 | 
          this.$refs.callButton.startCall(); 
 | 
  
 | 
          // 可选:根据不同类型做不同处理 
 | 
          if (type === "tel") { 
 | 
            console.log("正在呼叫患者本人:", phone); 
 | 
          } else { 
 | 
            console.log("正在呼叫联系人:", phone); 
 | 
          } 
 | 
        }); 
 | 
      } 
 | 
    }, 
 | 
    yuyingetdetail() { 
 | 
      this.tableDatatop.forEach((item, index) => { 
 | 
        item.scriptResult = item.scriptResult.join("&"); 
 | 
        item.templatequestionnum = index + 1; 
 | 
        item.subId = this.id; 
 | 
        item.taskid = this.taskid; 
 | 
        item.asrtext = item.matchedtext; 
 | 
        if (!item.id) { 
 | 
          item.isoperation = 1; 
 | 
        } 
 | 
        item.patid = this.patid; 
 | 
        item.templateid = item.templateID; 
 | 
      }); 
 | 
      let obj = { 
 | 
        serviceSubtaskDetailList: this.tableDatatop, 
 | 
        param1: this.taskid, 
 | 
        param2: this.patid, 
 | 
        subId: this.id, 
 | 
      }; 
 | 
  
 | 
      addPersonVoices(obj).then((res) => { 
 | 
        if (res.code == 200) { 
 | 
          this.$modal.msgSuccess("服务保存成功"); 
 | 
          this.$modal 
 | 
            .confirm( 
 | 
              '任务保存成功是否针对患者:"' + 
 | 
                this.userform.name + 
 | 
                '"再次随访?', 
 | 
              "确认", 
 | 
              { 
 | 
                confirmButtonText: "确定", 
 | 
                cancelButtonText: "取消", 
 | 
                showCancelButton: true, 
 | 
                dangerouslyUseHTMLString: true, 
 | 
                confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名 
 | 
                cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名 
 | 
              } 
 | 
            ) 
 | 
            .then(() => { 
 | 
              document.querySelector("#app").scrollTo(0, 0); 
 | 
              this.formtidy(); 
 | 
              this.dialogFormVisible = true; 
 | 
            }) 
 | 
            .catch(() => { 
 | 
              if (this.form.serviceType == 13) { 
 | 
                if (this.visitCount) { 
 | 
                  this.$router.push({ 
 | 
                    path: "/logisticsservice/zbAgain", 
 | 
                  }); 
 | 
                } else { 
 | 
                  this.$router.push({ 
 | 
                    path: "/logisticsservice/record", 
 | 
                  }); 
 | 
                } 
 | 
              } else if (form.serviceType == 2) { 
 | 
                if (this.visitCount) { 
 | 
                  this.$router.push({ 
 | 
                    path: "/followvisit/again", 
 | 
                  }); 
 | 
                } else { 
 | 
                  this.$router.push({ 
 | 
                    path: "/followvisit/discharge", 
 | 
                  }); 
 | 
                } 
 | 
              } 
 | 
            }); 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    // 再次随访数据更替 
 | 
    formtidy() { 
 | 
      this.form.visitType2 = this.form.visitType; 
 | 
      this.form.date2 = this.form.longSendTime; 
 | 
      this.form.remark2 = this.form.remark; 
 | 
    }, 
 | 
    // 获取患者记录 
 | 
    getTaskservelist(id) { 
 | 
      if (id) { 
 | 
        this.Whetherall = false; 
 | 
      } else { 
 | 
        this.Whetherall = true; 
 | 
      } 
 | 
  
 | 
      getTaskservelist({ 
 | 
        patid: this.patid, 
 | 
        subId: id, 
 | 
      }).then((res) => { 
 | 
        if (res.code == 200) { 
 | 
          this.form = res.rows[0].serviceSubtaskList.find( 
 | 
            (item) => item.id == this.id 
 | 
          ); 
 | 
          if (!this.form.remark) { 
 | 
            this.form.remark = this.form.taskDesc; 
 | 
          } 
 | 
          this.logsheetlist = res.rows[0].serviceSubtaskList; 
 | 
          this.templateid = this.logsheetlist[0].templateid; 
 | 
          const targetDate = new Date(this.form.longSendTime); // 目标日期 
 | 
          const now = new Date(); // 当前时间 
 | 
          this.form.endtime = this.formatTime(this.form.endtime); 
 | 
          if (now < targetDate && this.form.sendstate == 2) { 
 | 
            this.$confirm("当前服务未到发送时间请谨慎修改", "提示", { 
 | 
              confirmButtonText: "确定", 
 | 
              cancelButtonText: "取消", 
 | 
              type: "warning", 
 | 
            }) 
 | 
              .then(() => {}) 
 | 
              .catch(() => {}); 
 | 
          } 
 | 
          this.getuserinfo(); 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    Editsingletaskson(son) { 
 | 
      let objson = {}; 
 | 
      getTaskservelist({ 
 | 
        patid: this.patid, 
 | 
        subId: this.id, 
 | 
      }).then((res) => { 
 | 
        if (res.code == 200) { 
 | 
          objson = res.rows[0].serviceSubtaskList[0]; 
 | 
          objson.suggest = son; 
 | 
          Editsingletaskson(objson).then((res) => { 
 | 
            if (res.code) { 
 | 
              this.$modal.msgSuccess("服务记录成功"); 
 | 
              this.getTaskservelist(); 
 | 
            } 
 | 
          }); 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    Editsingletasksonyic(sendstate) { 
 | 
      let objson = {}; 
 | 
      getTaskservelist({ 
 | 
        patid: this.patid, 
 | 
        subId: this.id, 
 | 
      }).then((res) => { 
 | 
        if (res.code == 200) { 
 | 
          objson = res.rows[0].serviceSubtaskList.find( 
 | 
            (item) => item.id == this.id 
 | 
          ); 
 | 
          objson.remark = this.form.remark; 
 | 
          if (sendstate) objson.sendstate = sendstate; 
 | 
          Editsingletaskson(objson).then((res) => { 
 | 
            if (res.code) { 
 | 
              this.$modal.msgSuccess("服务修改成功"); 
 | 
              alterpatient(this.userform).then((res) => { 
 | 
                if (res.code == 200) { 
 | 
                  this.$modal.msgSuccess("基础信息保存成功"); 
 | 
                } else { 
 | 
                  this.$modal.msgError("基础信息修改失败"); 
 | 
                } 
 | 
              }); 
 | 
              this.getTaskservelist(); 
 | 
            } 
 | 
          }); 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    // 异常列渲染 
 | 
    tableRowClassName({ row, rowIndex }) { 
 | 
      if (row.id == this.id) { 
 | 
        return "warning-row"; 
 | 
      } 
 | 
      return ""; 
 | 
    }, 
 | 
    // 调起再次发送 
 | 
    sendAgain() { 
 | 
      document.querySelector("#app").scrollTo(0, 0); 
 | 
      // scrollTo(0, 0) 
 | 
      this.formtidy(); 
 | 
      this.dialogFormVisible = true; 
 | 
    }, 
 | 
    // 查看详情 
 | 
    Seedetails(row) { 
 | 
      this.$modal 
 | 
        .confirm('是否查看任务为"' + row.taskName + '"的服务详情数据?') 
 | 
        .then(() => { 
 | 
          if (row.preachformson) { 
 | 
            if (row.preachformson.includes("3")) { 
 | 
              this.Voicetype = 1; 
 | 
            } 
 | 
          } 
 | 
          this.taskid = row.taskid; 
 | 
          this.id = row.id; 
 | 
          this.patid = row.patid; 
 | 
          this.serviceType = row.serviceType; 
 | 
          this.getTaskservelist(); 
 | 
        }) 
 | 
        .catch(() => {}); 
 | 
    }, 
 | 
    handleOptionChange(a, b, c) { 
 | 
      const result = c.find((item) => item.optioncontent == a); 
 | 
      if (result.nextQuestion == 0) { 
 | 
        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => { 
 | 
          acc.push(i > b ? { ...item, astrict: 1 } : item); 
 | 
          return acc; 
 | 
        }, []); 
 | 
      } else { 
 | 
        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => { 
 | 
          acc.push(i > b ? { ...item, astrict: 0 } : item); 
 | 
          return acc; 
 | 
        }, []); 
 | 
      } 
 | 
      if (this.Voicetype) { 
 | 
        var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find( 
 | 
          (item) => item.optioncontent == a 
 | 
        ); 
 | 
      } else { 
 | 
        var obj = this.tableDatatop[b].svyLibTemplateTargetoptions.find( 
 | 
          (item) => item.optioncontent == a 
 | 
        ); 
 | 
      } 
 | 
      if (obj.isabnormal) { 
 | 
        this.tableDatatop[b].isabnormal = true; 
 | 
      } else { 
 | 
        this.tableDatatop[b].isabnormal = false; 
 | 
      } 
 | 
      this.$forceUpdate(); 
 | 
    }, 
 | 
    overdata() { 
 | 
      this.tableDatatop.forEach((item, index) => { 
 | 
        var obj = item.svyLibTemplateTargetoptions.find( 
 | 
          (items) => items.optioncontent == item.scriptResult 
 | 
        ); 
 | 
        if (obj) { 
 | 
          if (obj.isabnormal) { 
 | 
            this.tableDatatop[index].isabnormal = true; 
 | 
          } else { 
 | 
            this.tableDatatop[index].isabnormal = false; 
 | 
          } 
 | 
          this.$forceUpdate(); 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    // 创建再次随访服务 
 | 
    setupsubtask() { 
 | 
      this.$refs["zcform"].validate((valid) => { 
 | 
        if (valid) { 
 | 
          this.form.remark = 
 | 
            this.form.remark + "【" + this.getCurrentTime() + "】"; 
 | 
          let form = structuredClone(this.form); 
 | 
          form.longSendTime = this.formatTime(form.date1); 
 | 
          form.finishtime = ""; 
 | 
          if (form.resource) { 
 | 
            if (form.resource == 2) { 
 | 
              form.serviceType = 13; 
 | 
              form.visitDeptCode = localStorage.getItem("deptCode"); 
 | 
              form.visitDeptName = "随访中心"; 
 | 
            } else { 
 | 
              form.visitDeptCode = form.deptcode; 
 | 
              form.visitDeptName = form.deptname; 
 | 
            } 
 | 
          } else { 
 | 
            this.$modal.msgError("未选择随访方式"); 
 | 
            return; 
 | 
          } 
 | 
          // form.id = null; 
 | 
          form.sendstate = 2; 
 | 
          addserviceSubtask(form).then((res) => { 
 | 
            if (res.code == 200) { 
 | 
              this.$modal.msgSuccess("创建成功"); 
 | 
              if (form.serviceType == 13) { 
 | 
                this.$router.push({ 
 | 
                  path: "/logisticsservice/again", 
 | 
                }); 
 | 
              } else if (form.serviceType == 2) { 
 | 
                this.$router.push({ 
 | 
                  path: "/logisticsservice/zbAgain", 
 | 
                }); 
 | 
              } 
 | 
            } else { 
 | 
              this.$modal.msgError("创建失败"); 
 | 
            } 
 | 
            document.querySelector("#app").scrollTo(0, 0); 
 | 
            this.dialogFormVisible = false; 
 | 
          }); 
 | 
        } 
 | 
      }); 
 | 
    }, 
 | 
    getCurrentTime() { 
 | 
      const now = new Date(); 
 | 
      const year = now.getFullYear(); 
 | 
      const month = String(now.getMonth() + 1).padStart(2, "0"); 
 | 
      const day = String(now.getDate()).padStart(2, "0"); 
 | 
      const hours = String(now.getHours()).padStart(2, "0"); 
 | 
      const minutes = String(now.getMinutes()).padStart(2, "0"); 
 | 
      const seconds = String(now.getSeconds()).padStart(2, "0"); 
 | 
  
 | 
      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; 
 | 
    }, 
 | 
    updateScore(a, b, c) {}, 
 | 
  }, 
 | 
}; 
 | 
</script> 
 | 
  
 | 
<style lang="scss"> 
 | 
.Followupdetailspage { 
 | 
  margin: 10px; 
 | 
} 
 | 
.Followuserinfo { 
 | 
  margin: 20px 10px; 
 | 
  align-items: center; 
 | 
  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); 
 | 
  .userinfo-text { 
 | 
    font-size: 20px; 
 | 
    margin-right: 20px; 
 | 
    margin-bottom: 10px; 
 | 
  } 
 | 
  .userinfo-value { 
 | 
    color: rgb(15, 139, 211); 
 | 
    span { 
 | 
      margin-right: 20px; 
 | 
    } 
 | 
  } 
 | 
} 
 | 
::v-deep.el-table .warning-row { 
 | 
  background: #c4e2ee; 
 | 
} 
 | 
.Followuserinfos { 
 | 
  margin: 20px 10px; 
 | 
  align-items: center; 
 | 
  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); 
 | 
  .userinfo-text { 
 | 
    font-size: 20px; 
 | 
    margin-right: 20px; 
 | 
    margin-bottom: 10px; 
 | 
  } 
 | 
  .userinfo-value { 
 | 
    color: rgb(15, 139, 211); 
 | 
    span { 
 | 
      margin-right: 20px; 
 | 
    } 
 | 
  } 
 | 
} 
 | 
.borderdiv { 
 | 
  min-height: 60vh; 
 | 
  font-size: 20px; 
 | 
  padding: 30px; 
 | 
  .title { 
 | 
    font-size: 22px; 
 | 
    font-weight: bold; 
 | 
    margin-bottom: 20px; 
 | 
    text-align: center; 
 | 
  } 
 | 
  .leftside { 
 | 
    margin: 30px 0; 
 | 
    span { 
 | 
      width: 400px; 
 | 
      margin-left: 20px; 
 | 
      padding: 10px; 
 | 
      color: #fff; 
 | 
      background: rgb(110, 196, 247); 
 | 
      border-radius: 10px; 
 | 
    } 
 | 
  } 
 | 
  .offside { 
 | 
    display: flex; 
 | 
    flex-direction: row-reverse; 
 | 
    .offside-value { 
 | 
      padding: 10px; 
 | 
      background: rgb(217, 173, 253); 
 | 
      border-radius: 10px; 
 | 
      color: #fff; 
 | 
      margin-right: 20px; 
 | 
    } 
 | 
  } 
 | 
} 
 | 
.CONTENT { 
 | 
  padding: 10px; 
 | 
  .title { 
 | 
    font-size: 22px; 
 | 
    font-weight: bold; 
 | 
    margin-bottom: 20px; 
 | 
    text-align: center; 
 | 
  } 
 | 
} 
 | 
.preview-left { 
 | 
  margin: 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); 
 | 
  .topic-dev { 
 | 
    margin-bottom: 25px; 
 | 
    font-size: 20px !important; 
 | 
    .dev-text { 
 | 
      margin-bottom: 10px; 
 | 
    } 
 | 
  } 
 | 
} 
 | 
.scriptTopic-isabnormal { 
 | 
  color: red; 
 | 
} 
 | 
.detailed { 
 | 
  width: 88%; 
 | 
  border-radius: 8px; 
 | 
  padding: 30px; 
 | 
  margin-bottom: 30px; 
 | 
  background-color: #ddf0f8; 
 | 
  .bg-purple { 
 | 
    margin-bottom: 20px; 
 | 
  } 
 | 
  .spanvalue { 
 | 
    display: inline-block; 
 | 
    min-width: 200px; 
 | 
    border-bottom: 1px solid rgb(172, 172, 172); 
 | 
  } 
 | 
} 
 | 
.headline { 
 | 
  font-size: 24px; 
 | 
  height: 40px; 
 | 
  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; 
 | 
  } 
 | 
} 
 | 
.red-star { 
 | 
  ::v-deep.el-radio__label { 
 | 
    position: relative; 
 | 
    padding-right: 10px; /* 根据需要调整 */ 
 | 
  } 
 | 
  ::v-deep.el-radio__label::after { 
 | 
    content: "*"; 
 | 
    color: red; 
 | 
    position: absolute; 
 | 
    right: -5px; /* 根据需要调整 */ 
 | 
    top: 0; 
 | 
  } 
 | 
  ::v-deep.el-input-group__textarea { 
 | 
    white-space: pre-wrap; /* 保持空白符序列并正常换行 */ 
 | 
    word-break: break-all; /* 在长单词或URL地址内部进行换行 */ 
 | 
  } 
 | 
  ::v-deep.el-checkbox__label { 
 | 
    position: relative; 
 | 
    padding-right: 10px; /* 根据需要调整 */ 
 | 
  } 
 | 
  ::v-deep.el-checkbox__label::after { 
 | 
    content: "*"; 
 | 
    color: red; 
 | 
    position: absolute; 
 | 
    right: -5px; /* 根据需要调整 */ 
 | 
    top: 0; 
 | 
  } 
 | 
} 
 | 
::v-deep.offside-value .el-radio__label { 
 | 
  color: #fff; 
 | 
} 
 | 
::v-deep.el-link.el-link--default { 
 | 
  color: #02a7f0 !important; 
 | 
} 
 | 
.el-message-box__btns button:nth-child(2) { 
 | 
  margin-left: 10px; 
 | 
  background-color: #f57676; 
 | 
  border-color: #f57676; 
 | 
} 
 | 
.el-icon-phone { 
 | 
  transition: all 0.3s; 
 | 
} 
 | 
.el-button[disabled] .el-icon-phone { 
 | 
  color: #c0c4cc; 
 | 
} 
 | 
.el-button:not([disabled]) .el-icon-phone { 
 | 
  color: #409eff; 
 | 
} 
 | 
.el-button:not([disabled]):hover .el-icon-phone { 
 | 
  color: #66b1ff; 
 | 
  transform: scale(1.1); 
 | 
} 
 | 
.mulsz { 
 | 
  font-size: 25px; 
 | 
  margin-top: 20px; 
 | 
} 
 | 
.el-input.is-disabled .el-input__inner { 
 | 
  background-color: #fff; /* 背景颜色 */ 
 | 
  border-color: #dcdfe6; /* 边框颜色 */ 
 | 
  color: #080808 !important; /* 文字颜色 */ 
 | 
  cursor: not-allowed; /* 鼠标样式 */ 
 | 
} 
 | 
.el-textarea.is-disabled .el-textarea__inner { 
 | 
  background-color: #fff; /* 背景颜色 */ 
 | 
  border-color: #dcdfe6; /* 边框颜色 */ 
 | 
  color: #080808 !important; /* 文字颜色 */ 
 | 
  cursor: not-allowed; /* 鼠标样式 */ 
 | 
} 
 | 
</style> 
 |