zhouna 6 роки тому
батько
коміт
a548bc1084

+ 1 - 1
src/components/preTreat/AddCombinQuestion.vue

@@ -52,7 +52,7 @@
       const {isEdit,data} = this.$route.params;
       if(isEdit){
         this.txt = '组合填写单维护-修改组合填写单';
-        this.editData = data;
+        this.editData = data;console.log(data)
       }
     },
     methods: {

+ 32 - 3
src/components/preTreat/AddQuestionModules.vue

@@ -75,8 +75,8 @@
                         placeholder="请输入模板名称"
                 ></el-input>
             </el-form-item>
-            <el-form-item label="备注:">
-                <el-input type="textarea" v-model="form.remark" maxLength="120"></el-input>
+            <el-form-item label="备注:" prop="remark">
+                <el-input type="textarea" v-model="form.remark" style="width: 500px;"></el-input>
             </el-form-item>
         </el-form>
     </div>
@@ -132,7 +132,23 @@
             { required: true, message: '请选择类型', trigger: 'change' }
           ],
           name: [
-            { required: true, message: '请输入模板名称', trigger: 'change' }
+            { required: true, message: '请输入模板名称', trigger: 'change' },
+            { validator: (rule, value, callback)=>{
+              if(value.length>7){
+                callback(new Error('模板名称不能超过7个字'));
+              }else{
+                callback();
+              }
+              }, trigger: 'blur' },
+          ],
+          remark:[
+            { validator: (rule, value, callback)=>{
+                if(value.length>120){
+                  callback(new Error('备注不能超过120个字'));
+                }else{
+                  callback();
+                }
+              }, trigger: 'blur' },
           ],
           relationId: [
             { required: true, message: '请选择模板归属科室', trigger: 'change' },
@@ -212,6 +228,10 @@
           if (valid) {
             let param = this.form;
             param.moduleDetail = this.options;
+            if(this.form.type!=1&&(!this.options||this.options.length==0)){
+              this.warning('模版至少包含一个填写单');
+              return;
+            }
             this.showSaveDialog(param);
           }else{
             return false;
@@ -255,6 +275,15 @@
 </script>
 <style lang="less">
     @import "../../less/common.less";
+    .PubTagGroupWrapper .groups {
+        padding: 20px 20px 30px;
+        .el-form-item__error{
+            top:unset;
+        }
+    }
+    .NoiseTemplateWrapper .PubTagGroupWrapper{
+        padding-bottom: 18px;
+    }
     .static{
         width:360px;
         height:137px;

+ 2 - 2
src/components/preTreat/AddSimpleQuestion.vue

@@ -14,7 +14,7 @@
         ></PubIndeptQa>
         <div class="main">
             <p class="title" v-if="dataPub.region2==1||dataPub.region2==2|| dataPub.region2==3|| dataPub.region2==11">
-                填写单明细:
+                填写单明细:<span>(互斥项与其他明细内容互斥,互斥项同时只可选择一个)</span>
             </p>
             <PubSelect
                     v-if="dataPub.region2==1 || dataPub.region2==2 || dataPub.region2==3 || dataPub.region2==11"
@@ -94,7 +94,6 @@
             isNull = true;
           }
         }
-        this.options = options2;
         if(this.itemsTypes.includes(+this.dataPub.region2)&&isNull) {
           this.warning('医生界面展示标准内容必填');
           return;
@@ -107,6 +106,7 @@
           this.warning('最小正常值不能大于或等于最大正常值');
           return;
         }
+        this.options = options2;
         const {isEdit,data} = this.$route.params;
         let param = {
           "questionWrapper": {

+ 2 - 1
src/components/preTreat/CombinQuestion.vue

@@ -157,7 +157,8 @@
         api.questionDetail({id:row.id}).then((res)=>{
           const {code,data,msg} = res.data;
           if(code=='0'){
-            this.$router.push({name:'AddCombinQuestion',params:{isEdit:true,data:data}});
+            const infos = Object.assign({},row,data);
+            this.$router.push({name:'AddCombinQuestion',params:{isEdit:true,data:infos}});
           }else{
             this.$message({
               message: msg,

+ 35 - 6
src/components/preTreat/PubIndeptQa.vue

@@ -74,7 +74,6 @@
                     <el-input
                             v-model="form.region3"
                             :disabled="!form.region1"
-                            maxLength="30"
                             placeholder="请输入填写单系统名称"
                             @change="sendData"
                             @input="focusSystemName"></el-input>
@@ -97,7 +96,6 @@
                 <el-input
                         :disabled="!form.region1"
                         v-model="form.region4"
-                        :maxLength="form.region1==1?7:30"
                         :placeholder="qaType==2?'请输入填写单医生界面展示标准内容':'请输入填写单界面描述名称'"
                         @change="sendData"
                 ></el-input>
@@ -110,7 +108,6 @@
                 <el-input
                         :disabled="!form.region1"
                         v-model="form.region5"
-                        :maxLength="form.region1==1?7:30"
                         placeholder="请输入填写单患者界面展示通俗内容"
                         @change="sendData"
                 ></el-input>
@@ -215,18 +212,40 @@
       var validatePass1 = (rule, value, callback) => {
         this.validateSystomName(value,callback,1)
       };
+      var validateNameLength = (value,callback,type)=>{
+        const limit = (type===2||type===3)&&(this.qaType==2&&this.form.region1==1)?7:30;
+        let name = '';
+        switch (type){
+          case 1:
+            name='系统名称';
+            break;
+          case 2:
+            name='医生界面标准内容';
+            break;
+          case 3:
+            name='患者界面通俗内容';
+            break;
+        }
+        if(value.length>limit){
+          callback(new Error(name+'不能超过'+limit+'个字'));
+        }
+      };
+
       var validatePass2 = (rule, value, callback) => {
         const editData = this.$props.editData;
         if(editData.id && value == editData.tagName){ //修改系统名称没变就不再校验
           callback();
         }else{
-          this.validateSystomName(value,callback,2)
+          validateNameLength(value,callback,1);
+          this.validateSystomName(value,callback,2);
         }
       };
       var validatePass11 = (rule, value, callback) => {
+        validateNameLength(value,callback,2);
         this.validateSystomName(value,callback,11)
       };
       var validatePass12 = (rule, value, callback) => {
+        validateNameLength(value,callback,3);
         this.validateSystomName(value,callback,1)
       };
       var validateLength = (rule, value, callback) => {
@@ -236,6 +255,14 @@
           callback();
         }
       };
+      var validateNum = (rule, value, callback)=>{
+        if(value<0||(''+value).indexOf('.')>-1){
+          callback(new Error('请输入正整数'));
+        }else{
+          callback();
+        }
+      };
+
       return {
         form: {
           region1: '',    //归属
@@ -293,10 +320,12 @@
             { required: true, message: '请选择性别', trigger: 'change' }
           ],
           region8: [
-            { required: true, message: '请输入最小年龄', trigger: 'change' }
+            { required: true, message: '请输入最小年龄', trigger: 'change' },
+            { validator: validateNum, trigger: 'blur' },
           ],
           region9: [
-            { required: true, message: '请输入最大年龄', trigger: 'change' }
+            { required: true, message: '请输入最大年龄', trigger: 'change' },
+            { validator: validateNum, trigger: 'blur' },
           ],
           region12: [
             { required: true, message: '请选择是否为主要内容', trigger: 'change' }