|
@@ -47,30 +47,49 @@
|
|
</el-form>
|
|
</el-form>
|
|
<el-table :data="tableData" style="width: 100%">
|
|
<el-table :data="tableData" style="width: 100%">
|
|
<el-table-column prop="name" label="名称" show-overflow-tooltip></el-table-column>
|
|
<el-table-column prop="name" label="名称" show-overflow-tooltip></el-table-column>
|
|
- <el-table-column prop="time" label="日期" width="200"></el-table-column>
|
|
|
|
- <el-table-column prop="" label="数据" width="200">
|
|
|
|
|
|
+ <el-table-column prop="time" label="日期" width="120" align="center"></el-table-column>
|
|
|
|
+ <el-table-column prop="" :label="cloumn1" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span v-if="ruleId > 100" class="link" :class="{'pointer': scope.row.source !== '人工录入'}" @click="toCaseIndexPage(scope.row)">{{ scope.row[judgeNum] }}</span>
|
|
|
|
|
|
+ <span v-if="[11,12,13].includes(ruleId)">{{ scope.row.res }}</span>
|
|
<span v-else>{{ (scope.row.res * 100).toFixed(2) + '%' }}</span>
|
|
<span v-else>{{ (scope.row.res * 100).toFixed(2) + '%' }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="" label="来源" width="200">
|
|
|
|
|
|
+ <!-- <el-table-column prop="denominator" :label="cloumn3" align="center"></el-table-column> -->
|
|
|
|
+ <el-table-column align="center">
|
|
|
|
+ <template slot="header" slot-scope="scope">
|
|
|
|
+ <span>{{ cloumn3 }}</span>
|
|
|
|
+ <i class="el-icon-edit table_edit" v-if="scope._self.tableData[0].source === '人工录入' && scope._self.judgeEdit" @click="onChangeValue"></i>
|
|
|
|
+ </template>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span :class="{'green': scope.row.source === '人工录入' }">{{ scope.row.source }}</span>
|
|
|
|
|
|
+ <!-- 全年不可修改 -->
|
|
|
|
+ <!-- 非人工录入不可修改 -->
|
|
|
|
+ <!-- 菜单未标记的不可修改 -->
|
|
|
|
+ <div>
|
|
|
|
+ <el-button type="text" v-if="scope.row.source !== '人工录入'" class="pointer link" @click="toCaseIndexPage(scope.row, 'denominator')">{{ scope.row.denominator }}</el-button>
|
|
|
|
+ <span v-else>{{ scope.row.denominator }}</span>
|
|
|
|
+ <i class="el-icon-edit table_edit" style="margin-left: 10px;" @click="onChangeValue(scope.row, 'denominator')" v-show="scope.row.source === '人工录入' && scope.row.time !== '全年'"></i>
|
|
|
|
+ </div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <!-- 同一个tableData 不会存在 多个来源 -->
|
|
|
|
- <el-table-column v-if="tableData.length && tableData[0].source === '人工录入'" prop="" label="操作" width="120">
|
|
|
|
|
|
+ <el-table-column align="center">
|
|
<template slot="header" slot-scope="scope">
|
|
<template slot="header" slot-scope="scope">
|
|
- <span>操作</span>
|
|
|
|
- <i class="el-icon-edit table_edit" v-if="scope._self.judgeEdit" @click="onChangeValue"></i>
|
|
|
|
|
|
+ <span>{{ cloumn2 }}</span>
|
|
|
|
+ <i class="el-icon-edit table_edit" v-if="scope._self.tableData[0].source === '人工录入' && scope._self.judgeEdit" @click="onChangeValue"></i>
|
|
</template>
|
|
</template>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<!-- 全年不可修改 -->
|
|
<!-- 全年不可修改 -->
|
|
<!-- 非人工录入不可修改 -->
|
|
<!-- 非人工录入不可修改 -->
|
|
<!-- 菜单未标记的不可修改 -->
|
|
<!-- 菜单未标记的不可修改 -->
|
|
- <el-button type="text" @click="onChangeValue(scope.row)" v-if="scope.row.source === '人工录入' && scope.row.time !== '全年'">修改</el-button>
|
|
|
|
- <span v-else>--</span>
|
|
|
|
|
|
+ <div>
|
|
|
|
+ <el-button type="text" v-if="scope.row.source !== '人工录入'" class="pointer link" @click="toCaseIndexPage(scope.row, 'numerator')">{{ scope.row.numerator }}</el-button>
|
|
|
|
+ <span v-else>{{ scope.row.numerator }}</span>
|
|
|
|
+ <i class="el-icon-edit table_edit" style="margin-left: 10px;" @click="onChangeValue(scope.row, 'numerator')" v-show="scope.row.source === '人工录入' && scope.row.time !== '全年'"></i>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="" label="来源" width="120" align="center">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span :class="{'green': scope.row.source === '人工录入' }">{{ scope.row.source }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -328,120 +347,120 @@ export default {
|
|
],
|
|
],
|
|
cloumnTexts: {
|
|
cloumnTexts: {
|
|
11: {
|
|
11: {
|
|
- fenzi: '出院患者病历总数',
|
|
|
|
- fenmu: '同期住院病案管理人员实际工作总月数'
|
|
|
|
|
|
+ numerator: '出院患者病历总数',
|
|
|
|
+ denominator: '同期住院病案管理人员实际工作总月数'
|
|
},
|
|
},
|
|
12: {
|
|
12: {
|
|
- fenzi: '门诊患者病历总数',
|
|
|
|
- fenmu: '同期门诊病案管理人员实际工作总月数'
|
|
|
|
|
|
+ numerator: '门诊患者病历总数',
|
|
|
|
+ denominator: '同期门诊病案管理人员实际工作总月数'
|
|
},
|
|
},
|
|
13: {
|
|
13: {
|
|
- fenzi: '出院患者病历总数',
|
|
|
|
- fenmu: '同期病案编码人员实际工作总月数'
|
|
|
|
|
|
+ numerator: '出院患者病历总数',
|
|
|
|
+ denominator: '同期病案编码人员实际工作总月数'
|
|
},
|
|
},
|
|
21: {
|
|
21: {
|
|
- fenzi: '入院记录在患者入院24小时内完成的住院患者病历数',
|
|
|
|
- fenmu: '同期住院患者病历总数'
|
|
|
|
|
|
+ numerator: '入院记录在患者入院24小时内完成的住院患者病历数',
|
|
|
|
+ denominator: '同期住院患者病历总数'
|
|
},
|
|
},
|
|
22: {
|
|
22: {
|
|
- fenzi: '手术记录在术后24小时内完成的住院患者病历数',
|
|
|
|
- fenmu: '同期住院手术患者病历总数'
|
|
|
|
|
|
+ numerator: '手术记录在术后24小时内完成的住院患者病历数',
|
|
|
|
+ denominator: '同期住院手术患者病历总数'
|
|
},
|
|
},
|
|
23: {
|
|
23: {
|
|
- fenzi: '出院记录在患者出院后24小时内完成的病历数',
|
|
|
|
- fenmu: '同期出院患者病历总数'
|
|
|
|
|
|
+ numerator: '出院记录在患者出院后24小时内完成的病历数',
|
|
|
|
+ denominator: '同期出院患者病历总数'
|
|
},
|
|
},
|
|
24: {
|
|
24: {
|
|
- fenzi: '病案首页在患者出院后24小时内完成的病历数',
|
|
|
|
- fenmu: '同期出院患者病历总数'
|
|
|
|
|
|
+ numerator: '病案首页在患者出院后24小时内完成的病历数',
|
|
|
|
+ denominator: '同期出院患者病历总数'
|
|
},
|
|
},
|
|
31: {
|
|
31: {
|
|
- fenzi: 'CT/MRI检查医嘱、报告单、病程记录相对应的住院病历数',
|
|
|
|
- fenmu: '同期接受CT,MRI检查的住院病历总数'
|
|
|
|
|
|
+ numerator: 'CT/MRI检查医嘱、报告单、病程记录相对应的住院病历数',
|
|
|
|
+ denominator: '同期接受CT,MRI检查的住院病历总数'
|
|
},
|
|
},
|
|
32: {
|
|
32: {
|
|
- fenzi: '手术记录、病理检查报告单、病程记录相对应的住院患者病历数',
|
|
|
|
- fenmu: '同期开展病理检查的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '手术记录、病理检查报告单、病程记录相对应的住院患者病历数',
|
|
|
|
+ denominator: '同期开展病理检查的住院患者病历总数'
|
|
},
|
|
},
|
|
33: {
|
|
33: {
|
|
- fenzi: '细菌培养检查的医嘱、报告单、病程记录相对应的住院患者病历数',
|
|
|
|
- fenmu: '同期开展细菌培养检查的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '细菌培养检查的医嘱、报告单、病程记录相对应的住院患者病历数',
|
|
|
|
+ denominator: '同期开展细菌培养检查的住院患者病历总数'
|
|
},
|
|
},
|
|
34: {
|
|
34: {
|
|
- fenzi: '细菌培养检查的医嘱、报告单、病程记录相对应的住院患者病历数',
|
|
|
|
- fenmu: '同期开展细菌培养检查的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '细菌培养检查的医嘱、报告单、病程记录相对应的住院患者病历数',
|
|
|
|
+ denominator: '同期开展细菌培养检查的住院患者病历总数'
|
|
},
|
|
},
|
|
41: {
|
|
41: {
|
|
- fenzi: '抗菌药物使用医嘱、病程记录相对应的住院患者病历数',
|
|
|
|
- fenmu: '同期使用抗菌药物的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '抗菌药物使用医嘱、病程记录相对应的住院患者病历数',
|
|
|
|
+ denominator: '同期使用抗菌药物的住院患者病历总数'
|
|
},
|
|
},
|
|
42: {
|
|
42: {
|
|
- fenzi: '恶性肿瘤化学治疗医嘱、病程记录相对应的住院患者病历数',
|
|
|
|
- fenmu: '同期接受恶性肿瘤化学治疗的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '恶性肿瘤化学治疗医嘱、病程记录相对应的住院患者病历数',
|
|
|
|
+ denominator: '同期接受恶性肿瘤化学治疗的住院患者病历总数'
|
|
},
|
|
},
|
|
43: {
|
|
43: {
|
|
- fenzi: '恶性肿瘤放射治疗医嘱(治疗单) 、病程记录相对应的住院患者病历数',
|
|
|
|
- fenmu: '同期开展恶性肿瘤放射治疗的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '恶性肿瘤放射治疗医嘱(治疗单) 、病程记录相对应的住院患者病历数',
|
|
|
|
+ denominator: '同期开展恶性肿瘤放射治疗的住院患者病历总数'
|
|
},
|
|
},
|
|
44: {
|
|
44: {
|
|
- fenzi: '手术相关记录完整的住院手术患者病历数',
|
|
|
|
- fenmu: '同期住院手术患者病历总数'
|
|
|
|
|
|
+ numerator: '手术相关记录完整的住院手术患者病历数',
|
|
|
|
+ denominator: '同期住院手术患者病历总数'
|
|
},
|
|
},
|
|
45: {
|
|
45: {
|
|
- fenzi: '植入物相关记录符合的住院患者病历数',
|
|
|
|
- fenmu: '同期使用植入物的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '植入物相关记录符合的住院患者病历数',
|
|
|
|
+ denominator: '同期使用植入物的住院患者病历总数'
|
|
},
|
|
},
|
|
46: {
|
|
46: {
|
|
- fenzi: '临床用血相关记录符合的住院患者病历数',
|
|
|
|
- fenmu: '同期存在临床用血的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '临床用血相关记录符合的住院患者病历数',
|
|
|
|
+ denominator: '同期存在临床用血的住院患者病历总数'
|
|
},
|
|
},
|
|
47: {
|
|
47: {
|
|
- fenzi: '医师查房记录完整的住院患者病历数',
|
|
|
|
- fenmu: '同期住院患者病历总数'
|
|
|
|
|
|
+ numerator: '医师查房记录完整的住院患者病历数',
|
|
|
|
+ denominator: '同期住院患者病历总数'
|
|
},
|
|
},
|
|
48: {
|
|
48: {
|
|
- fenzi: '抢救记录及时完成的住院患者病历数',
|
|
|
|
- fenmu: '同期接受抢救的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '抢救记录及时完成的住院患者病历数',
|
|
|
|
+ denominator: '同期接受抢救的住院患者病历总数'
|
|
},
|
|
},
|
|
49: {
|
|
49: {
|
|
- fenzi: '抢救成功患者病历数',
|
|
|
|
- fenmu: '同期接受抢救的住院患者病历总数'
|
|
|
|
|
|
+ numerator: '抢救成功患者病历数',
|
|
|
|
+ denominator: '同期接受抢救的住院患者病历总数'
|
|
},
|
|
},
|
|
51: {
|
|
51: {
|
|
- fenzi: '2个工作日内完成归档的出院患者病历数',
|
|
|
|
- fenmu: '同期出院患者病历总数'
|
|
|
|
|
|
+ numerator: '2个工作日内完成归档的出院患者病历数',
|
|
|
|
+ denominator: '同期出院患者病历总数'
|
|
},
|
|
},
|
|
52: {
|
|
52: {
|
|
- fenzi: '归档病历内容完整的出院患者病历数',
|
|
|
|
- fenmu: '同期出院患者病历总数'
|
|
|
|
|
|
+ numerator: '归档病历内容完整的出院患者病历数',
|
|
|
|
+ denominator: '同期出院患者病历总数'
|
|
},
|
|
},
|
|
53: {
|
|
53: {
|
|
- fenzi: '病案首页中主要诊断填写正确的出院患者病历数',
|
|
|
|
- fenmu: '同期出院患者病历总数'
|
|
|
|
|
|
+ numerator: '病案首页中主要诊断填写正确的出院患者病历数',
|
|
|
|
+ denominator: '同期出院患者病历总数'
|
|
},
|
|
},
|
|
54: {
|
|
54: {
|
|
- fenzi: '病案首页中主要诊断编码正确的出院患者病历数',
|
|
|
|
- fenmu: '同期出院患者病历总数'
|
|
|
|
|
|
+ numerator: '病案首页中主要诊断编码正确的出院患者病历数',
|
|
|
|
+ denominator: '同期出院患者病历总数'
|
|
},
|
|
},
|
|
55: {
|
|
55: {
|
|
- fenzi: '病案首页中主要手术填写正确的出院患者病历数',
|
|
|
|
- fenmu: '同期出院手术患者病历总数'
|
|
|
|
|
|
+ numerator: '病案首页中主要手术填写正确的出院患者病历数',
|
|
|
|
+ denominator: '同期出院手术患者病历总数'
|
|
},
|
|
},
|
|
56: {
|
|
56: {
|
|
- fenzi: '病案首页中主要手术编码正确的出院患者病历数',
|
|
|
|
- fenmu: '同期出院手术患者病历总数'
|
|
|
|
|
|
+ numerator: '病案首页中主要手术编码正确的出院患者病历数',
|
|
|
|
+ denominator: '同期出院手术患者病历总数'
|
|
},
|
|
},
|
|
57: {
|
|
57: {
|
|
- fenzi: '出现不合理复制病历内容的出院患者病历数',
|
|
|
|
- fenmu: '同期出院患者病历总数'
|
|
|
|
|
|
+ numerator: '出现不合理复制病历内容的出院患者病历数',
|
|
|
|
+ denominator: '同期出院患者病历总数'
|
|
},
|
|
},
|
|
58: {
|
|
58: {
|
|
- fenzi: '规范签署知情同意书的出院患者病历数',
|
|
|
|
- fenmu: '同期存在知情同意书签署的出院患者病历总数'
|
|
|
|
|
|
+ numerator: '规范签署知情同意书的出院患者病历数',
|
|
|
|
+ denominator: '同期存在知情同意书签署的出院患者病历总数'
|
|
},
|
|
},
|
|
59: {
|
|
59: {
|
|
- fenzi: '甲级出院患者病历数',
|
|
|
|
- fenmu: '同期出院患者病历总数'
|
|
|
|
|
|
+ numerator: '甲级出院患者病历数',
|
|
|
|
+ denominator: '同期出院患者病历总数'
|
|
}
|
|
}
|
|
},
|
|
},
|
|
formInline: {
|
|
formInline: {
|
|
@@ -513,6 +532,18 @@ export default {
|
|
},
|
|
},
|
|
boxWrapperHeight() {
|
|
boxWrapperHeight() {
|
|
return this.$route.path === '/embedIndex-home' ? '815px' : '885px'
|
|
return this.$route.path === '/embedIndex-home' ? '815px' : '885px'
|
|
|
|
+ },
|
|
|
|
+ //
|
|
|
|
+ cloumn1() {
|
|
|
|
+ return this.ruleName.split('、')[1]
|
|
|
|
+ },
|
|
|
|
+ cloumn2() {
|
|
|
|
+ // 分母列名
|
|
|
|
+ return this.cloumnTexts[this.ruleId].denominator
|
|
|
|
+ },
|
|
|
|
+ cloumn3() {
|
|
|
|
+ // 分子列名
|
|
|
|
+ return this.cloumnTexts[this.ruleId].numerator
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
@@ -521,7 +552,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- onChangeValue(row) {
|
|
|
|
|
|
+ onChangeValue(row, type) {
|
|
if (row.time) {
|
|
if (row.time) {
|
|
// 单个修改
|
|
// 单个修改
|
|
const { time } = row
|
|
const { time } = row
|
|
@@ -529,8 +560,8 @@ export default {
|
|
year: time.split('-')[0],
|
|
year: time.split('-')[0],
|
|
month: time.split('-')[1],
|
|
month: time.split('-')[1],
|
|
flag: Number(this.ruleId.toString().slice(0, 2)),
|
|
flag: Number(this.ruleId.toString().slice(0, 2)),
|
|
- type: this.judgeNum,
|
|
|
|
- num: row[this.judgeNum],
|
|
|
|
|
|
+ type,
|
|
|
|
+ num: row[type],
|
|
}
|
|
}
|
|
// 先清空在赋值,防止重复
|
|
// 先清空在赋值,防止重复
|
|
this.$set(this.dialogData, 'rows', [])
|
|
this.$set(this.dialogData, 'rows', [])
|
|
@@ -546,8 +577,8 @@ export default {
|
|
year: time.split('-')[0],
|
|
year: time.split('-')[0],
|
|
month: time.split('-')[1],
|
|
month: time.split('-')[1],
|
|
flag: Number(this.ruleId.toString().slice(0, 2)),
|
|
flag: Number(this.ruleId.toString().slice(0, 2)),
|
|
- type: this.judgeNum,
|
|
|
|
- num: item[this.judgeNum]
|
|
|
|
|
|
+ type,
|
|
|
|
+ num: item[type]
|
|
}
|
|
}
|
|
this.dialogData.rows.push(obj)
|
|
this.dialogData.rows.push(obj)
|
|
}
|
|
}
|
|
@@ -560,9 +591,10 @@ export default {
|
|
this.$router.go(-1)
|
|
this.$router.go(-1)
|
|
},
|
|
},
|
|
// 病案指标列表跳转
|
|
// 病案指标列表跳转
|
|
- toCaseIndexPage(row) {
|
|
|
|
|
|
+ toCaseIndexPage(row, type) {
|
|
const { time, source } = row;
|
|
const { time, source } = row;
|
|
if ( source === '人工录入') {
|
|
if ( source === '人工录入') {
|
|
|
|
+ // 人工录入不能跳转页面
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
@@ -572,7 +604,7 @@ export default {
|
|
} else {
|
|
} else {
|
|
path = '/caseIndexList'
|
|
path = '/caseIndexList'
|
|
}
|
|
}
|
|
- this.$router.push({ path, query: { year: this.formInline.year, time, ruleId: Number(`${this.ruleId}`.slice(0, 2)), type: this.judgeNum, name: this.ruleName } });
|
|
|
|
|
|
+ this.$router.push({ path, query: { year: this.formInline.year, time, ruleId: Number(`${this.ruleId}`.slice(0, 2)), type, name: this.ruleName } });
|
|
},
|
|
},
|
|
// 菜单筛选
|
|
// 菜单筛选
|
|
filterNode(value, data) {
|
|
filterNode(value, data) {
|
|
@@ -596,11 +628,11 @@ export default {
|
|
year,
|
|
year,
|
|
type: Number(`${this.ruleId}`.slice(0, 2)),
|
|
type: Number(`${this.ruleId}`.slice(0, 2)),
|
|
};
|
|
};
|
|
- if (this.ruleId < 100) {
|
|
|
|
- params.request_source = 1
|
|
|
|
- } else {
|
|
|
|
- params.request_source = this.judgeNum === 'denominator' ? 2 : 3
|
|
|
|
- }
|
|
|
|
|
|
+ // if (this.ruleId < 100) {
|
|
|
|
+ // params.request_source = 1
|
|
|
|
+ // } else {
|
|
|
|
+ // params.request_source = this.judgeNum === 'denominator' ? 2 : 3
|
|
|
|
+ // }
|
|
this.$axios2.post('/get_assessment_indicators', params).then(res => {
|
|
this.$axios2.post('/get_assessment_indicators', params).then(res => {
|
|
if (Array.isArray(res.data)) {
|
|
if (Array.isArray(res.data)) {
|
|
res.data.map(item => {
|
|
res.data.map(item => {
|