lyn7568 4 anni fa
parent
commit
04a03989d5

+ 342 - 261
src/views/modules/admin/attenders-add-or-update.vue

@ -2,77 +2,108 @@
2 2
  <el-dialog
3 3
    :title="!dataForm.id ? '新增' : '修改'"
4 4
    :close-on-click-modal="false"
5
    :visible.sync="visible">
6
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
7
    <el-form-item label="会议id" prop="meetingId">
8
      <el-input v-model="dataForm.meetingId" placeholder="会议id"></el-input>
9
    </el-form-item>
10
    <el-form-item label="会员id" prop="memberId">
11
      <el-input v-model="dataForm.memberId" placeholder="会员id"></el-input>
12
    </el-form-item>
13
    <el-form-item label="姓名" prop="name">
14
      <el-input v-model="dataForm.name" placeholder="姓名"></el-input>
15
    </el-form-item>
16
    <el-form-item label="所属机构(单位名称、公司名称)" prop="organization">
17
      <el-input v-model="dataForm.organization" placeholder="所属机构(单位名称、公司名称)"></el-input>
18
    </el-form-item>
19
    <el-form-item label="职位" prop="positionId">
20
      <el-input v-model="dataForm.positionId" placeholder="职位"></el-input>
21
    </el-form-item>
22
    <el-form-item label="职称" prop="jobTitle">
23
      <el-input v-model="dataForm.jobTitle" placeholder="职称"></el-input>
24
    </el-form-item>
25
    <el-form-item label="电话" prop="phone">
26
      <el-input v-model="dataForm.phone" placeholder="电话"></el-input>
27
    </el-form-item>
28
    <el-form-item label="邮箱" prop="email">
29
      <el-input v-model="dataForm.email" placeholder="邮箱"></el-input>
30
    </el-form-item>
31
    <el-form-item label="办公电话" prop="officephone">
32
      <el-input v-model="dataForm.officephone" placeholder="办公电话"></el-input>
33
    </el-form-item>
34
    <el-form-item label="参会人员类型id" prop="typeId">
35
      <el-input v-model="dataForm.typeId" placeholder="参会人员类型id"></el-input>
36
     </el-form-item>
37
    <el-form-item label="参会意向" prop="intention">
38
      <el-input v-model="dataForm.intention" placeholder="参会意向"></el-input>
39
    </el-form-item>
40
    <el-form-item label="住宿要求" prop="room">
41
      <el-input v-model="dataForm.room" placeholder="住宿要求"></el-input>
42
    </el-form-item>
43
    <el-form-item label="接送要求" prop="transfer">
44
      <el-input v-model="dataForm.transfer" placeholder="接送要求"></el-input>
45
    </el-form-item>
46
    <el-form-item label="负责人(员工id)" prop="servicer">
47
      <el-input v-model="dataForm.servicer" placeholder="负责人(员工id)"></el-input>
48
    </el-form-item>
49
    <el-form-item label="备注" prop="note">
50
      <el-input v-model="dataForm.note" placeholder="备注"></el-input>
51
     </el-form-item>
52
    <el-form-item label="联系电话" prop="account">
53
      <el-input v-model="dataForm.account" placeholder="联系电话"></el-input>
54
    </el-form-item>
55
    <el-form-item label="联系邮箱" prop="emailLx">
56
      <el-input v-model="dataForm.emailLx" placeholder="联系邮箱"></el-input>
57
    </el-form-item>
58
    <el-form-item label="注册情况 0, 1, 2, 现场注册" prop="regflag">
59
      <el-input v-model="dataForm.regflag" placeholder="注册情况 0, 1, 2, 现场注册"></el-input>
60
    </el-form-item>
61
    <el-form-item label="创建时间" prop="createTime">
62
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
63
    </el-form-item>
64
    <el-form-item label="修改时间" prop="modifyTime">
65
      <el-input v-model="dataForm.modifyTime" placeholder="修改时间"></el-input>
66
    </el-form-item>
67
    <el-form-item label="创建者" prop="creater">
68
      <el-input v-model="dataForm.creater" placeholder="创建者"></el-input>
69
    </el-form-item>
70
    <el-form-item label="修改者" prop="modifier">
71
      <el-input v-model="dataForm.modifier" placeholder="修改者"></el-input>
72
    </el-form-item>
73
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
74
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
75
    </el-form-item>
5
    :visible.sync="visible"
6
  >
7
    <el-form
8
      :model="dataForm"
9
      :rules="dataRule"
10
      ref="dataForm"
11
      @keyup.enter.native="dataFormSubmit()"
12
      label-width="100px"
13
    >
14
      <el-form-item label="姓名" prop="name">
15
        <el-input v-model="dataForm.name" placeholder="姓名"></el-input>
16
      </el-form-item>
17
      <el-form-item label="所属机构" prop="organization">
18
        <el-input v-model="dataForm.organization" placeholder="所属机构(单位名称、公司名称)"></el-input>
19
      </el-form-item>
20
      <el-form-item label="职位" prop="positionId">
21
        <el-input v-model="dataForm.positionId" placeholder="职位"></el-input>
22
      </el-form-item>
23
      <el-form-item label="职称" prop="jobTitle">
24
        <el-input v-model="dataForm.jobTitle" placeholder="职称"></el-input>
25
      </el-form-item>
26
      <el-form-item label="电话" prop="phone">
27
        <el-input v-model="dataForm.phone" placeholder="电话"></el-input>
28
      </el-form-item>
29
      <el-form-item label="邮箱" prop="email">
30
        <el-input v-model="dataForm.email" placeholder="邮箱"></el-input>
31
      </el-form-item>
32
      <el-form-item label="办公电话" prop="officephone">
33
        <el-input v-model="dataForm.officephone" placeholder="办公电话"></el-input>
34
      </el-form-item>
35
36
       <el-form-item label="参会意向" prop="intention">
37
        <!-- <el-input v-model="dataForm.intention" placeholder="参会意向"></el-input> -->
38
        <el-radio v-model="dataForm.intention" :label="1">是</el-radio>
39
        <el-radio v-model="dataForm.intention" :label="0">否</el-radio>
40
      </el-form-item>
41
      <el-form-item label="住宿要求" prop="room">
42
        <!-- <el-input v-model="dataForm.room" placeholder="住宿要求"></el-input> -->
43
        <el-radio v-model="dataForm.room" :label="1">有</el-radio>
44
        <el-radio v-model="dataForm.room" :label="0">无</el-radio>
45
      </el-form-item>
46
      <el-form-item label="接送要求" prop="transfer">
47
        <!-- <el-input v-model="dataForm.transfer" placeholder="接送要求"></el-input> -->
48
        <el-radio v-model="dataForm.transfer" :label="1">是</el-radio>
49
        <el-radio v-model="dataForm.transfer" :label="0">否</el-radio>
50
      </el-form-item>
51
       <el-form-item label="负责人" prop="servicer">
52
        <!-- <el-input v-model="dataForm.servicer" placeholder="负责人"></el-input> -->
53
        <el-select
54
          v-model="dataForm.servicer"
55
          filterable
56
          remote
57
          reserve-keyword
58
          placeholder="请输入关键词"
59
          :remote-method="remoteMethod"
60
          :loading="loading"
61
        >
62
          <el-option
63
            v-for="item in options"
64
            :key="item.value"
65
            :label="item.label"
66
            :value="item.value"
67
          ></el-option>
68
        </el-select>
69
      </el-form-item>
70
71
      <el-form-item label="联系电话" prop="account">
72
        <el-input v-model="dataForm.account" placeholder="联系电话"></el-input>
73
      </el-form-item>
74
      <el-form-item label="联系邮箱" prop="emailLx">
75
        <el-input v-model="dataForm.emailLx" placeholder="联系邮箱"></el-input>
76
      </el-form-item>
77
      <!-- <el-form-item label="创建时间" prop="createTime">
78
        <el-date-picker
79
          v-model="dataForm.createTime"
80
          type="datetime"
81
          placeholder="选择日期时间"
82
          value-format="yyyy-MM-dd HH:mm:ss"
83
        ></el-date-picker>
84
      </el-form-item>
85
      <el-form-item label="修改时间" prop="modifyTime">
86
        <el-date-picker
87
          v-model="dataForm.modifyTime"
88
          type="datetime"
89
          placeholder="选择日期时间"
90
          value-format="yyyy-MM-dd HH:mm:ss"
91
        ></el-date-picker>
92
      </el-form-item> -->
93
      <el-form-item label="创建者" prop="creater">
94
        <el-input v-model="dataForm.creater" placeholder="创建者"></el-input>
95
      </el-form-item>
96
      <el-form-item label="修改者" prop="modifier">
97
        <el-input v-model="dataForm.modifier" placeholder="修改者"></el-input>
98
      </el-form-item>
99
      <el-form-item label="备注" prop="note">
100
        <el-input
101
          type="textarea"
102
          :autosize="{ minRows: 2, maxRows: 4}"
103
          placeholder="请输入内容"
104
          v-model="dataForm.note"
105
        ></el-input>
