Browse Source

投稿管理完成

lyn7568 4 years ago
parent
commit
9c74d970a0

+ 12 - 6
src/components/meetingbox/index.vue

@ -26,14 +26,16 @@ export default {
26 26
    return {
27 27
      id: "",
28 28
      httpimage: "",
29
      image: []
29
      image: null
30 30
    };
31 31
  },
32 32
  props: {
33 33
    list: Object
34 34
  },
35 35
  components: {},
36
  computed: {},
36
  computed: {
37
    imageNull() {}
38
  },
37 39
  beforeMount() {},
38 40
  mounted() {
39 41
    this.getMeetingId();
@ -45,10 +47,14 @@ export default {
45 47
    getMeetingId() {
46 48
      this.id = this.list.id;
47 49
      this.httpimage = this.list.titlePicture;
48
      this.image =
49
        this.httpimage.length === 1
50
          ? this.httpimage
51
          : this.httpimage.split(",").splice(0, 1).join();
50
      if (this.httpimage.includes(",")) {
51
        this.image = this.httpimage
52
          .split(",")
53
          .splice(0, 1)
54
          .join();
55
      } else {
56
        this.image = this.httpimage;
57
      }
52 58
    }
53 59
  },
54 60
  watch: {}

+ 0 - 1
src/views/main-sidebar.vue

@ -113,7 +113,6 @@ export default {
113 113
        : 0;
114 114
      if (this.meetingId !== 0) {
115 115
        this.menuList = JSON.parse(sessionStorage.getItem("menuList") || "[]");
116
        console.log(this.menuList);
117 116
      } else {
118 117
        let mList = JSON.parse(sessionStorage.getItem("menuList") || "[]");
119 118
        let myList = [];

+ 10 - 11
src/views/modules/admin/attenders-add-or-update.vue

@ -17,8 +17,8 @@
17 17
      <el-form-item label="所属机构" prop="organization">
18 18
        <el-input v-model="dataForm.organization" placeholder="所属机构(单位名称、公司名称)"></el-input>
19 19
      </el-form-item>
20
      <el-form-item label="职位" prop="positionId">
21
        <el-input v-model="dataForm.positionId" placeholder="职位"></el-input>
20
      <el-form-item label="职位" prop="position">
21
        <el-input v-model="dataForm.position" placeholder="职位"></el-input>
22 22
      </el-form-item>
23 23
      <el-form-item label="职称" prop="jobTitle">
24 24
        <el-input v-model="dataForm.jobTitle" placeholder="职称"></el-input>
@ -90,12 +90,12 @@
90 90
          value-format="yyyy-MM-dd HH:mm:ss"
91 91
        ></el-date-picker>
92 92
      </el-form-item> -->
93
      <el-form-item label="创建者" prop="creater">
93
      <!-- <el-form-item label="创建者" prop="creater">
94 94
        <el-input v-model="dataForm.creater" placeholder="创建者"></el-input>
95 95
      </el-form-item>
96 96
      <el-form-item label="修改者" prop="modifier">
97 97
        <el-input v-model="dataForm.modifier" placeholder="修改者"></el-input>
98
      </el-form-item>
98
      </el-form-item> -->
99 99
      <el-form-item label="备注" prop="note">
100 100
        <el-input
101 101
          type="textarea"
@ -124,7 +124,7 @@ export default {
124 124
        memberId: "",
125 125
        name: "",
126 126
        organization: "",
127
        positionId: "",
127
        position: "",
128 128
        jobTitle: "",
129 129
        phone: "",
130 130
        email: "",
@ -140,9 +140,8 @@ export default {
140 140
        regflag: "",
141 141
        createTime: "",
142 142
        modifyTime: "",
143
        creater: "",
144
        modifier: "",
145
        isDel: ""
143
        // creater: "",
144
        // modifier: "",
146 145
      },
147 146
      dataRule: {
148 147
        meetingId: [
@ -159,7 +158,7 @@ export default {
159 158
            trigger: "blur"
160 159
          }
161 160
        ],
162
        positionId: [
161
        position: [
163 162
          { required: true, message: "职位不能为空", trigger: "blur" }
164 163
        ],
165 164
        jobTitle: [
@ -250,7 +249,7 @@ export default {
250 249
              this.dataForm.memberId = data.attenders.memberId;
251 250
              this.dataForm.name = data.attenders.name;
252 251
              this.dataForm.organization = data.attenders.organization;
253
              this.dataForm.positionId = data.attenders.positionId;
252
              this.dataForm.position = data.attenders.position;
254 253
              this.dataForm.jobTitle = data.attenders.jobTitle;
255 254
              this.dataForm.phone = data.attenders.phone;
256 255
              this.dataForm.email = data.attenders.email;
@ -289,7 +288,7 @@ export default {
289 288
              memberId: this.dataForm.memberId,
290 289
              name: this.dataForm.name,
291 290
              organization: this.dataForm.organization,
292
              positionId: this.dataForm.positionId,
291
              position: this.dataForm.position,
293 292
              jobTitle: this.dataForm.jobTitle,
294 293
              phone: this.dataForm.phone,
295 294
              email: this.dataForm.email,

+ 25 - 7
src/views/modules/admin/attenders.vue

@ -29,14 +29,29 @@
29 29
      <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
30 30
      <el-table-column prop="name" header-align="center" align="center" label="姓名"></el-table-column>
31 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>
32
      <el-table-column prop="position" header-align="center" align="center" label="职位"></el-table-column>
33 33
      <el-table-column prop="jobTitle" header-align="center" align="center" label="职称"></el-table-column>
34 34
      <el-table-column prop="phone" header-align="center" align="center" label="电话"></el-table-column>
35 35
      <el-table-column prop="email" header-align="center" align="center" label="邮箱"></el-table-column>
36 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>
37
      <el-table-column prop="intention" header-align="center" align="center" label="参会意向">
38
        <template slot-scope="scope">
39
          <el-tag v-if="scope.row.intention===0" type="danger">否</el-tag>
40
          <el-tag v-else="scope.row.intention===1">是</el-tag>
41
        </template>
42
      </el-table-column>
43
      <el-table-column prop="room" header-align="center" align="center" label="住宿要求">
44
        <template slot-scope="scope">
45
          <el-tag v-if="scope.row.room===0" type="danger">否</el-tag>
46
          <el-tag v-else="scope.row.room===1">是</el-tag>
47
        </template>
48
      </el-table-column>
49
      <el-table-column prop="transfer" header-align="center" align="center" label="接送要求">
50
         <template slot-scope="scope">
51
          <el-tag v-if="scope.row.transfer===0" type="danger">否</el-tag>
52
          <el-tag v-else="scope.row.transfer===1">是</el-tag>
53
        </template>
54
      </el-table-column>
40 55
      <el-table-column prop="note" header-align="center" align="center" label="备注"></el-table-column>
41 56
      <!-- <el-table-column
42 57
        prop="account"
@ -60,8 +75,8 @@
60 75
61 76
      <!-- <el-table-column prop="createTime" header-align="center" align="center" label="创建时间"></el-table-column> -->
62 77
      <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>
78
      <!-- <el-table-column prop="creater" header-align="center" align="center" label="创建者"></el-table-column>
79
      <el-table-column prop="modifier" header-align="center" align="center" label="修改者"></el-table-column>-->
65 80
      <el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
66 81
        <template slot-scope="scope">
67 82
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
@ -92,7 +107,7 @@ export default {
92 107
        key: ""
93 108
      },
94 109
      dataList: [],
95
      pageIndex: 1,
110
      pageIndex: 0,
96 111
      pageSize: 10,
97 112
      totalPage: 0,
98 113
      dataListLoading: false,
@ -151,6 +166,9 @@ export default {
151 166
        this.$refs.addOrUpdate.init(id);
152 167
      });
153 168
    },
169
    handclick(id) {
170
      window.console.log(id);
171
    },
154 172
    // 删除
155 173
    deleteHandle(id) {
156 174
      var ids = id

+ 19 - 6
src/views/modules/admin/meeting.vue

@ -2,8 +2,7 @@
2 2
  <div class="ll-content">
3 3
    <h1>{{meetingData.nameCn}}</h1>
4 4
    <div class="box">
5
      <div class="bgMeeting" :style="{ background: 'url(http://121.42.53.174:9008/static' + meetingData.titlePicture + ') 100% 100%' }"></div>
6
5
      <img :src="imageNull" class="bgMeeting" />
7 6
      <el-form label-width="200px">
8 7
        <el-form-item label="会议名称" class="fz_30">{{meetingData.nameCn}}</el-form-item>
9 8
        <el-form-item label="会议时间">{{meetingData.startTime}}</el-form-item>
@ -31,11 +30,22 @@ export default {
31 30
      id: "", //会议id
32 31
      meetingData: {},
33 32
      subjectsList: [],
34
      industries: []
33
      industries: [],
34
      image: ""
35 35
    };
36 36
  },
37 37
  components: {},
38
  computed: {},
38
  computed: {
39
    imageNull() {
40
      return this.image.includes(",")
41
        ? "http://121.42.53.174:9008/static" +
42
            this.image
43
              .split(",")
44
              .splice(0, 1)
45
              .join()
46
        : "http://121.42.53.174:9008/static" + this.image;
47
    }
48
  },
39 49
  beforeMount() {},
40 50
  created() {},
41 51
  activated() {
@ -50,11 +60,13 @@ export default {
50 60
          method: "get",
51 61
          params: this.$http.adornParams()
52 62
        }).then(res => {
53
          // window.console.log(res);
54 63
          if (res.data && res.data.code === 0) {
64
            window.console.log(res.data);
55 65
            this.meetingData = res.data.meeting;
56
            this.subjectsList = res.data.meeting.subjects.split(",");
57 66
            this.industries = res.data.meeting.industries.split(",");
67
            this.image = res.data.meeting.titlePicture;
68
            this.subjectsList = res.data.meeting.subjects.split(",");
69
            
58 70
          }
59 71
        });
60 72
      }
@ -73,6 +85,7 @@ export default {
73 85
    margin: 0 auto;
74 86
    // border: 1px solid red;
75 87
    .bgMeeting {
88
      display: block;
76 89
      width: 630px;
77 90
      height: 300px;
78 91
      // background-color: red;

+ 163 - 117
src/views/modules/admin/paper-add-or-update.vue

@ -2,29 +2,47 @@
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="attendersId">
11
      <el-input v-model="dataForm.attendersId" placeholder="参会人员id"></el-input>
12
    </el-form-item>
13
    <el-form-item label="论文题目" prop="title">
14
      <el-input v-model="dataForm.title" placeholder="论文题目"></el-input>
15
    </el-form-item>
16
    <el-form-item label="摘要" prop="summary">
17
      <el-input v-model="dataForm.summary" placeholder="摘要"></el-input>
18
    </el-form-item>
19
    <el-form-item label="论文存放地址" prop="paperurl">
20
      <el-input v-model="dataForm.paperurl" placeholder="论文存放地址"></el-input>
21
    </el-form-item>
22
    <el-form-item label="创建时间" prop="createTime">
23
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
24
    </el-form-item>
25
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
26
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
27
    </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="attendersId">
15
        <!-- <el-input v-model="dataForm.attendersId" placeholder="参会人员id"></el-input> -->
16
        <el-select v-model="dataForm.attendersId" filterable placeholder="请选择">
17
          <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"></el-option>
18
        </el-select>
19
      </el-form-item>
20
      <el-form-item label="论文题目" prop="title">
21
        <el-input v-model="dataForm.title" placeholder="论文题目"></el-input>
22
      </el-form-item>
23
      <el-form-item label="摘要" prop="summary">
24
        <el-input v-model="dataForm.summary" placeholder="摘要" type="textarea"></el-input>
25
      </el-form-item>
26
      <el-form-item label="上传投稿">
27
        <el-upload
28
          class="upload-demo"
29
          ref="upload"
30
          action="https://jsonplaceholder.typicode.com/posts/"
31
          :on-preview="handlePreview"
32
          :on-remove="handleRemove"
33
          :file-list="fileList"
34
          :auto-upload="false"
35
        >
36
          <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
37
          <el-button
38
            style="margin-left: 10px;"
39
            size="small"
40
            type="success"
41
            @click="submitUpload"
42
          >上传到服务器</el-button>
43
          <div slot="tip" class="el-upload__tip" style="color:red">只能上传 pdf doc docx 文件</div>
44
        </el-upload>
45
      </el-form-item>
28 46
    </el-form>
29 47
    <span slot="footer" class="dialog-footer">
30 48
      <el-button @click="visible = false">取消</el-button>
@ -34,105 +52,133 @@
34 52
</template>
35 53
36 54
<script>
37
  export default {
38
    data () {
39
      return {
40
        visible: false,
41
        dataForm: {
42
          id: 0,
43
          meetingId: '',
44
          attendersId: '',
45
          title: '',
46
          summary: '',
47
          paperurl: '',
48
          createTime: '',
49
          isDel: ''
55
export default {
56
  data() {
57
    return {
58
      visible: false,
59
      dataForm: {
60
        id: 0,
61
        meetingId: "",
62
        attendersId: "",
63
        title: "",
64
        summary: "",
65
        paperurl: ""
66
      },
67
      dataRule: {
68
        attendersId: [
69
          { required: true, message: "参会人员id不能为空", trigger: "blur" }
70
        ],
71
        summary: [{ required: true, message: "摘要不能为空", trigger: "blur" }]
72
      },
73
      options: [],
74
      fileList: [
75
        {
76
          name: "food.jpeg",
77
          url:
78
            "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100"
50 79
        },
51
        dataRule: {
52
          meetingId: [
53
            { required: true, message: '会员id不能为空', trigger: 'blur' }
54
          ],
55
          attendersId: [
56
            { required: true, message: '参会人员id不能为空', trigger: 'blur' }
57
          ],
58
          title: [
59
            { required: true, message: '论文题目不能为空', trigger: 'blur' }
60
          ],
61
          summary: [
62
            { required: true, message: '摘要不能为空', trigger: 'blur' }
63
          ],
64
          paperurl: [
65
            { required: true, message: '论文存放地址不能为空', trigger: 'blur' }
66
          ],
67
          createTime: [
68
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
69
          ],
70
          isDel: [
71
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
72
          ]
80
        {
81
          name: "food2.jpeg",
82
          url:
83
            "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100"
73 84
        }
74
      }
85
      ]
86
    };
87
  },
88
  created() {
89
    this.getPerson();
90
  },
91
  methods: {
92
    init(id) {
93
      this.dataForm.id = id || 0;
94
      this.visible = true;
95
      this.$nextTick(() => {
96
        this.$refs["dataForm"].resetFields();
97
        if (this.dataForm.id) {
98
          this.$http({
99
            url: this.$http.adornUrl(`/admin/paper/info/${this.dataForm.id}`),
100
            method: "get",
101
            params: this.$http.adornParams()
102
          }).then(({ data }) => {
103
            if (data && data.code === 0) {
104
              this.dataForm.meetingId = this.$route.params.id;
105
              this.dataForm.attendersId = data.paper.attendersId;
106
              this.dataForm.title = data.paper.title;
107
              this.dataForm.summary = data.paper.summary;
108
              this.dataForm.paperurl = data.paper.paperurl;
109
            }
110
          });
111
        }
112
      });
75 113
    },
76
    methods: {
77
      init (id) {
78
        this.dataForm.id = id || 0
79
        this.visible = true
80
        this.$nextTick(() => {
81
          this.$refs['dataForm'].resetFields()
82
          if (this.dataForm.id) {
83
            this.$http({
84
              url: this.$http.adornUrl(`/admin/paper/info/${this.dataForm.id}`),
85
              method: 'get',
86
              params: this.$http.adornParams()
87
            }).then(({data}) => {
88
              if (data && data.code === 0) {
89
                this.dataForm.meetingId = data.paper.meetingId
90
                this.dataForm.attendersId = data.paper.attendersId
91
                this.dataForm.title = data.paper.title
92
                this.dataForm.summary = data.paper.summary
93
                this.dataForm.paperurl = data.paper.paperurl
94
                this.dataForm.createTime = data.paper.createTime
95
                this.dataForm.isDel = data.paper.isDel
96
              }
114
    // 表单提交
115
    dataFormSubmit() {
116
      this.$refs["dataForm"].validate(valid => {
117
        if (valid) {
118
          this.$http({
119
            url: this.$http.adornUrl(
120
              `/admin/paper/${!this.dataForm.id ? "save" : "update"}`
121
            ),
122
            method: "post",
123
            data: this.$http.adornData({
124
              id: this.dataForm.id || undefined,
125
              meetingId: this.$route.params.id,
126
              attendersId: this.dataForm.attendersId,
127
              title: this.dataForm.title,
128
              summary: this.dataForm.summary
97 129
            })
98
          }
99
        })
100
       },
101
      // 表单提交
102
      dataFormSubmit () {
103
        this.$refs['dataForm'].validate((valid) => {
104
          if (valid) {
105
            this.$http({
106
              url: this.$http.adornUrl(`/admin/paper/${!this.dataForm.id ? 'save' : 'update'}`),
107
              method: 'post',
108
              data: this.$http.adornData({
109
                'id': this.dataForm.id || undefined,
110
                'meetingId': this.dataForm.meetingId,
111
                'attendersId': this.dataForm.attendersId,
112
                'title': this.dataForm.title,
113
                'summary': this.dataForm.summary,
114
                'paperurl': this.dataForm.paperurl,
115
                'createTime': this.dataForm.createTime,
116
                'isDel': this.dataForm.isDel
117
              })
118
            }).then(({data}) => {
119
              if (data && data.code === 0) {
120
                this.$message({
121
                  message: '操作成功',
122
                  type: 'success',
123
                  duration: 1500,
124
                  onClose: () => {
125
                    this.visible = false
126
                    this.$emit('refreshDataList')
127
                  }
128
                })
129
              } else {
130
                this.$message.error(data.msg)
131
              }
132
            })
133
          }
130
          }).then(({ data }) => {
131
            if (data && data.code === 0) {
132
              this.$message({
133
                message: "操作成功",
134
                type: "success",
135
                duration: 1500,
136
                onClose: () => {
137
                  this.visible = false;
138
                  this.$emit("refreshDataList");
139
                }
140
              });
141
            } else {
142
              this.$message.error(data.msg);
143
            }
144
          });
145
        }
146
      });
147
    },
148
    getPerson() {
149
      this.$http({
150
        url: this.$http.adornUrl("/admin/attenders/selectbyname"),
151
        methods: "get",
152
        params: {
153
          name: "",
154
          meetingId: this.$route.params.id
155
        }
156
      }).then(({ data }) => {
157
        if (data && data.code === 0) {
158
          this.options = data.list;
159
        }
160
      });
161
    },
162
    paperUpload() {},
163
    submitUpload() {
164
      this.$http({
165
        url: this.$http.adornUrl("/renren-fast/sys/filemanager/uploadfile"),
166
        method: "post",
167
        data: this.$http.adornData({
168
          upload_file: "",
169
          useoldname: ""
134 170
        })
135
      }
171
      }).then(res => {
172
        window.console.log(res);
173
        this.$refs.upload.submit();
174
      });
175
    },
176
    handleRemove(file, fileList) {
177
      console.log(file, fileList); //删除信息
178
    },
179
    handlePreview(file) {
180
      console.log(file); //上传后信息
136 181
    }
137 182
  }
183
};
138 184
</script>

+ 165 - 153
src/views/modules/admin/paper.vue

@ -7,7 +7,13 @@
7 7
      <el-form-item>
8 8
        <el-button @click="getDataList()">查询</el-button>
9 9
        <el-button v-if="isAuth('admin:paper:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('admin:paper:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
10
        <el-button
11
          v-if="isAuth('admin:paper:delete')"
12
          type="danger"
13
          @click="deleteHandle()"
14
          :disabled="dataListSelections.length <= 0"
15
        >批量删除</el-button>
16
        <el-button type="success" @click="addOrVisible=true">添加投稿要求</el-button>
11 17
      </el-form-item>
12 18
    </el-form>
13 19
    <el-table
@ -15,67 +21,22 @@
15 21
      border
16 22
      v-loading="dataListLoading"
17 23
      @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="attendersId"
39
        header-align="center"
40
        align="center"
41
        label="参会人员id">
42
      </el-table-column>
43
      <el-table-column
44
        prop="title"
45
        header-align="center"
46
        align="center"
47
        label="论文题目">
48
      </el-table-column>
49
      <el-table-column
50
        prop="summary"
51
        header-align="center"
52
        align="center"
53
        label="摘要">
54
      </el-table-column>
55
      <el-table-column
56
        prop="paperurl"
57
        header-align="center"
58
        align="center"
59
        label="论文存放地址">
60
      </el-table-column>
61
      <el-table-column
62
        prop="createTime"
63
        header-align="center"
64
        align="center"
65
        label="创建时间">
66
      </el-table-column>
67
      <el-table-column
68
        prop="isDel"
69
        header-align="center"
70
        align="center"
71
        label="是否被删除 状态  0:正常   1:删除">
24
      style="width: 100%;"
25
    >
26
      <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
27
      <el-table-column prop="title" header-align="center" align="center" label="论文题目"></el-table-column>
28
      <el-table-column prop="truename" header-align="center" align="center" label="投稿人"></el-table-column>
29
      <!-- <el-table-column prop="summary" header-align="center" align="center" label="摘要"></el-table-column> -->
30
      <!-- <el-table-column prop="paperurl" header-align="center" align="center" label="论文存放地址"></el-table-column> -->
31
      <el-table-column prop="phone" header-align="center" align="center" label="联系电话"></el-table-column>
32
      <el-table-column prop="email" header-align="center" align="center" label="联系邮箱"></el-table-column>
33
      <el-table-column prop="create_time" header-align="center" align="center" label="投稿时间"></el-table-column>
34
      <el-table-column header-align="center" align="center" label="下载">
35
        <template slot-scope="scope">
36
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">下载</el-button>
37
        </template>
72 38
      </el-table-column>
73
      <el-table-column
74
        fixed="right"
75
        header-align="center"
76
        align="center"
77
        width="150"
78
        label="操作">
39
      <el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
79 40
        <template slot-scope="scope">
80 41
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
81 42
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
@ -89,111 +50,162 @@
89 50
      :page-sizes="[10, 20, 50, 100]"
90 51
      :page-size="pageSize"
91 52
      :total="totalPage"
92
      layout="total, sizes, prev, pager, next, jumper">
93
    </el-pagination>
53
      layout="total, sizes, prev, pager, next, jumper"
54
    ></el-pagination>
94 55
    <!-- 弹窗, 新增 / 修改 -->
95 56
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
57
    <!-- 弹窗添加投稿要求 -->
58
    <el-dialog title="投稿要求" :visible.sync="addOrVisible">
59
      <el-form label-width="100px">
60
        <el-form-item label="截止时间">
61
          <el-date-picker
62
            size="small"
63
            v-model="paprData.deadline"
64
            type="datetime"
65
            placeholder="开始时间"
66
            value-format="yyyy-MM-dd HH:mm:ss"
67
          ></el-date-picker>
68
        </el-form-item>
69
        <el-form-item label="投稿要求">
70
          <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="paprData.content"></el-input>
71
        </el-form-item>
72
      </el-form>
73
      <span slot="footer" class="dialog-footer">
74
        <el-button @click="addOrVisible = false">取 消</el-button>
75
        <el-button type="primary" @click="requirements()">确 定</el-button>
76
      </span>
77
    </el-dialog>
96 78
  </div>
97 79
</template>
98 80
99 81
<script>
100
  import AddOrUpdate from './paper-add-or-update'
101
  export default {
102
    data () {
103
      return {
104
        dataForm: {
105
          key: ''
106
        },
107
        dataList: [],
108
        pageIndex: 1,
109
        pageSize: 10,
110
        totalPage: 0,
111
        dataListLoading: false,
112
        dataListSelections: [],
113
        addOrUpdateVisible: false
114
      }
82
import AddOrUpdate from "./paper-add-or-update";
83
export default {
84
  data() {
85
    return {
86
      paprData: {
87
        deadline: "",
88
        content: ""
89
      },
90
91
      dataForm: {
92
        key: ""
93
      },
94
      dataList: [],
95
      pageIndex: 0,
96
      pageSize: 10,
97
      totalPage: 0,
98
      dataListLoading: false,
99
      dataListSelections: [],
100
      addOrUpdateVisible: false,
101
      addOrVisible: false
102
    };
103
  },
104
  components: {
105
    AddOrUpdate
106
  },
107
  activated() {
108
    this.getDataList();
109
  },
110
  methods: {
111
    // 获取数据列表
112
    getDataList() {
113
      this.dataListLoading = true;
114
      this.$http({
115
        url: this.$http.adornUrl("/admin/paper/list"),
116
        method: "get",
117
        params: this.$http.adornParams({
118
          page: this.pageIndex,
119
          limit: this.pageSize,
120
          key: this.dataForm.key,
121
          meetingId: this.$route.params.id
122
        })
123
      }).then(({ data }) => {
124
        if (data && data.code === 0) {
125
          this.dataList = data.page.list;
126
          this.totalPage = data.page.totalCount;
127
        } else {
128
          this.dataList = [];
129
          this.totalPage = 0;
130
        }
131
        this.dataListLoading = false;
132
      });
133
    },
134
    // 每页数
135
    sizeChangeHandle(val) {
136
      this.pageSize = val;
137
      this.pageIndex = 1;
138
      this.getDataList();
115 139
    },
116
    components: {
117
      AddOrUpdate
140
    // 当前页
141
    currentChangeHandle(val) {
142
      this.pageIndex = val;
143
      this.getDataList();
118 144
    },
119
    activated () {
120
      this.getDataList()
145
    // 多选
146
    selectionChangeHandle(val) {
147
      this.dataListSelections = val;
121 148
    },
122
    methods: {
123
      // 获取数据列表
124
      getDataList () {
125
        this.dataListLoading = true
149
    // 新增 / 修改
150
    addOrUpdateHandle(id) {
151
      this.addOrUpdateVisible = true;
152
      this.$nextTick(() => {
153
        this.$refs.addOrUpdate.init(id);
154
      });
155
    },
156
    // 删除
157
    deleteHandle(id) {
158
      var ids = id
159
        ? [id]
160
        : this.dataListSelections.map(item => {
161
            return item.id;
162
          });
163
      this.$confirm(
164
        `确定对[id=${ids.join(",")}]进行[${id ? "删除" : "批量删除"}]操作?`,
165
        "提示",
166
        {
167
          confirmButtonText: "确定",
168
          cancelButtonText: "取消",
169
          type: "warning"
170
        }
171
      ).then(() => {
126 172
        this.$http({
127
          url: this.$http.adornUrl('/admin/paper/list'),
128
          method: 'get',
129
          params: this.$http.adornParams({
130
            'page': this.pageIndex,
131
            'limit': this.pageSize,
132
            'key': this.dataForm.key
133
          })
134
        }).then(({data}) => {
173
          url: this.$http.adornUrl("/admin/paper/delete"),
174
          method: "post",
175
          data: this.$http.adornData(ids, false)
176
        }).then(({ data }) => {
135 177
          if (data && data.code === 0) {
136
            this.dataList = data.page.list
137
            this.totalPage = data.page.totalCount
178
            this.$message({
179
              message: "操作成功",
180
              type: "success",
181
              duration: 1500,
182
              onClose: () => {
183
                this.getDataList();
184
              }
185
            });
138 186
          } else {
139
            this.dataList = []
140
            this.totalPage = 0
187
            this.$message.error(data.msg);
141 188
          }
142
          this.dataListLoading = false
143
        })
144
      },
145
      // 每页数
146
      sizeChangeHandle (val) {
147
        this.pageSize = val
148
        this.pageIndex = 1
149
        this.getDataList()
150
      },
151
      // 当前页
152
      currentChangeHandle (val) {
153
        this.pageIndex = val
154
        this.getDataList()
155
      },
156
      // 多选
157
      selectionChangeHandle (val) {
158
        this.dataListSelections = val
159
       },
160
      // 新增 / 修改
161
      addOrUpdateHandle (id) {
162
        this.addOrUpdateVisible = true
163
        this.$nextTick(() => {
164
          this.$refs.addOrUpdate.init(id)
165
        })
166
      },
167
      // 删除
168
      deleteHandle (id) {
169
        var ids = id ? [id] : this.dataListSelections.map(item => {
170
          return item.id
171
        })
172
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
173
          confirmButtonText: '确定',
174
          cancelButtonText: '取消',
175
          type: 'warning'
176
        }).then(() => {
177
          this.$http({
178
            url: this.$http.adornUrl('/admin/paper/delete'),
179
            method: 'post',
180
            data: this.$http.adornData(ids, false)
181
          }).then(({data}) => {
182
            if (data && data.code === 0) {
183
              this.$message({
184
                message: '操作成功',
185
                type: 'success',
186
                duration: 1500,
187
                onClose: () => {
188
                  this.getDataList()
189
                }
190
              })
191
            } else {
192
              this.$message.error(data.msg)
193
            }
194
          })
195
        })
196
      }
189
        });
190
      });
191
    },
192
    requirements() {
193
      //投稿要求
194
      this.$http({
195
        url: this.$http.adornUrl("/admin/paperrequire/update"),
196
        method: "post",
197
        data: this.paprData
198
      }).then(res => {
199
        window.console.log(res)
200
        if (res.data && res.data.code === 0) {
201
          this.addOrVisible = false;
202
          this.paprData.deadline = '',
203
          this.paprData.content = ''
204
        } else {
205
          this.$message.error(res.data.msg);
206
         }
207
      });
197 208
    }
198 209
  }
210
};
199 211
</script>

+ 112 - 110
src/views/modules/admin/payment-add-or-update.vue

@ -14,16 +14,16 @@
14 14
      <!-- <el-form-item label="订单号" prop="orderId">
15 15
        <el-input v-model="dataForm.orderId" placeholder="订单号"></el-input>
16 16
      </el-form-item>-->
17
      <el-form-item label="参会人员" prop="attenders">
17
      <el-form-item label="参会人员" prop="attendersId">
18 18
        <!-- <el-input v-model="dataForm.attendersId" placeholder="参会人员id"></el-input> -->
19 19
        <el-select
20 20
          style="width:220px"
21
          v-model="dataForm.attenders"
21
          v-model="dataForm.attendersId"
22 22
          filterable
23 23
          remote
24 24
          reserve-keyword
25 25
          placeholder="请输入关键词"
26
          :remote-method="remoteMethod"
26
          :remote-method="getPaymentByname"
27 27
          :loading="loading"
28 28
        >
29 29
          <el-option
@ -118,72 +118,72 @@
118 118
119 119
<script>
120 120
export default {
121
  data() {
121
  data () {
122 122
    return {
123 123
      visible: false,
124 124
      dataForm: {
125 125
        id: 0,
126
        attenders: "", //参会人员id
127
        payTime: "", //付款时间
128
        payType: "", //付款方式
129
        payOption: "", //付款项目
130
        feeId: "", //费用类型
131
        money: "", //金额
132
        isPay: "", //是否付款
133
        taxType: "", //发票类型
134
        taxTitle: "", //发票抬头
135
        taxNumber: "", //发票号
136
        addrPhone: "", //电话
137
        bankAddrAccount: "", //开户行
138
        taxAddress: "" //发票地址
126
        attendersId: '', // 参会人员id
127
        payTime: '', // 付款时间
128
        payType: '', // 付款方式
129
        payOption: '', // 付款项目
130
        feeId: '', // 费用类型
131
        money: '', // 金额
132
        isPay: '', // 是否付款
133
        taxType: '', // 发票类型
134
        taxTitle: '', // 发票抬头
135
        taxNumber: '', // 发票号
136
        addrPhone: '', // 电话
137
        bankAddrAccount: '', // 开户行
138
        taxAddress: '' // 发票地址
139 139
      },
140 140
      dataRule: {
141 141
        orderId: [
142
          { required: true, message: "订单号不能为空", trigger: "blur" }
142
          { required: true, message: '订单号不能为空', trigger: 'blur' }
143 143
        ],
144 144
        attendersId: [
145
          { required: true, message: "参会人员id不能为空", trigger: "blur" }
145
          { required: true, message: '参会人员id不能为空', trigger: 'blur' }
146 146
        ],
147 147
        feeId: [
148
          { required: true, message: "费用类型id不能为空", trigger: "blur" }
148
          { required: true, message: '费用类型id不能为空', trigger: 'blur' }
149 149
        ],
150 150
        payTime: [
151
          { required: true, message: "缴费时间不能为空", trigger: "blur" }
151
          { required: true, message: '缴费时间不能为空', trigger: 'blur' }
152 152
        ],
153 153
        payType: [
154
          { required: true, message: "缴费方式不能为空", trigger: "blur" }
154
          { required: true, message: '缴费方式不能为空', trigger: 'blur' }
155 155
        ],
156 156
        payOption: [
157
          { required: true, message: "缴费项目不能为空", trigger: "blur" }
157
          { required: true, message: '缴费项目不能为空', trigger: 'blur' }
158 158
        ],
159
        money: [{ required: true, message: "金额不能为空", trigger: "blur" }],
159
        money: [{ required: true, message: '金额不能为空', trigger: 'blur' }],
160 160
        taxTitle: [
161
          { required: true, message: "发票抬头不能为空", trigger: "blur" }
161
          { required: true, message: '发票抬头不能为空', trigger: 'blur' }
162 162
        ],
163 163
        taxNumber: [
164
          { required: true, message: "纳税人税号不能为空", trigger: "blur" }
164
          { required: true, message: '纳税人税号不能为空', trigger: 'blur' }
165 165
        ],
166 166
        addrPhone: [
167
          { required: true, message: "地址 电话不能为空", trigger: "blur" }
167
          { required: true, message: '地址 电话不能为空', trigger: 'blur' }
168 168
        ],
169 169
        bankAddrAccount: [
170
          { required: true, message: "开户行及账号不能为空", trigger: "blur" }
170
          { required: true, message: '开户行及账号不能为空', trigger: 'blur' }
171 171
        ],
172 172
        taxAddress: [
173
          { required: true, message: "邮寄地址不能为空", trigger: "blur" }
173
          { required: true, message: '邮寄地址不能为空', trigger: 'blur' }
174 174
        ],
175 175
        isPay: [
176
          { required: true, message: "确认是否已缴费不能为空", trigger: "blur" }
176
          { required: true, message: '确认是否已缴费不能为空', trigger: 'blur' }
177 177
        ],
178 178
        createTime: [
179
          { required: true, message: "创建时间不能为空", trigger: "blur" }
179
          { required: true, message: '创建时间不能为空', trigger: 'blur' }
180 180
        ],
181 181
182 182
        meetingId: [
183
          { required: true, message: "会议id不能为空", trigger: "blur" }
183
          { required: true, message: '会议id不能为空', trigger: 'blur' }
184 184
        ],
185 185
        taxType: [
186
          { required: true, message: "发票类型0普1专不能为空", trigger: "blur" }
186
          { required: true, message: '发票类型0普1专不能为空', trigger: 'blur' }
187 187
        ]
188 188
      },
189 189
      loading: false,
@ -192,75 +192,75 @@ export default {
192 192
      options: [],
193 193
      payTypeList: [
194 194
        {
195
          value: "1",
196
          label: "线上缴费"
195
          value: '1',
196
          label: '线上缴费'
197 197
        },
198 198
        {
199
          value: "2",
200
          label: "现场缴费"
199
          value: '2',
200
          label: '现场缴费'
201 201
        }
202 202
      ],
203 203
      typesoffeeList: [],
204 204
      option: [],
205
      feeIdTypeList: [], //费用类型
206
      option: [],
205
      feeIdTypeList: [], // 费用类型
207 206
      page: 0,
208 207
      limit: 10,
209 208
      meetingId: this.$route.params.id
210
    };
209
    }
211 210
  },
212
  created() {
213
    this.getPaymentByname();
214
    this.getTypesoffee();
211
  created () {
212
    // this.getPaymentByname()
213
    this.getTypesoffee()
215 214
  },
216 215
  methods: {
217
    init(id) {
218
      this.dataForm.id = id || 0;
219
      this.visible = true;
216
    init (id) {
217
      this.dataForm.id = id || 0
218
      this.visible = true
220 219
      this.$nextTick(() => {
221
        this.$refs["dataForm"].resetFields();
220
        this.$refs['dataForm'].resetFields()
222 221
        if (this.dataForm.id) {
223 222
          this.$http({
224 223
            url: this.$http.adornUrl(`/admin/payment/info/${this.dataForm.id}`),
225
            method: "get",
224
            method: 'get',
226 225
            params: this.$http.adornParams()
227 226
          }).then(({ data }) => {
228
            window.console.log(data);
227
            window.console.log(data)
229 228
            if (data && data.code === 0) {
230
              this.dataForm.orderId = data.payment.orderId;
231
              this.dataForm.attenders = data.payment.attenders;
232
              this.dataForm.feeId = data.payment.feeId;
233
              this.dataForm.payTime = data.payment.payTime;
234
              this.dataForm.payType = data.payment.payType;
235
              this.dataForm.payOption = data.payment.payOption;
236
              this.dataForm.money = data.payment.money;
237
              this.dataForm.taxTitle = data.payment.taxTitle;
238
              this.dataForm.taxNumber = data.payment.taxNumber;
239
              this.dataForm.addrPhone = data.payment.addrPhone;
240
              this.dataForm.bankAddrAccount = data.payment.bankAddrAccount;
241
              this.dataForm.taxAddress = data.payment.taxAddress;
242
              this.dataForm.isCheck = data.payment.isCheck;
243
              this.dataForm.createTime = data.payment.createTime;
244
              this.dataForm.isPay = data.payment.isPay;
245
              this.dataForm.meetingId = data.payment.meetingId;
246
              this.dataForm.taxType = data.payment.taxType;
229
              this.options = [{'value': data.attenders.id, 'label': data.attenders.truename}]
230
              this.dataForm.orderId = data.payment.orderId
231
              this.dataForm.attendersId = data.payment.attendersId
232
              this.dataForm.feeId = data.payment.feeId
233
              this.dataForm.payTime = data.payment.payTime
234
              this.dataForm.payType = data.payment.payType
235
              this.dataForm.payOption = data.payment.payOption
236
              this.dataForm.money = data.payment.money
237
              this.dataForm.taxTitle = data.payment.taxTitle
238
              this.dataForm.taxNumber = data.payment.taxNumber
239
              this.dataForm.addrPhone = data.payment.addrPhone
240
              this.dataForm.bankAddrAccount = data.payment.bankAddrAccount
241
              this.dataForm.taxAddress = data.payment.taxAddress
242
              this.dataForm.isCheck = data.payment.isCheck
243
              this.dataForm.createTime = data.payment.createTime
244
              this.dataForm.isPay = data.payment.isPay
245
              this.dataForm.meetingId = data.payment.meetingId
246
              this.dataForm.taxType = data.payment.taxType
247 247
            }
248
          });
248
          })
249 249
        }
250
      });
250
      })
251 251
    },
252 252
    // 表单提交
253
    dataFormSubmit() {
254
      this.$refs["dataForm"].validate(valid => {
253
    dataFormSubmit () {
254
      this.$refs['dataForm'].validate(valid => {
255 255
        if (valid) {
256 256
          this.$http({
257 257
            url: this.$http.adornUrl(
258
              `/admin/payment/${!this.dataForm.id ? "save" : "update"}`
258
              `/admin/payment/${!this.dataForm.id ? 'save' : 'update'}`
259 259
            ),
260
            method: "post",
260
            method: 'post',
261 261
            data: this.$http.adornData({
262 262
              id: this.dataForm.id || undefined,
263
              attenders: this.dataForm.attenders,
263
              attendersId: this.dataForm.attendersId,
264 264
              feeId: this.dataForm.feeId,
265 265
              payTime: this.dataForm.payTime,
266 266
              payType: this.dataForm.payType,
@ -279,72 +279,74 @@ export default {
279 279
          }).then(({ data }) => {
280 280
            if (data && data.code === 0) {
281 281
              this.$message({
282
                message: "操作成功",
283
                type: "success",
282
                message: '操作成功',
283
                type: 'success',
284 284
                duration: 1500,
285 285
                onClose: () => {
286
                  this.visible = false;
287
                  this.$emit("refreshDataList");
286
                  this.visible = false
287
                  this.$emit('refreshDataList')
288 288
                }
289
              });
289
              })
290 290
            } else {
291
              this.$message.error(data.msg);
291
              this.$message.error(data.msg)
292 292
            }
293
          });
293
          })
294 294
        }
295
      });
295
      })
296 296
    },
297
    getPaymentByname(name = "") {
298
      this.loading = true;
297
    getPaymentByname (name = '') {
298
      this.loading = true
299 299
      this.$http({
300 300
        url: this.$http.adornUrl(`/admin/attenders/selectbyname`),
301
        method: "get",
301
        method: 'get',
302 302
        params: this.$http.adornParams({
303 303
          name: name,
304 304
          meetingId: this.$route.params.id
305 305
        })
306 306
      }).then(({ data }) => {
307 307
        if (data) {
308
          this.loading = false;
309
          this.meetingList = data.list;
310
          this.list = this.meetingList.map(item => {
311
            return { value: `${item.id}`, label: `${item.name}` };
312
          });
308
          this.loading = false
309
          this.options = data.list.map(item => {
310
            return {
311
              value: item.id,
312
              label: item.name
313
            }
314
          })
313 315
        }
314
      });
316
      })
315 317
    },
316
    remoteMethod(query) {
317
      if (query !== "") {
318
        this.loading = true;
319
        setTimeout(() => {
320
          this.loading = false;
321
          this.options = this.list.filter(item => {
322
            return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
323
          });
324
        }, 300);
325
      } else {
326
        this.options = [];
327
      }
328
    },
329
    getTypesoffee() {
318
    // remoteMethod (query) {
319
    //   if (query !== '') {
320
    //     this.loading = true
321
    //     setTimeout(() => {
322
    //       this.loading = false
323
    //       this.options = this.list.filter(item => {
324
    //         return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1
325
    //       })
326
    //     }, 300)
327
    //   } else {
328
    //     this.options = []
329
    //   }
330
    // },
331
    getTypesoffee () {
330 332
      this.$http({
331 333
        url: this.$http.adornUrl(
332 334
          `/admin/typesoffee/listbymid/${this.meetingId}`
333 335
        ),
334
        methods: "get",
336
        methods: 'get',
335 337
        params: {}
336 338
      }).then(({ data }) => {
337 339
        if (data && data.code === 0) {
338
          this.typesoffeeList = data.list;
340
          this.typesoffeeList = data.list
339 341
          this.option = this.typesoffeeList.map(item => {
340 342
            return {
341 343
              value: item.id,
342 344
              label: item.name
343
            };
344
          });
345
            }
346
          })
345 347
        }
346
      });
348
      })
347 349
    }
348 350
  }
349
};
351
}
350 352
</script>