|  | @@ -1,273 +1,324 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -    <div class="app-container">
 | 
	
		
			
				|  |  | -      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
 | 
	
		
			
				|  |  | -        <el-form-item label="票务名称">
 | 
	
		
			
				|  |  | -          <el-input
 | 
	
		
			
				|  |  | -            v-model="queryParams.goodsName"
 | 
	
		
			
				|  |  | -            placeholder="请输入票务名称"
 | 
	
		
			
				|  |  | -            clearable
 | 
	
		
			
				|  |  | -            style="width: 240px;"
 | 
	
		
			
				|  |  | -            @keyup.enter.native="handleQuery"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -        </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item>
 | 
	
		
			
				|  |  | -          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
 | 
	
		
			
				|  |  | -          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
 | 
	
		
			
				|  |  | -        </el-form-item>
 | 
	
		
			
				|  |  | -      </el-form>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -      <el-row :gutter="10" class="mb8">
 | 
	
		
			
				|  |  | -        <el-col :span="1.5">
 | 
	
		
			
				|  |  | -          <el-button
 | 
	
		
			
				|  |  | -                type="primary"
 | 
	
		
			
				|  |  | -                plain
 | 
	
		
			
				|  |  | -                icon="el-icon-plus"
 | 
	
		
			
				|  |  | -                size="mini"
 | 
	
		
			
				|  |  | -                @click="handleAdd"
 | 
	
		
			
				|  |  | -                v-hasPermi="['ticketMr:ticketMr:add']"
 | 
	
		
			
				|  |  | -              >新增</el-button>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
 | 
	
		
			
				|  |  | -      </el-row>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -      <el-table ref="tables" v-loading="loading" :data="dataList" border>
 | 
	
		
			
				|  |  | -        <el-table-column label="序号" align="center" type="index" width="60"></el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column label="票务名称" align="center" prop="goodsName" />
 | 
	
		
			
				|  |  | -        <el-table-column label="销售价" align="center">
 | 
	
		
			
				|  |  | -          <template slot-scope="scope">
 | 
	
		
			
				|  |  | -            <span>¥{{ scope.row.salePrice }}</span>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column label="是否限购" align="center">
 | 
	
		
			
				|  |  | -          <template slot-scope="scope">
 | 
	
		
			
				|  |  | -            <el-tag type="success" v-if="scope.row.goodsPerform.buyAstrict > -1">是</el-tag>
 | 
	
		
			
				|  |  | -            <el-tag type="danger" v-if="scope.row.goodsPerform.buyAstrict == -1">否</el-tag>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column label="销售渠道" align="center">
 | 
	
		
			
				|  |  | -          <template slot-scope="scope">
 | 
	
		
			
				|  |  | -            <span>{{ 
 | 
	
		
			
				|  |  | -            (scope.row.goodsPerform.channelWx == 0 ? '小程序' : '') + 
 | 
	
		
			
				|  |  | -            ' ' + 
 | 
	
		
			
				|  |  | -            (scope.row.goodsPerform.channelWindow == 0 ? '窗口' : '') +
 | 
	
		
			
				|  |  | -            ' ' + 
 | 
	
		
			
				|  |  | -            (scope.row.goodsPerform.channelAutoSale == 0 ? '自助售/取票机' : '')}}</span>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column label="是否可退" align="center">
 | 
	
		
			
				|  |  | -          <template slot-scope="scope">
 | 
	
		
			
				|  |  | -            <el-tag type="success" v-if="scope.row.goodsPerform.backStatus == 0">可退</el-tag>
 | 
	
		
			
				|  |  | -            <el-tag type="danger" v-if="scope.row.goodsPerform.backStatus == 1">不可退</el-tag>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -        <!-- <el-table-column label="销售有效期" align="center">
 | 
	
		
			
				|  |  | -          <template slot-scope="scope">
 | 
	
		
			
				|  |  | -            <span>{{ 
 | 
	
		
			
				|  |  | -              scope.row.goodsPerform && scope.row.goodsPerform.saleBeginTime && scope.row.goodsPerform.saleEndTime ? 
 | 
	
		
			
				|  |  | -              scope.row.goodsPerform.saleBeginTime +'--'+ scope.row.goodsPerform.saleEndTime :
 | 
	
		
			
				|  |  | -              '-'
 | 
	
		
			
				|  |  | -            }}</span>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column> -->
 | 
	
		
			
				|  |  | -        <el-table-column label="状态" align="center">
 | 
	
		
			
				|  |  | -          <template slot-scope="scope">
 | 
	
		
			
				|  |  | -            <el-switch
 | 
	
		
			
				|  |  | -              @change="ionlineApi(scope.row)"
 | 
	
		
			
				|  |  | -              v-model="scope.row.switchValue"
 | 
	
		
			
				|  |  | -              :active-value="0"
 | 
	
		
			
				|  |  | -              active-color="#13ce66"
 | 
	
		
			
				|  |  | -              inactive-color="#ff4949">
 | 
	
		
			
				|  |  | -            </el-switch>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -        <el-table-column label="添加时间" align="center" prop="createTime" width="160" >
 | 
	
		
			
				|  |  | -          <template slot-scope="scope">
 | 
	
		
			
				|  |  | -            <span>{{ parseTime(scope.row.createTime) }}</span>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -        <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
 | 
	
		
			
				|  |  | -          <template slot-scope="scope">
 | 
	
		
			
				|  |  | +  <div class="app-container">
 | 
	
		
			
				|  |  | +    <el-row :gutter="20">
 | 
	
		
			
				|  |  | +      <!--用户数据-->
 | 
	
		
			
				|  |  | +      <el-col :span="24" :xs="24">
 | 
	
		
			
				|  |  | +        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
 | 
	
		
			
				|  |  | +          <el-form-item label="用户名称" prop="name">
 | 
	
		
			
				|  |  | +            <el-input
 | 
	
		
			
				|  |  | +              v-model="queryParams.name"
 | 
	
		
			
				|  |  | +              placeholder="请输入用户名称"
 | 
	
		
			
				|  |  | +              clearable
 | 
	
		
			
				|  |  | +              style="width: 240px"
 | 
	
		
			
				|  |  | +              @keyup.enter.native="handleQuery"
 | 
	
		
			
				|  |  | +            />
 | 
	
		
			
				|  |  | +          </el-form-item>
 | 
	
		
			
				|  |  | +          <el-form-item label="手机号码" prop="mobile">
 | 
	
		
			
				|  |  | +            <el-input
 | 
	
		
			
				|  |  | +              v-model="queryParams.mobile"
 | 
	
		
			
				|  |  | +              placeholder="请输入手机号码"
 | 
	
		
			
				|  |  | +              clearable
 | 
	
		
			
				|  |  | +              style="width: 240px"
 | 
	
		
			
				|  |  | +              @keyup.enter.native="handleQuery"
 | 
	
		
			
				|  |  | +            />
 | 
	
		
			
				|  |  | +          </el-form-item>
 | 
	
		
			
				|  |  | +          <el-form-item label="状态" prop="status">
 | 
	
		
			
				|  |  | +            <el-select
 | 
	
		
			
				|  |  | +              v-model="queryParams.status"
 | 
	
		
			
				|  |  | +              placeholder="用户状态"
 | 
	
		
			
				|  |  | +              clearable
 | 
	
		
			
				|  |  | +              style="width: 240px"
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +              <el-option
 | 
	
		
			
				|  |  | +                v-for="dict in dict.type.sys_normal_disable"
 | 
	
		
			
				|  |  | +                :key="dict.value"
 | 
	
		
			
				|  |  | +                :label="dict.label"
 | 
	
		
			
				|  |  | +                :value="dict.value"
 | 
	
		
			
				|  |  | +              />
 | 
	
		
			
				|  |  | +            </el-select>
 | 
	
		
			
				|  |  | +          </el-form-item>
 | 
	
		
			
				|  |  | +          <el-form-item label="创建时间">
 | 
	
		
			
				|  |  | +            <el-date-picker
 | 
	
		
			
				|  |  | +              v-model="dateRange"
 | 
	
		
			
				|  |  | +              style="width: 240px"
 | 
	
		
			
				|  |  | +              value-format="yyyy-MM-dd"
 | 
	
		
			
				|  |  | +              type="daterange"
 | 
	
		
			
				|  |  | +              range-separator="-"
 | 
	
		
			
				|  |  | +              start-placeholder="开始日期"
 | 
	
		
			
				|  |  | +              end-placeholder="结束日期"
 | 
	
		
			
				|  |  | +            ></el-date-picker>
 | 
	
		
			
				|  |  | +          </el-form-item>
 | 
	
		
			
				|  |  | +          <el-form-item>
 | 
	
		
			
				|  |  | +            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
 | 
	
		
			
				|  |  | +            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
 | 
	
		
			
				|  |  | +          </el-form-item>
 | 
	
		
			
				|  |  | +        </el-form>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <el-row :gutter="10" class="mb8">
 | 
	
		
			
				|  |  | +          <el-col :span="1.5">
 | 
	
		
			
				|  |  |              <el-button
 | 
	
		
			
				|  |  | +              type="primary"
 | 
	
		
			
				|  |  | +              plain
 | 
	
		
			
				|  |  | +              icon="el-icon-plus"
 | 
	
		
			
				|  |  |                size="mini"
 | 
	
		
			
				|  |  | -              type="text"
 | 
	
		
			
				|  |  | -              @click="openDetails(scope.row)"
 | 
	
		
			
				|  |  | -              v-hasPermi="['ticketMr:ticketMr:details']"
 | 
	
		
			
				|  |  | -            >详情</el-button>
 | 
	
		
			
				|  |  | +              @click="handleAdd"
 | 
	
		
			
				|  |  | +              v-hasPermi="configPermi.add"
 | 
	
		
			
				|  |  | +            >新增</el-button>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="1.5">
 | 
	
		
			
				|  |  |              <el-button
 | 
	
		
			
				|  |  | +              type="danger"
 | 
	
		
			
				|  |  | +              plain
 | 
	
		
			
				|  |  | +              icon="el-icon-delete"
 | 
	
		
			
				|  |  |                size="mini"
 | 
	
		
			
				|  |  | -              type="text"
 | 
	
		
			
				|  |  | -              @click="handleUpdate(scope.row)"
 | 
	
		
			
				|  |  | -              v-if="scope.row.status != 0"
 | 
	
		
			
				|  |  | -              v-hasPermi="['ticketMr:ticketMr:edit']"
 | 
	
		
			
				|  |  | -            >修改</el-button>
 | 
	
		
			
				|  |  | +              :disabled="multiple"
 | 
	
		
			
				|  |  | +              @click="handleDelete"
 | 
	
		
			
				|  |  | +              v-hasPermi="configPermi.delect"
 | 
	
		
			
				|  |  | +            >删除</el-button>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="1.5">
 | 
	
		
			
				|  |  |              <el-button
 | 
	
		
			
				|  |  | +              type="info"
 | 
	
		
			
				|  |  | +              plain
 | 
	
		
			
				|  |  | +              icon="el-icon-upload2"
 | 
	
		
			
				|  |  |                size="mini"
 | 
	
		
			
				|  |  | -              type="text"
 | 
	
		
			
				|  |  | -              @click="handleDelete(scope.row,scope.index)"
 | 
	
		
			
				|  |  | -              v-hasPermi="['ticketMr:ticketMr:delete']"
 | 
	
		
			
				|  |  | -            >删除</el-button>
 | 
	
		
			
				|  |  | -          </template>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -      </el-table>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -      <pagination
 | 
	
		
			
				|  |  | -        v-show="total>0"
 | 
	
		
			
				|  |  | -        :total="total"
 | 
	
		
			
				|  |  | -        :page.sync="queryParams.pageNum"
 | 
	
		
			
				|  |  | -        :limit.sync="queryParams.pageSize"
 | 
	
		
			
				|  |  | -        @pagination="getList"
 | 
	
		
			
				|  |  | -      />
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -      <!-- 新增/编辑弹框 -->
 | 
	
		
			
				|  |  | -      <add-and-edit
 | 
	
		
			
				|  |  | -        ref="addAndEdit"
 | 
	
		
			
				|  |  | -        @getList="getList"
 | 
	
		
			
				|  |  | -      />
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -      <!-- 详情 -->
 | 
	
		
			
				|  |  | -      <details-dia ref="detailsDia"></details-dia>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -    </div>
 | 
	
		
			
				|  |  | -  </template>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  <script>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  import { pageList, deleteById, updateStatus } from '@/api/tourism/scenicAreaManagement/attractionInfo'
 | 
	
		
			
				|  |  | -  import addAndEdit from "./dialog/addAndEdit";
 | 
	
		
			
				|  |  | -  import detailsDia from "./dialog/details.vue";
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  export default {
 | 
	
		
			
				|  |  | -    name: "agreement",
 | 
	
		
			
				|  |  | -    dicts: ['agreement_type'],
 | 
	
		
			
				|  |  | -    components: { addAndEdit, detailsDia },
 | 
	
		
			
				|  |  | -    data() {
 | 
	
		
			
				|  |  | -      return {
 | 
	
		
			
				|  |  | -        // 遮罩层
 | 
	
		
			
				|  |  | -        loading: true,
 | 
	
		
			
				|  |  | -        // 选中数组
 | 
	
		
			
				|  |  | -        ids: [],
 | 
	
		
			
				|  |  | -        // 非单个禁用
 | 
	
		
			
				|  |  | -        single: true,
 | 
	
		
			
				|  |  | -        // 非多个禁用
 | 
	
		
			
				|  |  | -        multiple: true,
 | 
	
		
			
				|  |  | -        // 显示搜索条件
 | 
	
		
			
				|  |  | -        showSearch: true,
 | 
	
		
			
				|  |  | -        // 总条数
 | 
	
		
			
				|  |  | -        total: 0,
 | 
	
		
			
				|  |  | -        // 用户表格数据
 | 
	
		
			
				|  |  | -        dataList: null,
 | 
	
		
			
				|  |  | -        // 弹出层标题
 | 
	
		
			
				|  |  | -        title: "",
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -        // 是否显示弹出层
 | 
	
		
			
				|  |  | -        open: false,
 | 
	
		
			
				|  |  | -        // 日期范围
 | 
	
		
			
				|  |  | -        dateRange: [],
 | 
	
		
			
				|  |  | -        // 查询参数
 | 
	
		
			
				|  |  | -        queryParams: {
 | 
	
		
			
				|  |  | -          pageNum: 1,
 | 
	
		
			
				|  |  | -          pageSize: 10,
 | 
	
		
			
				|  |  | -          type: undefined,
 | 
	
		
			
				|  |  | -          goodsType: 2,
 | 
	
		
			
				|  |  | -          classifyId: 1
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        statusList: [
 | 
	
		
			
				|  |  | -          {id: 1, name: '未发布', value: 0},
 | 
	
		
			
				|  |  | -          {id: 2, name: '发布', value: 1},
 | 
	
		
			
				|  |  | -          {id: 3, name: '下架', value: 2},
 | 
	
		
			
				|  |  | -        ],
 | 
	
		
			
				|  |  | -        visibleStatus: false,
 | 
	
		
			
				|  |  | -        newObj: {},
 | 
	
		
			
				|  |  | -        visibleType: ''
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    created() {
 | 
	
		
			
				|  |  | -      this.getList();
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    methods: {
 | 
	
		
			
				|  |  | -      /** 查询列表 */
 | 
	
		
			
				|  |  | -      getList() {
 | 
	
		
			
				|  |  | -        this.loading = true;
 | 
	
		
			
				|  |  | -        pageList(this.addDateRange(this.queryParams, this.dateRange))
 | 
	
		
			
				|  |  | -        .then(response => {
 | 
	
		
			
				|  |  | -            this.dataList = response.data.rows;
 | 
	
		
			
				|  |  | -            this.dataList.forEach(item =>{
 | 
	
		
			
				|  |  | -              item.switchValue = item.status;
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | -            this.total = response.data.total;
 | 
	
		
			
				|  |  | -            this.loading = false;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        );
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      // 取消按钮
 | 
	
		
			
				|  |  | -      cancel() {
 | 
	
		
			
				|  |  | -        this.open = false;
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 搜索按钮操作 */
 | 
	
		
			
				|  |  | -      handleQuery() {
 | 
	
		
			
				|  |  | -        this.queryParams.pageNum = 1;
 | 
	
		
			
				|  |  | -        this.getList();
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 重置按钮操作 */
 | 
	
		
			
				|  |  | -      resetQuery() {
 | 
	
		
			
				|  |  | -        this.dateRange = [];
 | 
	
		
			
				|  |  | -        this.$set(this.queryParams, 'goodsName', '');
 | 
	
		
			
				|  |  | -        this.queryParams.pageNum = 1;
 | 
	
		
			
				|  |  | -        this.handleQuery();
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 新增按钮操作 */
 | 
	
		
			
				|  |  | -      handleAdd() {
 | 
	
		
			
				|  |  | -        this.$refs["addAndEdit"].openDialog("新增数据", null);
 | 
	
		
			
				|  |  | +              @click="handleImport"
 | 
	
		
			
				|  |  | +              v-hasPermi="configPermi.upload"
 | 
	
		
			
				|  |  | +            >导入</el-button>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="1.5">
 | 
	
		
			
				|  |  | +            <el-button
 | 
	
		
			
				|  |  | +              type="warning"
 | 
	
		
			
				|  |  | +              plain
 | 
	
		
			
				|  |  | +              icon="el-icon-download"
 | 
	
		
			
				|  |  | +              size="mini"
 | 
	
		
			
				|  |  | +              @click="handleExport"
 | 
	
		
			
				|  |  | +              v-hasPermi="configPermi.export"
 | 
	
		
			
				|  |  | +            >导出</el-button>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
 | 
	
		
			
				|  |  | +        </el-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange">
 | 
	
		
			
				|  |  | +          <el-table-column type="selection" width="50" align="center" />
 | 
	
		
			
				|  |  | +          <el-table-column label="用户编号" align="center" key="id" prop="id" v-if="columns[0].visible" />
 | 
	
		
			
				|  |  | +          <el-table-column label="用户名称" align="center" key="name" prop="name" v-if="columns[1].visible" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | +          <el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | +          <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | +          <el-table-column label="手机号码" align="center" key="mobile" prop="mobile" v-if="columns[4].visible" width="120" />
 | 
	
		
			
				|  |  | +          <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <el-switch
 | 
	
		
			
				|  |  | +                v-model="scope.row.status"
 | 
	
		
			
				|  |  | +                active-value="0"
 | 
	
		
			
				|  |  | +                inactive-value="1"
 | 
	
		
			
				|  |  | +                @change="handleStatusChange(scope.row)"
 | 
	
		
			
				|  |  | +              ></el-switch>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <span>{{ parseTime(scope.row.createTime) }}</span>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            label="操作"
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            width="160"
 | 
	
		
			
				|  |  | +            class-name="small-padding fixed-width"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <template slot-scope="scope" v-if="scope.row.id !== 1">
 | 
	
		
			
				|  |  | +              <el-button
 | 
	
		
			
				|  |  | +                size="mini"
 | 
	
		
			
				|  |  | +                type="text"
 | 
	
		
			
				|  |  | +                icon="el-icon-document"
 | 
	
		
			
				|  |  | +                @click="handleDetails(scope.row)"
 | 
	
		
			
				|  |  | +                v-hasPermi="configPermi.details"
 | 
	
		
			
				|  |  | +              >详情</el-button>
 | 
	
		
			
				|  |  | +              <el-button
 | 
	
		
			
				|  |  | +                size="mini"
 | 
	
		
			
				|  |  | +                type="text"
 | 
	
		
			
				|  |  | +                icon="el-icon-edit"
 | 
	
		
			
				|  |  | +                @click="handleUpdate(scope.row)"
 | 
	
		
			
				|  |  | +                v-hasPermi="configPermi.edit"
 | 
	
		
			
				|  |  | +              >修改</el-button>
 | 
	
		
			
				|  |  | +              <el-button
 | 
	
		
			
				|  |  | +                size="mini"
 | 
	
		
			
				|  |  | +                type="text"
 | 
	
		
			
				|  |  | +                icon="el-icon-delete"
 | 
	
		
			
				|  |  | +                @click="handleDelete(scope.row)"
 | 
	
		
			
				|  |  | +                v-hasPermi="configPermi.delect"
 | 
	
		
			
				|  |  | +              >删除</el-button>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +        </el-table>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <pagination
 | 
	
		
			
				|  |  | +          v-show="total>0"
 | 
	
		
			
				|  |  | +          :total="total"
 | 
	
		
			
				|  |  | +          :page.sync="queryParams.pageNum"
 | 
	
		
			
				|  |  | +          :limit.sync="queryParams.pageSize"
 | 
	
		
			
				|  |  | +          @pagination="getList"
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +      </el-col>
 | 
	
		
			
				|  |  | +    </el-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!--  导入  -->
 | 
	
		
			
				|  |  | +    <uploadBox ref="upload" @refresh="handleQuery" />
 | 
	
		
			
				|  |  | +    <!--  新增或修改  -->
 | 
	
		
			
				|  |  | +    <addAndEdit ref="addAndEdit" @refresh="getList" />
 | 
	
		
			
				|  |  | +    <!--  详情  -->
 | 
	
		
			
				|  |  | +    <detailsBox ref="detailsBox" @refresh="getList" />
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import { 
 | 
	
		
			
				|  |  | +  listTableApi, 
 | 
	
		
			
				|  |  | +  delTableApi, 
 | 
	
		
			
				|  |  | +  } from "@/api/CURD";
 | 
	
		
			
				|  |  | +import addAndEdit from "./dialog/addAndEdit.vue"
 | 
	
		
			
				|  |  | +import detailsBox from "./dialog/details.vue"
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "User",
 | 
	
		
			
				|  |  | +  dicts: ['sys_normal_disable', 'sys_user_sex'],
 | 
	
		
			
				|  |  | +  components: {addAndEdit,detailsBox},
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      title: "",// 通用标题
 | 
	
		
			
				|  |  | +      configPermi: {
 | 
	
		
			
				|  |  | +        add: ['system:user:edit'], // 新增权限
 | 
	
		
			
				|  |  | +        details: ['system:user:details'], // 详情权限
 | 
	
		
			
				|  |  | +        delect: ['system:user:remove'], // 删除权限
 | 
	
		
			
				|  |  | +        edit: ['system:user:edit'], // 编辑权限
 | 
	
		
			
				|  |  | +        upload: ['system:user:upload'],// 导入权限
 | 
	
		
			
				|  |  | +        export: ['system:user:export'],// 导出权限
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      /** 修改按钮操作 */
 | 
	
		
			
				|  |  | -      handleUpdate(row) {
 | 
	
		
			
				|  |  | -        this.$refs["addAndEdit"].openDialog("修改数据", row);
 | 
	
		
			
				|  |  | +      configUrl: {
 | 
	
		
			
				|  |  | +        list: '/merchant/merchantSysuser/pageList', // 列表地址
 | 
	
		
			
				|  |  | +        delect: '/merchant/merchantSysuser/', // 删除地址
 | 
	
		
			
				|  |  | +        upload: 'system/user/importTemplate',// 导入地址
 | 
	
		
			
				|  |  | +        download:'system/user/importTemplate', // 下载模板地址
 | 
	
		
			
				|  |  | +        export: '/system/user/importData',// 导出地址
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      /** 详情按钮操作 */
 | 
	
		
			
				|  |  | -      openDetails(row) {
 | 
	
		
			
				|  |  | -        this.$refs["detailsDia"].openDialog("详情", row);
 | 
	
		
			
				|  |  | +      // 遮罩层
 | 
	
		
			
				|  |  | +      loading: true,
 | 
	
		
			
				|  |  | +      // 选中数组
 | 
	
		
			
				|  |  | +      ids: [],
 | 
	
		
			
				|  |  | +      // 非单个禁用
 | 
	
		
			
				|  |  | +      single: true,
 | 
	
		
			
				|  |  | +      // 非多个禁用
 | 
	
		
			
				|  |  | +      multiple: true,
 | 
	
		
			
				|  |  | +      // 显示搜索条件
 | 
	
		
			
				|  |  | +      showSearch: true,
 | 
	
		
			
				|  |  | +      // 总条数
 | 
	
		
			
				|  |  | +      total: 0,
 | 
	
		
			
				|  |  | +      // 用户表格数据
 | 
	
		
			
				|  |  | +      tableList: null,
 | 
	
		
			
				|  |  | +      // 查询参数
 | 
	
		
			
				|  |  | +      queryParams: {
 | 
	
		
			
				|  |  | +        pageNum: 1,
 | 
	
		
			
				|  |  | +        pageSize: 10,
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -      /** 发布或者取消发布按钮操作 */
 | 
	
		
			
				|  |  | -      ionlineApi(row) {
 | 
	
		
			
				|  |  | -        try {
 | 
	
		
			
				|  |  | -          updateStatus({ id: row.id, status: row.status == 0 ? 1 : 0 }).then((res) => {
 | 
	
		
			
				|  |  | -            if (res.code == 200) {
 | 
	
		
			
				|  |  | -              this.$message({
 | 
	
		
			
				|  |  | -                type: 'success',
 | 
	
		
			
				|  |  | -                message: '操作成功!'
 | 
	
		
			
				|  |  | -              });
 | 
	
		
			
				|  |  | -              this.getList();
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | -        }catch (e) {
 | 
	
		
			
				|  |  | -          this.getList();
 | 
	
		
			
				|  |  | +      dateRange: [],
 | 
	
		
			
				|  |  | +      // 控制列表是否显示
 | 
	
		
			
				|  |  | +      columns: [
 | 
	
		
			
				|  |  | +        { key: 0, label: `用户编号`, visible: true },
 | 
	
		
			
				|  |  | +        { key: 1, label: `用户名称`, visible: true },
 | 
	
		
			
				|  |  | +        { key: 2, label: `用户昵称`, visible: true },
 | 
	
		
			
				|  |  | +        { key: 3, label: `部门`, visible: true },
 | 
	
		
			
				|  |  | +        { key: 4, label: `手机号码`, visible: true },
 | 
	
		
			
				|  |  | +        { key: 5, label: `状态`, visible: true },
 | 
	
		
			
				|  |  | +        { key: 6, label: `创建时间`, visible: true }
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  created() {
 | 
	
		
			
				|  |  | +    this.getList();
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    /** 查询用户列表 */
 | 
	
		
			
				|  |  | +    getList() {
 | 
	
		
			
				|  |  | +      this.loading = true;
 | 
	
		
			
				|  |  | +      listTableApi(
 | 
	
		
			
				|  |  | +        this.configUrl.list,
 | 
	
		
			
				|  |  | +        this.addDateRange(
 | 
	
		
			
				|  |  | +          this.queryParams, 
 | 
	
		
			
				|  |  | +          this.dateRange)).then(response => {
 | 
	
		
			
				|  |  | +            this.tableList = response.data.rows;
 | 
	
		
			
				|  |  | +            this.total = response.data.total;
 | 
	
		
			
				|  |  | +            this.loading = false;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -      // 修改是否启用
 | 
	
		
			
				|  |  | -      changeStatus(row) {
 | 
	
		
			
				|  |  | -        console.log(row)
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -      /** 删除按钮操作 */
 | 
	
		
			
				|  |  | -      handleDelete(row) {
 | 
	
		
			
				|  |  | -        this.$modal.confirm('是否确认删除数据票务名称为"' + row.goodsName + '"的数据项?').then(function() {
 | 
	
		
			
				|  |  | -          return deleteById(row.id);
 | 
	
		
			
				|  |  | -        }).then(() => {
 | 
	
		
			
				|  |  | -          this.getList();
 | 
	
		
			
				|  |  | -          this.$modal.msgSuccess("删除成功");
 | 
	
		
			
				|  |  | -        }).catch(() => {});
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 查看按钮操作 */
 | 
	
		
			
				|  |  | -      seeCenter(obj, type) {
 | 
	
		
			
				|  |  | -        this.visibleStatus = true
 | 
	
		
			
				|  |  | -        this.visibleType = type;
 | 
	
		
			
				|  |  | -        this.newObj = obj;
 | 
	
		
			
				|  |  | +      ).catch (error=>{
 | 
	
		
			
				|  |  | +        console.error('获取列表失败!!!!',error)
 | 
	
		
			
				|  |  | +        this.tableList = [];
 | 
	
		
			
				|  |  | +        this.total = 0;
 | 
	
		
			
				|  |  | +        this.loading = false
 | 
	
		
			
				|  |  | +      }) 
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 搜索按钮操作 */
 | 
	
		
			
				|  |  | +    handleQuery() {
 | 
	
		
			
				|  |  | +      this.queryParams.pageNum = 1;
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 重置按钮操作 */
 | 
	
		
			
				|  |  | +    resetQuery() {
 | 
	
		
			
				|  |  | +      this.dateRange = [];
 | 
	
		
			
				|  |  | +      this.handleQuery();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 多选框选中数据
 | 
	
		
			
				|  |  | +    handleSelectionChange(selection) {
 | 
	
		
			
				|  |  | +      this.ids = selection.map(item => item.id);
 | 
	
		
			
				|  |  | +      this.single = selection.length != 1;
 | 
	
		
			
				|  |  | +      this.multiple = !selection.length;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 新增按钮操作 */
 | 
	
		
			
				|  |  | +    handleAdd() {
 | 
	
		
			
				|  |  | +      if(this.$refs.addAndEdit) {
 | 
	
		
			
				|  |  | +        this.$refs.addAndEdit.initData(this.title + '新增', "EDIT",{})
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  };
 | 
	
		
			
				|  |  | -  </script>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 修改按钮操作 */
 | 
	
		
			
				|  |  | +    handleUpdate(row) {
 | 
	
		
			
				|  |  | +      if(this.$refs.addAndEdit) {
 | 
	
		
			
				|  |  | +        this.$refs.addAndEdit.initData(this.title + '编辑', "EDITInit",{...row})
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    handleDetails(row){
 | 
	
		
			
				|  |  | +      if(this.$refs.detailsBox) {
 | 
	
		
			
				|  |  | +        this.$refs.detailsBox.initData(this.title + '详情',"DEATILSInit", row)
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 删除按钮操作 */
 | 
	
		
			
				|  |  | +    handleDelete(row) {
 | 
	
		
			
				|  |  | +      const ids = row.id || this.ids;
 | 
	
		
			
				|  |  | +      this.$modal.confirm('是否确认删除用户编号为"' + ids + '"的数据项?').then(function() {
 | 
	
		
			
				|  |  | +        return delTableApi(configUrl.delect,ids);
 | 
	
		
			
				|  |  | +      }).then(() => {
 | 
	
		
			
				|  |  | +        this.getList();
 | 
	
		
			
				|  |  | +        this.$modal.msgSuccess("删除成功");
 | 
	
		
			
				|  |  | +      }).catch(() => {});
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 导出按钮操作 */
 | 
	
		
			
				|  |  | +    handleExport() {
 | 
	
		
			
				|  |  | +      this.download(this.configUrl.export, {
 | 
	
		
			
				|  |  | +        ...this.queryParams
 | 
	
		
			
				|  |  | +      }, `${this.title }_${new Date().getTime()}.xlsx`)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 导入按钮操作 */
 | 
	
		
			
				|  |  | +    handleImport() {
 | 
	
		
			
				|  |  | +      if(this.$refs.upload) {
 | 
	
		
			
				|  |  | +        this.$refs.upload.initData({
 | 
	
		
			
				|  |  | +          width: '400px',
 | 
	
		
			
				|  |  | +          // 弹出层标题(用户导入)
 | 
	
		
			
				|  |  | +          title: this.title + "导入",
 | 
	
		
			
				|  |  | +          // 下载模板地址
 | 
	
		
			
				|  |  | +          importTemplate: this.configUrl.download,
 | 
	
		
			
				|  |  | +          // 上传的地址
 | 
	
		
			
				|  |  | +          url: this.configUrl.upload
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 |