index.vue 11.4 KB
Newer Older
qzhxx's avatar
qzhxx committed
1
<template>
2 3
  <div class="listPage H100">
    <div class="search-container">
乐宝呗666's avatar
乐宝呗666 committed
4 5 6 7 8 9
      <el-form
        :inline="true"
        :model="form"
        ref="form"
        onsubmit="return false;"
      >
10
        <el-form-item >
乐宝呗666's avatar
乐宝呗666 committed
11
          <el-input
12
            placeholder="请输入版权方名称"
qzhxx's avatar
qzhxx committed
13
            v-model="form.nameOrCode"
乐宝呗666's avatar
乐宝呗666 committed
14
            @keyup.enter.native="onSearch"
15 16 17
            clearable
          ></el-input>
        </el-form-item>
18
        <el-form-item >
19
          <el-date-picker
qzhxx's avatar
qzhxx committed
20
            value-format="yyyy-MM-dd"
乐宝呗666's avatar
乐宝呗666 committed
21
            v-model="form.dateRange"
22 23 24 25 26 27 28 29
            type="daterange"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
          ></el-date-picker>
        </el-form-item>
        <el-form-item>
          <div class="btn-group">
乐宝呗666's avatar
乐宝呗666 committed
30 31 32 33 34 35 36 37
            <el-button
              type="primary"
              class="btn_form_search"
              @click="onSearch"
              >查询</el-button
            >
            <el-button class="btn_form_search" @click="Reset">重置</el-button
            >
38 39 40 41 42
          </div>
        </el-form-item>
      </el-form>
      <div class="page-tip">
        <span class="page-tip-title">页面说明:</span>
乐宝呗666's avatar
乐宝呗666 committed
43 44 45
        <span class="page-tips"
          >可对展板版权方信息进行筛选、修改及删除。可新建版权方信息</span
        >
46 47 48 49
      </div>
    </div>
    <div class="table-content">
      <div class="btn-group">
qzhxx's avatar
qzhxx committed
50
        <el-button type="primary" @click="addPermis()">新建版权方</el-button>
51 52 53 54
      </div>
      <div class="party-table">
        <el-table
          border
乐宝呗666's avatar
乐宝呗666 committed
55 56
          style="width: 100%; height: 100%"
          height="100%"
57 58 59
          ref="multipleTable"
          :data="tableData"
        >
乐宝呗666's avatar
乐宝呗666 committed
60 61 62 63 64 65 66 67 68 69
          <el-table-column
            type="index"
            width="120"
            label="序号"
          ><template slot-scope="scope">
              <span>{{ (page._index - 1) * 10 + scope.$index + 1 }}</span>
            </template></el-table-column>
          <el-table-column label="版权方名称" prop="name"></el-table-column>
          <el-table-column
            label="展板分类"
70
            prop="boardCatNames"
乐宝呗666's avatar
乐宝呗666 committed
71 72 73 74 75 76 77 78 79 80 81
          ></el-table-column>
          <el-table-column label="创建时间" prop="createTime"></el-table-column>
          <el-table-column
            label="版权方有效期"
            prop="expireDateEnd"
            width="200"
          >
            <template slot-scope="scope"
              >{{ scope.row.expireDateStart }}
              {{ scope.row.expireDateEnd }}</template
            >
qzhxx's avatar
qzhxx committed
82
          </el-table-column>
乐宝呗666's avatar
乐宝呗666 committed
83 84 85 86
          <el-table-column label="备注" prop="remarks"></el-table-column>
          <el-table-column label="操作" header-align="center" align="center">
            <template slot-scope="scope" width="220">
              <div class="table-btn-group">
qzhxx's avatar
qzhxx committed
87 88 89 90 91 92 93 94 95 96 97
                <el-tooltip content="修改" placement="top">
                  <el-button circle @click="openEdit(scope.row)">
                    <i class="icon-table icon-edit"></i>
                  </el-button>
                </el-tooltip>
                <el-tooltip content="删除" placement="top">
                  <el-button circle @click="handleDelete(scope.row)">
                    <i class="icon-table icon-del"></i>
                  </el-button>
                </el-tooltip>
              </div>
