| | |
| | | name: "待发送", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "已发送未领取", |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dsf; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | </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" |
| | |
| | | prop="suggest" |
| | | width="120" |
| | | > |
| | | |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.sys_suggest" |
| | |
| | | @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="amendtag ? '修改患者信息' : '新增患者'" |
| | |
| | | buidegetTasklist, |
| | | addserviceSubtask, |
| | | query360PatInfo, |
| | | addsatisfaction, |
| | | } from "@/api/AiCentre/index"; |
| | | import { alterpatient, particularpatient } from "@/api/patient/homepage"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | |
| | | radios: [], |
| | | previewtype: 2, //预览影像随访类型 |
| | | total: 0, // 总条数 |
| | | ImportQuantity: 999, //导影像随访数量 |
| | | //预览影像随访信息 |
| | | previewvalue: { |
| | | username: "这个医生对你怎么样", |
| | | }, |
| | | // 满意度调查数据 |
| | | scoreDialogVisible: false, |
| | | selectedRows: [], |
| | | |
| | | value: [], |
| | | list: [], |
| | | |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | sendstate: 2, |
| | | sort: 2, //0 出院时间(正序) 1 出院时间(倒序) 2 发送时间(正序) 3 发送时间(倒序) |
| | | serviceType: 2, |
| | | searchscope: 3,visitCount: 1, |
| | | searchscope: 3, |
| | | visitCount: 1, |
| | | scopetype: [], |
| | | leaveldeptcodes: [], |
| | | leavehospitaldistrictcodes: [], |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dsf; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | }; |
| | | 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; |
| | | } else { |
| | | this.$modal.msgWarning("评分保存失败"); |
| | | this.scoreDialogVisible = false; |
| | | } |
| | | }); |
| | | // 这里可以添加保存逻辑,如调用API保存评分 |
| | | }, |
| | | //删除选项 |
| | | handleClose(tag) { |
| | |
| | | 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; |
| | | } |
| | | |
| | | .purple-button.is-disabled { |
| | | background-color: #d8b4fe; |
| | | border-color: #d8b4fe; |
| | | opacity: 1; /* 保持禁用状态透明度 */ |
| | | } |
| | | // 选项字体放大 |
| | | // ::v-deep.el-checkbox-group { |
| | | // span { |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dsf; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dsf; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | 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-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 |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="序号" |
| | | align="center" |
| | | key="id" |
| | | prop="id" |
| | | /> |
| | | <el-table-column label="编号" align="center" key="id" prop="id" /> |
| | | |
| | | <el-table-column |
| | | label="病区" |
| | | align="center" |
| | | sortable |
| | | width="120" |
| | | key="hospitaldistrictname" |
| | | prop="hospitaldistrictname" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="科室" |
| | | width="100" |
| | | width="120" |
| | | align="center" |
| | | sortable |
| | | key="deptname" |
| | | prop="deptname" |
| | | :show-overflow-tooltip="true" |
| | |
| | | <el-table-column |
| | | label="姓名" |
| | | align="center" |
| | | key="age" |
| | | prop="age" |
| | | key="patName" |
| | | prop="patName" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | |
| | | align="center" |
| | | key="phone" |
| | | prop="phone" |
| | | width="150" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="真实性(20)" |
| | | align="center" |
| | | key="authenticity" |
| | | prop="authenticity" |
| | | /> |
| | | sortable |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <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="一周内完成(20)" |
| | | align="center" |
| | | 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" |
| | | 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="医生满意度(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="操作" |
| | | 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="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> |
| | | </el-table> |
| | | |
| | | <pagination |
| | |
| | | @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> |
| | | |
| | |
| | | value: [], |
| | | list: [], |
| | | loading: false, |
| | | states: [ |
| | | ], |
| | | states: [], |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | | return time.getTime() > Date.now(); |
| | |
| | | /** 查询影像随访列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listsatisfaction(this.topqueryParams).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) { |
| | |
| | | path: "/Intelligentcenter/satisfaction/particulars", |
| | | query: { type: this.tasktopic }, |
| | | }); |
| | | |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const userId = row.userId || this.ids; |
| | | 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), |
| | | }); |
| | | }); |
| | | |
| | | // 这里可以添加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) |
| | | ); |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const userIds = row.userId || this.ids; |
| | | const userIds = row.id || this.ids; |
| | | this.$modal |
| | | .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?') |
| | | .confirm('是否确认删除用户编号为"' + row.patName + '"的数据项?') |
| | | .then(function () { |
| | | return delsatisfaction(userIds); |
| | | }) |
| | |
| | | /** 导出按钮操作 */ |
| | | 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 { |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dsf; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dsf; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | patientqueryParams: { |
| | | pageNum: 1, // |
| | | pageSize: 10, |
| | | topica: 1, //0全部1科室2病区 |
| | | leavehospitaldistrictcodes: [], |
| | | leaveldeptcodes: [], |
| | | }, |
| | |
| | | }, |
| | | taskoptions: [ |
| | | { |
| | | value: "1", |
| | | value: "4", |
| | | label: "出院病人", |
| | | }, |
| | | { |
| | | value: "4", |
| | | value: "1", |
| | | label: "在院病人", |
| | | }, |
| | | { |
| | |
| | | this.overallCase.forEach((item) => { |
| | | this.allpids.push(item.patid); |
| | | }); |
| | | if ( |
| | | this.patientqueryParams.allhosp == 1 || |
| | | (this.patientqueryParams.allhosp == 1 && |
| | | this.patientqueryParams.cry == 1) |
| | | ) { |
| | | if (this.patientqueryParams.allhosp == 4) { |
| | | this.tableLabelhz = [ |
| | | // { label: "入院日期", width: "170", prop: "starttime" }, |
| | | { label: "出院日期", width: "150", prop: "endtime" }, |
| | |
| | | { label: "科室", width: "180", prop: "dept" }, |
| | | { label: "病区", width: "150", prop: "leavehospitaldistrictname" }, |
| | | ]; |
| | | } else if (this.patientqueryParams.allhosp == 4) { |
| | | } else if (this.patientqueryParams.allhosp == 1) { |
| | | this.tableLabelhz = [ |
| | | { label: "入院日期", width: "150", prop: "starttime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | |
| | | } else { |
| | | this.patientqueryParams.pids = null; |
| | | } |
| | | // 类型判断 |
| | | if (this.patientqueryParams.allhosp == 1) { |
| | | this.patientqueryParams.cry = 1; |
| | | } else if (this.patientqueryParams.allhosp == 4) { |
| | | this.patientqueryParams.cry = 0; |
| | | this.patientqueryParams.allhosp = "1"; |
| | | } |
| | | // 来源判断 |
| | | |
| | | if (this.patientqueryParams.searchscope == 1) { |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | if (this.patientqueryParams.allhosp == 4) { |
| | | this.patientqueryParams.hospitaldistrictcodes = []; |
| | | this.patientqueryParams.deptcodes = []; |
| | | } else if (this.patientqueryParams.allhosp == 1) { |
| | | this.patientqueryParams.deptcodes = |
| | | this.patientqueryParams.leaveldeptcodes; |
| | | this.patientqueryParams.hospitaldistrictcodes = |
| | | this.patientqueryParams.leavehospitaldistrictcodes; |
| | | this.patientqueryParams.leavehospitaldistrictcodes = []; |
| | | } else if (this.patientqueryParams.searchscope == 2) { |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | this.patientqueryParams.leaveldeptcodes = []; |
| | | } else { |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | getTaskpatientQC(this.patientqueryParams).then((response) => { |
| | | this.patientuserList = response.rows; |
| | |
| | | getList() {}, |
| | | handleQuery() { |
| | | // 获取外部患者 |
| | | console.log(this.patientqueryParams.allhosp, "aaalll"); |
| | | |
| | | if (this.patientqueryParams.allhosp == 6) { |
| | | this.Externallist(); |
| | |
| | | |
| | | return; |
| | | } |
| | | if (this.patientqueryParams.topica == 0) { |
| | | if (this.patientqueryParams.searchscope == 1) { |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.patientqueryParams.leavehospitaldistrictcodes = []; |
| | | } else if (this.patientqueryParams.searchscope == 2) { |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.leavehospitaldistrictcodes; |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; |
| | | } else if (this.patientqueryParams.topica == 1) { |
| | | this.patientqueryParams.leavehospitaldistrictcodes = null; |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; |
| | | } else if (this.patientqueryParams.topica == 2) { |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | this.patientqueryParams.leaveldeptcodes = []; |
| | | } else { |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.leavehospitaldistrictcodes; |
| | | this.patientqueryParams.leaveldeptcodes = null; |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | |
| | | if ( |
| | | !this.patientqueryParams.leavehospitaldistrictcodes || |
| | | !this.patientqueryParams.leavehospitaldistrictcodes[0] |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | 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.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |