253 行
10 KiB
HTML
253 行
10 KiB
HTML
<link rel="stylesheet" href="__CDN__/assets/element-ui-2.15.14/css/index.css">
|
|
<link rel="stylesheet" href="__CDN__/assets/css/vvv.css">
|
|
<style>
|
|
.el-form-item__label {
|
|
width: 120px !important;
|
|
}
|
|
|
|
.el-tag + .el-tag {
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.button-new-tag {
|
|
margin-left: 10px;
|
|
height: 32px;
|
|
line-height: 30px;
|
|
padding-top: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
.input-new-tag {
|
|
width: 90px;
|
|
margin-left: 10px;
|
|
vertical-align: bottom;
|
|
}
|
|
|
|
input[type="file"] {
|
|
display: none !important;
|
|
}
|
|
|
|
.el-form-item__error {
|
|
margin-left: 30px;
|
|
}
|
|
|
|
.search-select .el-input--suffix .el-input__inner {
|
|
width: 130px;
|
|
}
|
|
|
|
.level {
|
|
width: 70px;
|
|
height: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 4px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.level .level-name {
|
|
color: #fff;
|
|
margin-left: 2px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.level .level-icon {
|
|
color: #fff;
|
|
}
|
|
|
|
.v-china .el-input__inner {
|
|
width: 330px !important;
|
|
}
|
|
|
|
.layout-pagination {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.buttons {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.buttons .v-btn {
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.buttons .btn-text {
|
|
font-size: 13px;
|
|
color: #606266;
|
|
margin-right: 10px;
|
|
}
|
|
</style>
|
|
<div id="vue" v-cloak>
|
|
<div class="search-container">
|
|
<el-collapse-transition>
|
|
<div v-if="showSearchBox" class="search-box">
|
|
<div class="item">
|
|
<div class="title">创建时间:</div>
|
|
<div class="inp">
|
|
<el-date-picker
|
|
style="width: 240px;"
|
|
@change="handleChangeDateTime"
|
|
size="mini"
|
|
unlink-panels
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
v-model="search.dateTime"
|
|
type="datetimerange"
|
|
:picker-options="pickerOptions"
|
|
range-separator="-"
|
|
start-placeholder="开始时间"
|
|
end-placeholder="结束时间">
|
|
</el-date-picker>
|
|
</div>
|
|
</div>
|
|
<div class="item">
|
|
<div class="title">姓名:</div>
|
|
<div class="inp">
|
|
<el-input style="width: 240px;" @clear="handleClearSearchInp" clearable placeholder="请您输入要搜索的姓名" size="small" v-model="search.name">
|
|
</el-input>
|
|
</div>
|
|
</div>
|
|
<div class="item">
|
|
<div class="title">手机号码:</div>
|
|
<div class="inp">
|
|
<el-input style="width: 240px;" @clear="handleClearSearchInp" clearable placeholder="请您输入要搜索的手机号码" size="small" v-model="search.phone">
|
|
</el-input>
|
|
</div>
|
|
</div>
|
|
<div class="item">
|
|
<div class="title">地址:</div>
|
|
<div class="inp">
|
|
<el-input style="width: 240px;" @clear="handleClearSearchInp" clearable placeholder="请您输入要搜索的地址" size="small" v-model="search.address">
|
|
</el-input>
|
|
</div>
|
|
</div>
|
|
<div class="item">
|
|
<div class="title">订单号:</div>
|
|
<div class="inp">
|
|
<el-input style="width: 240px;" @clear="handleClearSearchInp" clearable placeholder="请您输入要搜索的订单号" size="small" v-model="search.order_sn">
|
|
</el-input>
|
|
</div>
|
|
</div>
|
|
<div class="item">
|
|
<div class="title">报修描述:</div>
|
|
<div class="inp">
|
|
<el-input style="width: 240px;" @clear="handleClearSearchInp" clearable placeholder="请您输入要搜索的报修描述" size="small" v-model="search.content">
|
|
</el-input>
|
|
</div>
|
|
</div>
|
|
<div class="item">
|
|
<div class="buttons">
|
|
<el-button @click="searchData" style="margin-left: 10px;" type="success" icon="el-icon-search" size="mini">搜索</el-button>
|
|
<el-button @click="refreshPage" style="margin-left: 10px;" type="primary" icon="el-icon-refresh" size="mini">重置</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</el-collapse-transition>
|
|
<div class="search-button">
|
|
<div class="left-button">
|
|
<el-button size="small" @click="refreshPage" icon="el-icon-refresh" circle type="primary"></el-button>
|
|
</div>
|
|
<div class="right-button">
|
|
<div @click="handleClickSearchBox" :class="!showSearchBox ? 'search-btn' : 'search-btn search-btn-white'">
|
|
<i class="el-icon-search"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="vue-table background-white color-666">
|
|
<el-table :data="tableData" border highlight-current-row v-loading="listLoading"
|
|
@sort-change="sortChange" element-loading-text="拼命加载中..."
|
|
@selection-change="handleSelectionChange" style="width: 100%">
|
|
<el-table-column type="selection" width="60" align="center"></el-table-column>
|
|
<el-table-column prop="id" width="70" label="编号" show-overflow-tooltip
|
|
align="center"></el-table-column>
|
|
<el-table-column prop="avatar" label="订单号" width="220" align="center">
|
|
<template scope="scope">
|
|
<div @click="onOpenDetail(scope.row.order_id)" style="color: #7438D5;cursor: pointer;">{{scope.row.order_sn}}</div>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="name" width="120" label="姓名" show-overflow-tooltip
|
|
align="center"></el-table-column>
|
|
<el-table-column prop="phone" width="130" label="手机号码" show-overflow-tooltip
|
|
align="center"></el-table-column>
|
|
<el-table-column prop="address" width="220" label="地址" show-overflow-tooltip
|
|
align="center"></el-table-column>
|
|
<el-table-column prop="content" width="270" label="报修描述" show-overflow-tooltip
|
|
align="center"></el-table-column>
|
|
<el-table-column prop="avatar" label="图片" width="80" align="center">
|
|
<template scope="scope">
|
|
<el-image
|
|
v-if="scope.row.images"
|
|
style="width: 50px; height: 50px"
|
|
:src="scope.row.images[0]"
|
|
fit="cover"
|
|
:preview-src-list="scope.row.images"
|
|
>
|
|
</el-image>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="status" width="130" label="状态" show-overflow-tooltip
|
|
align="center">
|
|
<template scope="scope">
|
|
<div v-if="scope.row.status == 1" style="color: orange">待处理</div>
|
|
<div v-else-if="scope.row.status == 2" style="color: rgb(116, 56, 213);">处理中</div>
|
|
<div v-else style="color: green;">已完成</div>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="create_time" width="160" :formatter="dateFormat" label="创建时间" show-overflow-tooltip
|
|
align="center"></el-table-column>
|
|
<el-table-column align="center" width="150" fixed="right" label="操作">
|
|
<template scope="scope">
|
|
<button @click="openAddDialog('edit', scope.row)" type="button"
|
|
class="el-button el-button--primary el-button--small"><i
|
|
class="el-icon-edit"></i><span>编辑</span>
|
|
</button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<div class="layout-pagination">
|
|
<el-pagination
|
|
background
|
|
@size-change="handleSizeChange"
|
|
@current-change="handleCurrentChange"
|
|
:current-page="currentPage"
|
|
:page-sizes="[10, 20, 50, 100]"
|
|
:page-size="pageSize"
|
|
layout="sizes, prev, pager, next, jumper"
|
|
:total="totalCount">
|
|
</el-pagination>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 添加编辑 -->
|
|
<div class="users-dialog">
|
|
<el-dialog
|
|
:close-on-click-modal="false"
|
|
:title="title"
|
|
:visible.sync="addDialog"
|
|
width="50%"
|
|
>
|
|
<div class="form">
|
|
<el-form ref="form" :rules="rules" :model="formData" label-width="90px">
|
|
<el-form-item label="状态:" prop="status">
|
|
<el-radio style="margin-right: 0;" v-model="formData.status" :label="1" border size="small">待处理</el-radio>
|
|
<el-radio style="margin-right: 0;" v-model="formData.status" :label="2" border size="small">处理中</el-radio>
|
|
<el-radio v-model="formData.status" :label="3" border size="small">已完成</el-radio>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="addDialog = false" size="small" icon="el-icon-switch-button">取 消</el-button>
|
|
<el-button type="primary" size="small" @click="submit" icon="el-icon-position">提 交</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<script src="__CDN__/assets/element-ui-2.15.14/js/vue.js"></script>
|
|
<script src="__CDN__/assets/element-ui-2.15.14/js/index.js"></script>
|
|
<script src="__CDN__/assets/tool/libs/moment.js"></script>
|
|
<script src="__CDN__/assets/js/jquery-2.1.1.min.js"></script> |