Mr.Zhang
2023-09-21 3fbfdefe98e5d35e32d74138ce73a1b4e2fe5465
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<template>
  <GlobalAlertWindow
    :title="title"
    :visible.sync="visible"
    :confirm-working="isWorking"
    width="750px"
    @confirm="confirm"
  >
    <el-form :model="form" ref="form" label-width="125px" :rules="rules">
      <el-form-item label="企业全称" prop="name">
        <el-input v-model="form.name" placeholder="请输入客户企业全称,不超过30字" v-trim/>
        企业名称需与工商部门登记信息一致
      </el-form-item>
      <el-form-item label="客户简称" prop="shortName">
        <el-input v-model="form.shortName" placeholder="请输入客户简称" v-trim/>
      </el-form-item>
      <el-form-item label="统一信用代码" prop="creditCode">
        <el-input v-model="form.creditCode" placeholder="请输入统一信用代码" v-trim/>
        统一信用代码需与工商部门登记信息一致
      </el-form-item>
      <el-form-item label="登录账号" prop="managerUserName">
        <el-input v-model="form.managerUserName" :disabled="!!this.form.id" placeholder="请输入登录账号" v-trim/>
      </el-form-item>
      <el-form-item label="系统使用有效期" prop="oepnValidDate">
        <el-date-picker v-model="form.oepnValidDate" value-format="yyyy-MM-dd" :disabled="!!this.form.id" placeholder="请输入系统使用有效期"></el-date-picker>
      </el-form-item>
      <el-form-item label="主播数量限制" prop="userNum">
        <el-input v-model="form.userNum" :disabled="!!this.form.id" placeholder="请输入主播数量限制" v-trim/>
        输入0表示不限制
      </el-form-item>
      <el-form-item label="销售人员" prop="salesmanId">
        <!-- <el-input v-model="form.salesmanId" placeholder="请输入销售人员编码" v-trim/> -->
        <el-select v-model="form.salesmanId" clearable placeholder="请选择" filterable >
          <el-option v-for="item in sales" :label="item.realname" :key="item.id" :value="item.id"></el-option>
        </el-select>
      </el-form-item>
 
      <div class="more">
        <div class="more-title">更多设置</div>
        <el-form-item label="联系人" prop="linkname">
          <el-input v-model="form.linkname" placeholder="请输入联系人" v-trim/>
        </el-form-item>
        <el-form-item label="联系人电话" prop="linkephone">
          <el-input v-model="form.linkephone" placeholder="请输入联系人电话" v-trim/>
        </el-form-item>
      </div>
      
      
      
    </el-form>
  </GlobalAlertWindow>
</template>
 
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
import { findAllList } from '@/api/system/user'
import { loginNameRule, creditCode } from '@/utils/form'
export default {
  name: 'OperaCompanyWindow',
  extends: BaseOpera,
  components: { GlobalAlertWindow },
  data () {
    return {
      // 表单数据
      form: {
        id: null,
        managerUserName: '',
        name: '',
        shortName: '',
        remark: '',
        managerId: '',
        linkname: '',
        linkephone: '',
        creditCode: '',
        userNum: '5',
        oepnValidDate: '',
        salesmanId: ''
      },
      sales: [],
      // 验证规则
      rules: {
        name: [
          { required: true, message: '请输入客户企业全称', tigger: 'blur'}
        ],
        managerUserName: [
          { required: true, validator: loginNameRule, message: '请输入登录账号', tigger: 'blur'}
        ],
        creditCode: [
          { validator: creditCode, trigger: 'blur' }
        ],
        openUserNum: [
          { pattern: /^[0-9]+$/, message: '只可以输入数字', trigger: 'change' }
        ]
      }
    }
  },
  created () {
    this.config({
      api: '/business/company',
      'field.id': 'id'
    })
    findAllList({ type: 0 })
      .then(res => {
        this.sales = res
      })
  },
  methods: {
    open(title, target) {
      this.title = title
      this.visible = true
      // 新建
      if (target == null) {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
          let data = new Date(new Date().getTime() + 31536000000)
          this.form.oepnValidDate = `${data.getFullYear()}-${data.getMonth() +1}-${data.getDate()}`
          this.form[this.configData['field.id']] = null
        })
        return
      }
      // 编辑
      this.$nextTick(() => {
        for (const key in this.form) {
          this.form[key] = target[key]
        }
        this.form.multifileList.forEach(item => {
          item.url = item.filefullurl
        })
      })
    },
  },
}
</script>
 
<style lang="scss" scoped>
.more {
  margin-top: 40px;
  
  .more-title {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 10px;
  }
}
::v-deep .el-input {
  width: 300px;
  margin-right: 10px;
}
</style>