| | |
| | | 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 |
| | |
| | | @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)" |
| | |
| | | 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="120" |
| | | /> |
| | | 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="120" |
| | | /> |
| | | 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="120" |
| | | /> |
| | | 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="120" |
| | | /> |
| | | 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="120" |
| | | 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="120" |
| | | 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); |
| | | }) |
| | |
| | | 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 { |