rk
2025-09-22 cf2391a86bdea88196d49cd33949570f74c0985d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<template>
  <GlobalAlertWindow
    :title="title"
    :visible.sync="visible"
    :confirm-working="isWorking"
    @confirm="confirm"
    width="500px"
  >
    <el-form :model="form" ref="form" :rules="rules" label-width="100px">
      <el-form-item label="类型名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入名称" v-trim/>
      </el-form-item>
      <el-form-item label="价格系数(%)"  prop="ratio">
        <!-- @input="inputZAction(form, 'ratio')" -->
        <el-input v-model="form.ratio" @input="numInput(form, 'ratio')" placeholder="请输入价格系数" v-trim/>
      </el-form-item>
      <el-form-item label="排序码" prop="sortnum">
        <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/>
      </el-form-item>
    </el-form>
  </GlobalAlertWindow>
</template>
 
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
export default {
  name: 'OperaProjectLbaelWindow',
  extends: BaseOpera,
  components: { GlobalAlertWindow },
  data () {
    return {
      // 表单数据
      form: {
        id: null,
        name: '',
        ratio: '',
        projectId: '',
        sortnum: ''
      },
      // 验证规则
      rules: {
        name: [
          { required: true, message: '请输入类型名称', trigger: 'blur' }
        ]
      }
    }
  },
  created () {
    this.config({
      api: '/business/projectLabel',
      'field.id': 'id'
    })
  },
 
  methods: {
    open (title, target) {
      this.title = title
      this.visible = true
      // debugger
      // 新建
      if (target == null) {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
          this.form[this.configData['field.id']] = null
        })
        return
      }
      // 编辑
      this.$nextTick(() => {
        for (const key in this.form) {
          this.form[key] = target[key]
        }
      })
    },
    inputZAction(item, key) {
      // item[key] = item[key].replace(/[0], '')
      // item[key]=item[key].replace(/0|[^\d]+/g, '')
      if (item[key]>=1) {
        item[key] = 1
        return
      }
      item[key] = item[key].replace(/[^\d.]/g, '') //清楚数字和.以外的字符
                      .replace(/\.{2,}/g, '.')
                      .replace('.', '$#$')
                      .replace(/\./g, '')
                      .replace('$#$', '.')
                      .replace(/^(\-)*(\d+)\.(\d).*$/, '$1$2.$3')
                      .replace(/^\./g, '')
    },
    numInput(item, key) {
      // =""
      if (item[key] < 0) {
        item[key] = ''
      }
      item[key]=item[key].replace(/[^\d]+/g, '')
      console.log(item[key]);
    },
  }
}
</script>
 
<style lang="scss" scoped>
@import "@/assets/style/alertstyle.scss";
</style>