|  |  | 
 |  |  |         v-show="showSearch" | 
 |  |  |         label-width="98px" | 
 |  |  |       > | 
 |  |  |         <el-form-item label="任务名称"> | 
 |  |  |           <el-input v-model="topqueryParams.name"></el-input> | 
 |  |  |         <el-form-item label="病区名称"> | 
 |  |  |           <el-input | 
 |  |  |             placeholder="请输入患者病区" | 
 |  |  |             v-model="topqueryParams.hospitaldistrictname" | 
 |  |  |           ></el-input> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item label="发起人"> | 
 |  |  |           <el-input v-model="topqueryParams.name"></el-input> | 
 |  |  |         <el-form-item label="科室名称"> | 
 |  |  |           <el-input | 
 |  |  |             placeholder="请输入患者科室" | 
 |  |  |             v-model="topqueryParams.deptname" | 
 |  |  |           ></el-input> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item label="发起时间"> | 
 |  |  |           <el-date-picker | 
 |  |  |             v-model="dateRange" | 
 |  |  |             style="width: 240px" | 
 |  |  |             value-format="yyyy-MM-dd" | 
 |  |  |             type="daterange" | 
 |  |  |             range-separator="-" | 
 |  |  |             start-placeholder="开始日期" | 
 |  |  |             end-placeholder="结束日期" | 
 |  |  |           ></el-date-picker> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item label="调查类型" prop="status"> | 
 |  |  |           <el-select v-model="topqueryParams.topic" placeholder="请选择"> | 
 |  |  |             <el-option | 
 |  |  |               v-for="item in topicoptions" | 
 |  |  |               :key="item.value" | 
 |  |  |               :label="item.label" | 
 |  |  |               :value="item.value" | 
 |  |  |             > | 
 |  |  |             </el-option> | 
 |  |  |           </el-select> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item label="调查状态" prop="status"> | 
 |  |  |           <el-select v-model="topqueryParams.topic" placeholder="请选择"> | 
 |  |  |             <el-option | 
 |  |  |               v-for="item in topicoptions" | 
 |  |  |               :key="item.value" | 
 |  |  |               :label="item.label" | 
 |  |  |               :value="item.value" | 
 |  |  |             > | 
 |  |  |             </el-option> | 
 |  |  |           </el-select> | 
 |  |  |         <el-form-item label="患者名称"> | 
 |  |  |           <el-input | 
 |  |  |             placeholder="请输入患者姓名" | 
 |  |  |             v-model="topqueryParams.patName" | 
 |  |  |           ></el-input> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item> | 
 |  |  |           <el-button | 
 |  |  | 
 |  |  |       <el-divider></el-divider> | 
 |  |  |       <el-row :gutter="10" class="mb8"> | 
 |  |  |         <el-col :span="1.5"> | 
 |  |  |           <el-select v-model="tasktopic" placeholder="请选择新增类型"> | 
 |  |  |             <el-option | 
 |  |  |               v-for="item in taskoptions" | 
 |  |  |               :key="item.value" | 
 |  |  |               :label="item.label" | 
 |  |  |               :value="item.value" | 
 |  |  |             > | 
 |  |  |             </el-option> | 
 |  |  |           </el-select> | 
 |  |  |         </el-col> | 
 |  |  |         <el-col :span="1.5"> | 
 |  |  |           <el-button | 
 |  |  |             type="primary" | 
 |  |  |             icon="el-icon-plus" | 
 |  |  |             size="medium" | 
 |  |  |             :disabled="!tasktopic" | 
 |  |  |             @click="handleAdd" | 
 |  |  |             >新增</el-button | 
 |  |  |           > | 
 |  |  |         </el-col> | 
 |  |  |         <el-col :span="1.5"> | 
 |  |  |           <el-button | 
 |  |  |             type="success" | 
 |  |  |             plain | 
 |  |  |             icon="el-icon-edit" | 
 |  |  |             size="medium" | 
 |  |  |             :disabled="single" | 
 |  |  |             @click="handleUpdate" | 
 |  |  |             v-hasPermi="['system:user:edit']" | 
 |  |  |             >修改</el-button | 
 |  |  |           > | 
 |  |  |         </el-col> | 
 |  |  |         <el-col :span="1.5"> | 
 |  |  |           <el-button | 
 |  |  |             type="danger" | 
 |  |  |             plain | 
 |  |  |             icon="el-icon-delete" | 
 |  |  |             size="medium" | 
 |  |  |             :disabled="multiple" | 
 |  |  |             @click="handleDelete" | 
 |  |  |             v-hasPermi="['system:user:remove']" | 
 |  |  |             >删除</el-button | 
 |  |  |           > | 
 |  |  |         </el-col> | 
 |  |  |         <el-col :span="1.5"> | 
 |  |  |           <div class="documentf"> | 
 |  |  |             <div class="document"> | 
 |  |  |               <el-button | 
 |  |  | 
 |  |  |                 icon="el-icon-download" | 
 |  |  |                 size="medium" | 
 |  |  |                 @click="handleExport" | 
 |  |  |                 v-hasPermi="['system:user:export']" | 
 |  |  |                 >导出</el-button | 
 |  |  |               > | 
 |  |  |             </div> | 
 |  |  | 
 |  |  |         @selection-change="handleSelectionChange" | 
 |  |  |       > | 
 |  |  |         <el-table-column type="selection" width="50" align="center" /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="序号" | 
 |  |  |           align="center" | 
 |  |  |           key="userId" | 
 |  |  |           prop="userId" | 
 |  |  |         /> | 
 |  |  |         <el-table-column label="编号" align="center" key="id" prop="id" /> | 
 |  |  |  | 
 |  |  |         <el-table-column | 
 |  |  |           label="住院编号" | 
 |  |  |           label="病区" | 
 |  |  |           align="center" | 
 |  |  |           sortable | 
 |  |  |           key="userName" | 
 |  |  |           prop="userName" | 
 |  |  |           width="120" | 
 |  |  |           key="hospitaldistrictname" | 
 |  |  |           prop="hospitaldistrictname" | 
 |  |  |           :show-overflow-tooltip="true" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="科室" | 
 |  |  |           width="120" | 
 |  |  |           align="center" | 
 |  |  |           key="deptname" | 
 |  |  |           prop="deptname" | 
 |  |  |           :show-overflow-tooltip="true" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="姓名" | 
 |  |  |           width="100" | 
 |  |  |           align="center" | 
 |  |  |           key="patName" | 
 |  |  |           prop="patName" | 
 |  |  |           width="120" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="联系电话" | 
 |  |  |           align="center" | 
 |  |  |           key="phone" | 
 |  |  |           prop="phone" | 
 |  |  |           width="150" | 
 |  |  |           show-overflow-tooltip | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="真实性(20)" | 
 |  |  |           align="center" | 
 |  |  |           key="authenticity" | 
 |  |  |           prop="authenticity" | 
 |  |  |           sortable | 
 |  |  |           key="userName" | 
 |  |  |           prop="userName" | 
 |  |  |           :show-overflow-tooltip="true" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="年龄" | 
 |  |  |           align="center" | 
 |  |  |           key="age" | 
 |  |  |           prop="age" | 
 |  |  |           width="120" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="调查模板" | 
 |  |  |           align="center" | 
 |  |  |           key="types" | 
 |  |  |           prop="types" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="调查类型" | 
 |  |  |           align="center" | 
 |  |  |           key="types" | 
 |  |  |           prop="types" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="调查内容" | 
 |  |  |           align="center" | 
 |  |  |           key="nickName" | 
 |  |  |           prop="nickName" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="住院病区" | 
 |  |  |           align="center" | 
 |  |  |           key="nickName" | 
 |  |  |           prop="nickName" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="床号" | 
 |  |  |           align="center" | 
 |  |  |           key="nickName" | 
 |  |  |           prop="nickName" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="主治医生" | 
 |  |  |           align="center" | 
 |  |  |           key="nickName" | 
 |  |  |           prop="nickName" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="管床护士" | 
 |  |  |           align="center" | 
 |  |  |           key="nickName" | 
 |  |  |           prop="nickName" | 
 |  |  |         /> | 
 |  |  |  | 
 |  |  |         <el-table-column | 
 |  |  |           label="执行状态" | 
 |  |  |           align="center" | 
 |  |  |           key="topicnumber" | 
 |  |  |           prop="topicnumber" | 
 |  |  |           width="120" | 
 |  |  |           :show-overflow-tooltip="true" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <div>执行完成/执行失败</div> | 
 |  |  |             <el-input-number | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               v-model="scope.row.authenticity" | 
 |  |  |               :min="0" | 
 |  |  |               :max="20" | 
 |  |  |               size="small" | 
 |  |  |               controls-position="right" | 
 |  |  |             /> | 
 |  |  |             <span v-else>{{ scope.row.authenticity }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           label="诊断" | 
 |  |  |           label="一周内完成(20)" | 
 |  |  |           align="center" | 
 |  |  |           key="topicnumberaa" | 
 |  |  |           prop="topicnumberaa" | 
 |  |  |           key="weekFinish" | 
 |  |  |           prop="weekFinish" | 
 |  |  |           sortable | 
 |  |  |           width="150" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <el-input-number | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               v-model="scope.row.weekFinish" | 
 |  |  |               :min="0" | 
 |  |  |               :max="20" | 
 |  |  |               size="small" | 
 |  |  |               controls-position="right" | 
 |  |  |             /> | 
 |  |  |             <span v-else>{{ scope.row.weekFinish }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           label="规范性(10)" | 
 |  |  |           align="center" | 
 |  |  |           key="standard" | 
 |  |  |           prop="standard" | 
 |  |  |           width="120" | 
 |  |  |           :show-overflow-tooltip="true" | 
 |  |  |         /> | 
 |  |  |           sortable | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <el-input-number | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               v-model="scope.row.standard" | 
 |  |  |               :min="0" | 
 |  |  |               :max="20" | 
 |  |  |               size="small" | 
 |  |  |               controls-position="right" | 
 |  |  |             /> | 
 |  |  |             <span v-else>{{ scope.row.standard }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           label="及时性(10)" | 
 |  |  |           align="center" | 
 |  |  |           key="timeliness" | 
 |  |  |           prop="timeliness" | 
 |  |  |           sortable | 
 |  |  |           width="150" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <el-input-number | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               v-model="scope.row.timeliness" | 
 |  |  |               :min="0" | 
 |  |  |               :max="20" | 
 |  |  |               size="small" | 
 |  |  |               controls-position="right" | 
 |  |  |             /> | 
 |  |  |             <span v-else>{{ scope.row.timeliness }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           label="宣教情况(10)" | 
 |  |  |           align="center" | 
 |  |  |           key="library" | 
 |  |  |           prop="library" | 
 |  |  |           sortable | 
 |  |  |           width="150" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <el-input-number | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               v-model="scope.row.library" | 
 |  |  |               :min="0" | 
 |  |  |               :max="20" | 
 |  |  |               size="small" | 
 |  |  |               controls-position="right" | 
 |  |  |             /> | 
 |  |  |             <span v-else>{{ scope.row.library }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           label="环境满意度(10)" | 
 |  |  |           align="center" | 
 |  |  |           key="environment" | 
 |  |  |           prop="environment" | 
 |  |  |           sortable | 
 |  |  |           width="150" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <el-input-number | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               v-model="scope.row.environment" | 
 |  |  |               :min="0" | 
 |  |  |               :max="20" | 
 |  |  |               size="small" | 
 |  |  |               controls-position="right" | 
 |  |  |             /> | 
 |  |  |             <span v-else>{{ scope.row.environment }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |  | 
 |  |  |         <el-table-column | 
 |  |  |           label="入院时间" | 
 |  |  |           sortable | 
 |  |  |           label="医生满意度(10)" | 
 |  |  |           align="center" | 
 |  |  |           key="doctorSatisfaction" | 
 |  |  |           prop="doctorSatisfaction" | 
 |  |  |           width="150" | 
 |  |  |           sortable | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <el-input-number | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               v-model="scope.row.doctorSatisfaction" | 
 |  |  |               :min="0" | 
 |  |  |               :max="20" | 
 |  |  |               size="small" | 
 |  |  |               controls-position="right" | 
 |  |  |             /> | 
 |  |  |             <span v-else>{{ scope.row.doctorSatisfaction }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           label="护士满意度(10)" | 
 |  |  |           align="center" | 
 |  |  |           key="nurseSatisfaction" | 
 |  |  |           prop="nurseSatisfaction" | 
 |  |  |           width="150" | 
 |  |  |           sortable | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <el-input-number | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               v-model="scope.row.nurseSatisfaction" | 
 |  |  |               :min="0" | 
 |  |  |               :max="20" | 
 |  |  |               size="small" | 
 |  |  |               controls-position="right" | 
 |  |  |             /> | 
 |  |  |             <span v-else>{{ scope.row.nurseSatisfaction }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           label="总分" | 
 |  |  |           fixed="right" | 
 |  |  |           align="center" | 
 |  |  |           key="total" | 
 |  |  |           prop="total" | 
 |  |  |           sortable | 
 |  |  |         > | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           label="完成日期" | 
 |  |  |           fixed="right" | 
 |  |  |           width="150" | 
 |  |  |           align="center" | 
 |  |  |           key="createTime" | 
 |  |  |           prop="createTime" | 
 |  |  |           width="160" | 
 |  |  |           sortable | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <span>{{ formatTime(scope.row.createTime) }}</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |  | 
 |  |  |         <el-table-column | 
 |  |  |           label="任务详情" | 
 |  |  |           label="操作" | 
 |  |  |           align="center" | 
 |  |  |           fixed="right" | 
 |  |  |           width="200" | 
 |  |  |           class-name="small-padding fixed-width" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <el-button | 
 |  |  |               v-if="!scope.row.editing" | 
 |  |  |               size="medium" | 
 |  |  |               type="text" | 
 |  |  |               @click="handleUpdate(scope.row)" | 
 |  |  |               v-hasPermi="['system:user:edit']" | 
 |  |  |               ><span class="button-xq" | 
 |  |  |                 ><i class="el-icon-s-data"></i>详情</span | 
 |  |  |               ></el-button | 
 |  |  |             > | 
 |  |  |             <el-button | 
 |  |  |               size="medium" | 
 |  |  |               type="text" | 
 |  |  |               @click="handleUpdate(scope.row)" | 
 |  |  |               v-hasPermi="['system:user:edit']" | 
 |  |  |               ><span class="button-bb" | 
 |  |  |                 ><i class="el-icon-s-order"></i>报表</span | 
 |  |  |               ></el-button | 
 |  |  |             > | 
 |  |  |             <el-button | 
 |  |  |               size="medium" | 
 |  |  |               type="text" | 
 |  |  |               @click="handleUpdate(scope.row)" | 
 |  |  |               v-hasPermi="['system:user:edit']" | 
 |  |  |               ><span class="button-sc" | 
 |  |  |               @click="handleDelete(scope.row)" | 
 |  |  |               ><span class="button-zx" | 
 |  |  |                 ><i class="el-icon-delete"></i>删除</span | 
 |  |  |               ></el-button | 
 |  |  |             > | 
 |  |  |             <el-button | 
 |  |  |               size="medium" | 
 |  |  |               type="text" | 
 |  |  |               @click="toggleEdit(scope.row, scope.$index)" | 
 |  |  |             > | 
 |  |  |               <span class="button-textxga"> | 
 |  |  |                 <i | 
 |  |  |                   :class="scope.row.editing ? 'el-icon-check' : 'el-icon-edit'" | 
 |  |  |                 ></i> | 
 |  |  |                 {{ scope.row.editing ? "保存" : "编辑" }} | 
 |  |  |               </span> | 
 |  |  |             </el-button> | 
 |  |  |             <el-button | 
 |  |  |               v-if="scope.row.editing" | 
 |  |  |               size="medium" | 
 |  |  |               type="text" | 
 |  |  |               @click="handleCancel(scope.row, scope.$index)" | 
 |  |  |               >取消</el-button | 
 |  |  |             > | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  | 
 |  |  |         @pagination="getList" | 
 |  |  |       /> | 
 |  |  |     </el-row> | 
 |  |  |     <!-- 添加或修改影像随访对话框 --> | 
 |  |  |     <el-dialog | 
 |  |  |       :title="title" | 
 |  |  |       :visible.sync="addalteropen" | 
 |  |  |       width="700px" | 
 |  |  |       append-to-body | 
 |  |  |     > | 
 |  |  |       <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-select> | 
 |  |  |             </el-form-item> | 
 |  |  |           </el-col> | 
 |  |  |         </el-row> | 
 |  |  |         <el-row :gutter="20"> | 
 |  |  |           <el-col :span="24"> | 
 |  |  |             <el-form-item label="影像随访要求"> | 
 |  |  |               <el-input type="textarea" v-model="form.desc"></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> | 
 |  |  |       </div> | 
 |  |  |     </el-dialog> | 
 |  |  |   </div> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  | import { | 
 |  |  |   listUser, | 
 |  |  |   getUser, | 
 |  |  |   delUser, | 
 |  |  |   addUser, | 
 |  |  |   updateUser, | 
 |  |  |   resetUserPwd, | 
 |  |  |   listsatisfaction, | 
 |  |  |   delsatisfaction, | 
 |  |  |   updatesatisfaction, | 
 |  |  |   changeUserStatus, | 
 |  |  | } from "@/api/system/user"; | 
 |  |  | } from "@/api/AiCentre/index"; | 
 |  |  | import Treeselect from "@riophae/vue-treeselect"; | 
 |  |  | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; | 
 |  |  |  | 
 |  |  | 
 |  |  |       value: [], | 
 |  |  |       list: [], | 
 |  |  |       loading: false, | 
 |  |  |       states: [ | 
 |  |  |         "Alabama", | 
 |  |  |         "Alaska", | 
 |  |  |         "Arizona", | 
 |  |  |         "Arkansas", | 
 |  |  |         "California", | 
 |  |  |         "Colorado", | 
 |  |  |         "Connecticut", | 
 |  |  |         "Delaware", | 
 |  |  |         "Florida", | 
 |  |  |         "Georgia", | 
 |  |  |         "Hawaii", | 
 |  |  |         "Idaho", | 
 |  |  |         "Illinois", | 
 |  |  |         "Indiana", | 
 |  |  |         "Iowa", | 
 |  |  |         "Kansas", | 
 |  |  |         "Kentucky", | 
 |  |  |         "Louisiana", | 
 |  |  |         "Maine", | 
 |  |  |         "Maryland", | 
 |  |  |         "Massachusetts", | 
 |  |  |         "Michigan", | 
 |  |  |         "Minnesota", | 
 |  |  |         "Mississippi", | 
 |  |  |         "Missouri", | 
 |  |  |         "Montana", | 
 |  |  |         "Nebraska", | 
 |  |  |         "Nevada", | 
 |  |  |         "New Hampshire", | 
 |  |  |         "New Jersey", | 
 |  |  |         "New Mexico", | 
 |  |  |         "New York", | 
 |  |  |         "North Carolina", | 
 |  |  |         "North Dakota", | 
 |  |  |         "Ohio", | 
 |  |  |         "Oklahoma", | 
 |  |  |         "Oregon", | 
 |  |  |         "Pennsylvania", | 
 |  |  |         "Rhode Island", | 
 |  |  |         "South Carolina", | 
 |  |  |         "South Dakota", | 
 |  |  |         "Tennessee", | 
 |  |  |         "Texas", | 
 |  |  |         "Utah", | 
 |  |  |         "Vermont", | 
 |  |  |         "Virginia", | 
 |  |  |         "Washington", | 
 |  |  |         "West Virginia", | 
 |  |  |         "Wisconsin", | 
 |  |  |         "Wyoming", | 
 |  |  |       ], | 
 |  |  |       states: [], | 
 |  |  |       pickerOptions: { | 
 |  |  |         disabledDate(time) { | 
 |  |  |           return time.getTime() > Date.now(); | 
 |  |  | 
 |  |  |     /** 查询影像随访列表 */ | 
 |  |  |     getList() { | 
 |  |  |       this.loading = true; | 
 |  |  |       listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( | 
 |  |  |         (response) => { | 
 |  |  |           this.userList = response.rows; | 
 |  |  |           this.total = response.total; | 
 |  |  |           this.loading = false; | 
 |  |  |         } | 
 |  |  |       ); | 
 |  |  |       listsatisfaction(this.topqueryParams).then((response) => { | 
 |  |  |         this.userList = response.rows; | 
 |  |  |         this.total = response.total; | 
 |  |  |         this.loading = false; | 
 |  |  |       }); | 
 |  |  |     }, | 
 |  |  |     // 查看影像随访详情 | 
 |  |  |     Referencequestion(row) { | 
 |  |  | 
 |  |  |       } else { | 
 |  |  |         this.options = []; | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     // 影像随访状态修改 | 
 |  |  |     handleStatusChange(row) { | 
 |  |  |       let text = row.status === "0" ? "启用" : "停用"; | 
 |  |  |       this.$modal | 
 |  |  |         .confirm('确认要"' + text + '""' + row.userName + '"用户吗?') | 
 |  |  |         .then(function () { | 
 |  |  |           return changeUserStatus(row.userId, row.status); | 
 |  |  |         }) | 
 |  |  |         .then(() => { | 
 |  |  |           this.$modal.msgSuccess(text + "成功"); | 
 |  |  |         }) | 
 |  |  |         .catch(function () { | 
 |  |  |           row.status = row.status === "0" ? "1" : "0"; | 
 |  |  |         }); | 
 |  |  |     }, | 
 |  |  |     // 取消按钮 | 
 |  |  |     cancel() { | 
 |  |  | 
 |  |  |         path: "/Intelligentcenter/satisfaction/particulars", | 
 |  |  |         query: { type: this.tasktopic }, | 
 |  |  |       }); | 
 |  |  |       // getUser().then((response) => { | 
 |  |  |       //   this.postOptions = response.posts; | 
 |  |  |       //   this.roleOptions = response.roles; | 
 |  |  |       //   this.title = "新增影像随访"; | 
 |  |  |       //   this.form.password = this.initPassword; | 
 |  |  |       // }); | 
 |  |  |     }, | 
 |  |  |     /** 修改按钮操作 */ | 
 |  |  |     handleUpdate(row) { | 
 |  |  |       this.reset(); | 
 |  |  |       const userId = row.userId || this.ids; | 
 |  |  |       getUser(userId).then((response) => { | 
 |  |  |         this.form = response.data; | 
 |  |  |         this.postOptions = response.posts; | 
 |  |  |         this.roleOptions = response.roles; | 
 |  |  |         this.$set(this.form, "postIds", response.postIds); | 
 |  |  |         this.$set(this.form, "roleIds", response.roleIds); | 
 |  |  |         this.addalteropen = true; | 
 |  |  |         this.title = "修改用户"; | 
 |  |  |         this.form.password = ""; | 
 |  |  |       }); | 
 |  |  |     }, | 
 |  |  |     /** 重置密码按钮操作 */ | 
 |  |  |     handleResetPwd(row) { | 
 |  |  |       this.$prompt('请输入"' + row.userName + '"的新密码', "提示", { | 
 |  |  |         confirmButtonText: "确定", | 
 |  |  |         cancelButtonText: "取消", | 
 |  |  |         closeOnClickModal: false, | 
 |  |  |         inputPattern: /^.{5,20}$/, | 
 |  |  |         inputErrorMessage: "用户密码长度必须介于 5 和 20 之间", | 
 |  |  |       }) | 
 |  |  |         .then(({ value }) => { | 
 |  |  |           resetUserPwd(row.userId, value).then((response) => { | 
 |  |  |             this.$modal.msgSuccess("修改成功,新密码是:" + value); | 
 |  |  |     toggleEdit(row, index) { | 
 |  |  |       if (row.editing) { | 
 |  |  |         // 保存逻辑 | 
 |  |  |         updatesatisfaction(row).then((response) => { | 
 |  |  |           this.$modal.msgSuccess("修改成功"); | 
 |  |  |           this.$set(this.userList, index, { | 
 |  |  |             ...row, | 
 |  |  |             editing: false, | 
 |  |  |             // 计算总分 | 
 |  |  |             total: this.calculateTotal(row), | 
 |  |  |           }); | 
 |  |  |         }) | 
 |  |  |         .catch(() => {}); | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         // 这里可以添加API调用保存数据 | 
 |  |  |       } else { | 
 |  |  |         // 进入编辑模式 | 
 |  |  |         this.$set(this.userList, index, { | 
 |  |  |           ...row, | 
 |  |  |           editing: true, | 
 |  |  |           // 保存原始数据用于可能的取消操作 | 
 |  |  |           originalData: { ...row }, | 
 |  |  |         }); | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     handleCancel(row, index) { | 
 |  |  |       this.$set(this.userList, index, row.originalData); | 
 |  |  |     }, | 
 |  |  |     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) | 
 |  |  |       ); | 
 |  |  |     }, | 
 |  |  |  | 
 |  |  |     /** 提交按钮 */ | 
 |  |  | 
 |  |  |       this.$refs["form"].validate((valid) => { | 
 |  |  |         if (valid) { | 
 |  |  |           if (this.form.userId != undefined) { | 
 |  |  |             updateUser(this.form).then((response) => { | 
 |  |  |             updatesatisfaction(this.form).then((response) => { | 
 |  |  |               this.$modal.msgSuccess("修改成功"); | 
 |  |  |               this.open = false; | 
 |  |  |               this.getList(); | 
 |  |  |             }); | 
 |  |  |           } else { | 
 |  |  |             addUser(this.form).then((response) => { | 
 |  |  |               this.$modal.msgSuccess("新增成功"); | 
 |  |  |               this.open = false; | 
 |  |  |               this.getList(); | 
 |  |  |             }); | 
 |  |  | 
 |  |  |     }, | 
 |  |  |     /** 删除按钮操作 */ | 
 |  |  |     handleDelete(row) { | 
 |  |  |       const userIds = row.userId || this.ids; | 
 |  |  |       const userIds = row.id || this.ids; | 
 |  |  |       this.$modal | 
 |  |  |         .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?') | 
 |  |  |         .confirm('是否确认删除用户编号为"' + row.patName + '"的数据项?') | 
 |  |  |         .then(function () { | 
 |  |  |           return delUser(userIds); | 
 |  |  |           return delsatisfaction(userIds); | 
 |  |  |         }) | 
 |  |  |         .then(() => { | 
 |  |  |           this.getList(); | 
 |  |  | 
 |  |  |     /** 导出按钮操作 */ | 
 |  |  |     handleExport() { | 
 |  |  |       this.download( | 
 |  |  |         "system/user/export", | 
 |  |  |         "smartor/satisfaction/export", | 
 |  |  |         { | 
 |  |  |           ...this.topqueryParams, | 
 |  |  |         }, | 
 |  |  | 
 |  |  |   font-weight: 500; | 
 |  |  |   color: #dd302a; | 
 |  |  | } | 
 |  |  | // .button-zx { | 
 |  |  | //   background: #e94f4f; | 
 |  |  | //   padding: 5px; | 
 |  |  | //   border-radius: 1px; | 
 |  |  | //   color: #ffffff; | 
 |  |  | // } | 
 |  |  | .el-table .cell .el-input-number { | 
 |  |  |   width: 100%; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | /* 按钮样式 */ | 
 |  |  | .button-zx { | 
 |  |  |   background: #4fabe9; | 
 |  |  |   padding: 5px; | 
 |  |  |   border-radius: 1px; | 
 |  |  |   color: #ffffff; | 
 |  |  |   color: #f56c6c; | 
 |  |  | } | 
 |  |  | .button-textxga { | 
 |  |  |   color: #409eff; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | ::v-deep.el-radio-group { |