소스 검색

Merge branch 'test' of http://192.168.2.236:10080/zhouna/platformFront into test

luolei 4 년 전
부모
커밋
95c1eea642
3개의 변경된 파일45개의 추가작업 그리고 22개의 파일을 삭제
  1. 7 2
      src/components/knowledgeExtra/AddNewRule.vue
  2. 3 3
      src/components/knowledgeExtra/RuleManager.vue
  3. 35 17
      src/components/knowledgeExtra/SubConditions.vue

+ 7 - 2
src/components/knowledgeExtra/AddNewRule.vue

@@ -330,7 +330,7 @@
                 let obj = [];
                 this.subGroups.map((item,i)=>{
                    item.map((it)=>{
-                       obj.push({groupType:i,...it});
+                       obj.push({...it,groupType:i});
                    })
                 });
                 return obj
@@ -339,6 +339,10 @@
                 this.$refs['form'].validate((valid) => {
                     if (valid) {
                         const groupsRef = this.$refs['groups'];
+                        if(!groupsRef||groupsRef.length===0){
+                            callBack();
+                            return;
+                        }
                         let groupRef=null,goOn=true;
                         for(let i=0;i<groupsRef.length;i++){
                             groupRef=groupsRef[i].$refs['group'];
@@ -361,12 +365,13 @@
             confirm(){
                 const _this=this;
                 this.validateForms(function(){
-                    _this.form.klRuleByIdSub=undefined;
+                    delete _this.form.klRuleByIdSub;
                     _this.form.klRuleInfoSaveSub = _this.form.parHasSub?_this.formatGroups():undefined;
                     let params = _this.form;
                     if(_this.parId){//修改/复制
                         params = Object.assign({},_this.form,{parId:_this.isCopy?undefined:_this.parId})
                     }
+                    console.log(params)
                     _this.saveRule(params);
                 });
             },

+ 3 - 3
src/components/knowledgeExtra/RuleManager.vue

@@ -3,7 +3,7 @@
         <crumbs title="规则维护" :minWidth="titleWidth" class="knowledgeTitle">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="规则名称:">
-                    <el-input size="mini" v-model="filter.parDescription" placeholder="输入规则名称"></el-input>
+                    <el-input size="mini" v-model="filter.parDescription" placeholder="输入规则名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item label="规则类型:">
                     <el-select v-model="filter.parRuleType" clearable placeholder="请选择" size="mini">
@@ -15,8 +15,8 @@
                         </el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item label="术语名称:">
-                    <el-input size="mini" v-model="filter.parConceptName" placeholder="输入术语名称"></el-input>
+                <el-form-item label="医学标准术语:">
+                    <el-input size="mini" v-model="filter.parConceptName" placeholder="输入医学标准术语"  clearable></el-input>
                 </el-form-item>
                 <el-form-item label="状态:">
                     <el-select v-model="filter.parStatus" clearable placeholder="请选择" size="mini">

+ 35 - 17
src/components/knowledgeExtra/SubConditions.vue

@@ -54,15 +54,15 @@
                     </el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最大值:" required>
+            <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最大值:">
                 <div class="select-item clearfix">
                     <el-col :span="4">
                         <el-form-item prop="subMaxOperator">
                             <el-select v-model="groupData.subMaxOperator"
                                        placeholder="请选择"
-                                       size="small">
+                                       size="small" clearable>
                                 <el-option
-                                        v-for="item in operTypeList"
+                                        v-for="item in operMaxList"
                                         :key="item.key"
                                         :label="item.name"
                                         :value="item.key">
@@ -82,15 +82,15 @@
                     </el-col>
                 </div>
             </el-form-item>
-            <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最小值:" required>
+            <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最小值:">
                 <div class="select-item clearfix">
                     <el-col :span="4">
                         <el-form-item prop="subMinOperator">
                             <el-select v-model="groupData.subMinOperator"
                                        placeholder="请选择"
-                                       size="small">
+                                       size="small" clearable>
                                 <el-option
-                                        v-for="item in operTypeList"
+                                        v-for="item in operMinList"
                                         :key="item.name"
                                         :label="item.name"
                                         :value="item.name">
@@ -110,7 +110,7 @@
                     </el-col>
                 </div>
             </el-form-item>
-            <el-form-item v-if="groupData.dataType==='2'" label="医学内容:" prop="subEqValue" class="discDesc">
+            <el-form-item v-if="groupData.subType!==6&&groupData.dataType==='2'" label="医学内容:" prop="subEqValue" class="discDesc">
                 <el-input type="textarea" rows="3" placeholder="请输入医学内容" v-model="groupData.subEqValue"></el-input>
             </el-form-item>
             <el-form-item v-if="groupData.subType===6" label="正则表达式:" prop="subEqValue" class="discDesc">
@@ -132,16 +132,17 @@
             return {
                 baseTermTypeList:[],
                 typeList:[],
-                operTypeList:[{name:'>',key:'>'},
-                    {name:'>=',key:'>='},
-                    {name:'<',key:'<'},
+                operMaxList:[
                     {name:'<=',key:'<='},
                     {name:'=',key:'='},
                 ],
+                operMinList:[{name:'>',key:'>'},
+                    {name:'>=',key:'>='},
+                ],
                 dataTypes:[{id:'1',name:'数值类型'},{id:'2',name:'文本类型'}],
                 conceptList:[],
                 rules:{
-                    subDescription:[{ required: true, message: '请选择基础规则名称',trigger: ['blur'] },{
+                    subDescription:[{ required: true, message: '请输入基础规则名称',trigger: ['blur'] },{
                         validator: (rule,value,callback)=>{
                             if(value.length>100){
                                 callback(new Error('规则名称不能超过100字'));
@@ -153,12 +154,22 @@
                     subLenCode:[{ required: true, message: '请选择基础规则术语类型',trigger: ['change'] }],
                     subConceptId:[{ required: true, message: '请输入医学标准术语',trigger: ['blur'] }],
                     dataType:[{ required: true, message: '请选择类型',trigger: ['change'] }],
-                    subMaxOperator:[{ required: true, message: '请选择最大值操作符',trigger: ['change'] }],
-                    subMaxValue:[{ required: true, message: '请输入最大值',trigger: ['blur'] }],
-                    subMaxUnit:[{ required: true, message: '请输入最大值单位',trigger: ['blur'] }],
-                    subMinOperator:[{ required: true, message: '请选择最小值操作符',trigger: ['change'] }],
-                    subMinValue:[{ required: true, message: '请输入最小值',trigger: ['blur'] }],
-                    subMinUnit:[{ required: true, message: '请输入最小值单位',trigger: ['blur'] }],
+                    subMaxOperator:[{
+                        validator: (rule,value,callback)=>{
+                            if((!value)&&this.groupData.subMinOperator===''){
+                                callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
+                            }else{
+                                callback();
+                            }}, trigger: 'blur'
+                    }],
+                    subMinOperator:[{
+                        validator: (rule,value,callback)=>{
+                            if((!value)&&this.groupData.subMaxOperator===''){
+                                callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
+                            }else{
+                                callback();
+                            }}, trigger: 'blur'
+                    }],
                     subEqValue:[{ required: true, message: '请输入医学内容',trigger: ['blur'] }],
                 },
             }
@@ -198,7 +209,13 @@
             this.conceptList=[{conceptName:this.groupData.subLibName,conceptId:this.groupData.subConceptId}];
         },
         methods:{
+            minMaxValidate(rule, value, callback){
+                if(this.groupData.dataType==='1'){
+
+                }
+            },
             dataTypeChange(val){
+                this.groupData.subEqOperator=val==='2'?'=':undefined;
                 this.groupData.dataType=val;
                 this.clearNumText();
             },
@@ -361,6 +378,7 @@
         }
         .el-form-item__error{
             top: auto;
+            white-space: nowrap;
         }
         .el-input-number{
             width: 95px;