Răsfoiți Sursa

'修改商机管理'

zhujun 2 ani în urmă
părinte
comite
e2f91e1ffd

+ 47 - 3
src/views/saleManage/businessOpportunity/components/addOpportunityDialog.vue

@@ -48,14 +48,14 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="赢单率" prop="winRate">
-                <el-input placeholder="请输入内容" v-model="form.winRate">
+                <el-input placeholder="请输入内容" v-model="form.winRate" >
                     <template slot="append">%</template>
               </el-input>
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item label="预算" prop="budget">
-                <el-input placeholder="请输入内容" v-model="form.budget">
+              <el-form-item label="预算" prop="budget" >
+                <el-input placeholder="请输入内容" v-model="form.budget" >
                     <template slot="append">万元</template>
               </el-input>
               </el-form-item>
@@ -207,6 +207,48 @@ export default {
           ],
           stageCode:[
           { required: true, message: '请选择商机阶段名称', trigger: 'change' }
+          ],
+          winRate:[
+          {
+              required: false,
+              trigger: 'blur',
+              validator: (_rule, value, callback) => {
+                const reg = /^\d+(\.\d{1,2})?$/; // 限制为最多两位小数的正数
+                if (reg.test(value) && parseFloat(value) <= 100) {
+                  callback(); // 验证通过
+                } else {
+                  value = value.replace(/[^0-9.]/g, ''); // 只保留数字和小数点
+                 const [integerPart, decimalPart] = value.split('.');
+                 if (decimalPart && decimalPart.length > 2) {
+                   callback(new Error('小数位数不能超过两位'));
+                 }else {
+                  callback(new Error('只能输入小于100的数字'));
+                 }
+                }
+              }
+            }
+          ],
+          budget:[
+          {
+              required: false,
+              trigger: 'blur',
+              validator: (_rule, value, callback) => {
+                const reg = /^\d{1,13}(\.\d{1,2})?$/; // 限制为最多两位小数的13位以内的正数
+               if (reg.test(value)) {
+                 callback(); // 验证通过
+               } else {
+                value = value.replace(/[^0-9.]/g, ''); // 只保留数字和小数点
+                 const [integerPart, decimalPart] = value.split('.');
+                 if (decimalPart && decimalPart.length > 2) {
+                   callback(new Error('小数位数不能超过两位'));
+                 } else if (integerPart.length > 13) {
+                   callback(new Error('整数位数不能超过13位'));
+                 }else {
+                  callback(new Error('只能输入数字'));
+                 }
+               }
+              }
+            }
           ]
         },
       
@@ -232,6 +274,7 @@ export default {
       
     },
     methods: {
+   
       //获取竞品
       getDetailTable (val) {
         this.form.competAnalysisList = val;
@@ -394,4 +437,5 @@ export default {
 
     }
   };
+
 </script>