addEvaluate.vue 3.7 KB

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