106
      </el-form-item>
76 107
    </el-form>
77 108
    <span slot="footer" class="dialog-footer">
78 109
      <el-button @click="visible = false">取消</el-button>
@ -82,201 +113,251 @@
82 113
</template>
83 114
84 115
<script>
85
  export default {
86
    data () {
87
      return {
88
        visible: false,
89
        dataForm: {
90
          id: 0,
91
          meetingId: '',
92
          memberId: '',
93
          name: '',
94
          organization: '',
95
          positionId: '',
96
          jobTitle: '',
97
          phone: '',
98
          email: '',
99
          officephone: '',
100
          typeId: '',
101
          intention: '',
102
          room: '',
103
          transfer: '',
104
          servicer: '',
105
          note: '',
106
          account: '',
107
          emailLx: '',
108
          regflag: '',
109
          createTime: '',
110
          modifyTime: '',
111
          creater: '',
112
          modifier: '',
113
          isDel: ''
114
        },
115
        dataRule: {
116
          meetingId: [
117
            { required: true, message: '会议id不能为空', trigger: 'blur' }
118
          ],
119
          memberId: [
120
            { required: true, message: '会员id不能为空', trigger: 'blur' }
121
          ],
122
          name: [
123
            { required: true, message: '姓名不能为空', trigger: 'blur' }
124
          ],
125
          organization: [
126
            { required: true, message: '所属机构(单位名称、公司名称)不能为空', trigger: 'blur' }
127
          ],
128
          positionId: [
129
            { required: true, message: '职位不能为空', trigger: 'blur' }
130
          ],
131
          jobTitle: [
132
            { required: true, message: '职称不能为空', trigger: 'blur' }
133
          ],
134
          phone: [
135
            { required: true, message: '电话不能为空', trigger: 'blur' }
136
          ],
137
          email: [
138
            { required: true, message: '邮箱不能为空', trigger: 'blur' }
139
          ],
140
          officephone: [
141
            { required: true, message: '办公电话不能为空', trigger: 'blur' }
142
          ],
143
          typeId: [
144
            { required: true, message: '参会人员类型id不能为空', trigger: 'blur' }
145
          ],
146
          intention: [
147
            { required: true, message: '参会意向不能为空', trigger: 'blur' }
148
          ],
149
          room: [
150
            { required: true, message: '住宿要求不能为空', trigger: 'blur' }
151
          ],
152
          transfer: [
153
            { required: true, message: '接送要求不能为空', trigger: 'blur' }
154
          ],
155
          servicer: [
156
            { required: true, message: '负责人(员工id)不能为空', trigger: 'blur' }
157
          ],
158
          note: [
159
            { required: true, message: '备注不能为空', trigger: 'blur' }
160
          ],
161
          account: [
162
            { required: true, message: '联系电话不能为空', trigger: 'blur' }
163
          ],
164
          emailLx: [
165
            { required: true, message: '联系邮箱不能为空', trigger: 'blur' }
166
          ],
167
          regflag: [
168
            { required: true, message: '注册情况 0, 1, 2, 现场注册不能为空', trigger: 'blur' }
169
          ],
170
          createTime: [
171
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
172
          ],
173
          modifyTime: [
174
            { required: true, message: '修改时间不能为空', trigger: 'blur' }
175
          ],
176
          creater: [
177
            { required: true, message: '创建者不能为空', trigger: 'blur' }
178
          ],
179
          modifier: [
180
            { required: true, message: '修改者不能为空', trigger: 'blur' }
181
          ],
182
          isDel: [
183
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
184
          ]
185
        }
186
      }
187
    },
188
    methods: {
189
      init (id) {
190
        this.dataForm.id = id || 0
191
        this.visible = true
192
        this.$nextTick(() => {
193
          this.$refs['dataForm'].resetFields()
194
          if (this.dataForm.id) {
195
            this.$http({
196
              url: this.$http.adornUrl(`/admin/attenders/info/${this.dataForm.id}`),
197
              method: 'get',
198
              params: this.$http.adornParams()
199
            }).then(({data}) => {
200
              if (data && data.code === 0) {
201
                this.dataForm.meetingId = data.attenders.meetingId
202
                this.dataForm.memberId = data.attenders.memberId
203
                this.dataForm.name = data.attenders.name
204
                this.dataForm.organization = data.attenders.organization
205
                this.dataForm.positionId = data.attenders.positionId
206
                this.dataForm.jobTitle = data.attenders.jobTitle
207
                this.dataForm.phone = data.attenders.phone
208
                this.dataForm.email = data.attenders.email
209
                this.dataForm.officephone = data.attenders.officephone
210
                this.dataForm.typeId = data.attenders.typeId
211
                this.dataForm.intention = data.attenders.intention
212
                this.dataForm.room = data.attenders.room
213
                this.dataForm.transfer = data.attenders.transfer
214
                this.dataForm.servicer = data.attenders.servicer
215
                this.dataForm.note = data.attenders.note
216
                this.dataForm.account = data.attenders.account
217
                this.dataForm.emailLx = data.attenders.emailLx
218
                this.dataForm.regflag = data.attenders.regflag
219
                this.dataForm.createTime = data.attenders.createTime
220
                this.dataForm.modifyTime = data.attenders.modifyTime
221
                this.dataForm.creater = data.attenders.creater
222
                this.dataForm.modifier = data.attenders.modifier
223
                this.dataForm.isDel = data.attenders.isDel
224
              }
225
            })
116
export default {
117
  data() {
118
    return {
119
      visible: false,
120
      loading: false,
121
      dataForm: {
122
        id: 0,
123
        meetingId: "",
124
        memberId: "",
125
        name: "",
126
        organization: "",
127
        positionId: "",
128
        jobTitle: "",
129
        phone: "",
130
        email: "",
131
        officephone: "",
132
        typeId: "",
133
        intention: "",
134
        room: "",
135
        transfer: "",
136
        servicer: "",
137
        note: "",
138
        account: "",
139
        emailLx: "",
140
        regflag: "",
141
        createTime: "",
142
        modifyTime: "",
143
        creater: "",
144
        modifier: "",
145
        isDel: ""
146
      },
147
      dataRule: {
148
        meetingId: [
149
          { required: true, message: "会议id不能为空", trigger: "blur" }
150
        ],
151
        memberId: [
152
          { required: true, message: "会员id不能为空", trigger: "blur" }
153
        ],
154
        name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
155
        organization: [
156
          {
157
            required: true,
158
            message: "所属机构(单位名称、公司名称)不能为空",
159
            trigger: "blur"
226 160
          }
227
        })
161
        ],
162
        positionId: [
163
          { required: true, message: "不能为空", trigger: "blur" }
164
        ],
165
        jobTitle: [
166
          { required: true, message: "职称不能为空", trigger: "blur" }
167
        ],
168
        phone: [{ required: true, message: "电话不能为空", trigger: "blur" }],
169
        email: [{ required: true, message: "邮箱不能为空", trigger: "blur" }],
170
        officephone: [
171
          { required: true, message: "办公电话不能为空", trigger: "blur" }
172
        ],
173
        typeId: [
174
          { required: true, message: "参会人员类型id不能为空", trigger: "blur" }
175
        ],
176
        intention: [
177
          { required: true, message: "参会意向不能为空", trigger: "blur" }
178
        ],
179
        room: [
180
          { required: true, message: "住宿要求不能为空", trigger: "blur" }
181
        ],
182
        transfer: [
183
          { required: true, message: "接送要求不能为空", trigger: "blur" }
184
        ],
185
        servicer: [
186
          {
187
            required: true,
188
            message: "负责人(员工id)不能为空",
189
            trigger: "blur"
190
          }
191
        ],
192
        note: [{ required: true, message: "备注不能为空", trigger: "blur" }],
193
        account: [
194
          { required: true, message: "联系电话不能为空", trigger: "blur" }
195
        ],
196
        emailLx: [
197
          { required: true, message: "联系邮箱不能为空", trigger: "blur" }
198
        ],
199
        regflag: [
200
          {
201
            required: true,
202
            message: "注册情况 0, 1, 2, 现场注册不能为空",
203
            trigger: "blur"
204
          }
205
        ],
206
        createTime: [
207
          { required: true, message: "创建时间不能为空", trigger: "blur" }
208
        ],
209
        modifyTime: [
210
          { required: true, message: "修改时间不能为空", trigger: "blur" }
211
        ],
212
        creater: [
213
          { required: true, message: "创建者不能为空", trigger: "blur" }
214
        ],
215
        modifier: [
216
          { required: true, message: "修改者不能为空", trigger: "blur" }
217
        ],
218
        isDel: [
219
          {
220
            required: true,
221
            message: "是否被删除 状态  0:正常   1:删除不能为空",
222
            trigger: "blur"
223
          }
224
        ]
228 225
      },
229
      // 表单提交
230
      dataFormSubmit () {
231
        this.$refs['dataForm'].validate((valid) => {
232
          if (valid) {
233
            this.$http({
234
              url: this.$http.adornUrl(`/admin/attenders/${!this.dataForm.id ? 'save' : 'update'}`),
235
              method: 'post',
236
              data: this.$http.adornData({
237
                'id': this.dataForm.id || undefined,
238
                'meetingId': this.dataForm.meetingId,
239
                'memberId': this.dataForm.memberId,
240
                'name': this.dataForm.name,
241
                'organization': this.dataForm.organization,
242
                'positionId': this.dataForm.positionId,
243
                'jobTitle': this.dataForm.jobTitle,
244
                'phone': this.dataForm.phone,
245
                'email': this.dataForm.email,
246
                'officephone': this.dataForm.officephone,
247
                'typeId': this.dataForm.typeId,
248
                'intention': this.dataForm.intention,
249
                'room': this.dataForm.room,
250
                'transfer': this.dataForm.transfer,
251
                'servicer': this.dataForm.servicer,
252
                'note': this.dataForm.note,
253
                'account': this.dataForm.account,
254
                'emailLx': this.dataForm.emailLx,
255
                'regflag': this.dataForm.regflag,
256
                'createTime': this.dataForm.createTime,
257
                'modifyTime': this.dataForm.modifyTime,
258
                'creater': this.dataForm.creater,
259
                'modifier': this.dataForm.modifier,
260
                'isDel': this.dataForm.isDel
261
              })
262
            }).then(({data}) => {
263
              if (data && data.code === 0) {
264
                this.$message({
265
                  message: '操作成功',
266
                  type: 'success',
267
                  duration: 1500,
268
                  onClose: () => {
269
                    this.visible = false
270
                    this.$emit('refreshDataList')
271
                  }
272
                })
273
              } else {
274
                this.$message.error(data.msg)
275
              }
226
      employeeList: [],
227
      list: [],
228
      options: []
229
    };
230
  },
231
  created() {
232
    this.getEmployee();
233
  },
234
  methods: {
235
    init(id) {
236
      this.dataForm.id = id || 0;
237
      this.visible = true;
238
      this.$nextTick(() => {
239
        this.$refs["dataForm"].resetFields();
240
        if (this.dataForm.id) {
241
          this.$http({
242
            url: this.$http.adornUrl(
243
              `/admin/attenders/info/${this.dataForm.id}`
244
            ),
245
            method: "get",
246
            params: this.$http.adornParams()
247
          }).then(({ data }) => {
248
            if (data && data.code === 0) {
249
              this.dataForm.meetingId = data.attenders.meetingId;
250
              this.dataForm.memberId = data.attenders.memberId;
251
              this.dataForm.name = data.attenders.name;
252
              this.dataForm.organization = data.attenders.organization;
253
              this.dataForm.positionId = data.attenders.positionId;
254
              this.dataForm.jobTitle = data.attenders.jobTitle;
255
              this.dataForm.phone = data.attenders.phone;
256
              this.dataForm.email = data.attenders.email;
257
              this.dataForm.officephone = data.attenders.officephone;
258
              this.dataForm.typeId = data.attenders.typeId;
259
              this.dataForm.intention = data.attenders.intention;
260
              this.dataForm.room = data.attenders.room;
261
              this.dataForm.transfer = data.attenders.transfer;
262
              this.dataForm.servicer = data.attenders.servicer;
263
              this.dataForm.note = data.attenders.note;
264
              this.dataForm.account = data.attenders.account;
265
              this.dataForm.emailLx = data.attenders.emailLx;
266
              this.dataForm.regflag = data.attenders.regflag;
267
              this.dataForm.createTime = data.attenders.createTime;
268
              this.dataForm.modifyTime = data.attenders.modifyTime;
269
              this.dataForm.creater = data.attenders.creater;
270
              this.dataForm.modifier = data.attenders.modifier;
271
              this.dataForm.isDel = data.attenders.isDel;
272
            }
273
          });
274
        }
275
      });
276
    },
277
    // 表单提交
278
    dataFormSubmit() {
279
      this.$refs["dataForm"].validate(valid => {
280
        if (valid) {
281
          this.$http({
282
            url: this.$http.adornUrl(
283
              `/admin/attenders/${!this.dataForm.id ? "save" : "update"}`
284
            ),
285
            method: "post",
286
            data: this.$http.adornData({
287
              id: this.dataForm.id || undefined,
288
              meetingId: this.dataForm.meetingId,
289
              memberId: this.dataForm.memberId,
290
              name: this.dataForm.name,
291
              organization: this.dataForm.organization,
292
              positionId: this.dataForm.positionId,
293
              jobTitle: this.dataForm.jobTitle,
294
              phone: this.dataForm.phone,
295
              email: this.dataForm.email,
296
              officephone: this.dataForm.officephone,
297
              typeId: this.dataForm.typeId,
298
              intention: this.dataForm.intention,
299
              room: this.dataForm.room,
300
              transfer: this.dataForm.transfer,
301
              servicer: this.dataForm.servicer,
302
              note: this.dataForm.note,
303
              account: this.dataForm.account,
304
              emailLx: this.dataForm.emailLx,
305
              regflag: this.dataForm.regflag,
306
              createTime: this.dataForm.createTime,
307
              modifyTime: this.dataForm.modifyTime,
308
              creater: this.dataForm.creater,
309
              modifier: this.dataForm.modifier
276 310
            })
277
          }
311
          }).then(({ data }) => {
312
            if (data && data.code === 0) {
313
              this.$message({
314
                message: "操作成功",
315
                type: "success",
316
                duration: 1500,
317
                onClose: () => {
318
                  this.visible = false;
319
                  this.$emit("refreshDataList");
320
                }
321
              });
322
            } else {
323
              this.$message.error(data.msg);
324
            }
325
          });
326
        }
327
      });
328
    },
329
    //获取员工信息
330
    getEmployee() {
331
      this.loading = true;
332
      this.$http({
333
        url: this.$http.adornUrl(`/admin/employee/findAllByTrueName`),
334
        method: "get",
335
        params: this.$http.adornParams({
336
          truename: ""
278 337
        })
338
      }).then(({ data }) => {
339
        if (data) {
340
          this.loading = false;
341
          this.employeeList = data;
342
          this.list = this.employeeList.map(item => {
343
            return { value: `${item.id}`, label: `${item.truename}` };
344
          });
345
        }
346
      });
347
    },
348
    remoteMethod(query) {
349
      if (query !== "") {
350
        this.loading = true;
351
        setTimeout(() => {
352
          this.loading = false;
353
          this.options = this.list.filter(item => {
354
            return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
355
          });
356
        }, 300);
357
      } else {
358
        this.options = [];
279 359
      }
280 360
    }
281 361
  }
362
};
282 363
</script>

+ 140 - 240
src/views/modules/admin/attenders.vue

@ -6,8 +6,17 @@
6 6
      </el-form-item>
7 7
      <el-form-item>
8 8
        <el-button @click="getDataList()">查询</el-button>
9
        <el-button v-if="isAuth('admin:attenders:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('admin:attenders:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
9
        <el-button
10
          v-if="isAuth('admin:attenders:save')"
11
          type="primary"
12
          @click="addOrUpdateHandle()"
13
        >新增</el-button>
14
        <el-button
15
          v-if="isAuth('admin:attenders:delete')"
16
          type="danger"
17
          @click="deleteHandle()"
18
          :disabled="dataListSelections.length <= 0"
19
        >批量删除</el-button>
11 20
      </el-form-item>
12 21
    </el-form>
13 22
    <el-table
@ -15,163 +24,45 @@
15 24
      border
16 25
      v-loading="dataListLoading"
17 26
      @selection-change="selectionChangeHandle"
18
      style="width: 100%;">
19
      <el-table-column
20
        type="selection"
21
        header-align="center"
22
        align="center"
23
        width="50">
24
      </el-table-column>
25
      <el-table-column
26
        prop="id"
27
        header-align="center"
28
        align="center"
29
        label="参会人员id">
30
      </el-table-column>
31
      <el-table-column
32
        prop="meetingId"
33
        header-align="center"
34
        align="center"
35
        label="会议id">
36
      </el-table-column>
37
      <el-table-column
38
        prop="memberId"
39
        header-align="center"
40
        align="center"
41
        label="会员id">
42
      </el-table-column>
43
      <el-table-column
44
        prop="name"
45
        header-align="center"
46
        align="center"
47
        label="姓名">
48
      </el-table-column>
49
      <el-table-column
50
        prop="organization"
51
        header-align="center"
52
        align="center"
53
        label="所属机构(单位名称、公司名称)">
54
      </el-table-column>
55
      <el-table-column
56
        prop="positionId"
57
        header-align="center"
58
        align="center"
59
        label="职位">
60
      </el-table-column>
61
      <el-table-column
62
        prop="jobTitle"
63
        header-align="center"
64
        align="center"
65
        label="职称">
66
      </el-table-column>
67
      <el-table-column
68
        prop="phone"
69
        header-align="center"
70
        align="center"
71
        label="电话">
72
      </el-table-column>
73
      <el-table-column
74
        prop="email"
75
        header-align="center"
76
        align="center"
77
        label="邮箱">
78
      </el-table-column>
79
      <el-table-column
80
        prop="officephone"
81
        header-align="center"
82
        align="center"
83
        label="办公电话">
84
      </el-table-column>
85
      <el-table-column
86
        prop="typeId"
87
        header-align="center"
88
        align="center"
89
        label="参会人员类型id">
90
      </el-table-column>
91
      <el-table-column
92
        prop="intention"
93
        header-align="center"
94
        align="center"
95
        label="参会意向">
96
      </el-table-column>
97
      <el-table-column
98
        prop="room"
99
        header-align="center"
100
        align="center"
101
        label="住宿要求">
102
      </el-table-column>
103
      <el-table-column
104
        prop="transfer"
105
        header-align="center"
106
        align="center"
107
        label="接送要求">
108
      </el-table-column>
109
      <el-table-column
110
        prop="servicer"
111
        header-align="center"
112
        align="center"
113
        label="负责人(员工id)">
114
      </el-table-column>
115
      <el-table-column
116
        prop="note"
117
        header-align="center"
118
        align="center"
119
        label="备注">
120
      </el-table-column>
121
      <el-table-column
27
      style="width: 100%;"
28
    >
29
      <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
30
      <el-table-column prop="name" header-align="center" align="center" label="姓名"></el-table-column>
31
      <el-table-column prop="organization" header-align="center" align="center" label="所属机构"></el-table-column>
32
      <el-table-column prop="positionId" header-align="center" align="center" label="职位"></el-table-column>
33
      <el-table-column prop="jobTitle" header-align="center" align="center" label="职称"></el-table-column>
34
      <el-table-column prop="phone" header-align="center" align="center" label="电话"></el-table-column>
35
      <el-table-column prop="email" header-align="center" align="center" label="邮箱"></el-table-column>
36
      <el-table-column prop="officephone" header-align="center" align="center" label="办公电话"></el-table-column>
37
      <el-table-column prop="intention" header-align="center" align="center" label="参会意向"></el-table-column>
38
      <el-table-column prop="room" header-align="center" align="center" label="住宿要求"></el-table-column>
39
      <el-table-column prop="transfer" header-align="center" align="center" label="接送要求"></el-table-column>
40
      <el-table-column prop="note" header-align="center" align="center" label="备注"></el-table-column>
41
      <!-- <el-table-column
122 42
        prop="account"
123 43
        header-align="center"
124 44
        align="center"
125 45
        label="联系电话">
126
      </el-table-column>
127
      <el-table-column
46
      </el-table-column>-->
47
      <!-- <el-table-column
128 48
        prop="emailLx"
129 49
        header-align="center"
130 50
        align="center"
131 51
        label="联系邮箱">
132
      </el-table-column>
133
      <el-table-column
52
      </el-table-column>-->
53
      <!-- <el-table-column
134 54
        prop="regflag"
135 55
        header-align="center"
136 56
        align="center"
137
        label="注册情况 0, 1, 2, 现场注册">
138
      </el-table-column>
139
      <el-table-column
140
        prop="createTime"
141
        header-align="center"
142
        align="center"
143
        label="创建时间">
144
      </el-table-column>
145
      <el-table-column
146
        prop="modifyTime"
147
        header-align="center"
148
        align="center"
149
        label="修改时间">
150
      </el-table-column>
151
      <el-table-column
152
        prop="creater"
153
        header-align="center"
154
        align="center"
155
        label="创建者">
156
      </el-table-column>
157
      <el-table-column
158
        prop="modifier"
159
        header-align="center"
160
        align="center"
161
        label="修改者">
162
      </el-table-column>
163
      <el-table-column
164
        prop="isDel"
165
        header-align="center"
166
        align="center"
167
        label="是否被删除 状态  0:正常   1:删除">
168
      </el-table-column>
169
      <el-table-column
170
        fixed="right"
171
        header-align="center"
172
        align="center"
173
        width="150"
174
        label="操作">
57
        label="注册情况 0, 1, 2, 现场注册"
58
      >
59
      </el-table-column>-->
60
61
      <!-- <el-table-column prop="createTime" header-align="center" align="center" label="创建时间"></el-table-column> -->
62
      <el-table-column prop="modifyTime" header-align="center" align="center" label="修改时间"></el-table-column>
63
      <el-table-column prop="creater" header-align="center" align="center" label="创建者"></el-table-column>
64
      <el-table-column prop="modifier" header-align="center" align="center" label="修改者"></el-table-column>
65
      <el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
175 66
        <template slot-scope="scope">
176 67
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
177 68
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
@ -185,111 +76,120 @@
185 76
      :page-sizes="[10, 20, 50, 100]"
186 77
      :page-size="pageSize"
187 78
      :total="totalPage"
188
      layout="total, sizes, prev, pager, next, jumper">
189
    </el-pagination>
79
      layout="total, sizes, prev, pager, next, jumper"
80
    ></el-pagination>
190 81
    <!-- 弹窗, 新增 / 修改 -->
191 82
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
192 83
  </div>
193 84
</template>
194 85
195 86
<script>
196
  import AddOrUpdate from './attenders-add-or-update'
197
  export default {
198
    data () {
199
      return {
200
        dataForm: {
201
          key: ''
202
        },
203
        dataList: [],
204
        pageIndex: 1,
205
        pageSize: 10,
206
        totalPage: 0,
207
        dataListLoading: false,
208
        dataListSelections: [],
209
        addOrUpdateVisible: false
210
      }
87
import AddOrUpdate from "./attenders-add-or-update";
88
export default {
89
  data() {
90
    return {
91
      dataForm: {
92
        key: ""
93
      },
94
      dataList: [],
95
      pageIndex: 1,
96
      pageSize: 10,
97
      totalPage: 0,
98
      dataListLoading: false,
99
      dataListSelections: [],
100
      addOrUpdateVisible: false
101
    };
102
  },
103
  components: {
104
    AddOrUpdate
105
  },
106
  activated() {
107
    this.getDataList();
108
  },
109
  methods: {
110
    // 获取数据列表
111
    getDataList() {
112
      this.dataListLoading = true;
113
      this.$http({
114
        url: this.$http.adornUrl("/admin/attenders/list"),
115
        method: "get",
116
        params: this.$http.adornParams({
117
          page: this.pageIndex,
118
          limit: this.pageSize,
119
          key: this.dataForm.key
120
        })
121
      }).then(({ data }) => {
122
        if (data && data.code === 0) {
123
          this.dataList = data.page.list;
124
          this.totalPage = data.page.totalCount;
125
        } else {
126
          this.dataList = [];
127
          this.totalPage = 0;
128
        }
129
        this.dataListLoading = false;
130
      });
131
    },
132
    // 每页数
133
    sizeChangeHandle(val) {
134
      this.pageSize = val;
135
      this.pageIndex = 1;
136
      this.getDataList();
137
    },
138
    // 当前页
139
    currentChangeHandle(val) {
140
      this.pageIndex = val;
141
      this.getDataList();
211 142
    },
212
    components: {
213
      AddOrUpdate
143
    // 多选
144
    selectionChangeHandle(val) {
145
      this.dataListSelections = val;
214 146
    },
215
    activated () {
216
      this.getDataList()
147
    // 新增 / 修改
148
    addOrUpdateHandle(id) {
149
      this.addOrUpdateVisible = true;
150
      this.$nextTick(() => {
151
        this.$refs.addOrUpdate.init(id);
152
      });
217 153
    },
218
    methods: {
219
      // 获取数据列表
220
      getDataList () {
221
        this.dataListLoading = true
154
    // 删除
155
    deleteHandle(id) {
156
      var ids = id
157
        ? [id]
158
        : this.dataListSelections.map(item => {
159
            return item.id;
160
          });
161
      this.$confirm(
162
        `确定对[id=${ids.join(",")}]进行[${id ? "删除" : "批量删除"}]操作?`,
163
        "提示",
164
        {
165
          confirmButtonText: "确定",
166
          cancelButtonText: "取消",
167
          type: "warning"
168
        }
169
      ).then(() => {
222 170
        this.$http({
223
          url: this.$http.adornUrl('/admin/attenders/list'),
224
          method: 'get',
225
          params: this.$http.adornParams({
226
            'page': this.pageIndex,
227
            'limit': this.pageSize,
228
            'key': this.dataForm.key
229
          })
230
        }).then(({data}) => {
171
          url: this.$http.adornUrl("/admin/attenders/delete"),
172
          method: "post",
173
          data: this.$http.adornData(ids, false)
174
        }).then(({ data }) => {
231 175
          if (data && data.code === 0) {
232
            this.dataList = data.page.list
233
            this.totalPage = data.page.totalCount
176
            this.$message({
177
              message: "操作成功",
178
              type: "success",
179
              duration: 1500,
180
              onClose: () => {
181
                this.getDataList();
182
              }
183
            });
234 184
          } else {
235
            this.dataList = []
236
            this.totalPage = 0
185
            this.$message.error(data.msg);
237 186
          }
238
          this.dataListLoading = false
239
        })
240
      },
241
      // 每页数
242
      sizeChangeHandle (val) {
243
        this.pageSize = val
244
        this.pageIndex = 1
245
        this.getDataList()
246
      },
247
      // 当前页
248
      currentChangeHandle (val) {
249
        this.pageIndex = val
250
        this.getDataList()
251
      },
252
      // 多选
253
      selectionChangeHandle (val) {
254
        this.dataListSelections = val
255
      },
256
      // 新增 / 修改
257
      addOrUpdateHandle (id) {
258
        this.addOrUpdateVisible = true
259
        this.$nextTick(() => {
260
          this.$refs.addOrUpdate.init(id)
261
        })
262
      },
263
      // 删除
264
      deleteHandle (id) {
265
        var ids = id ? [id] : this.dataListSelections.map(item => {
266
          return item.id
267
        })
268
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
269
          confirmButtonText: '确定',
270
          cancelButtonText: '取消',
271
          type: 'warning'
272
        }).then(() => {
273
          this.$http({
274
            url: this.$http.adornUrl('/admin/attenders/delete'),
275
            method: 'post',
276
            data: this.$http.adornData(ids, false)
277
          }).then(({data}) => {
278
            if (data && data.code === 0) {
279
              this.$message({
280
                message: '操作成功',
281
                type: 'success',
282
                duration: 1500,
283
                onClose: () => {
284
                  this.getDataList()
285
                }
286
              })
287
            } else {
288
              this.$message.error(data.msg)
289
            }
290
          })
291
        })
292
      }
187
        });
188
      });
189
    },
190
    changeStatus(id) {
191
      window.console.log(id);
293 192
    }
294 193
  }
194
};
295 195
</script>

+ 0 - 1
src/views/modules/admin/lecture-add-or-update.vue

@ -199,7 +199,6 @@ export default {
199 199
          meetingId: this.$route.params.id
200 200
        })
201 201
      }).then(({ data }) => {
202
        // window.console.log(data);
203 202
        if (data && data.code === 0) {
204 203
          this.loading = false;
205 204
          this.meetingList = data.list;

+ 1 - 1
src/views/modules/admin/member-add-or-update.vue

@ -45,6 +45,7 @@
45 45
      <el-form-item label="职称" prop="jobTitle">
46 46
        <el-input v-model="dataForm.jobTitle" placeholder="职称"></el-input>
47 47
      </el-form-item>
48
     
48 49
      <el-form-item label="电话" prop="phone">
49 50
        <el-input v-model="dataForm.phone" placeholder="电话"></el-input>
50 51
      </el-form-item>
@ -144,7 +145,6 @@ export default {
144 145
  },
145 146
  methods: {
146 147
    init(id) {
147
      window.console.log(id)
148 148
      this.dataForm.id = id || 0;
149 149
      if (this.dataForm.id === 0) {
150 150
        this.add = true;

+ 299 - 206
src/views/modules/admin/payment-add-or-update.vue

@ -2,59 +2,102 @@
2 2
  <el-dialog
3 3
    :title="!dataForm.id ? '新增' : '修改'"
4 4
    :close-on-click-modal="false"
5
    :visible.sync="visible">
6
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
7
    <el-form-item label="订单号" prop="orderId">
8
      <el-input v-model="dataForm.orderId" placeholder="订单号"></el-input>
9
    </el-form-item>
10
    <el-form-item label="参会人员id" prop="attendersId">
11
      <el-input v-model="dataForm.attendersId" placeholder="参会人员id"></el-input>
12
    </el-form-item>
13
    <el-form-item label="费用类型id" prop="feeId">
14
      <el-input v-model="dataForm.feeId" placeholder="费用类型id"></el-input>
15
    </el-form-item>
16
    <el-form-item label="缴费时间" prop="payTime">
17
      <el-input v-model="dataForm.payTime" placeholder="缴费时间"></el-input>
18
    </el-form-item>
19
    <el-form-item label="缴费方式" prop="payType">
20
      <el-input v-model="dataForm.payType" placeholder="缴费方式"></el-input>
21
    </el-form-item>
22
    <el-form-item label="缴费项目" prop="payOption">
23
      <el-input v-model="dataForm.payOption" placeholder="缴费项目"></el-input>
24
    </el-form-item>
25
    <el-form-item label="金额" prop="money">
26
      <el-input v-model="dataForm.money" placeholder="金额"></el-input>
27
    </el-form-item>
28
    <el-form-item label="发票抬头" prop="taxTitle">
29
      <el-input v-model="dataForm.taxTitle" placeholder="发票抬头"></el-input>
30
    </el-form-item>
31
    <el-form-item label="纳税人税号" prop="taxNumber">
32
      <el-input v-model="dataForm.taxNumber" placeholder="纳税人税号"></el-input>
33
    </el-form-item>
34
    <el-form-item label="地址 电话" prop="addrPhone">
35
      <el-input v-model="dataForm.addrPhone" placeholder="地址 电话"></el-input>
36
    </el-form-item>
37
    <el-form-item label="开户行及账号" prop="bankAddrAccount">
38
      <el-input v-model="dataForm.bankAddrAccount" placeholder="开户行及账号"></el-input>
39
    </el-form-item>
40
    <el-form-item label="邮寄地址" prop="taxAddress">
41
      <el-input v-model="dataForm.taxAddress" placeholder="邮寄地址"></el-input>
42
    </el-form-item>
43
    <el-form-item label="确认是否已缴费" prop="isCheck">
44
      <el-input v-model="dataForm.isCheck" placeholder="确认是否已缴费"></el-input>
45
    </el-form-item>
46
    <el-form-item label="创建时间" prop="createTime">
47
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
48
    </el-form-item>
49
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
50
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
51
    </el-form-item>
52
    <el-form-item label="会议id" prop="meetingId">
53
      <el-input v-model="dataForm.meetingId" placeholder="会议id"></el-input>
54
    </el-form-item>
55
    <el-form-item label="发票类型0普1专" prop="taxType">
56
      <el-input v-model="dataForm.taxType" placeholder="发票类型0普1专"></el-input>
57
    </el-form-item>
5
    :visible.sync="visible"
6
  >
7
    <el-form
8
      :model="dataForm"
9
      :rules="dataRule"
10
      ref="dataForm"
11
      @keyup.enter.native="dataFormSubmit()"
12
      label-width="120px"
13
    >
14
      <!-- <el-form-item label="订单号" prop="orderId">
15
        <el-input v-model="dataForm.orderId" placeholder="订单号"></el-input>
16
      </el-form-item>-->
17
      <el-form-item label="参会人员" prop="attenders">
18
        <!-- <el-input v-model="dataForm.attendersId" placeholder="参会人员id"></el-input> -->
19
        <el-select
20
          style="width:220px"
21
          v-model="dataForm.attenders"
22
          filterable
23
          remote
24
          reserve-keyword
25
          placeholder="请输入关键词"
26
          :remote-method="remoteMethod"
27
          :loading="loading"
28
        >
29
          <el-option
30
            v-for="item in options"
31
            :key="item.value"
32
            :label="item.label"
33
            :value="item.value"
34
          ></el-option>
35
        </el-select>
36
      </el-form-item>
37
      <!-- <el-form-item label="费用类型id" prop="feeId">
38
        <el-input v-model="dataForm.feeId" placeholder="费用类型id"></el-input>
39
      </el-form-item>-->
40
      <el-form-item label="缴费时间" prop="payTime">
41
        <!-- <el-input v-model="dataForm.payTime" placeholder="缴费时间"></el-input> -->
42
        <el-date-picker
43
          v-model="dataForm.payTime"
44
          type="datetime"
45
          placeholder="选择日期时间"
46
          value-format="yyyy-MM-dd HH:mm:ss"
47
        ></el-date-picker>
48
      </el-form-item>
49
      <el-form-item label="缴费方式" prop="payType">
50
        <!-- <el-input v-model="dataForm.payType" placeholder="缴费方式"></el-input> -->
51
        <el-select v-model="dataForm.payType" placeholder="请选择">
52
          <el-option
53
            v-for="item in payTypeList"
54
            :key="item.value"
55
            :label="item.label"
56
            :value="item.value"
57
          ></el-option>
58
        </el-select>
59
      </el-form-item>
60
      <el-form-item label="缴费项目" prop="payOption">
61
        <el-input v-model="dataForm.payOption" placeholder="缴费项目"></el-input>
62
      </el-form-item>
63
      <el-form-item label="费用类型" prop="feeId">
64
        <el-input v-model="dataForm.feeId" placeholder="缴费项目"></el-input>
65
      </el-form-item>
66
      <el-form-item label="金额" prop="money">
67
        <el-input v-model="dataForm.money" placeholder="金额"></el-input>
68
      </el-form-item>
69
      <el-form-item label="发票抬头" prop="taxTitle">
70
        <el-input v-model="dataForm.taxTitle" placeholder="发票抬头"></el-input>
71
      </el-form-item>
72
      <el-form-item label="纳税人税号" prop="taxNumber">
73
        <el-input v-model="dataForm.taxNumber" placeholder="纳税人税号"></el-input>
74
      </el-form-item>
75
      <el-form-item label="地址 电话" prop="addrPhone">
76
        <el-input v-model="dataForm.addrPhone" placeholder="电话"></el-input>
77
      </el-form-item>
78
      <el-form-item label="开户行及账号" prop="bankAddrAccount">
79
        <el-input v-model="dataForm.bankAddrAccount" placeholder="开户行及账号"></el-input>
80
      </el-form-item>
81
      <el-form-item label="邮寄地址" prop="taxAddress">
82
        <el-input v-model="dataForm.taxAddress" placeholder="邮寄地址"></el-input>
83
      </el-form-item>
84
      <el-form-item label="确认是否已缴费" prop="isCheck">
85
        <!-- <el-input v-model="dataForm.isPay" placeholder="确认是否已缴费"></el-input> -->
86
        <el-radio v-model="dataForm.isPay" :label="1">是</el-radio>
87
        <el-radio v-model="dataForm.isPay" :label="0">否</el-radio>
88
      </el-form-item>
89
      <!-- <el-form-item label="创建时间" prop="createTime">
90
        <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
91
      </el-form-item>-->
92
      <!-- <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
93
        <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
94
      </el-form-item>-->
95
      <!-- <el-form-item label="会议id" prop="meetingId">
96
        <el-input v-model="dataForm.meetingId" placeholder="会议id"></el-input>
97
      </el-form-item>-->
98
      <!-- <el-form-item label="发票类型0普1专" prop="taxType">
99
        <el-input v-model="dataForm.taxType" placeholder="发票类型0普1专"></el-input>
100
      </el-form-item>-->
58 101
    </el-form>
59 102
    <span slot="footer" class="dialog-footer">
60 103
      <el-button @click="visible = false">取消</el-button>
@ -64,165 +107,215 @@
64 107
</template>
65 108
66 109
<script>
67
  export default {
68
    data () {
69
      return {
70
        visible: false,
71
        dataForm: {
72
          id: 0,
73
          orderId: '',
74
          attendersId: '',
75
          feeId: '',
76
          payTime: '',
77
          payType: '',
78
          payOption: '',
79
          money: '',
80
          taxTitle: '',
81
          taxNumber: '',
82
          addrPhone: '',
83
          bankAddrAccount: '',
84
          taxAddress: '',
85
          isCheck: '',
86
          createTime: '',
87
          isDel: '',
88
          meetingId: '',
89
          taxType: ''
110
export default {
111
  data() {
112
    return {
113
      visible: false,
114
      dataForm: {
115
        id: 0,
116
        attenders: "", //参会人员id
117
        payTime: "", //付款时间
118
        payType: "", //付款方式
119
        payOption: "", //付款项目
120
        feeId: "", //费用类型
121
        money: "", //金额
122
        isPay: "", //是否付款
123
        taxType: "", //发票类型
124
        taxTitle: "", //发票抬头
125
        taxNumber: "", //发票号
126
        addrPhone: "", //电话
127
        bankAddrAccount: "", //开户行
128
        taxAddress: "" //发票地址
129
      },
130
      dataRule: {
131
        orderId: [
132
          { required: true, message: "订单号不能为空", trigger: "blur" }
133
        ],
134
        attendersId: [
135
          { required: true, message: "参会人员id不能为空", trigger: "blur" }
136
        ],
137
        feeId: [
138
          { required: true, message: "费用类型id不能为空", trigger: "blur" }
139
        ],
140
        payTime: [
141
          { required: true, message: "缴费时间不能为空", trigger: "blur" }
142
        ],
143
        payType: [
144
          { required: true, message: "缴费方式不能为空", trigger: "blur" }
145
        ],
146
        payOption: [
147
          { required: true, message: "缴费项目不能为空", trigger: "blur" }
148
        ],
149
        money: [{ required: true, message: "金额不能为空", trigger: "blur" }],
150
        taxTitle: [
151
          { required: true, message: "发票抬头不能为空", trigger: "blur" }
152
        ],
153
        taxNumber: [
154
          { required: true, message: "纳税人税号不能为空", trigger: "blur" }
155
        ],
156
        addrPhone: [
157
          { required: true, message: "地址 电话不能为空", trigger: "blur" }
158
        ],
159
        bankAddrAccount: [
160
          { required: true, message: "开户行及账号不能为空", trigger: "blur" }
161
        ],
162
        taxAddress: [
163
          { required: true, message: "邮寄地址不能为空", trigger: "blur" }
164
        ],
165
        isCheck: [
166
          { required: true, message: "确认是否已缴费不能为空", trigger: "blur" }
167
        ],
168
        createTime: [
169
          { required: true, message: "创建时间不能为空", trigger: "blur" }
170
        ],
171
        isDel: [
172
          {
173
            required: true,
174
            message: "是否被删除 状态  0:正常   1:删除不能为空",
175
            trigger: "blur"
176
          }
177
        ],
178
        meetingId: [
179
          { required: true, message: "会议id不能为空", trigger: "blur" }
180
        ],
181
        taxType: [
182
          { required: true, message: "发票类型0普1专不能为空", trigger: "blur" }
183
        ]
184
      },
185
      loading: false,
186
      meetingList: [],
187
      list: [],
188
      options: [],
189
      payTypeList: [
190
        {
191
          value: "1",
192
          label: "线上缴费"
90 193
        },
91
        dataRule: {
92
          orderId: [
93
            { required: true, message: '订单号不能为空', trigger: 'blur' }
94
          ],
95
          attendersId: [
96
            { required: true, message: '参会人员id不能为空', trigger: 'blur' }
97
          ],
98
          feeId: [
99
            { required: true, message: '费用类型id不能为空', trigger: 'blur' }
100
          ],
101
          payTime: [
102
            { required: true, message: '缴费时间不能为空', trigger: 'blur' }
103
          ],
104
          payType: [
105
            { required: true, message: '缴费方式不能为空', trigger: 'blur' }
106
          ],
107
          payOption: [
108
            { required: true, message: '缴费项目不能为空', trigger: 'blur' }
109
          ],
110
          money: [
111
            { required: true, message: '金额不能为空', trigger: 'blur' }
112
          ],
113
          taxTitle: [
114
            { required: true, message: '发票抬头不能为空', trigger: 'blur' }
115
          ],
116
          taxNumber: [
117
            { required: true, message: '纳税人税号不能为空', trigger: 'blur' }
118
          ],
119
          addrPhone: [
120
            { required: true, message: '地址 电话不能为空', trigger: 'blur' }
121
          ],
122
          bankAddrAccount: [
123
            { required: true, message: '开户行及账号不能为空', trigger: 'blur' }
124
          ],
125
          taxAddress: [
126
            { required: true, message: '邮寄地址不能为空', trigger: 'blur' }
127
          ],
128
          isCheck: [
129
            { required: true, message: '确认是否已缴费不能为空', trigger: 'blur' }
130
          ],
131
          createTime: [
132
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
133
          ],
134
          isDel: [
135
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
136
          ],
137
          meetingId: [
138
            { required: true, message: '会议id不能为空', trigger: 'blur' }
139
          ],
140
          taxType: [
141
            { required: true, message: '发票类型0普1专不能为空', trigger: 'blur' }
142
          ]
194
        {
195
          value: "2",
196
          label: "现场缴费"
143 197
        }
144
      }
198
      ]
199
    };
200
  },
201
  created() {
202
    this.getPaymentByname();
203
  },
204
  methods: {
205
    init(id) {
206
      this.dataForm.id = id || 0;
207
      this.visible = true;
208
      this.$nextTick(() => {
209
        this.$refs["dataForm"].resetFields();
210
        if (this.dataForm.id) {
211
          this.$http({
212
            url: this.$http.adornUrl(`/admin/payment/info/${this.dataForm.id}`),
213
            method: "get",
214
            params: this.$http.adornParams()
215
          }).then(({ data }) => {
216
            if (data && data.code === 0) {
217
              this.dataForm.orderId = data.payment.orderId;
218
              this.dataForm.attenders = data.payment.attenders;
219
              this.dataForm.feeId = data.payment.feeId;
220
              this.dataForm.payTime = data.payment.payTime;
221
              this.dataForm.payType = data.payment.payType;
222
              this.dataForm.payOption = data.payment.payOption;
223
              this.dataForm.money = data.payment.money;
224
              this.dataForm.taxTitle = data.payment.taxTitle;
225
              this.dataForm.taxNumber = data.payment.taxNumber;
226
              this.dataForm.addrPhone = data.payment.addrPhone;
227
              this.dataForm.bankAddrAccount = data.payment.bankAddrAccount;
228
              this.dataForm.taxAddress = data.payment.taxAddress;
229
              this.dataForm.isCheck = data.payment.isCheck;
230
              this.dataForm.createTime = data.payment.createTime;
231
              this.dataForm.isDel = data.payment.isDel;
232
              this.dataForm.meetingId = data.payment.meetingId;
233
              this.dataForm.taxType = data.payment.taxType;
234
            }
235
          });
236
        }
237
      });
145 238
    },
146
    methods: {
147
      init (id) {
148
        this.dataForm.id = id || 0
149
        this.visible = true
150
        this.$nextTick(() => {
151
          this.$refs['dataForm'].resetFields()
152
          if (this.dataForm.id) {
153
            this.$http({
154
              url: this.$http.adornUrl(`/admin/payment/info/${this.dataForm.id}`),
155
              method: 'get',
156
              params: this.$http.adornParams()
157
            }).then(({data}) => {
158
              if (data && data.code === 0) {
159
                this.dataForm.orderId = data.payment.orderId
160
                this.dataForm.attendersId = data.payment.attendersId
161
                this.dataForm.feeId = data.payment.feeId
162
                this.dataForm.payTime = data.payment.payTime
163
                this.dataForm.payType = data.payment.payType
164
                this.dataForm.payOption = data.payment.payOption
165
                this.dataForm.money = data.payment.money
166
                this.dataForm.taxTitle = data.payment.taxTitle
167
                this.dataForm.taxNumber = data.payment.taxNumber
168
                this.dataForm.addrPhone = data.payment.addrPhone
169
                this.dataForm.bankAddrAccount = data.payment.bankAddrAccount
170
                this.dataForm.taxAddress = data.payment.taxAddress
171
                this.dataForm.isCheck = data.payment.isCheck
172
                this.dataForm.createTime = data.payment.createTime
173
                this.dataForm.isDel = data.payment.isDel
174
                this.dataForm.meetingId = data.payment.meetingId
175
                this.dataForm.taxType = data.payment.taxType
176
              }
177
            })
178
          }
179
        })
180
      },
181
      // 表单提交
182
      dataFormSubmit () {
183
        this.$refs['dataForm'].validate((valid) => {
184
          if (valid) {
185
            this.$http({
186
              url: this.$http.adornUrl(`/admin/payment/${!this.dataForm.id ? 'save' : 'update'}`),
187
              method: 'post',
188
              data: this.$http.adornData({
189
                'id': this.dataForm.id || undefined,
190
                'orderId': this.dataForm.orderId,
191
                'attendersId': this.dataForm.attendersId,
192
                'feeId': this.dataForm.feeId,
193
                'payTime': this.dataForm.payTime,
194
                'payType': this.dataForm.payType,
195
                'payOption': this.dataForm.payOption,
196
                'money': this.dataForm.money,
197
                'taxTitle': this.dataForm.taxTitle,
198
                'taxNumber': this.dataForm.taxNumber,
199
                'addrPhone': this.dataForm.addrPhone,
200
                'bankAddrAccount': this.dataForm.bankAddrAccount,
201
                'taxAddress': this.dataForm.taxAddress,
202
                'isCheck': this.dataForm.isCheck,
203
                'createTime': this.dataForm.createTime,
204
                'isDel': this.dataForm.isDel,
205
                'meetingId': this.dataForm.meetingId,
206
                'taxType': this.dataForm.taxType
207
              })
208
            }).then(({data}) => {
209
              if (data && data.code === 0) {
210
                this.$message({
211
                  message: '操作成功',
212
                  type: 'success',
213
                  duration: 1500,
214
                  onClose: () => {
215
                    this.visible = false
216
                    this.$emit('refreshDataList')
217
                  }
218
                })
219
              } else {
220
                this.$message.error(data.msg)
221
              }
239
    // 表单提交
240
    dataFormSubmit() {
241
      this.$refs["dataForm"].validate(valid => {
242
        if (valid) {
243
          this.$http({
244
            url: this.$http.adornUrl(
245
              `/admin/payment/${!this.dataForm.id ? "save" : "update"}`
246
            ),
247
            method: "post",
248
            data: this.$http.adornData({
249
              id: this.dataForm.id || undefined,
250
              orderId: this.dataForm.orderId,
251
              attendersId: this.dataForm.attendersId,
252
              feeId: this.dataForm.feeId,
253
              payTime: this.dataForm.payTime,
254
              payType: this.dataForm.payType,
255
              payOption: this.dataForm.payOption,
256
              money: this.dataForm.money,
257
              taxTitle: this.dataForm.taxTitle,
258
              taxNumber: this.dataForm.taxNumber,
259
              addrPhone: this.dataForm.addrPhone,
260
              bankAddrAccount: this.dataForm.bankAddrAccount,
261
              taxAddress: this.dataForm.taxAddress,
262
              isCheck: this.dataForm.isCheck,
263
              createTime: this.dataForm.createTime,
264
              isDel: this.dataForm.isDel,
265
              meetingId: this.dataForm.meetingId,
266
              taxType: this.dataForm.taxType
222 267
            })
223
          }
268
          }).then(({ data }) => {
269
            if (data && data.code === 0) {
270
              this.$message({
271
                message: "操作成功",
272
                type: "success",
273
                duration: 1500,
274
                onClose: () => {
275
                  this.visible = false;
276
                  this.$emit("refreshDataList");
277
                }
278
              });
279
            } else {
280
              this.$message.error(data.msg);
281
            }
282
          });
283
        }
284
      });
285
    },
286
    getPaymentByname(name = "") {
287
      this.loading = true;
288
      this.$http({
289
        url: this.$http.adornUrl(`/admin/attenders/selectbyname`),
290
        method: "get",
291
        params: this.$http.adornParams({
292
          name: name,
293
          meetingId: this.$route.params.id
224 294
        })
295
      }).then(({ data }) => {
296
        window.console.log(data);
297
        if (data) {
298
          this.loading = false;
299
          this.meetingList = data.list;
300
          this.list = this.meetingList.map(item => {
301
            return { value: `${item.id}`, label: `${item.name}` };
302
          });
303
        }
304
      });
305
    },
306
    remoteMethod(query) {
307
      if (query !== "") {
308
        this.loading = true;
309
        setTimeout(() => {
310
          this.loading = false;
311
          this.options = this.list.filter(item => {
312
            return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
313
          });
314
        }, 300);
315
      } else {
316
        this.options = [];
225 317
      }
226 318
    }
227 319
  }
320
};
228 321
</script>

+ 130 - 215
src/views/modules/admin/payment.vue

@ -6,8 +6,17 @@
6 6
      </el-form-item>
7 7
      <el-form-item>
8 8
        <el-button @click="getDataList()">查询</el-button>
9
        <el-button v-if="isAuth('admin:payment:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('admin:payment:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
9
        <!-- <el-button
10
          v-if="isAuth('admin:payment:save')"
11
          type="primary"
12
          @click="addOrUpdateHandle()"
13
        >新增</el-button> -->
14
        <el-button
15
          v-if="isAuth('admin:payment:delete')"
16
          type="danger"
17
          @click="deleteHandle()"
18
          :disabled="dataListSelections.length <= 0"
19
        >批量删除</el-button>
11 20
      </el-form-item>
12 21
    </el-form>
13 22
    <el-table
@ -15,127 +24,26 @@
15 24
      border
16 25
      v-loading="dataListLoading"
17 26
      @selection-change="selectionChangeHandle"
18
      style="width: 100%;">
19
      <el-table-column
20
        type="selection"
21
        header-align="center"
22
        align="center"
23
        width="50">
24
      </el-table-column>
25
      <el-table-column
26
        prop="id"
27
        header-align="center"
28
        align="center"
29
        label="缴费信息id">
30
      </el-table-column>
31
      <el-table-column
32
        prop="orderId"
33
        header-align="center"
34
        align="center"
35
        label="订单号">
36
      </el-table-column>
37
      <el-table-column
38
        prop="attendersId"
39
        header-align="center"
40
        align="center"
41
        label="参会人员id">
42
      </el-table-column>
43
      <el-table-column
44
        prop="feeId"
45
        header-align="center"
46
        align="center"
47
        label="费用类型id">
48
      </el-table-column>
49
      <el-table-column
50
        prop="payTime"
51
        header-align="center"
52
        align="center"
53
        label="缴费时间">
54
      </el-table-column>
55
      <el-table-column
56
        prop="payType"
57
        header-align="center"
58
        align="center"
59
        label="缴费方式">
60
      </el-table-column>
61
      <el-table-column
62
        prop="payOption"
63
        header-align="center"
64
        align="center"
65
        label="缴费项目">
66
      </el-table-column>
67
      <el-table-column
68
        prop="money"
69
        header-align="center"
70
        align="center"
71
        label="金额">
72
      </el-table-column>
73
      <el-table-column
74
        prop="taxTitle"
75
        header-align="center"
76
        align="center"
77
        label="发票抬头">
78
      </el-table-column>
79
      <el-table-column
80
        prop="taxNumber"
81
        header-align="center"
82
        align="center"
83
        label="纳税人税号">
84
      </el-table-column>
85
      <el-table-column
86
        prop="addrPhone"
87
        header-align="center"
88
        align="center"
89
        label="地址 电话">
90
      </el-table-column>
91
      <el-table-column
92
        prop="bankAddrAccount"
93
        header-align="center"
94
        align="center"
95
        label="开户行及账号">
96
      </el-table-column>
97
      <el-table-column
98
        prop="taxAddress"
99
        header-align="center"
100
        align="center"
101
        label="邮寄地址">
102
      </el-table-column>
103
      <el-table-column
104
        prop="isCheck"
105
        header-align="center"
106
        align="center"
107
        label="确认是否已缴费">
108
      </el-table-column>
109
      <el-table-column
110
        prop="createTime"
111
        header-align="center"
112
        align="center"
113
        label="创建时间">
114
      </el-table-column>
115
      <el-table-column
116
        prop="isDel"
117
        header-align="center"
118
        align="center"
119
        label="是否被删除 状态  0:正常   1:删除">
120
      </el-table-column>
121
      <el-table-column
122
        prop="meetingId"
123
        header-align="center"
124
        align="center"
125
        label="会议id">
126
      </el-table-column>
127
      <el-table-column
128
        prop="taxType"
129
        header-align="center"
130
        align="center"
131
        label="发票类型0普1专">
132
      </el-table-column>
133
      <el-table-column
134
        fixed="right"
135
        header-align="center"
136
        align="center"
137
        width="150"
138
        label="操作">
27
      style="width: 100%;"
28
    >
29
      <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
30
      <el-table-column prop="orderId" header-align="center" align="center" label="订单号"></el-table-column>
31
      <el-table-column prop="truename" header-align="center" align="center" label="缴费人"></el-table-column>
32
      <el-table-column prop="organization" header-align="center" align="center" label="所在机构"></el-table-column>
33
      <!-- <el-table-column prop="feeId" header-align="center" align="center" label="费用类型id"></el-table-column> -->
34
      <el-table-column prop="payType" header-align="center" align="center" label="缴费方式"></el-table-column>
35
      <!-- <el-table-column prop="payOption" header-align="center" align="center" label="缴费项目"></el-table-column> -->
36
      <el-table-column prop="isPay" header-align="center" align="center" label="是否付费"></el-table-column>
37
      <!-- <el-table-column prop="taxTitle" header-align="center" align="center" label="发票抬头"></el-table-column>
38
      <el-table-column prop="taxNumber" header-align="center" align="center" label="纳税人税号"></el-table-column> -->
39
      <el-table-column prop="phone" header-align="center" align="center" label="联系电话"></el-table-column>
40
      <!-- <el-table-column prop="bankAddrAccount" header-align="center" align="center" label="开户行及账号"></el-table-column> -->
41
      <!-- <el-table-column prop="taxAddress" header-align="center" align="center" label="邮寄地址"></el-table-column> -->
42
      <!-- <el-table-column prop="isCheck" header-align="center" align="center" label="确认是否已缴费"></el-table-column>
43
      <el-table-column prop="taxType" header-align="center" align="center" label="发票类型0普1专"></el-table-column> -->
44
      <el-table-column prop="payTime" header-align="center" align="center" label="缴费时间"></el-table-column>
45
46
      <el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
139 47
        <template slot-scope="scope">
140 48
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
141 49
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
@ -149,111 +57,118 @@
149 57
      :page-sizes="[10, 20, 50, 100]"
150 58
      :page-size="pageSize"
151 59
      :total="totalPage"
152
      layout="total, sizes, prev, pager, next, jumper">
153
    </el-pagination>
60
      layout="total, sizes, prev, pager, next, jumper"
61
    ></el-pagination>
154 62
    <!-- 弹窗, 新增 / 修改 -->
155 63
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
156 64
  </div>
157 65
</template>
158 66
159 67
<script>
160
  import AddOrUpdate from './payment-add-or-update'
161
  export default {
162
    data () {
163
      return {
164
        dataForm: {
165
          key: ''
166
        },
167
        dataList: [],
168
        pageIndex: 1,
169
        pageSize: 10,
170
        totalPage: 0,
171
        dataListLoading: false,
172
        dataListSelections: [],
173
        addOrUpdateVisible: false
174
      }
68
import AddOrUpdate from "./payment-add-or-update";
69
export default {
70
  data() {
71
    return {
72
      dataForm: {
73
        key: ""
74
      },
75
      dataList: [],
76
      pageIndex: 1,
77
      pageSize: 10,
78
      totalPage: 0,
79
      dataListLoading: false,
80
      dataListSelections: [],
81
      addOrUpdateVisible: false
82
    };
83
  },
84
  components: {
85
    AddOrUpdate
86
  },
87
  activated() {
88
    this.getDataList();
89
  },
90
  methods: {
91
    // 获取数据列表
92
    getDataList() {
93
      this.dataListLoading = true;
94
      this.$http({
95
        url: this.$http.adornUrl("/admin/payment/list"),
96
        method: "get",
97
        params: this.$http.adornParams({
98
          meetingId: this.$route.params.id,
99
          page: this.pageIndex,
100
          limit: this.pageSize,
101
          key: this.dataForm.key
102
        })
103
      }).then(({ data }) => {
104
        if (data && data.code === 0) {
105
          this.dataList = data.page.list;
106
          this.totalPage = data.page.totalCount;
107
        } else {
108
          this.dataList = [];
109
          this.totalPage = 0;
110
        }
111
        this.dataListLoading = false;
112
      });
113
    },
114
    // 每页数
115
    sizeChangeHandle(val) {
116
      this.pageSize = val;
117
      this.pageIndex = 1;
118
      this.getDataList();
175 119
    },
176
    components: {
177
      AddOrUpdate
120
    // 当前页
121
    currentChangeHandle(val) {
122
      this.pageIndex = val;
123
      this.getDataList();
178 124
    },
179
    activated () {
180
      this.getDataList()
125
    // 多选
126
    selectionChangeHandle(val) {
127
      this.dataListSelections = val;
181 128
    },
182
    methods: {
183
      // 获取数据列表
184
      getDataList () {
185
        this.dataListLoading = true
129
    // 新增 / 修改
130
    addOrUpdateHandle(id) {
131
      this.addOrUpdateVisible = true;
132
      this.$nextTick(() => {
133
        this.$refs.addOrUpdate.init(id);
134
      });
135
    },
136
    // 删除
137
    deleteHandle(id) {
138
      var ids = id
139
        ? [id]
140
        : this.dataListSelections.map(item => {
141
            return item.id;
142
          });
143
      this.$confirm(
144
        `确定对[id=${ids.join(",")}]进行[${id ? "删除" : "批量删除"}]操作?`,
145
        "提示",
146
        {
147
          confirmButtonText: "确定",
148
          cancelButtonText: "取消",
149
          type: "warning"
150
        }
151
      ).then(() => {
186 152
        this.$http({
187
          url: this.$http.adornUrl('/admin/payment/list'),
188
          method: 'get',
189
          params: this.$http.adornParams({
190
            'page': this.pageIndex,
191
            'limit': this.pageSize,
192
            'key': this.dataForm.key
193
          })
194
        }).then(({data}) => {
153
          url: this.$http.adornUrl("/admin/payment/delete"),
154
          method: "post",
155
          data: this.$http.adornData(ids, false)
156
        }).then(({ data }) => {
195 157
          if (data && data.code === 0) {
196
            this.dataList = data.page.list
197
            this.totalPage = data.page.totalCount
158
            this.$message({
159
              message: "操作成功",
160
              type: "success",
161
              duration: 1500,
162
              onClose: () => {
163
                this.getDataList();
164
              }
165
            });
198 166
          } else {
199
            this.dataList = []
200
            this.totalPage = 0
167
            this.$message.error(data.msg);
201 168
          }
202
          this.dataListLoading = false
203
        })
204
      },
205
      // 每页数
206
      sizeChangeHandle (val) {
207
        this.pageSize = val
208
        this.pageIndex = 1
209
        this.getDataList()
210
      },
211
      // 当前页
212
      currentChangeHandle (val) {
213
        this.pageIndex = val
214
        this.getDataList()
215
      },
216
      // 多选
217
      selectionChangeHandle (val) {
218
        this.dataListSelections = val
219
      },
220
      // 新增 / 修改
221
      addOrUpdateHandle (id) {
222
        this.addOrUpdateVisible = true
223
        this.$nextTick(() => {
224
          this.$refs.addOrUpdate.init(id)
225
        })
226
      },
227
      // 删除
228
      deleteHandle (id) {
229
        var ids = id ? [id] : this.dataListSelections.map(item => {
230
          return item.id
231
        })
232
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
233
          confirmButtonText: '确定',
234
          cancelButtonText: '取消',
235
          type: 'warning'
236
        }).then(() => {
237
          this.$http({
238
            url: this.$http.adornUrl('/admin/payment/delete'),
239
            method: 'post',
240
            data: this.$http.adornData(ids, false)
241
          }).then(({data}) => {
242
            if (data && data.code === 0) {
243
              this.$message({
244
                message: '操作成功',
245
                type: 'success',
246
                duration: 1500,
247
                onClose: () => {
248
                  this.getDataList()
249
                }
250
              })
251
            } else {
252
              this.$message.error(data.msg)
253
            }
254
          })
255
        })
256
      }
169
        });
170
      });
257 171
    }
258 172
  }
173
};
259 174
</script>