乐宝呗666's avatar
乐宝呗666 committed
98 99
            </template>
          </el-table-column>
100 101
        </el-table>
      </div>
乐宝呗666's avatar
乐宝呗666 committed
102
      <party-pagination :page="page" @changePage="handleCurrentChange" />
103
    </div>
乐宝呗666's avatar
乐宝呗666 committed
104 105 106 107 108 109 110 111 112
    <!--新增弹框-->
    <el-dialog
      :title="type?'新建版权方':'编辑版权方'"
      custom-class="party-dialog"
      width="468px"
      :visible.sync="FormVisible"
      :before-close="close"
    >
      <div class="dialog-content">
113 114 115 116 117
        <el-form
          :model="classForm"
          ref="classForm"
          label-width="80px"
          label-position="top"
qzhxx's avatar
qzhxx committed
118
          :rules="rule"
119 120 121 122
          id="ruleo"
          class="party-form"
        >
          <el-form-item label="版权方名称" prop="name">
qzhxx's avatar
qzhxx committed
123
            <el-input oninput="value = value.trim()" v-model="classForm.name"></el-input>
124
          </el-form-item>
乐宝呗666's avatar
乐宝呗666 committed
125
          <el-form-item label="版权方有效期" prop="valueDate">
126 127
            <el-date-picker
              value-format="yyyy-MM-dd"
乐宝呗666's avatar
乐宝呗666 committed
128
              v-model="classForm.valueDate"
129 130 131 132 133 134 135 136 137 138 139 140
              type="daterange"
              range-separator="至"
              start-placeholder="开始日期"
              end-placeholder="结束日期"
            ></el-date-picker>
          </el-form-item>
          <el-form-item label="备注">
            <el-input type="textarea" v-model="classForm.remarks"></el-input>
          </el-form-item>
        </el-form>
      </div>
      <div slot="footer" class="dialog-footer btn-group">
乐宝呗666's avatar
乐宝呗666 committed
141 142 143 144 145 146 147
        <el-button size="mini" v-show="type" type="primary" @click="permisSave"
          >确定</el-button
        >
        <el-button size="mini" v-show="!type" type="primary" @click="permisEdit"
          >确定</el-button
        >
        <el-button size="mini" @click="close">取 消</el-button>
148
      </div>
乐宝呗666's avatar
乐宝呗666 committed
149
    </el-dialog>
150 151 152
  </div>
