addEvaluate.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <template>
  2. <div>
  3. <DialogCom
  4. :visible.sync="isShow"
  5. :width="'500px'"
  6. :title="`${id ? '编辑' : '新增'}扣分规则`"
  7. @close="closeHandler"
  8. >
  9. <el-form
  10. :model="ruleForm"
  11. :rules="rules"
  12. ref="ruleForm"
  13. label-width="100px"
  14. class="demo-ruleForm"
  15. >
  16. <el-form-item label="计算项目" prop="indicatorNote">
  17. <el-input
  18. placeholder="请输入计算项目"
  19. v-model="ruleForm.indicatorNote"
  20. clearable
  21. >
  22. </el-input>
  23. </el-form-item>
  24. <el-form-item label="计算类型">
  25. <!-- 1累计数,2连续数,3 分类,4 固化值 -->
  26. <el-radio-group v-model="ruleForm.calculateType">
  27. <el-radio :label="1">累计数</el-radio>
  28. <el-radio :label="2">连续数</el-radio>
  29. <!-- <el-radio :label="3">分类</el-radio>
  30. <el-radio :label="4">固化值</el-radio> -->
  31. </el-radio-group>
  32. </el-form-item>
  33. <el-form-item
  34. label="连续数"
  35. v-if="ruleForm.calculateType == 2"
  36. prop="indicatorDays"
  37. >
  38. <el-input
  39. placeholder="请输入连续数"
  40. v-model.number="ruleForm.indicatorDays"
  41. clearable
  42. >
  43. </el-input>
  44. </el-form-item>
  45. <el-form-item label="系数" prop="itemValue">
  46. <el-input
  47. placeholder="请输入系数"
  48. v-model="ruleForm.itemValue"
  49. clearable
  50. >
  51. </el-input>
  52. </el-form-item>
  53. <el-form-item>
  54. <el-button @click="resetFormHandler('ruleForm')">取消</el-button>
  55. <el-button type="primary" @click="submitForm('ruleForm')"
  56. >确定</el-button
  57. >
  58. </el-form-item>
  59. </el-form>
  60. </DialogCom>
  61. </div>
  62. </template>
  63. <script>
  64. import { guid } from "@/utils/index.js";
  65. export default {
  66. name: "SocWebAddEvaluate",
  67. dicts: ["evaluate_type"],
  68. data() {
  69. var valiNumberPass1 = (rule, value, callback) => {
  70. //包含小数的数字
  71. let reg = /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g;
  72. if (value === "") {
  73. callback(new Error("请输入内容"));
  74. } else if (!reg.test(value)) {
  75. callback(new Error("请输入数字"));
  76. } else {
  77. callback();
  78. }
  79. };
  80. return {
  81. ruleForm: {
  82. calculateType: 1,
  83. indicatorDays: "",
  84. itemValue: "",
  85. indicatorNote: "",
  86. },
  87. rules: {
  88. indicatorNote: [{ required: true, message: "请选择评价类型" }],
  89. indicatorDays: [
  90. { type: "number", message: "连续数只能为数字" },
  91. { required: true, message: "请输入连续数" },
  92. ],
  93. itemValue: [{ validator: valiNumberPass1 }],
  94. },
  95. id: "", //编辑时候ID
  96. isShow: false,
  97. };
  98. },
  99. mounted() {},
  100. methods: {
  101. show() {
  102. this.isShow = true;
  103. },
  104. resetFormHandler() {
  105. this.isShow = false;
  106. },
  107. closeHandler() {
  108. if(this.$refs.ruleForm){
  109. this.$refs.ruleForm.resetFields()
  110. }
  111. this.ruleForm = {};
  112. },
  113. submitForm(formName) {
  114. this.$refs[formName].validate((valid) => {
  115. if (valid) {
  116. if (this.ruleForm.uid) {
  117. //当前是编辑
  118. } else {
  119. //当前是新增
  120. this.ruleForm.uid = guid();
  121. }
  122. this.$emit("submitHandler", this.ruleForm);
  123. this.isShow = false;
  124. } else {
  125. return false;
  126. }
  127. });
  128. },
  129. },
  130. };
  131. </script>
  132. <style lang="scss" scoped>
  133. .el-select {
  134. width: 100%;
  135. }
  136. </style>