|
@@ -0,0 +1,207 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <div class="filter-container">
|
|
|
+ <div class="filter-control">
|
|
|
+ <span>机构名称:</span>
|
|
|
+ <el-input
|
|
|
+ v-model="listQuery.authParty"
|
|
|
+ placeholder="授权机构"
|
|
|
+ style="width: 280px"
|
|
|
+ class="filter-item"
|
|
|
+ @keyup.enter.native="handleFilter"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="filter-control">
|
|
|
+ <el-button type="primary" @click="getList">查询</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 表格区域 -->
|
|
|
+ <el-table
|
|
|
+ :key="tableKey"
|
|
|
+ v-loading="listLoading"
|
|
|
+ :data="list"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%"
|
|
|
+ header-row-class-name="tableHeader"
|
|
|
+ >
|
|
|
+ <el-table-column label="序号" :index="indexMethod" align="center" width="80" type="index" />
|
|
|
+
|
|
|
+ <el-table-column label="机构名称" align="center" prop="authParty" />
|
|
|
+
|
|
|
+ <el-table-column label="创建时间" class-name="status-col" width="360px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span>{{ row.createTime | formatTime }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column label="创建人" class-name="status-col" width="160px" prop="createBy" /> -->
|
|
|
+ <el-table-column label="寄送状态" width="140px" align="center">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <!-- 只有审核通过了才能操作上下线 auditStatus :审核状态 -->
|
|
|
+ <template v-if="row.auditStatus === 1">
|
|
|
+ <template v-if="row.status === 0">
|
|
|
+ <span style="margin-right: 10px" class="status danger">待寄送</span>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <span style="margin-right: 10px" class="status success">已寄送</span>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <!-- <el-tag type="warning">待上线</el-tag> -->
|
|
|
+ <span style="margin-right: 10px" class="status warning">待上线</span>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click="$_navigationTo(`club-detail?id=${row.authId}&authParty=${row.authParty}`)"
|
|
|
+ >
|
|
|
+ 查看
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click="$_navigationTo(`club-device-list?id=${row.authId}&authParty=${row.authParty}`)"
|
|
|
+ >
|
|
|
+ 查看设备认证
|
|
|
+ </el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="onSend(row)"> 寄送 </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <!-- 页码 -->
|
|
|
+ <pagination
|
|
|
+ v-show="total > 0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="listQuery.pageNum"
|
|
|
+ :limit.sync="listQuery.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+
|
|
|
+ <!-- 物流信息 -->
|
|
|
+ <el-dialog title="机构授权牌寄送" :visible.sync="dialogVisible" width="40%">
|
|
|
+ <el-form ref="ruleForm" :model="formData" :rules="rules" label-width="100px">
|
|
|
+ <el-form-item label="快递公司:" prop="company">
|
|
|
+ <el-select v-model="formData.company" placeholder="请选择快递公司" clearable>
|
|
|
+ <el-option label="请选择快递公司" value="" />
|
|
|
+ <el-option label="顺丰快递" :value="1" />
|
|
|
+ <el-option label="京东快递" :value="2" />
|
|
|
+ <el-option label="圆通速递" :value="3" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="物流编号:" prop="num">
|
|
|
+ <el-input v-model="formData.num" placeholder="请输入物流编号" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="图片备注:" prop="imageRemark">
|
|
|
+ <el-input v-show="false" v-model="formData.imageRemark" />
|
|
|
+ <upload-image
|
|
|
+ tip="请上传jpg/png格式的图片,最大不超过5M,最多可上传6张"
|
|
|
+ :multiple="true"
|
|
|
+ :limit="6"
|
|
|
+ accept=".jpg,.png"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="备注:" prop="remark">
|
|
|
+ <el-input v-model="formData.remark" type="textarea" rows="4" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { fecthAuthList } from '@/api/auth'
|
|
|
+import Pagination from '@/components/Pagination'
|
|
|
+import UploadImage from '@/components/UploadImage'
|
|
|
+import { formatDate } from '@/utils'
|
|
|
+export default {
|
|
|
+ name: 'ComplexTable',
|
|
|
+ components: { Pagination, UploadImage },
|
|
|
+ filters: {
|
|
|
+ formatTime(time) {
|
|
|
+ if (!time) {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ return formatDate(time, 'yyyy-MM-DD HH:mm:ss')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ tableKey: 0,
|
|
|
+ list: null,
|
|
|
+ total: 0,
|
|
|
+ listLoading: true,
|
|
|
+ dialogVisible: false,
|
|
|
+ // 查询参数
|
|
|
+ listQuery: {
|
|
|
+ authParty: '', // 授权机构
|
|
|
+ authUserId: '', // 供应商用户id
|
|
|
+ pageNum: 1, // 页码
|
|
|
+ pageSize: 10, // 分页
|
|
|
+ status: ''
|
|
|
+ },
|
|
|
+ formData: {
|
|
|
+ company: '',
|
|
|
+ num: '',
|
|
|
+ imageRemark: '',
|
|
|
+ remark: ''
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ company: [{ required: true, message: '快递公司名称不能为空', trigger: ['blur'] }],
|
|
|
+ num: [{ required: true, message: '物流编号不能为空', trigger: ['blur'] }]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.listQuery.authUserId = this.$route.query.id
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 获取授权列表
|
|
|
+ getList() {
|
|
|
+ this.listLoading = true
|
|
|
+ fecthAuthList(this.listQuery)
|
|
|
+ .then((response) => {
|
|
|
+ if (response.code !== 0) {
|
|
|
+ return this.$message.error('授权列表信息获取失败')
|
|
|
+ }
|
|
|
+ const { list, total } = response.data
|
|
|
+ this.list = list
|
|
|
+ this.total = total
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ console.log(err)
|
|
|
+ return this.$message.error('授权列表信息获取失败')
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.listLoading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 过滤列表
|
|
|
+ handleFilter() {
|
|
|
+ this.listQuery.page = 1
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+
|
|
|
+ onSend(row) {
|
|
|
+ console.log(row)
|
|
|
+ this.dialogVisible = true
|
|
|
+ },
|
|
|
+
|
|
|
+ indexMethod(index) {
|
|
|
+ return index + this.listQuery.pageSize * (this.listQuery.pageNum - 1) + 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped></style>
|