|
@@ -1,9 +1,5 @@
|
|
<template>
|
|
<template>
|
|
<div class="NoiseTemplateWrapper TemplateWrapper">
|
|
<div class="NoiseTemplateWrapper TemplateWrapper">
|
|
- <!-- <div class="groupTitle"><i
|
|
|
|
- class="el-icon-back"
|
|
|
|
- @click="back"
|
|
|
|
- ></i> 医学静态知识--{{isEdit?'修改':'添加'}}</div> -->
|
|
|
|
<crumbs
|
|
<crumbs
|
|
:title=" isEdit? '医学术语静态知识维护-修改':'医学术语静态知识维护-添加'"
|
|
:title=" isEdit? '医学术语静态知识维护-修改':'医学术语静态知识维护-添加'"
|
|
class="topBack"
|
|
class="topBack"
|
|
@@ -14,43 +10,29 @@
|
|
:model="form"
|
|
:model="form"
|
|
label-width="160px"
|
|
label-width="160px"
|
|
ref="groups">
|
|
ref="groups">
|
|
- <el-form-item v-if="!isEdit" label="选择医学标准术语:" prop="selectedTerm">
|
|
|
|
|
|
+ <el-form-item v-if="!isEdit" label="选择标准术语:" prop="selectedTerm">
|
|
<el-select v-model="form.selectedTerm"
|
|
<el-select v-model="form.selectedTerm"
|
|
filterable
|
|
filterable
|
|
remote
|
|
remote
|
|
clearable
|
|
clearable
|
|
value-key="conceptId"
|
|
value-key="conceptId"
|
|
ref="termName"
|
|
ref="termName"
|
|
- placeholder="搜索术语"
|
|
|
|
|
|
+ placeholder="搜索"
|
|
:remote-method="searchTerms">
|
|
:remote-method="searchTerms">
|
|
- <el-option v-for="term in terms" :key="term.conceptId" :label="term.nameAndType" :value="term" ></el-option>
|
|
|
|
|
|
+ <el-option v-for="term in terms" :key="term.conceptId" :label="term.name" :value="term" ></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="已选择医学标准术语:" label-width="160px">
|
|
|
|
|
|
+ <el-form-item label="已选择标准术语:" label-width="160px">
|
|
{{form.selectedTermName}}
|
|
{{form.selectedTermName}}
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="术语类型:">
|
|
|
|
- {{form.selectedTermType}}
|
|
|
|
- <!--<el-select filterable
|
|
|
|
- remote
|
|
|
|
- clearable
|
|
|
|
- v-model="form.termType"
|
|
|
|
- placeholder="搜索术语类型">
|
|
|
|
- <el-option v-for="it in termTypes" :label="it.name" :value="it.name" :key="it.id"></el-option>
|
|
|
|
- </el-select>-->
|
|
|
|
- </el-form-item>
|
|
|
|
<p class="line"></p>
|
|
<p class="line"></p>
|
|
- <el-form-item label="添加静态知识" style="font-weight: bold">
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="静态知识来源:" prop="source">
|
|
|
|
- <el-input v-if="!isEdit" v-model="form.source" placeholder="输入静态知识来源"></el-input>
|
|
|
|
- {{isEdit?form.source:''}}
|
|
|
|
- </el-form-item>
|
|
|
|
- <InfoParagraph :data="form.prags[0]"
|
|
|
|
- :index="0"
|
|
|
|
- :len="1"
|
|
|
|
|
|
+ <InfoParagraph v-for="(f,i) in form.prags"
|
|
|
|
+ :data="f"
|
|
|
|
+ :index="i"
|
|
:isEdit = "isEdit"
|
|
:isEdit = "isEdit"
|
|
- ref="subForm"></InfoParagraph>
|
|
|
|
|
|
+ ref="subForm"
|
|
|
|
+ @add="addParagraph(i)"
|
|
|
|
+ @del="delParagraph"></InfoParagraph>
|
|
</el-form>
|
|
</el-form>
|
|
<div class="btn">
|
|
<div class="btn">
|
|
<el-button
|
|
<el-button
|
|
@@ -67,6 +49,7 @@
|
|
*/
|
|
*/
|
|
import api from '@api/icss.js';
|
|
import api from '@api/icss.js';
|
|
import InfoParagraph from './MedicineInfoPg';
|
|
import InfoParagraph from './MedicineInfoPg';
|
|
|
|
+ import config from '@api/config';
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: 'AddMedicinePrompt',
|
|
name: 'AddMedicinePrompt',
|
|
@@ -87,7 +70,6 @@
|
|
isTip:0, //是否要覆盖,0不覆盖,1覆盖
|
|
isTip:0, //是否要覆盖,0不覆盖,1覆盖
|
|
selectedTerm:'', //术语标签
|
|
selectedTerm:'', //术语标签
|
|
termType:'',
|
|
termType:'',
|
|
- source:'',
|
|
|
|
selectedTermName:'',
|
|
selectedTermName:'',
|
|
selectedTermType:'',
|
|
selectedTermType:'',
|
|
prags:[{ //单个段落相关
|
|
prags:[{ //单个段落相关
|
|
@@ -99,15 +81,6 @@
|
|
text:''}]
|
|
text:''}]
|
|
},
|
|
},
|
|
rules: {
|
|
rules: {
|
|
- source: [
|
|
|
|
- { required: true, message: '请输入静态知识来源', trigger: 'change' },
|
|
|
|
- { validator: (rule,value,callback)=>{
|
|
|
|
- if(value.length>30){
|
|
|
|
- callback(new Error('段落标题不能超过30字'));
|
|
|
|
- }else{
|
|
|
|
- callback();
|
|
|
|
- }}, trigger: 'change' }
|
|
|
|
- ],
|
|
|
|
selectedTerm: [
|
|
selectedTerm: [
|
|
{ required: true, message: '请选择术语标签', trigger: 'change' }
|
|
{ required: true, message: '请选择术语标签', trigger: 'change' }
|
|
]
|
|
]
|
|
@@ -117,54 +90,58 @@
|
|
watch:{
|
|
watch:{
|
|
'form.selectedTerm':function(newVal){
|
|
'form.selectedTerm':function(newVal){
|
|
const name = newVal.name;
|
|
const name = newVal.name;
|
|
- //this.editData.selectedTermName = name;
|
|
|
|
this.form.selectedTermName = name;
|
|
this.form.selectedTermName = name;
|
|
- this.form.selectedTermType = newVal.type;
|
|
|
|
this.form.conceptId = newVal.conceptId;
|
|
this.form.conceptId = newVal.conceptId;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created:function(){
|
|
created:function(){
|
|
const {isEdit,data} = this.$route.params;
|
|
const {isEdit,data} = this.$route.params;
|
|
- //this.getTermTypes();
|
|
|
|
if(isEdit){
|
|
if(isEdit){
|
|
this.isEdit = isEdit;
|
|
this.isEdit = isEdit;
|
|
- /*api.getTremList({term:data.name,type:data.type}).then((res) => {
|
|
|
|
|
|
+ this.form.selectedTermName = data.libName;
|
|
|
|
+ this.form.conceptId = data.conceptId;
|
|
|
|
+ api.getTremList({conceptId:data.conceptId}).then((res) => {
|
|
if (res.data.code == '0') {
|
|
if (res.data.code == '0') {
|
|
const data = res.data.data;
|
|
const data = res.data.data;
|
|
- this.form.prags=data.information&&data.information.map((it)=>{
|
|
|
|
- return {title:it.title,position:this.mapStringToNum(it.position),content:it.content,isReason:it.isReason};
|
|
|
|
|
|
+ this.form.prags=data&&data.map((it)=>{
|
|
|
|
+ return {
|
|
|
|
+ title:it.title,
|
|
|
|
+ position:this.mapStringToNum(it.position),
|
|
|
|
+ content:it.content.replace('{imageUrlPrefix}',config.imgHost),
|
|
|
|
+ isReason:it.isReason,
|
|
|
|
+ text:it.text,
|
|
|
|
+ disabled:true};
|
|
});
|
|
});
|
|
- console.log(data)
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
}).catch((error) => {
|
|
}).catch((error) => {
|
|
console.log(error);
|
|
console.log(error);
|
|
- });*/
|
|
|
|
- this.form.selectedTermName = data.conceptName;
|
|
|
|
- this.form.selectedTermType = data.conceptType;
|
|
|
|
- this.form.source = data.source;
|
|
|
|
- this.form.conceptId = data.conceptId;
|
|
|
|
- this.form.prags[0].content = data.content;
|
|
|
|
- this.form.prags[0].isReason = data.isReason;
|
|
|
|
- this.form.prags[0].position=this.mapStringToNum(data.position);
|
|
|
|
- this.form.prags[0].title = data.title;
|
|
|
|
|
|
+ });
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- back() { this.$router.go(-1) },
|
|
|
|
- async getTermTypes(){
|
|
|
|
- let types = localStorage.getItem('termTypes');
|
|
|
|
- if(!types){
|
|
|
|
- types = await api.getAllType();
|
|
|
|
- if(types.data.code=='0'){
|
|
|
|
- this.termTypes = types.data.data.records;
|
|
|
|
- }
|
|
|
|
- }else{
|
|
|
|
- this.termTypes = JSON.parse(types).records;
|
|
|
|
|
|
+ addParagraph(i){
|
|
|
|
+ this.form.prags.push({
|
|
|
|
+ title:'',
|
|
|
|
+ content:'',
|
|
|
|
+ isReason:0,
|
|
|
|
+ orderNo:this.form.prags.length,
|
|
|
|
+ position:[],
|
|
|
|
+ text:''});
|
|
|
|
+ },
|
|
|
|
+ delParagraph(i){
|
|
|
|
+ if(this.form.prags.length==1){
|
|
|
|
+ this.warning('只剩一个段落,不能再删啦!');
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
+ this.showConfirmDialog('确定要删除该段落?', () => {
|
|
|
|
+ this.form.prags.splice(i,1);
|
|
|
|
+ });
|
|
},
|
|
},
|
|
|
|
+ back() { this.$router.go(-1) },
|
|
searchTerms(query){
|
|
searchTerms(query){
|
|
//搜索术语列表
|
|
//搜索术语列表
|
|
- api.getAllConcept({name:query,isConcept:1}).then((res) =>{
|
|
|
|
|
|
+ api.getAllConcept({name:query}).then((res) =>{
|
|
if(res.data.code === '0') {
|
|
if(res.data.code === '0') {
|
|
this.terms = res.data.data;
|
|
this.terms = res.data.data;
|
|
}else{
|
|
}else{
|
|
@@ -187,26 +164,26 @@
|
|
}
|
|
}
|
|
});
|
|
});
|
|
//验证段落表单
|
|
//验证段落表单
|
|
- //for(let i=0;i<this.$refs.subForm.length;i++){
|
|
|
|
- it=this.$refs.subForm;
|
|
|
|
|
|
+ for(let i=0;i<this.$refs.subForm.length;i++){
|
|
|
|
+ it=this.$refs.subForm[i];
|
|
it.$refs.form.validate((valid) =>{
|
|
it.$refs.form.validate((valid) =>{
|
|
if(!valid){
|
|
if(!valid){
|
|
goOn = false;
|
|
goOn = false;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- //};
|
|
|
|
|
|
+ };
|
|
|
|
|
|
if(!goOn){
|
|
if(!goOn){
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
//通过必填验证,提交保存
|
|
//通过必填验证,提交保存
|
|
- const item=this.form.prags[0];
|
|
|
|
- const param = Object.assign({},item,{
|
|
|
|
- position:typeof item.position=='string'?item.position:item.position.join(","),
|
|
|
|
- source:this.form.source,
|
|
|
|
- conceptId:this.form.conceptId,
|
|
|
|
- isTip:1,
|
|
|
|
- });
|
|
|
|
|
|
+ const item=this.form.prags;
|
|
|
|
+ const param =item.map((it)=>{
|
|
|
|
+ return Object.assign({},it,{
|
|
|
|
+ position:typeof it.position=='string'?it.position:it.position.join(","),
|
|
|
|
+ conceptId:this.form.conceptId,
|
|
|
|
+ content:it.content.replace(config.imgHost,'{imageUrlPrefix}')});
|
|
|
|
+ });
|
|
this.showSaveDialog(param,'是否保存该静态知识?');
|
|
this.showSaveDialog(param,'是否保存该静态知识?');
|
|
},
|
|
},
|
|
showSaveDialog(param,msg) {
|
|
showSaveDialog(param,msg) {
|
|
@@ -215,9 +192,6 @@
|
|
if (res.data.code === '0') {
|
|
if (res.data.code === '0') {
|
|
this.warning(res.data.msg || '保存成功', 'success');
|
|
this.warning(res.data.msg || '保存成功', 'success');
|
|
this.$router.push("/admin/LT-YXSYKWH-YXSYJTZSWH");
|
|
this.$router.push("/admin/LT-YXSYKWH-YXSYJTZSWH");
|
|
- } else if(res.data.code === '00000002'){
|
|
|
|
- //已存在,选择是否覆盖
|
|
|
|
- this.showSaveDialog(Object.assign({},param,{isTip:0}),res.data.msg);
|
|
|
|
} else {
|
|
} else {
|
|
this.warning(res.data.msg)
|
|
this.warning(res.data.msg)
|
|
}
|
|
}
|