</template>
<script>
乐宝呗666's avatar
乐宝呗666 committed
153
import { partyPagination } from "@/components/index";
154
export default {
乐宝呗666's avatar
乐宝呗666 committed
155
  components: { partyPagination },
156 157
  data() {
    return {
乐宝呗666's avatar
乐宝呗666 committed
158 159
      type: true,
      page: { _index: 1, _size: 10, total: 0 },
160 161 162 163
      tableData: [],
      FormVisible: false,
      formLabelWidth: "100px",
      form: {
乐宝呗666's avatar
乐宝呗666 committed
164
        dateRange:[]
165
      },
166
      classForm: {
乐宝呗666's avatar
乐宝呗666 committed
167 168
        ownerType: "EXHIBITION_BOARD",
        valueDate: [],
169
      },
乐宝呗666's avatar
乐宝呗666 committed
170
      rule: {
qzhxx's avatar
qzhxx committed
171
        name: [
乐宝呗666's avatar
乐宝呗666 committed
172
          { required: true, message: "请输入展板分类名称", trigger: "blur" },
qzhxx's avatar
qzhxx committed
173
          { min: 1, max: 20, message: "请输入1到20个字" },
qzhxx's avatar
qzhxx committed
174
        ],
乐宝呗666's avatar
乐宝呗666 committed
175 176
        valueDate: [
          { required: true, message: "请选择版权方有效期", trigger: "change" },
177 178 179
        ]
      },
      value: "",
乐宝呗666's avatar
乐宝呗666 committed
180
      name: "",
181 182 183 184 185 186 187
    };
  },
  computed: {},
  mounted() {
    this.onSearch();
  },
  methods: {
乐宝呗666's avatar
乐宝呗666 committed
188 189 190
    onSearch() {
      this.page._index = 1;
      this.getTableData();
191 192
    },
    // 获得数据接口
乐宝呗666's avatar
乐宝呗666 committed
193
    getTableData() {
194
      let vm = this;
乐宝呗666's avatar
乐宝呗666 committed
195 196 197 198 199 200 201 202
      let param = {
        _index: this.page._index,
        _size: this.page._size,
        nameOrCode:this.form.nameOrCode,
        ownerType: "EXHIBITION_BOARD",
        startDate: this.form.dateRange.length ? this.form.dateRange[0] : "",
        endDate: this.form.dateRange.length ? this.form.dateRange[1] : "",
      };
203 204 205 206
      vm.$https(
        {
          url: "copyrightOwner/getPageList",
          method: "post",
乐宝呗666's avatar
乐宝呗666 committed
207
          authType: this.backToken,
208 209 210
        },
        vm.$qs.stringify(param)
      )
乐宝呗666's avatar
乐宝呗666 committed
211
        .then((res) => {
qzhxx's avatar
qzhxx committed
212
          let data = res.data.data;
213 214 215
          vm.page.total = data.total;
          vm.tableData = data.records;
        })
乐宝呗666's avatar
乐宝呗666 committed
216
        .catch(function (err) {
217 218 219 220 221
          console.log(err);
        });
    },
    // 分页
    handleCurrentChange(val) {
乐宝呗666's avatar
乐宝呗666 committed
222
      this.page._index = val;
乐宝呗666's avatar
乐宝呗666 committed
223
      this.getTableData();
224
    },
225
    // 重置
乐宝呗666's avatar
乐宝呗666 committed
226 227 228
    Reset() {
      this.form = { dateRange:[]};
      this.onSearch();
229 230 231
    },
    // 添加
    addPermis() {
232 233 234 235 236 237 238
      this.$router.push({ path: "displayCopyrightAdd", query: { type: "add" } });
      // this.FormVisible = true;
      // this.type = true;
      // this.classForm = {
      //   ownerType: "EXHIBITION_BOARD",
      //   valueDate: [],
      // }
239
    },
240
    // 新建视频分类确认保存
241 242
    permisSave() {
      let _this = this;
乐宝呗666's avatar
乐宝呗666 committed
243
      _this.$refs.classForm.validate((valid) => {
244
        if (valid) {
乐宝呗666's avatar
乐宝呗666 committed
245 246 247 248 249 250 251
          const params ={
            name: this.classForm.name,
            remarks: this.classForm.remarks,
            ownerType: "EXHIBITION_BOARD",
            expireDateEnd : this.classForm.valueDate.length ? this.classForm.valueDate[1] : "",
            expireDateStart : this.classForm.valueDate.length ? this.classForm.valueDate[0] : ""
          }
252 253
          _this
            .$https(
乐宝呗666's avatar
乐宝呗666 committed
254 255 256 257 258 259
              {
                url: "copyrightOwner/save",
                method: "post",
                authType: this.backToken,
              },
              _this.$qs.stringify(params)
260 261
            )
            .then(
乐宝呗666's avatar
乐宝呗666 committed
262 263 264
              (res) => {
                if (res.data.resultCode === '200') {
                  _this.$message.success("新建成功!");
265 266
                  //跳回用户列表
                  _this.onSearch();
乐宝呗666's avatar
乐宝呗666 committed
267
                  _this.close()
268
                } else {
乐宝呗666's avatar
乐宝呗666 committed
269
                  _this.$message.error(res.data.msg);
270 271
                }
              },
乐宝呗666's avatar
乐宝呗666 committed
272
              (error) => {
273 274
                _this.$message({
                  type: "error",
乐宝呗666's avatar
乐宝呗666 committed
275
                  message: error,
276 277 278 279 280 281
                });
              }
            );
        }
      });
    },
乐宝呗666's avatar
乐宝呗666 committed
282
    // 编辑视频分类确认保存
283 284
    permisEdit() {
      let _this = this;
乐宝呗666's avatar
乐宝呗666 committed
285
      _this.$refs.classForm.validate((valid) => {
286
        if (valid) {
乐宝呗666's avatar
乐宝呗666 committed
287 288 289 290
          this.classForm.ownerType = "EXHIBITION_BOARD";
          this.classForm.expireDateEnd = this.classForm.valueDate.length ? this.classForm.valueDate[1] : "";
          this.classForm.expireDateStart = this.classForm.valueDate.length ? this.classForm.valueDate[0] : "";
          delete this.classForm.valueDate
291 292
          _this
            .$https(
乐宝呗666's avatar
乐宝呗666 committed
293 294 295 296 297
              {
                url: "copyrightOwner/update",
                method: "put",
                authType: this.backToken,
              },
298 299 300
              _this.$qs.stringify(_this.classForm)
            )
            .then(
乐宝呗666's avatar
乐宝呗666 committed
301 302 303
              (res) => {
                if (res.data.resultCode === '200') {
                  _this.$message.success("修改成功!");
304 305
                  //跳回用户列表
                  _this.onSearch();
乐宝呗666's avatar
乐宝呗666 committed
306
                  _this.close()
307
                } else {
乐宝呗666's avatar
乐宝呗666 committed
308
                  _this.$message.error(res.data.msg);
309 310
                }
              },
乐宝呗666's avatar
乐宝呗666 committed
311
              (error) => {
312 313
                _this.$message({
                  type: "error",
乐宝呗666's avatar
乐宝呗666 committed
314
                  message: error,
315 316 317 318 319 320
                });
              }
            );
        }
      });
    },
乐宝呗666's avatar
乐宝呗666 committed
321
    // 关闭
322
    close() {
乐宝呗666's avatar
乐宝呗666 committed
323 324 325 326
      this.FormVisible = false;
      this.classForm = {
        ownerType: "EXHIBITION_BOARD",
        valueDate: [],
327
      }
乐宝呗666's avatar
乐宝呗666 committed
328
      this.$refs["classForm"].clearValidate();
329
      this.$refs["classForm"].resetFields();
330 331 332
    },
    // 编辑弹框
    openEdit(row) {
333 334 335 336 337 338 339 340 341
       this.$router.push({
        path: "displayCopyrightUpdate",
        query: { type: "Update", id: row.id }
      });
      // this.type = false;
      // this.FormVisible = true;
      // this.classForm = JSON.parse(JSON.stringify(row));
      // this.classForm.valueDate =[row.expireDateStart,row.expireDateEnd]
      // this.classForm = {...this.classForm}
342 343 344 345 346 347 348
    },
    // 删除
    handleDelete(row) {
      let _this = this;
      this.$confirm("此操作将永久删除, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
乐宝呗666's avatar
乐宝呗666 committed
349
        type: "warning",
350 351 352
      })
        .then(() => {
          _this
353
            .$https({
乐宝呗666's avatar
乐宝呗666 committed
354 355 356
              method: "delete",
              url: "copyrightOwner/delete/" + row.id,
              authType: this.backToken,
357
            })
358
            .then(
乐宝呗666's avatar
乐宝呗666 committed
359 360
              (res) => {
                this.$message({ type: "success", message: "删除成功!" });
361
                _this.onSearch();
362
              },
乐宝呗666's avatar
乐宝呗666 committed
363 364 365 366 367 368
              (error) => {
                this.$message({
                  type: "error",
                  message: "删除失败!" + error.response.data,
                });
              }
369
            );
乐宝呗666's avatar
乐宝呗666 committed
370 371 372 373
        })
        .catch(() => {});
    },
  },
374 375 376 377
};
</script>

<style lang="less">
乐宝呗666's avatar
乐宝呗666 committed
378
@import "../../../../style/table.less";
379
</style>