Blame view

src/components/dev/devServiceProvideView.vue 3.78 KB
b25b036d   wuxw   v1.9 优化日期
1
  <template>
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
    <el-row>
      <el-col :span="24">
        <el-card>
          <div slot="header">
            <span>{{ $t('devServiceProvideView.title') }}</span>
          </div>
          <el-form label-width="120px">
            <el-form-item :label="$t('devServiceProvideView.implMethod')" required>
              <el-select 
                v-model="form.queryModel" 
                style="width: 100%"
                @change="saveInfo">
                <el-option 
                  :label="$t('devServiceProvideView.required') + $t('devServiceProvideView.implMethod')" 
                  value="" 
                  disabled />
                <el-option label="sql方式" value="1" />
                <el-option label="java方式" value="3" />
                <el-option :label="$t('devServiceProvideView.proc')" value="2" />
              </el-select>
            </el-form-item>
            <el-form-item :label="$t('devServiceProvideView.params')" required>
              <el-input 
                v-model="form.params" 
                :placeholder="$t('devServiceProvideView.required') + $t('devServiceProvideView.params')"
                @input="saveInfo" />
            </el-form-item>
            <el-form-item v-if="form.queryModel === '1'" label="sql">
              <el-input
                v-model="form.sql"
                type="textarea"
                :rows="15"
                :placeholder="$t('devServiceProvideView.optional') + $t('devServiceProvideView.sql')"
                @input="saveInfo" />
            </el-form-item>
            <el-form-item v-if="form.queryModel === '1'" :label="$t('devServiceProvideView.template')">
              <el-input
                v-model="form.template"
                type="textarea"
                :rows="5"
                :placeholder="$t('devServiceProvideView.optional') + $t('devServiceProvideView.template')"
                @input="saveInfo" />
            </el-form-item>
            <el-form-item v-if="form.queryModel === '2'" :label="$t('devServiceProvideView.proc')">
              <el-input
                v-model="form.proc"
                type="textarea"
                :rows="5"
                :placeholder="$t('devServiceProvideView.optional') + $t('devServiceProvideView.proc')"
                @input="saveInfo" />
            </el-form-item>
            <el-form-item v-if="form.queryModel === '3'" label="java">
              <el-input
                v-model="form.javaScript"
                type="textarea"
                :rows="20"
                :placeholder="$t('devServiceProvideView.optional') + $t('devServiceProvideView.javaScript')"
                @input="saveInfo" />
            </el-form-item>
          </el-form>
        </el-card>
      </el-col>
    </el-row>
  </template>
  
  <script>
  export default {
    name: 'DevServiceProvideView',
    props: {
      callBackListener: {
        type: String,
        default: ''
      },
      callBackFunction: {
        type: String,
        default: ''
      },
      index: {
        type: Number,
        default: 0
      }
    },
    data() {
      return {
        form: {
          queryModel: '',
          params: '',
          sql: '',
          template: '',
          proc: '',
          javaScript: ''
        }
      }
    },
    watch: {
      form: {
        deep: true,
        handler() {
          this.saveInfo()
        }
      }
    },
    created() {
      this.$on('onIndex', this.onIndex)
    },
    methods: {
      saveInfo() {
        if (this.validate()) {
          this.$emit(this.callBackFunction, this.form)
        }
      },
      validate() {
        if (!this.form.queryModel) {
          this.$message.error(this.$t('devServiceProvideView.implMethod') + this.$t('devServiceProvideView.required'))
          return false
        }
        if (!this.form.params) {
          this.$message.error(this.$t('devServiceProvideView.params') + this.$t('devServiceProvideView.required'))
          return false
        }
        return true
      },
      onIndex(index) {
        this.index = index
      }
    }
  }
  </script>