|
@@ -5,84 +5,91 @@
|
|
label-suffix=":">
|
|
label-suffix=":">
|
|
<el-row :gutter="0">
|
|
<el-row :gutter="0">
|
|
<el-col :span="20">
|
|
<el-col :span="20">
|
|
- <el-form-item label="质控模板" prop="rule_id">
|
|
|
|
|
|
+ <el-form-item label="质控规则" prop="rule_id">
|
|
<el-select v-model="ruleForm.rule_id" clearable filterable @change="handleRuleIdChange"
|
|
<el-select v-model="ruleForm.rule_id" clearable filterable @change="handleRuleIdChange"
|
|
- placeholder="请选择质控模板">
|
|
|
|
- <el-option v-for="item of selectData.rule" :key="item.id" :label="item.category"
|
|
|
|
- :value="item.id"></el-option>
|
|
|
|
|
|
+ placeholder="请选择质控规则">
|
|
|
|
+ <el-option v-for="(item,index) of zkInfoArray" :key="index" :label="item.field" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
|
|
+ <i class="el-icon-circle-plus-outline" style="font-size: 28px;margin-left: 10px;" @click="addRule"></i>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row :gutter="0">
|
|
<el-row :gutter="0">
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="病案号" prop="MED_REC_ID">
|
|
|
|
|
|
+ <el-form-item label="病案号">
|
|
<el-input v-model="ruleForm.MED_REC_ID" disabled placeholder="请输入"></el-input>
|
|
<el-input v-model="ruleForm.MED_REC_ID" disabled placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="床位号" prop="CWH">
|
|
|
|
|
|
+ <el-form-item label="床位号" >
|
|
<el-input v-model="ruleForm.CWH" disabled placeholder="请输入"></el-input>
|
|
<el-input v-model="ruleForm.CWH" disabled placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="住院次数" prop="AAA29">
|
|
|
|
|
|
+ <el-form-item label="住院次数">
|
|
<el-input v-model="ruleForm.AAA29" disabled placeholder="请输入"></el-input>
|
|
<el-input v-model="ruleForm.AAA29" disabled placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="接收端" prop="cate">
|
|
|
|
- <el-select v-model="ruleForm.cate" filterable clearable placeholder="请选择" style="width: 100%">
|
|
|
|
- <el-option v-for="item of receiving" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
|
+ <el-form-item label="错误扣分" prop="down" >
|
|
|
|
+ <el-input v-model="ruleForm.down" disabled></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="8">
|
|
|
|
+ <el-form-item label="错误等级">
|
|
|
|
+ <el-select v-model="ruleForm.level" disabled>
|
|
|
|
+ <el-option v-for="(item,index) of addRuleOptions.levelArray" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="接收人" prop="JSR">
|
|
|
|
- <el-select v-model="ruleForm.JSR" filterable clearable multiple :filter-method="filterRecipient"
|
|
|
|
- placeholder="请选择" style="width: 100%">
|
|
|
|
- <el-option v-for="item of recipient" :key="item.id" :label="`${item.name} ${item.base_code}`"
|
|
|
|
- :value="item.name" />
|
|
|
|
|
|
+ <el-form-item label="错误分类" >
|
|
|
|
+ <el-select v-model="ruleForm.type" disabled>
|
|
|
|
+ <el-option v-for="(item,index) of addRuleOptions.typeArray" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="8">
|
|
|
|
+ <el-form-item label="接收端" prop="cate">
|
|
|
|
+ <el-select v-model="ruleForm.cate" filterable clearable placeholder="请选择" style="width: 100%">
|
|
|
|
+ <el-option v-for="item of receiving" :key="item.id" :label="item.name" :value="item.id" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
<el-form-item label="接收科室" prop="JSKS">
|
|
<el-form-item label="接收科室" prop="JSKS">
|
|
<el-select v-model="ruleForm.JSKS" filterable clearable multiple :filter-method="filterDeportments"
|
|
<el-select v-model="ruleForm.JSKS" filterable clearable multiple :filter-method="filterDeportments"
|
|
- placeholder="请选择" style="width: 100%">
|
|
|
|
- <el-option v-for="item of deportments" :key="item.id" :label="item.name" :value="item.name" />
|
|
|
|
|
|
+ placeholder="请选择" style="width: 100%">
|
|
|
|
+ <el-option v-for="(item,index) of deportments" :key="index" :label="item.name" :value="item.dep_id" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="质控人" prop="ZKR">
|
|
|
|
- <el-select v-model="ruleForm.ZKR" filterable clearable multiple :filter-method="filterRecipient"
|
|
|
|
|
|
+ <el-form-item label="接收人" prop="JSR">
|
|
|
|
+ <el-select v-model="ruleForm.JSR" filterable clearable multiple :filter-method="filterRecipient"
|
|
placeholder="请选择" style="width: 100%">
|
|
placeholder="请选择" style="width: 100%">
|
|
<el-option v-for="item of recipient" :key="item.id" :label="`${item.name} ${item.base_code}`"
|
|
<el-option v-for="item of recipient" :key="item.id" :label="`${item.name} ${item.base_code}`"
|
|
:value="item.name" />
|
|
:value="item.name" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
+ <!--
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="扣分" prop="score">
|
|
|
|
- <el-input-number v-model="ruleForm.score" controls-position="right" :min="0" :max="100" placeholder="请输入"
|
|
|
|
- style="width: 100%"></el-input-number>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="8">
|
|
|
|
- <el-form-item label="整改期限" prop="ZGQX">
|
|
|
|
- <el-input-number v-model="ruleForm.ZGQX" controls-position="right" :min="0" :max="100" placeholder="请输入"
|
|
|
|
- style="width: 100%"></el-input-number>
|
|
|
|
|
|
+ <el-form-item label="质控人" >
|
|
|
|
+ <el-select v-model="ruleForm.ZKR" filterable clearable multiple :filter-method="filterRecipient"
|
|
|
|
+ placeholder="请选择" style="width: 100%">
|
|
|
|
+ <el-option v-for="item of recipient" :key="item.id" :label="`${item.name} ${item.base_code}`"
|
|
|
|
+ :value="item.name" />
|
|
|
|
+ </el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
+ -->
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="状态" prop="level">
|
|
|
|
- <el-select v-model="ruleForm.level" placeholder="请选择">
|
|
|
|
- <el-option v-for="item of selectData.level" :key="item.id" :label="item.name"
|
|
|
|
- :value="item.id"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <el-form-item label="整改期限">
|
|
|
|
+ <el-input-number v-model="ruleForm.correction_date" controls-position="right" :min="0" :max="100" placeholder="请输入"></el-input-number>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
+ <!--
|
|
<el-col :span="10">
|
|
<el-col :span="10">
|
|
<el-form-item label="质控目录" prop="title">
|
|
<el-form-item label="质控目录" prop="title">
|
|
<el-cascader v-model="ruleForm.title" :options="categoryOptions" placeholder="请选择质控目录" filterable
|
|
<el-cascader v-model="ruleForm.title" :options="categoryOptions" placeholder="请选择质控目录" filterable
|
|
@@ -93,8 +100,10 @@
|
|
}"></el-cascader>
|
|
}"></el-cascader>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
+ -->
|
|
</el-row>
|
|
</el-row>
|
|
<el-row :gutter="0">
|
|
<el-row :gutter="0">
|
|
|
|
+ <!--
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
<el-form-item label="质控内容" prop="basis">
|
|
<el-form-item label="质控内容" prop="basis">
|
|
<el-input type="textarea" v-model="ruleForm.basis" :autosize="{ minRows: 4 }"
|
|
<el-input type="textarea" v-model="ruleForm.basis" :autosize="{ minRows: 4 }"
|
|
@@ -107,13 +116,59 @@
|
|
placeholder="请输入"></el-input>
|
|
placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
+ -->
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-form-item label="整改说明" prop="basis">
|
|
|
|
+ <el-input type="textarea" v-model="ruleForm.basis" placeholder="请填写整改说明"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</el-form>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
- {{ JSKS }}
|
|
|
|
<el-button type="primary" :loading="loading" @click="onSubmit">发送整改通知</el-button>
|
|
<el-button type="primary" :loading="loading" @click="onSubmit">发送整改通知</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+ <el-dialog title="添加质控规则" center :visible.sync="addRuleDialog" width="450px">
|
|
|
|
+ <el-form :inline="true" :rules="zkRules" >
|
|
|
|
+ <el-form-item label="质控名称" prop="field">
|
|
|
|
+ <el-input v-model="addRuleForm.field" placeholder="请输入规则名称" style="width: 300px;"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="错误扣分" prop="down">
|
|
|
|
+ <el-input v-model="addRuleForm.down" placeholder="错误扣分" style="width: 300px;"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="错误级别" prop="level">
|
|
|
|
+ <el-select v-model="addRuleForm.level" placeholder="规则类型" style="width: 300px;">
|
|
|
|
+ <el-option v-for="(item,index) in addRuleOptions.levelArray" :key="index" :label="item.name" :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="缺陷分类" prop="type">
|
|
|
|
+ <el-select v-model="addRuleForm.type" placeholder="缺陷分类" style="width: 300px;">
|
|
|
|
+ <el-option v-for="(item,index) in addRuleOptions.typeArray" :key="index" :label="item.name" :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="缺陷类型" prop="error_type">
|
|
|
|
+ <el-select v-model="addRuleForm.error_type" placeholder="缺陷类型" style="width: 300px;">
|
|
|
|
+ <el-option v-for="(item,index) in addRuleOptions.errorTypeArray" :key="index" :label="item.name" :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="缺陷类别" prop="category">
|
|
|
|
+ <el-select v-model="addRuleForm.category" placeholder="缺陷类别" style="width: 300px;">
|
|
|
|
+ <el-option v-for="(item,index) in addRuleOptions.categoryArray" :key="index" :label="item.name" :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="错误描述" prop="desc">
|
|
|
|
+ <el-input type="textarea" v-model="addRuleForm.desc" placeholder="错误描述" style="width: 300px;"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-footer style="display: flex; justify-content: center; align-items: center; padding: 20px 0;">
|
|
|
|
+ <el-button @click="addRule">取消</el-button>
|
|
|
|
+ <el-button type="primary" @click="addRuleSubmit">提交</el-button>
|
|
|
|
+ </el-footer>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -157,6 +212,42 @@ export default {
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ //添加质控
|
|
|
|
+ addRuleOptions:{
|
|
|
|
+ levelArray:[
|
|
|
|
+ {'id':0,'name':'强制'},
|
|
|
|
+ {'id':1,'name':'建议'},
|
|
|
|
+ ],
|
|
|
|
+ typeArray:[
|
|
|
|
+ {'id':1,'name':'患者基本信息'},
|
|
|
|
+ {'id':2,'name':'诊疗信息'},
|
|
|
|
+ {'id':3,'name':'费用信息'},
|
|
|
|
+ ],
|
|
|
|
+ errorTypeArray:[
|
|
|
|
+ {'id':1,'name':'逻辑性'},
|
|
|
|
+ {'id':2,'name':'规范性'},
|
|
|
|
+ {'id':3,'name':'编码'},
|
|
|
|
+ ],
|
|
|
|
+ categoryArray:[
|
|
|
|
+ {'id':1,'name':'A类'},
|
|
|
|
+ {'id':2,'name':'B类'},
|
|
|
|
+ {'id':3,'name':'C类'},
|
|
|
|
+ {'id':4,'name':'D类'},
|
|
|
|
+ ],
|
|
|
|
+ },
|
|
|
|
+ zkRules:{
|
|
|
|
+ AAA28: [{ required: true, message: '请输入', trigger: 'blur' }],
|
|
|
|
+ ZKR: [{ required: true, message: '请输入', trigger: 'blur' }],
|
|
|
|
+ ZKKS: [{ required: true, message: '请输入', trigger: 'blur' }],
|
|
|
|
+ },
|
|
|
|
+ zkInfoArray:[],//
|
|
|
|
+ addRuleDialog:false,
|
|
|
|
+ addRuleForm:{},
|
|
|
|
+ errorTypeArray:[
|
|
|
|
+ {'id':1,'name':'强制'},
|
|
|
|
+ {'id':2,'name':'建议'},
|
|
|
|
+ ],
|
|
|
|
+ //
|
|
loading: false,
|
|
loading: false,
|
|
selectData: {
|
|
selectData: {
|
|
rule: [],
|
|
rule: [],
|
|
@@ -241,8 +332,36 @@ export default {
|
|
this.$set(this.ruleForm, 'basis', this.data.text);
|
|
this.$set(this.ruleForm, 'basis', this.data.text);
|
|
this.$set(this.ruleForm, 'ZYH', this.AAA28);
|
|
this.$set(this.ruleForm, 'ZYH', this.AAA28);
|
|
this.getStoredRealname(); // 获取当前登录人
|
|
this.getStoredRealname(); // 获取当前登录人
|
|
|
|
+ this.getZkInfo();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ success(msg) {
|
|
|
|
+ this.$message({
|
|
|
|
+ message: msg,
|
|
|
|
+ type: 'success',
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ //获取人工质控规则
|
|
|
|
+ getZkInfo(){
|
|
|
|
+ this.$axios.post('/artificial/department/getZkInfo', {}).then(res => {
|
|
|
|
+ this.zkInfoArray = res.data;
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //添加质控弹窗状态
|
|
|
|
+ addRule(){
|
|
|
|
+ this.addRuleDialog = !this.addRuleDialog;
|
|
|
|
+ },
|
|
|
|
+ //添加质控规则提交
|
|
|
|
+ addRuleSubmit(){
|
|
|
|
+ let params = this.addRuleForm;
|
|
|
|
+ this.$axios.post('/artificial/department/addRule', params).then(res => {
|
|
|
|
+ if (res.code == 200){
|
|
|
|
+ this.getZkInfo();
|
|
|
|
+ this.addRule();
|
|
|
|
+ this.success(res.msg);
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
// 质控分类
|
|
// 质控分类
|
|
querySearchCategory(queryString, cb) {
|
|
querySearchCategory(queryString, cb) {
|
|
var categorys = this.selectData.category;
|
|
var categorys = this.selectData.category;
|
|
@@ -298,14 +417,15 @@ export default {
|
|
// 质控模板变化
|
|
// 质控模板变化
|
|
handleRuleIdChange(val) {
|
|
handleRuleIdChange(val) {
|
|
if (val) {
|
|
if (val) {
|
|
- const item = this.selectData.rule.filter(item => item.id)[0];
|
|
|
|
- const { category, level, notice, score, type, title } = item;
|
|
|
|
|
|
+ const item = this.zkInfoArray.filter(item => item.id)[0];
|
|
|
|
+ const { category, error_type, notice, down, type, title ,level} = item;
|
|
this.$set(this.ruleForm, 'category', category);
|
|
this.$set(this.ruleForm, 'category', category);
|
|
- this.$set(this.ruleForm, 'level', level);
|
|
|
|
|
|
+ this.$set(this.ruleForm, 'error_type', error_type);
|
|
this.$set(this.ruleForm, 'notice', notice);
|
|
this.$set(this.ruleForm, 'notice', notice);
|
|
- this.$set(this.ruleForm, 'score', score);
|
|
|
|
- this.$set(this.ruleForm, 'type', type);
|
|
|
|
|
|
+ this.$set(this.ruleForm, 'down', item['down']);
|
|
|
|
+ this.$set(this.ruleForm, 'type', item['type']);
|
|
this.$set(this.ruleForm, 'title', title);
|
|
this.$set(this.ruleForm, 'title', title);
|
|
|
|
+ this.$set(this.ruleForm, 'level', level);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 部门
|
|
// 部门
|
|
@@ -313,6 +433,8 @@ export default {
|
|
this.$axios
|
|
this.$axios
|
|
.get('/user/depDropDown')
|
|
.get('/user/depDropDown')
|
|
.then(res => {
|
|
.then(res => {
|
|
|
|
+ this.deportments = res.data;
|
|
|
|
+ /*
|
|
const { data } = res;
|
|
const { data } = res;
|
|
if (data.length) {
|
|
if (data.length) {
|
|
data.forEach(ele => {
|
|
data.forEach(ele => {
|
|
@@ -322,6 +444,8 @@ export default {
|
|
});
|
|
});
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
+ console.log(this.deportments);
|
|
|
|
+ */
|
|
})
|
|
})
|
|
.catch(error => {
|
|
.catch(error => {
|
|
console.log(error);
|
|
console.log(error);
|
|
@@ -356,9 +480,18 @@ export default {
|
|
},
|
|
},
|
|
// 提交
|
|
// 提交
|
|
onSubmit() {
|
|
onSubmit() {
|
|
- let params = this.ruleForm;
|
|
|
|
|
|
+ let params = {};
|
|
|
|
+ params['MED_REC_ID'] = this.ruleForm.MED_REC_ID;
|
|
|
|
+ params['rule_id'] = this.ruleForm.rule_id;
|
|
|
|
+ params['cate'] = this.ruleForm.cate;
|
|
|
|
+ params['JSKS'] = this.ruleForm.JSKS;
|
|
|
|
+ params['JSR'] = this.ruleForm.JSR;
|
|
|
|
+ params['basis'] = this.ruleForm.basis;
|
|
this.$axios.post('artificial/department/addQualityControlInfo',params).then(res=>{
|
|
this.$axios.post('artificial/department/addQualityControlInfo',params).then(res=>{
|
|
-
|
|
|
|
|
|
+ if (res.code == 200){
|
|
|
|
+ this.$emit('close');
|
|
|
|
+ this.success(res.msg);
|
|
|
|
+ }
|
|
})
|
|
})
|
|
return;
|
|
return;
|
|
this.$refs['ruleForm'].validate(valid => {
|
|
this.$refs['ruleForm'].validate(valid => {
|