|  |  |  | 
|---|
|  |  |  | placeholder="请输入患者姓名" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="诊断名称" prop="leavediagname"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topqueryParams.leavediagname" | 
|---|
|  |  |  | placeholder="请输入诊断名称" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="随访人员" prop="updateBy"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topqueryParams.updateBy" | 
|---|
|  |  |  | placeholder="请输入随访人员" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="主治医生" prop="drname"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topqueryParams.drname" | 
|---|
|  |  |  | placeholder="请输入主治医生" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="经管医生" prop="managementDoctor"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topqueryParams.managementDoctor" | 
|---|
|  |  |  | placeholder="请输入主治医生" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="日期限制" prop="status"> | 
|---|
|  |  |  | <el-select v-model="endOut" placeholder="请选择"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in endOuts" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="患者范围" prop="status"> | 
|---|
|  |  |  | <el-cascader | 
|---|
|  |  |  | v-model="topqueryParams.scopetype" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-select v-model="topqueryParams.sendstate" 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.sort" placeholder="请选择"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in topicoptionssort" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <el-divider></el-divider> | 
|---|
|  |  |  | <el-row :gutter="10" class="mb8"> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | plain | 
|---|
|  |  |  | icon="el-icon-plus" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | @click="handleAdd" | 
|---|
|  |  |  | >新增</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <!-- <el-col :span="1.5"> | 
|---|
|  |  |  | <div class="documentf"> | 
|---|
|  |  |  | <div class="document"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | icon="el-icon-upload2" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | @click="handleExport" | 
|---|
|  |  |  | v-hasPermi="['system:user:export']" | 
|---|
|  |  |  | >导出</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-col> --> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | icon="el-icon-plus" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | @click="handleAdd" | 
|---|
|  |  |  | >新增</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <div class="documentf"> | 
|---|
|  |  |  | <div class="document"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <div class="documentf"> | 
|---|
|  |  |  | <div class="document"> | 
|---|
|  |  |  | <el-button type="primary" size="medium" @click="affiliation()" | 
|---|
|  |  |  | >本人所属服务</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <div class="documentf"> | 
|---|
|  |  |  | <div class="document"> | 
|---|
|  |  |  | <el-button type="success" size="medium" @click="onthatday()" | 
|---|
|  |  |  | >今日服务</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <!-- <el-col :span="1.5"> | 
|---|
|  |  |  | <div class="documentf"> | 
|---|
|  |  |  | <div class="document"> | 
|---|
|  |  |  | <el-tooltip | 
|---|
|  |  |  | content="请先选中服务" | 
|---|
|  |  |  | placement="top" | 
|---|
|  |  |  | :disabled="!multiple" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div class="tooltip-wrapper"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | :disabled="multiple" | 
|---|
|  |  |  | class="purple-button" | 
|---|
|  |  |  | @click="scoreDialogVisible = true" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 满意度调查 | 
|---|
|  |  |  | </el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-tooltip> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-col> --> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-table | 
|---|
|  |  |  | v-loading="loading" | 
|---|
|  |  |  | ref="userform" | 
|---|
|  |  |  | :data="userList" | 
|---|
|  |  |  | height="660" | 
|---|
|  |  |  | :row-class-name="tableRowClassName" | 
|---|
|  |  |  | @selection-change="handleSelectionChange" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click=" | 
|---|
|  |  |  | $router.push({ | 
|---|
|  |  |  | path: '/patient/indexls/', | 
|---|
|  |  |  | query: { sfzh: scope.row.sfzh }, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | label="诊断名称" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="leavediagname" | 
|---|
|  |  |  | prop="leavediagname" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="任务状态" | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div v-if="scope.row.sendstate == 6"> | 
|---|
|  |  |  | <el-tag type="danger" :disable-transitions="false" | 
|---|
|  |  |  | <el-tag type="success" :disable-transitions="false" | 
|---|
|  |  |  | >已完成</el-tag | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="随访人员" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="createBy" | 
|---|
|  |  |  | prop="createBy" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="随访时间" | 
|---|
|  |  |  | label="随访完成时间" | 
|---|
|  |  |  | sortable | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="finishtime" | 
|---|
|  |  |  | 
|---|
|  |  |  | </template></el-table-column | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="主治医生" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="drname" | 
|---|
|  |  |  | prop="drname" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | v-if="orgname != '丽水市中医院'" | 
|---|
|  |  |  | label="随访人员" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="updateBy" | 
|---|
|  |  |  | prop="updateBy" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | v-if="orgname != '丽水市中医院'" | 
|---|
|  |  |  | label="经管医生" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="managementDoctor" | 
|---|
|  |  |  | prop="managementDoctor" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <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="病历号" | 
|---|
|  |  |  | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- <el-table-column | 
|---|
|  |  |  | label="疾病名称" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="icdName" | 
|---|
|  |  |  | prop="icdName" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-table-column> --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="出院随访模板名称" | 
|---|
|  |  |  | 
|---|
|  |  |  | key="remark" | 
|---|
|  |  |  | prop="remark" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template  slot-scope="scope" v-if="scope.row.remark"> | 
|---|
|  |  |  | <template slot-scope="scope" v-if="scope.row.remark"> | 
|---|
|  |  |  | <el-tooltip | 
|---|
|  |  |  | :content="scope.row.remark" | 
|---|
|  |  |  | placement="top" | 
|---|
|  |  |  | 
|---|
|  |  |  | class-name="small-padding fixed-width" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-tooltip | 
|---|
|  |  |  | <!-- <el-tooltip | 
|---|
|  |  |  | class="item" | 
|---|
|  |  |  | effect="dark" | 
|---|
|  |  |  | content="再次随访" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | v-if="scope.row.isVisitAgain!=2" | 
|---|
|  |  |  | @click="followupvisit(scope.row)" | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']" | 
|---|
|  |  |  | ><span class="button-bb" | 
|---|
|  |  |  | ><i class="el-icon-s-promotion"></i>再次随访</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | ><i class="el-icon-remove-outline"></i>暂停服务</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-tooltip> | 
|---|
|  |  |  | </el-tooltip> --> | 
|---|
|  |  |  | <el-button size="medium" type="text" @click="Seedetails(scope.row)" | 
|---|
|  |  |  | ><span class="button-zx" | 
|---|
|  |  |  | ><i class="el-icon-s-order"></i>查看详情</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="handleUpdate(scope.row)" | 
|---|
|  |  |  | ><span class="button-textxga" | 
|---|
|  |  |  | ><i class="el-icon-edit"></i>患者过滤</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | 
|---|
|  |  |  | @pagination="getList" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <!-- 满意度弹框 --> | 
|---|
|  |  |  | <el-dialog | 
|---|
|  |  |  | title="随访满意度评分" | 
|---|
|  |  |  | :visible.sync="scoreDialogVisible" | 
|---|
|  |  |  | width="80%" | 
|---|
|  |  |  | :close-on-click-modal="false" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-table :data="selectedRows" border style="width: 100%"> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="姓名" | 
|---|
|  |  |  | width="100" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="sendname" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="任务名称" | 
|---|
|  |  |  | width="180" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="taskName" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <!-- 新增评分列 --> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="真实性(20)" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="authenticity" | 
|---|
|  |  |  | prop="authenticity" | 
|---|
|  |  |  | width="150" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-input-number | 
|---|
|  |  |  | v-model="scope.row.authenticity" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | :max="20" | 
|---|
|  |  |  | :step="1" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="一周内完成(20)" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="weekFinish" | 
|---|
|  |  |  | prop="weekFinish" | 
|---|
|  |  |  | width="150" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-input-number | 
|---|
|  |  |  | v-model="scope.row.weekFinish" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | :max="20" | 
|---|
|  |  |  | :step="1" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="规范性(10)" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="standard" | 
|---|
|  |  |  | prop="standard" | 
|---|
|  |  |  | width="150" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-input-number | 
|---|
|  |  |  | v-model="scope.row.standard" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | :max="10" | 
|---|
|  |  |  | :step="1" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="及时性(10)" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="timeliness" | 
|---|
|  |  |  | prop="timeliness" | 
|---|
|  |  |  | width="150" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-input-number | 
|---|
|  |  |  | v-model="scope.row.timeliness" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | :max="10" | 
|---|
|  |  |  | :step="1" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="宣教情况(10)" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="library" | 
|---|
|  |  |  | prop="library" | 
|---|
|  |  |  | width="150" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-input-number | 
|---|
|  |  |  | v-model="scope.row.library" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | :max="10" | 
|---|
|  |  |  | :step="1" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="环境满意度(10)" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="environment" | 
|---|
|  |  |  | prop="environment" | 
|---|
|  |  |  | width="150" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-input-number | 
|---|
|  |  |  | v-model="scope.row.environment" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | :max="10" | 
|---|
|  |  |  | :step="1" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="医生满意度(10)" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="doctorSatisfaction" | 
|---|
|  |  |  | prop="doctorSatisfaction" | 
|---|
|  |  |  | width="150" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-input-number | 
|---|
|  |  |  | v-model="scope.row.doctorSatisfaction" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | :max="10" | 
|---|
|  |  |  | :step="1" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="护士满意度(10)" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="nurseSatisfaction" | 
|---|
|  |  |  | prop="nurseSatisfaction" | 
|---|
|  |  |  | width="150" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-input-number | 
|---|
|  |  |  | v-model="scope.row.nurseSatisfaction" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | :max="10" | 
|---|
|  |  |  | :step="1" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="总分" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="total" | 
|---|
|  |  |  | prop="total" | 
|---|
|  |  |  | fixed="right" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span>{{ calculateTotal(scope.row) }}</span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button @click="scoreDialogVisible = false">取消</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="saveScores">保存</el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | <!-- 添加或修改影像随访对话框 --> | 
|---|
|  |  |  | <el-dialog | 
|---|
|  |  |  | :title="title" | 
|---|
|  |  |  | :visible.sync="addalteropen" | 
|---|
|  |  |  | width="700px" | 
|---|
|  |  |  | append-to-body | 
|---|
|  |  |  | :title="amendtag ? '修改患者信息' : '新增患者'" | 
|---|
|  |  |  | :visible.sync="Labelchange" | 
|---|
|  |  |  | width="900px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form ref="form" :model="form" label-width="100px"> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="12" | 
|---|
|  |  |  | ><el-form-item label="任务名称"> | 
|---|
|  |  |  | <el-input v-model="form.name"></el-input> </el-form-item | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="24" | 
|---|
|  |  |  | ><el-form-item label="所属科室"> | 
|---|
|  |  |  | <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-col | 
|---|
|  |  |  | ></el-row> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="24" | 
|---|
|  |  |  | ><el-form-item label="随访类型"> | 
|---|
|  |  |  | <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-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="服务模块"> | 
|---|
|  |  |  | <el-select v-model="form.region" placeholder="请选择模块"> | 
|---|
|  |  |  | <el-option label="区域一" value="shanghai"></el-option> | 
|---|
|  |  |  | <el-option label="区域二" value="beijing"></el-option> | 
|---|
|  |  |  | <el-form ref="form" :model="form" :rules="rules" label-width="100px"> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="姓名" width="100" prop="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.name" | 
|---|
|  |  |  | placeholder="请输入姓名" | 
|---|
|  |  |  | maxlength="30" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="性别" width="100" prop="sex"> | 
|---|
|  |  |  | <el-select v-model="form.sex" placeholder="请选择性别"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="dict in sextype" | 
|---|
|  |  |  | :key="dict.value" | 
|---|
|  |  |  | :label="dict.label" | 
|---|
|  |  |  | :value="dict.value" | 
|---|
|  |  |  | ></el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="年龄" prop="age"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.age" | 
|---|
|  |  |  | placeholder="请输入年龄" | 
|---|
|  |  |  | maxlength="30" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="过滤医生" width="100" prop="filterDrname"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.filterDrname" | 
|---|
|  |  |  | placeholder="请输入医生姓名" | 
|---|
|  |  |  | maxlength="30" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="影像随访要求"> | 
|---|
|  |  |  | <el-input type="textarea" v-model="form.desc"></el-input> | 
|---|
|  |  |  | <el-form-item label="过滤原因"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.notrequiredreason" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | placeholder="请输入过滤原因" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <div slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button type="primary" @click="submitForm">提 交</el-button> | 
|---|
|  |  |  | <el-button @click="cancel">返 回</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="submitForm">确 定</el-button> | 
|---|
|  |  |  | <el-button @click="cancel">取 消</el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | <!-- 修改发送时间对话框 --> | 
|---|
|  |  |  | 
|---|
|  |  |  | <!-- <el-form-item label="即刻发送"> | 
|---|
|  |  |  | <el-switch v-model="zcform.delivery"></el-switch> | 
|---|
|  |  |  | </el-form-item> --> | 
|---|
|  |  |  | <el-form-item label="随访时间" prop="date1"> | 
|---|
|  |  |  | <el-form-item label="出院时间"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 400px" | 
|---|
|  |  |  | disabled | 
|---|
|  |  |  | v-model="zcform.endtime" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="随访完成时间" prop="date1"> | 
|---|
|  |  |  | <el-date-picker | 
|---|
|  |  |  | type="date" | 
|---|
|  |  |  | placeholder="选择日期" | 
|---|
|  |  |  | 
|---|
|  |  |  | getTaskservelist, | 
|---|
|  |  |  | buidegetTasklist, | 
|---|
|  |  |  | addserviceSubtask, | 
|---|
|  |  |  | query360PatInfo, | 
|---|
|  |  |  | addsatisfaction, | 
|---|
|  |  |  | } from "@/api/AiCentre/index"; | 
|---|
|  |  |  | import { alterpatient, particularpatient } from "@/api/patient/homepage"; | 
|---|
|  |  |  | import Treeselect from "@riophae/vue-treeselect"; | 
|---|
|  |  |  | import store from "@/store"; | 
|---|
|  |  |  | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; | 
|---|
|  |  |  | 
|---|
|  |  |  | zcform: {}, | 
|---|
|  |  |  | dynamicTags: ["选项一", "选项二", "选项三"], //选项 | 
|---|
|  |  |  | inputVisible: false, | 
|---|
|  |  |  | Labelchange: false, | 
|---|
|  |  |  | ycvalue: "", | 
|---|
|  |  |  | yfsvalue: "", | 
|---|
|  |  |  | inputValue: "", | 
|---|
|  |  |  | 
|---|
|  |  |  | radios: [], | 
|---|
|  |  |  | previewtype: 2, //预览影像随访类型 | 
|---|
|  |  |  | total: 0, // 总条数 | 
|---|
|  |  |  | ImportQuantity: 999, //导影像随访数量 | 
|---|
|  |  |  | //预览影像随访信息 | 
|---|
|  |  |  | previewvalue: { | 
|---|
|  |  |  | username: "这个医生对你怎么样", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 满意度调查数据 | 
|---|
|  |  |  | scoreDialogVisible: false, | 
|---|
|  |  |  | selectedRows: [], | 
|---|
|  |  |  |  | 
|---|
|  |  |  | value: [], | 
|---|
|  |  |  | list: [], | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | name: "出院服务总量", | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: "患者过滤", | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: "应随访", | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // { | 
|---|
|  |  |  | //   name: "异常", | 
|---|
|  |  |  | //   name: "患者过滤", | 
|---|
|  |  |  | //   value: 0, | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: "需随访", | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: "发送失败", | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | 
|---|
|  |  |  | name: "待随访", | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: "已发送", | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // { | 
|---|
|  |  |  | //   name: "已发送", | 
|---|
|  |  |  | //   value: 0, | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // { | 
|---|
|  |  |  | //   name: "表单已发送", | 
|---|
|  |  |  | 
|---|
|  |  |  | qystatus: "", | 
|---|
|  |  |  | btstatus: "", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // endOut: 1, | 
|---|
|  |  |  | endOut: localStorage.getItem("orgname") == "丽水市中医院" ? 0 : 1, //0 出院时间(正序)    1 出院时间(倒序)   2 发送时间(正序)    3 发送时间(倒序)  7应随访日期(倒序) 应随访日期(正序) | 
|---|
|  |  |  | endOuts: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | label: "截止至当日服务", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "全部服务", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | topicoptionssort: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 0, | 
|---|
|  |  |  | label: "出院时间(正序)", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "出院时间(倒序)", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 2, | 
|---|
|  |  |  | label: "发送时间(正序)", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 3, | 
|---|
|  |  |  | label: "发送时间(倒序)", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 7, | 
|---|
|  |  |  | label: "应随访日期(正序)", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 8, | 
|---|
|  |  |  | label: "应随访日期(倒序)", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // 查询参数 | 
|---|
|  |  |  | topqueryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | sendstate: 2, | 
|---|
|  |  |  | sort: 2, //0 出院时间(正序)    1 出院时间(倒序)   2 发送时间(正序)    3 发送时间(倒序) | 
|---|
|  |  |  | sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 出院时间(正序)    1 出院时间(倒序)   2 发送时间(正序)    3 发送时间(倒序)  7应随访日期(倒序) 应随访日期(正序) | 
|---|
|  |  |  | serviceType: 2, | 
|---|
|  |  |  | searchscope: 3, | 
|---|
|  |  |  | visitCount: 1, | 
|---|
|  |  |  | scopetype: [], | 
|---|
|  |  |  | leaveldeptcodes: [], | 
|---|
|  |  |  | leavehospitaldistrictcodes: [], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | orgname: "", | 
|---|
|  |  |  | propss: { multiple: true }, | 
|---|
|  |  |  | options: [], | 
|---|
|  |  |  |  | 
|---|
|  |  |  | topicoptions: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: null, | 
|---|
|  |  |  | label: "全部", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "表单已领取", | 
|---|
|  |  |  | 
|---|
|  |  |  | label: "已完成", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | sextype: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "男", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 2, | 
|---|
|  |  |  | label: "女", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | topicoptionsyj: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | 
|---|
|  |  |  | label: "正常", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | 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: localStorage.getItem("YongHuID"), | 
|---|
|  |  |  | YongHuXM: localStorage.getItem("YongHuXM"), | 
|---|
|  |  |  | ZuZhiJGID: localStorage.getItem("orgid"), | 
|---|
|  |  |  | ZuZhiJGMC: localStorage.getItem("orgname"), | 
|---|
|  |  |  | idp: "lyra", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | amendtag: false, | 
|---|
|  |  |  | errtype: "", | 
|---|
|  |  |  | leavehospitaldistrictcode: "", | 
|---|
|  |  |  | serviceState: [], | 
|---|
|  |  |  | 
|---|
|  |  |  | this.serviceState = store.getters.serviceState; | 
|---|
|  |  |  | this.checkboxlist = store.getters.checkboxlist; | 
|---|
|  |  |  | this.errtype = this.$route.query.errtype; | 
|---|
|  |  |  | this.orgname = localStorage.getItem("orgname"); | 
|---|
|  |  |  | this.leavehospitaldistrictcode = | 
|---|
|  |  |  | this.$route.query.leavehospitaldistrictcode; | 
|---|
|  |  |  | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | this.getList(1); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | /** 查询影像随访服务列表 */ | 
|---|
|  |  |  | /** 查询随访服务列表 */ | 
|---|
|  |  |  | getList(refresh) { | 
|---|
|  |  |  | // 默认全部 | 
|---|
|  |  |  | if (this.topqueryParams.searchscope == 3) { | 
|---|
|  |  |  | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | this.topqueryParams.leavehospitaldistrictcodes = | 
|---|
|  |  |  | store.getters.belongWards.map((obj) => obj.districtCode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.endOut == 0) { | 
|---|
|  |  |  | this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS( | 
|---|
|  |  |  | this.getEndOfDay() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.topqueryParams.endSendDateTime = null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 接受异常跳转 | 
|---|
|  |  |  | if (this.errtype) { | 
|---|
|  |  |  | 
|---|
|  |  |  | if (refresh) { | 
|---|
|  |  |  | this.cardlist[0].value = | 
|---|
|  |  |  | Number(response.rows[0].wzx) + Number(response.rows[0].ysf); | 
|---|
|  |  |  | this.cardlist[1].value = response.rows[0].wzx; | 
|---|
|  |  |  | this.cardlist[2].value = response.rows[0].ysf; | 
|---|
|  |  |  | // this.cardlist[1].value = response.rows[0].wzx; | 
|---|
|  |  |  | this.cardlist[1].value = response.rows[0].ysf; | 
|---|
|  |  |  | this.ycvalue = response.rows[0].yc; | 
|---|
|  |  |  | this.cardlist[3].value = response.rows[0].fssb; | 
|---|
|  |  |  | this.cardlist[4].value = response.rows[0].dfs; | 
|---|
|  |  |  | this.cardlist[5].value = response.rows[0].yfs2; | 
|---|
|  |  |  | this.cardlist[2].value = response.rows[0].fssb; | 
|---|
|  |  |  | this.cardlist[3].value = response.rows[0].dsf; | 
|---|
|  |  |  | // this.cardlist[4].value = response.rows[0].yfs2; | 
|---|
|  |  |  | this.yfsvalue = response.rows[0].yfs; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.total = response.total; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 时间 | 
|---|
|  |  |  | getEndOfDay() { | 
|---|
|  |  |  | const date = new Date(); // 创建一个表示当前时间的Date对象 | 
|---|
|  |  |  | date.setHours(23, 59, 59, 0); // 将时间设置为23:59:59.000 | 
|---|
|  |  |  | return date; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | formatDateToYYYYMMDDHHMMSS(date) { | 
|---|
|  |  |  | const year = date.getFullYear(); | 
|---|
|  |  |  | const month = String(date.getMonth() + 1).padStart(2, "0"); // 月份补零 | 
|---|
|  |  |  | const day = String(date.getDate()).padStart(2, "0"); // 日期补零 | 
|---|
|  |  |  | const hours = String(date.getHours()).padStart(2, "0"); | 
|---|
|  |  |  | const minutes = String(date.getMinutes()).padStart(2, "0"); | 
|---|
|  |  |  | const seconds = String(date.getSeconds()).padStart(2, "0"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return `${year}-${month}-${day}`; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | affiliation() { | 
|---|
|  |  |  | this.topqueryParams.managementDoctorCode = store.getters.hisUserId; | 
|---|
|  |  |  | this.getList(1); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onthatday() { | 
|---|
|  |  |  | this.topqueryParams.startSendDateTime = this.getCurrentDate(); | 
|---|
|  |  |  | this.topqueryParams.endSendDateTime = this.getCurrentDate(); | 
|---|
|  |  |  | this.getList(1); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getCurrentDate() { | 
|---|
|  |  |  | const now = new Date(); | 
|---|
|  |  |  | return now.toISOString().slice(0, 10); // 截取前10个字符,即 YYYY-MM-DD | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | buidegetTasklist(type) { | 
|---|
|  |  |  | if (this.topqueryParams.searchscope == 3) { | 
|---|
|  |  |  | 
|---|
|  |  |  | this.cardlist[2].value = response.rows[0].ysf; | 
|---|
|  |  |  | this.ycvalue = response.rows[0].yc; | 
|---|
|  |  |  | this.cardlist[3].value = response.rows[0].fssb; | 
|---|
|  |  |  | this.cardlist[4].value = response.rows[0].dfs; | 
|---|
|  |  |  | this.cardlist[5].value = response.rows[0].yfs2; | 
|---|
|  |  |  | this.cardlist[4].value = response.rows[0].dsf; | 
|---|
|  |  |  | // this.cardlist[5].value = response.rows[0].yfs2; | 
|---|
|  |  |  | this.yfsvalue = response.rows[0].yfs; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | 
|---|
|  |  |  | row.status = row.status === "0" ? "1" : "0"; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 取消按钮 | 
|---|
|  |  |  | cancel() { | 
|---|
|  |  |  | this.addalteropen = false; | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 表单重置 | 
|---|
|  |  |  | reset() { | 
|---|
|  |  |  | this.form = { | 
|---|
|  |  |  | 
|---|
|  |  |  | let code = value.slice(-1)[0]; | 
|---|
|  |  |  | this.topqueryParams.leavehospitaldistrictcodes = []; | 
|---|
|  |  |  | this.topqueryParams.leaveldeptcodes = []; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (type == 1) { | 
|---|
|  |  |  | this.topqueryParams.leaveldeptcodes.push(code); | 
|---|
|  |  |  | this.topqueryParams.leavehospitaldistrictcodes = []; | 
|---|
|  |  |  | 
|---|
|  |  |  | this.topqueryParams = { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | serviceType: 2, | 
|---|
|  |  |  | sendstate: 2, | 
|---|
|  |  |  | searchscope: 2, | 
|---|
|  |  |  | sort: 2, | 
|---|
|  |  |  | sort: 2, //0 出院时间(正序)    1 出院时间(倒序)   2 发送时间(正序)    3 发送时间(倒序) | 
|---|
|  |  |  | serviceType: 2, | 
|---|
|  |  |  | searchscope: 3, | 
|---|
|  |  |  | visitCount: 1, | 
|---|
|  |  |  | scopetype: [], | 
|---|
|  |  |  | leaveldeptcodes: [], | 
|---|
|  |  |  | leavehospitaldistrictcodes: [], | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.handleQuery(1); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 多选框选中数据 | 
|---|
|  |  |  | handleSelectionChange(selection) { | 
|---|
|  |  |  | this.ids = selection.map((item) => item.userId); | 
|---|
|  |  |  | this.single = selection.length != 1; | 
|---|
|  |  |  | this.multiple = !selection.length; | 
|---|
|  |  |  | handleSelectionChange(rows) { | 
|---|
|  |  |  | this.selectedRows = rows.map((row) => { | 
|---|
|  |  |  | // 初始化评分字段 | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | ...row, | 
|---|
|  |  |  | authenticity: row.authenticity || 0, | 
|---|
|  |  |  | weekFinish: row.weekFinish || 0, | 
|---|
|  |  |  | standard: row.standard || 0, | 
|---|
|  |  |  | timeliness: row.timeliness || 0, | 
|---|
|  |  |  | library: row.library || 0, | 
|---|
|  |  |  | environment: row.environment || 0, | 
|---|
|  |  |  | doctorSatisfaction: row.doctorSatisfaction || 0, | 
|---|
|  |  |  | nurseSatisfaction: row.nurseSatisfaction || 0, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (this.selectedRows.length > 0) { | 
|---|
|  |  |  | this.multiple = false; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.multiple = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 计算总分 | 
|---|
|  |  |  | calculateTotal(row) { | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | (row.authenticity || 0) + | 
|---|
|  |  |  | (row.weekFinish || 0) + | 
|---|
|  |  |  | (row.standard || 0) + | 
|---|
|  |  |  | (row.timeliness || 0) + | 
|---|
|  |  |  | (row.library || 0) + | 
|---|
|  |  |  | (row.environment || 0) + | 
|---|
|  |  |  | (row.doctorSatisfaction || 0) + | 
|---|
|  |  |  | (row.nurseSatisfaction || 0) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 保存评分 | 
|---|
|  |  |  | saveScores() { | 
|---|
|  |  |  | this.selectedRows.forEach((item) => { | 
|---|
|  |  |  | item.createBy = null; | 
|---|
|  |  |  | item.patName = item.sendname; | 
|---|
|  |  |  | item.hospitaldistrictname = item.leavehospitaldistrictname; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | addsatisfaction(this.selectedRows).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$message.success("评分保存成功"); | 
|---|
|  |  |  | this.scoreDialogVisible = false; | 
|---|
|  |  |  | this.selectedRows = []; | 
|---|
|  |  |  | this.$refs.userform.clearSelection(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.$modal.msgWarning("评分保存失败"); | 
|---|
|  |  |  | this.scoreDialogVisible = false; | 
|---|
|  |  |  | this.selectedRows = []; | 
|---|
|  |  |  | this.$refs.userform.clearSelection(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // 这里可以添加保存逻辑,如调用API保存评分 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //删除选项 | 
|---|
|  |  |  | handleClose(tag) { | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //患者360跳转 | 
|---|
|  |  |  | gettoken360(sfzh, drcode, drname) { | 
|---|
|  |  |  | // this.$modal.msgWarning("360功能暂未开通"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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查询无结果"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** 重置密码按钮操作 */ | 
|---|
|  |  |  | handleResetPwd(row) { | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 取消按钮 | 
|---|
|  |  |  | cancel() { | 
|---|
|  |  |  | this.Labelchange = false; | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** 提交按钮 */ | 
|---|
|  |  |  | submitForm: function () { | 
|---|
|  |  |  | this.$refs["form"].validate((valid) => { | 
|---|
|  |  |  | if (valid) { | 
|---|
|  |  |  | if (this.form.userId != undefined) { | 
|---|
|  |  |  | updateUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("修改成功"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.form.isoperation = 2; | 
|---|
|  |  |  | this.form.notrequiredFlag = 1; | 
|---|
|  |  |  | alterpatient(this.form) | 
|---|
|  |  |  | .then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | this.getList(1); | 
|---|
|  |  |  | this.$modal.msgSuccess("患者过滤成功"); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | addUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("新增成功"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.getList(1); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | this.Labelchange = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | Seedetails(row) { | 
|---|
|  |  |  | let type = ""; | 
|---|
|  |  |  | console.log(row, "rwo"); | 
|---|
|  |  |  | if (row.preachformson) { | 
|---|
|  |  |  | if (row.preachformson.includes("3")) { | 
|---|
|  |  |  | if (row.type == 1) { | 
|---|
|  |  |  | type = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/followvisit/record/detailpage/", | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | 
|---|
|  |  |  | patid: row.patid, | 
|---|
|  |  |  | id: row.id, | 
|---|
|  |  |  | Voicetype: type, | 
|---|
|  |  |  | visitCount: this.topqueryParams.visitCount, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 再次随访 | 
|---|
|  |  |  | followupvisit(row) { | 
|---|
|  |  |  | this.zcform = row; | 
|---|
|  |  |  | this.zcform.endtime = this.formatTime(this.zcform.endtime); | 
|---|
|  |  |  | this.dialogFormVisible = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onSubmit() {}, | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 患者过滤触发 | 
|---|
|  |  |  | handleUpdate(row) { | 
|---|
|  |  |  | particularpatient(row.patid).then((response) => { | 
|---|
|  |  |  | this.form = response.data; | 
|---|
|  |  |  | this.form.filterDrname = store.getters.nickName; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.amendtag = true; | 
|---|
|  |  |  | this.Labelchange = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 便捷按钮 | 
|---|
|  |  |  | toleadExport(too) { | 
|---|
|  |  |  | if (too == 1) { | 
|---|
|  |  |  | 
|---|
|  |  |  | this.topqueryParams.pageNum = null; | 
|---|
|  |  |  | this.topqueryParams.pageSize = null; | 
|---|
|  |  |  | this.download( | 
|---|
|  |  |  | "smartor/serviceSubtask/export", | 
|---|
|  |  |  | "smartor/serviceSubtask/patItemExport", | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ...this.topqueryParams, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | tableRowClassName({ row, rowIndex }) { | 
|---|
|  |  |  | if (row.excep == 1) { | 
|---|
|  |  |  | return "warning-row"; | 
|---|
|  |  |  | } else if (row.excep == 2) { | 
|---|
|  |  |  | return "remind-row"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return ""; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | setupsubtask() { | 
|---|
|  |  |  | this.$refs["zcform"].validate((valid) => { | 
|---|
|  |  |  | if (valid) { | 
|---|
|  |  |  | this.zcform.remark = | 
|---|
|  |  |  | this.zcform.remark + "【" + this.getCurrentTime() + "】"; | 
|---|
|  |  |  | let form = structuredClone(this.zcform); | 
|---|
|  |  |  | form.longSendTime = this.formatTime(form.date1); | 
|---|
|  |  |  | form.finishtime = ''; | 
|---|
|  |  |  | form.finishtime = ""; | 
|---|
|  |  |  | if (form.resource) { | 
|---|
|  |  |  | if (form.resource == 2) { | 
|---|
|  |  |  | form.serviceType = 10; | 
|---|
|  |  |  | form.serviceType = 13; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.$modal.msgError("未选择随访方式"); | 
|---|
|  |  |  | 
|---|
|  |  |  | form.id = null; | 
|---|
|  |  |  | form.sendstate = 2; | 
|---|
|  |  |  | form.preachform = form.preachformson; | 
|---|
|  |  |  | form.longTask = 0; | 
|---|
|  |  |  | addserviceSubtask(form).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$modal.msgSuccess("创建成功"); | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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}`; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep.el-table .warning-row { | 
|---|
|  |  |  | background: #eec4c4; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep.el-table .remind-row { | 
|---|
|  |  |  | background: #fcf5aa; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .documentf { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep.leftvlue .el-card__body { | 
|---|
|  |  |  | background: #d0e9fd; | 
|---|
|  |  |  | background: #f2f8ff; | 
|---|
|  |  |  | color: #324a9b; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep.leftvlue .el-card__body:hover { | 
|---|
|  |  |  | background: #8dc8f8; | 
|---|
|  |  |  | background: #3664d9; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | cursor: pointer; /* 鼠标悬浮时变为手形 */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep.errleftvlue .el-card__body { | 
|---|
|  |  |  | 
|---|
|  |  |  | background: #d0fdd8; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep.ysfleftvlue .el-card__body:hover { | 
|---|
|  |  |  | background: #8df8a4; | 
|---|
|  |  |  | background: #0abc54; | 
|---|
|  |  |  | cursor: pointer; /* 鼠标悬浮时变为手形 */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-bb { | 
|---|
|  |  |  | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-zx { | 
|---|
|  |  |  | background: #4fabe9; | 
|---|
|  |  |  | background: #324a9b; | 
|---|
|  |  |  | padding: 5px; | 
|---|
|  |  |  | border-radius: 1px; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .purple-button { | 
|---|
|  |  |  | background-color: #7e22ce; | 
|---|
|  |  |  | border-color: #7e22ce; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .purple-button:hover, | 
|---|
|  |  |  | .purple-button:focus { | 
|---|
|  |  |  | background-color: #9333ea; | 
|---|
|  |  |  | border-color: #9333ea; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .purple-button:active { | 
|---|
|  |  |  | background-color: #6b21a8; | 
|---|
|  |  |  | border-color: #6b21a8; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-textxga { | 
|---|
|  |  |  | color: #de7897; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .purple-button.is-disabled { | 
|---|
|  |  |  | background-color: #d8b4fe; | 
|---|
|  |  |  | border-color: #d8b4fe; | 
|---|
|  |  |  | opacity: 1; /* 保持禁用状态透明度 */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 选项字体放大 | 
|---|
|  |  |  | // ::v-deep.el-checkbox-group { | 
|---|
|  |  |  | //   span { | 
|---|