Commit ebfc0d08 authored by hanfeng's avatar hanfeng

拉去线上代码

parents f9cd2e9f b3457f91
......@@ -6,4 +6,32 @@ export function page(query) {
method: 'get',
params:query
});
}
\ No newline at end of file
}
/**
* 根据id获取一条违章查询记录
* @param query
*/
export function getOneIllegalRow(id) {
return fetch({
url: '/api/order/orderViolation/getOne/' + id,
method: 'get'
});
}
/**
* 保存违章记录
* @param query
* {price:图片地址(多个逗号分割)
price:退款总金额
detailId:租车订单id
}
*/
export function saveOrderViolation(params) {
return fetch({
url: '/api/order/orderViolation/saveOrderViolation',
method: 'post',
data: params
});
}
import fetch from 'utils/fetch';
/**
* 获取收益总览列表
* @param query
*/
export function incomList(query) {
return fetch({
url: '/vehicle/vehicleModel/app/unauth/findVehicleModelPage',
method: 'post',
data: query
});
}
......@@ -385,7 +385,34 @@ export const asyncRouterMap = [{
authority: 'memberOrderInfo'
}
]
}
},
{
path: '/purseManage',
component: Layout,
name: '钱包管理',
icon: 'setting',
authority: 'purseManage',
children: [
{
path: 'incomeOverview',
component: _import('purseManage/incomeOverview'),
name: '收益总览',
authority: 'incomeOverview'
},
{
path: 'gainRecord',
component: _import('purseManage/gainRecord'),
name: '收益记录',
authority: 'gainRecord'
},
{
path: 'commissionSettings',
component: _import('purseManage/commissionSettings'),
name: '佣金设置比例',
authority: 'commissionSettings'
}
]
},
, {
path: '/userManagement',
component: Layout,
......
......@@ -51,12 +51,21 @@
</template>
</el-table-column>
<el-table-column width="200" align="center" label="负责人联系方式">
<el-table-column width="150" align="center" label="负责人联系方式">
<template scope="scope">
<span>{{scope.row.leaderContactInfo}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="租车客服电话">
<template scope="scope">
<span>{{scope.row.vehiceServicePhone}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="旅游客服电话">
<template scope="scope">
<span>{{scope.row.tourServicePhone}}</span>
</template>
</el-table-column>
<el-table-column width="300" align="center" label="地址">
<template scope="scope">
<span>{{getAddrStr(scope.row) + scope.row.addrDetail}}</span>
......@@ -144,6 +153,14 @@
<el-input v-model="form.leaderContactInfo" placeholder="请输入负责人联系方式"></el-input>
</el-form-item>
<el-form-item label="租车客服电话" prop="vehiceServicePhone">
<el-input v-model="form.vehiceServicePhone" placeholder="请输入租车客服电话"></el-input>
</el-form-item>
<el-form-item label="旅游客服电话" prop="tourServicePhone">
<el-input v-model="form.tourServicePhone" placeholder="请输入旅游客服电话"></el-input>
</el-form-item>
<el-form-item label="地址" prop="addrDetail">
<el-input v-model="form.addrDetail" placeholder="请输入详细地址"></el-input>
</el-form-item>
......@@ -213,7 +230,9 @@
longitude: undefined,
latitude: undefined,
leaderContactInfo: undefined,
updateTime: undefined
updateTime: undefined,
vehiceServicePhone: undefined,
tourServicePhone: undefined
},
allZoneArr:[],//全部片区
provinceRegions: [],//片区下省份数据
......@@ -603,7 +622,9 @@
longitude: undefined,
latitude: undefined,
leaderContactInfo: undefined,
updateTime: undefined
updateTime: undefined,
vehiceServicePhone: undefined,
tourServicePhone: undefined
};
}
}
......
......@@ -57,9 +57,17 @@
<el-form-item label="标识" prop="type">
<el-input type="number" v-model.number="dialogFrom.type" placeholder="1,2,3……"></el-input>
</el-form-item>
<el-form-item label="详情">
<Editor @input="handelIncrease" :value="dialogFrom.value" :myQuillEditor="'myQuillEditorContent'"></Editor>
</el-form-item>
<el-tabs v-model="activeName2" type="card">
<el-tab-pane label="详情" name="first">
<!--<Editor v-if="activeName2=='first'" @input="handelContentIncrease" :value="form.content" :myQuillEditor="'myQuillEditorContent'" :activeName2="activeName2"></Editor>-->
<div class="editor-container" v-if="activeName2=='first'">
<UE :editorId="activeName2" :defaultMsg="dialogFrom.value" :config=config ref="ue" @ready="editorReadyEvent"></UE>
</div>
</el-tab-pane>
</el-tabs>
<!--<el-form-item label="详情">-->
<!--<Editor @input="handelIncrease" :value="dialogFrom.value" :myQuillEditor="'myQuillEditorContent'"></Editor>-->
<!--</el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelHandel">取 消</el-button>
......@@ -76,7 +84,8 @@
</style>
<script>
import 'static/css/uploadImg.css';// 引入图片上传组件对话框
import Editor from "../modal/editorTool";//富文本
// import Editor from "../modal/editorTool";//富文本
import UE from '../modal/Ueditor';//百度ue富文本
import {
formatDate
} from 'utils/dateFormattor';
......@@ -112,7 +121,8 @@
ElCol,
ElRow,
Element1,
Editor
UE
// Editor
},
data() {
return {
......@@ -120,7 +130,12 @@
page: 1,
limit: 20
},
config: {
initialFrameWidth: null,
initialFrameHeight: 350
},
tableKey:0,
activeName2: "",
modalTitle: "创建",
BASE_API: process.env.BASE_API,
dialogVisible: false,//添加、编辑弹框
......@@ -196,6 +211,7 @@
handleUpdate(row) {
this.modalTitle = '编辑';
this.dialogVisible = true;
this.activeName2 = "first";
this.cleanDialogFrom();
this.dialogFrom = row;
},
......@@ -319,12 +335,24 @@
});
},
/**
* 富文本内容
* @param step
*/
handelIncrease(step) {
this.dialogFrom.value = step;
}
* 富文本 营地详情
* */
editorReadyEvent(instance){
let t = this;
instance.addListener('contentChange', () => {
if(t.activeName2 == "first"){
t.dialogFrom.value = instance.getContent();
}
});
},
}
}
</script>
<style>
.v-modal{
z-index: 1000 !important;
}
.el-dialog__wrapper{
z-index: 1008 !important;
}
</style>
......@@ -79,14 +79,15 @@
<el-tabs v-model="activeName2" type="card" @tab-click="handleClick">
<el-tab-pane label="营地详情" name="first">
<!--<Editor v-if="activeName2=='first'" @input="handelContentIncrease" :value="form.content" :myQuillEditor="'myQuillEditorContent'" :activeName2="activeName2"></Editor>-->
<div class="editor-container">
<UE :defaultMsg=defaultMsg :config=config ref="ue"></UE>
<div class="editor-container" v-if="activeName2=='first'">
<UE :editorId="activeName2" :defaultMsg="form.content" :config=config ref="ue" @ready="editorReadyEvent"></UE>
</div>
</el-tab-pane>
<el-tab-pane label="配套&收费" name="second">
<Editor v-if="activeName2=='second'" @input="handelIntroduceIncrease" :value="form.configure" :myQuillEditor="'myQuillEditorIntroduce'" :activeName2="activeName2"></Editor>
<!--<Editor v-if="activeName2=='second'" @input="handelIntroduceIncrease" :value="form.configure" :myQuillEditor="'myQuillEditorIntroduce'" :activeName2="activeName2"></Editor>-->
<div class="editor-container" v-if="activeName2=='second'">
<UE :editorId="activeName2" :defaultMsg="form.configure" :config=config ref="ue" @ready="editorReadyEvent"></UE>
</div>
</el-tab-pane>
</el-tabs>
<el-form-item></el-form-item>
......@@ -103,6 +104,9 @@
</div>
</template>
<style>
textarea{
display: none;
}
.info{
border-radius: 10px;
line-height: 20px;
......@@ -119,7 +123,7 @@
}
</style>
<script>
import Editor from "../../modal/editorTool";//富文本
// import Editor from "../../modal/editorTool";//富文本
import UE from '../../modal/Ueditor';//百度ue富文本
import campsiteLabelModal from "../../tourManage/modal/tourLabelModal";//标签
import campsiteModal from "./campsiteModal";//营地地址
......@@ -145,7 +149,7 @@
props: ["oneRow", "title"],
name: 'upkeepDialog',
components: {
Editor,
// Editor,
UE,
campsiteModal,
campsiteLabelModal
......@@ -157,8 +161,6 @@
initialFrameWidth: null,
initialFrameHeight: 350
},
isExist:false,//名称是否已存在
campsiteObj: {},//营地地址
departureList: [],//出发地列表
......@@ -166,7 +168,7 @@
pathway: [],//途径地
isCreate: false,//是否点击了创建-确定
fileList2:[],
activeName2: 'first',//行程亮点
activeName2: '',//行程亮点
form: {
id: undefined,
name: undefined,//营地名称
......@@ -180,10 +182,10 @@
address: undefined,//详细地址
latitude: undefined,
longitude: undefined,
content: undefined,//营地详情
content: '',//营地详情
concat: "",//联系人
logo:undefined,//封面图
configure: undefined,//配套&收费
configure: '',//配套&收费
campsiteTagListVos: [],//营地类型
carouse:[],//banner轮播
},
......@@ -312,9 +314,8 @@
latitude: this.campsiteObj.latitude,
longitude: this.campsiteObj.longitude,
};
console.log(content)
console.log(params);
// this.isExistCampsiteShop("create", params);
this.isExistCampsiteShop("create", params);
},
/**
* 判断营地名称是否已存在
......@@ -534,6 +535,7 @@
fileList2.push(pp);
});
this.fileList2 = fileList2;
this.activeName2 = "first";
})
},
/**
......@@ -552,8 +554,15 @@
/**
* 富文本 营地详情
* */
handelContentIncrease(step){
this.form.content = step;
editorReadyEvent(instance){
let t = this;
instance.addListener('contentChange', () => {
if(t.activeName2 == "first"){
t.form.content = instance.getContent();
} else if(t.activeName2 == "second"){
t.form.configure = instance.getContent();
}
});
},
/**
* 删除banner
......@@ -593,7 +602,7 @@
cleanForm() {
this.campsiteObj ={name: ""};//营地地址
this.fileList2=[];
this.activeName2= 'first';//营地详情
this.activeName2= '';//营地详情
this.form = {
id: undefined,
name: undefined,//营地名称
......@@ -607,10 +616,10 @@
address: undefined,//详细地址
latitude: undefined,
longitude: undefined,
content: undefined,//营地详情
content: '',//营地详情
concat: "",//联系人
logo:undefined,//封面图
configure: undefined,//配套&收费
configure: '',//配套&收费
campsiteTagListVos: [],//营地类型
carouse:[],//banner轮播
};
......
<template>
<div>
<script id="editor" type="text/plain"></script>
<script :id="editorId" type="text/plain"></script>
</div>
</template>
<script>
......@@ -8,7 +8,7 @@
name: 'UE',
data () {
return {
editor: null
editor: null,
}
},
props: {
......@@ -17,13 +17,15 @@
},
config: {
type: Object
}
},
editorId:{}
},
mounted() {
const _this = this;
this.editor = UE.getEditor('editor', this.config); // 初始化UE
this.editor = UE.getEditor(this.editorId, this.config); // 初始化UE
this.editor.addListener("ready", function () {
_this.editor.setContent(_this.defaultMsg); // 确保UE加载完成后,放入内容。
_this.$emit('ready', _this.editor);
});
},
methods: {
......
<template>
<el-dialog title="违章查询" :visible.sync="isVisible">
<el-form>
<el-row>
<el-col :span="24">
<el-form-item label="订单号">
<span>{{row.no}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="订单金额">
<span>{{row.realAmount}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车牌号">
<span>{{row.vehicleNumberPlat}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="用户ID/实名">
<span>{{row.userId}}</span>/<span>{{row.username}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="取车">
<span>{{dateFormat(row.orderRentVehicleDetail.startTime)}}</span>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="交车公司">
<span>{{row.startCompanyName}}</span>
<span>({{row.orderRentVehicleDetail.startCityName}}{{row.orderRentVehicleDetail.startAddr}})</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="还车">
<span>{{dateFormat(row.orderRentVehicleDetail.endTime)}}</span>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="收车公司">
<span><span>{{row.endCompanyName}}</span>
<span>({{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}})</span></span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="违章截图" :style="{display:'block'}">
<!--<el-upload-->
<!--action="https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload"-->
<!--list-type="picture-card"-->
<!--:headers="getHeaderWithToken"-->
<!--:on-success="handleSuccess"-->
<!--:on-remove="handleRemove">-->
<!--<i class="el-icon-plus"></i>-->
<!--</el-upload>-->
<!--<el-dialog v-model="dialogVisible" size="tiny">-->
<!--<img width="100%" :src="dialogImageUrl" alt="">-->
<!--</el-dialog>-->
<el-upload
class="upload-demo"
:headers="getHeaderWithToken"
action="https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload"
:on-remove="handleRemove"
:file-list="fileList2"
:on-success="handleSuccess"
list-type="picture-card">
<!--<div slot="tip" class="el-upload__tip">最多上传5张</div>-->
<i class="el-icon-plus"></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item label="违章罚款" style="display: inline-block;">
<el-input v-model="price" type="number" placeholder="请输入违章罚款金额"></el-input>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="okHandler('form')">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
import {
page,
saveOrderViolation
} from 'api/order/rentVehicle';
import {mapGetters} from 'vuex';
import {
formatDate
} from '../../../utils/dateFormattor';
import {
getToken
} from '../../../utils/auth';
import {
getOneIllegalRow
} from 'api/order/rentVehicle';
import ElRow from "element-ui/packages/row/src/row";
import ElInput from "../../../../node_modules/element-ui/packages/input/src/input.vue";
import ElCol from "element-ui/packages/col/src/col";
import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue";
import ElForm from "../../../../node_modules/element-ui/packages/form/src/form.vue";
export default {
props: ["row"],
name: 'illegalDialog',
components: {
ElForm,
ElFormItem,
ElCol,
ElInput,
ElRow
},
data() {
return {
price: undefined,//违章罚款金额
isVisible: false,
fileList2:[],//违章截图
}
},
created() {
},
watch: {
isVisible(newValue, oldValue){
if(!newValue){
this.$emit('illegalEvent', false);
}
},
},
mounted() {
let that = this;
// if(that.row.refundStatus == 3) {
//refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)
that.getOne(that.row.detailId);
// }
this.isVisible = true;
},
computed: {
...mapGetters([
'elements',
]),
getHeaderWithToken() {
return {Authorization: getToken()};
}
},
methods: {
/**
* 根据id查询一条记录
* */
getOne(id){
let t = this;
getOneIllegalRow(id).then(response => {
if(response.status == 200){
let arr = response.data.picture.split(",");
let fileList2 = [];
let p = {};
arr.map(function(item){
p = {
url: item
};
fileList2.push(p);
});
t.price = parseFloat(response.data.price);
t.fileList2 = fileList2;
t.id = response.data.id?response.data.id: undefined;
} else {
this.$notify({
title: '失败',
message: response.menu,
type: 'error',
duration: 2000
});
}
})
},
/**
* 上传成功
* */
handleSuccess(res, file) {
let c = {url: res.data};
this.fileList2.push(c);
this.showLoadingBody = false;
},
/**
* 删除违章图片
* */
handleRemove(file, fileList){
this.fileList2 = fileList;
},
/**
* 确定
* */
okHandler() {
let arr = [];
this.fileList2.map(function(item){
arr.push(item.url);
});
let params = {
picture:arr.join(","),
price:this.price,
detailId: this.row.detailId,
id: this.id
};
saveOrderViolation(params).then(response => {
if (response.status === 200) {
this.$notify({
title: '成功',
message: '创建成功',
type: 'success',
duration: 2000
});
this.$emit('illegalEvent', false);
} else {
this.$notify({
title: '创建失败',
message: '操作失败!',
type: 'error',
duration: 2000
});
}
});
},
/**
* 弹框-取消
* */
cancel() {
this.$emit('illegalEvent', false);
},
/**
* 格式化时间
* @param timestamp
* @returns {*}
*/
dateFormat(timestamp) {
let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, 'yyyy-MM-dd hh:mm:ss');
},
}
}
</script>
<style>
.el-form-item__content{
display: inline-block;
}
</style>
......@@ -22,7 +22,6 @@
<el-option :key="4" label="待出行" :value="4"></el-option>
<el-option :key="5" label="出行中" :value="5"></el-option>
<el-option :key="6" label="已完成" :value="6"></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -37,7 +36,6 @@
</el-form>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves icon="delete" @click="clearSearch">清除搜索</el-button>
</el-button>
</div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading"
border fit highlight-current-row
......@@ -85,7 +83,7 @@
<span>{{scope.row.orderAmount}}</span>
</template>
</el-table-column>
<el-table-column width="110" align="center" label="状态">
<template scope="scope">
<span v-if="scope.row.status == '2'">取消</span>
......@@ -95,16 +93,19 @@
<span v-if="scope.row.status == '6'">已完成</span>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="操作" width="150">
<el-table-column align="center" label="操作" width="150">
<template scope="scope">
<el-button v-if="btn_buy && scope.row.state == 0" size="small" type="success" @click="handleBuy(scope.row)">订单详情</el-button>
<el-button v-if="btn_buy && scope.row.state == 0" size="small" type="success" @click="handleBuy(scope.row)">操作</el-button>
<!--status订单状态\n0--删除\n1--创建订单\n2--取消\n3--待付款\n4--待出行\n5--出行中(进行中)\n6--已完成 refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)-->
<!--v-if="scope.row.status == 6"-->
<el-button size="small" v-if="scope.row.status == 6" type="success" @click="illegalInquiry(scope.row)">违章查询</el-button>
</template>
</el-table-column> -->
</el-table-column>
</el-table>
<!--违章查询弹框-->
<Illegal :row="currentRow" v-if="illegalVisible" v-on:illegalEvent = "illegalEvent"></Illegal>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
......@@ -114,16 +115,19 @@
</template>
<script>
import Illegal from "./illegalModal";//违章查询
import {
formatDate
} from '../../../utils/dateFormattor';
import {
page
} from 'api/order/rentVehicle';
import { mapGetters } from 'vuex';
import rsCode from '../../../utils/rsCode';
import {
formatDate
} from '../../../utils/dateFormattor';
export default {
name: 'branchCompanyStock',
components: {
Illegal,
},
data() {
return {
form: {
......@@ -135,6 +139,7 @@
count: null,
state: null
},
illegalVisible: false,//违章查询弹框
rules: {
// companyName: [
// {
......@@ -144,20 +149,6 @@
// }
// ],
},
applyState: {
'-1': {
key: -1,
label: '放弃购买'
},
0: {
key: 0,
label: '申请中'
},
1: {
key: 1,
label: '确认购买'
}
},
list: null,
total: null,
listLoading: true,
......@@ -186,36 +177,24 @@
computed: {
...mapGetters([
'elements'
]),
provinceRegions() {
return getSonRegionByCodes(1);
},
cityRegions() {
if (!this.$utils.isInteger(this.form.addrProvince)) {
return null;
}
return getSonRegionByCodes(this.form.addrProvince);
}
])
},
methods: {
handleBuy(row) {
this.$confirm('此操作将确认购买, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
buyStock(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
});
this.getList();
});
});
/**
* 操作-违章查询按钮,显示违章弹框
*/
illegalInquiry(row){
this.currentRow = row;
this.illegalVisible = true;
},
/**
* 关闭违章查询弹框
* */
illegalEvent(params){
this.illegalVisible = false;
if(params){
console.log(params);
}
},
handleCancel(row) {
this.$confirm('此操作将放弃购买, 是否继续?', '提示', {
......@@ -235,26 +214,6 @@
this.getList();
});
});
},
handleDelete(row) {
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
delObj(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '删除成功',
type: 'success',
duration: 2000
});
const index = this.list.indexOf(row);
this.list.splice(index, 1);
});
});
},
handleFilter() {
this.listQuery.page = 1;
......@@ -279,6 +238,9 @@
}
this.getList()
},
/**
* 获取订单列表
*/
getList() {
this.listLoading = true;
console.log(this.listQuery)
......
This diff is collapsed.
<template>
<div class="app-container calendar-list-container" v-loading.body="showLoadingBody">
<div v-if="!oneCampsiteDialogVisible">
<div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="姓名">
<el-input v-model.number="listQuery.name" placeholder="请输入姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号">
<el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
</div>
<el-table :key='tableKey' :data="list" border fit highlight-current-row
style="width: 100%;">
<el-table-column
type="index"
align="center" label="序号" width="65">
</el-table-column>
<el-table-column width="150" align="center" label="姓名">
<template scope="scope">
<img :src="scope.row.cover" style="width: 30px;"/>
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="手机号">
<template scope="scope">
<span>{{scope.row.storeTypeName}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="来源">
<template scope="scope">
<span>{{scope.row.hot}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="订单号">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="总消费">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="类型">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="状态">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="订单金额">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="提成比例">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="提成金额">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="时间">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
</div>
</div>
</template>
<script>
import 'static/css/uploadImg.css';// 引入图片上传组件对话框
import {
formatDate
} from 'utils/dateFormattor';
import {
toEast8Date,
deepCopyDate,
newEast8Date,
convertDate2Str,
timestamp2Date
} from 'utils/dateUtils';
import rsCode from '../../utils/rsCode';
import {mapGetters} from 'vuex';
import {
getToken
} from 'utils/auth';
import {
incomList
} from 'api/purseManage';
import Element1 from "../admin/menu/components/element";
import ElRow from "element-ui/packages/row/src/row";
import ElCol from "element-ui/packages/col/src/col";
export default {
name: 'tourManage',
components: {
ElCol,
ElRow,
Element1,
},
data() {
return {
BASE_API: process.env.BASE_API,
showLoadingBody: false,
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
phone: '',//手机号
name: '',//姓名
},
inline: true,
tableKey: 0
}
},
created() {
this.getList();
},
computed: {
...mapGetters([
'elements'
])
},
methods: {
/**
* 获取旅游列表
* */
getList() {
this.listLoading = true;
if(this.listQuery.startTime){
this.listQuery.startTime = this.listQuery.startTime.getTime();
}
if(this.listQuery.endTime){
this.listQuery.endTime = this.listQuery.endTime.getTime();
}
incomList(this.listQuery).then(response => {
let totalCountRs = undefined;
let listRs = undefined;
if (!this.$utils.isEmpty(response.data.data) && this.$utils.isInteger(response.data.totalCount)) {
listRs = response.data.data;
totalCountRs = response.data.totalCount;
listRs.map(function(item){
item.visible2 = false;
item.crtTimeStr = timestamp2Date(item.crtTime);
if(item.storeTypeName){
item.storeTypeName = item.storeTypeName.join("|");
}
});
}
this.listLoading = false;
this.list = listRs;
this.total = totalCountRs;
})
},
handleFilter() {
this.listQuery.page = 1;
this.$refs.queryForm.validate(valid => {
if (valid) {
this.getList();
} else {
return false;
}
});
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
}
}
}
</script>
<template>
<div class="app-container calendar-list-container" v-loading.body="showLoadingBody">
<div v-if="!oneCampsiteDialogVisible">
<div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="姓名">
<el-input v-model.number="listQuery.name" placeholder="请输入姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号">
<el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
</div>
<el-table :key='tableKey' :data="list" border fit highlight-current-row
style="width: 100%;">
<el-table-column
type="index"
align="center" label="序号" width="65">
</el-table-column>
<el-table-column width="150" align="center" label="姓名">
<template scope="scope">
<img :src="scope.row.cover" style="width: 30px;"/>
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="手机号">
<template scope="scope">
<span>{{scope.row.storeTypeName}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="总收益">
<template scope="scope">
<span>{{scope.row.hot}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="总提现">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="总消费">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="提现中">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="未入账">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="当前余额">
<template scope="scope">
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
</div>
</div>
</template>
<script>
import 'static/css/uploadImg.css';// 引入图片上传组件对话框
import {
formatDate
} from 'utils/dateFormattor';
import {
toEast8Date,
deepCopyDate,
newEast8Date,
convertDate2Str,
timestamp2Date
} from 'utils/dateUtils';
import rsCode from '../../utils/rsCode';
import {mapGetters} from 'vuex';
import {
getToken
} from 'utils/auth';
import {
incomList
} from 'api/purseManage';
import Element1 from "../admin/menu/components/element";
import ElRow from "element-ui/packages/row/src/row";
import ElCol from "element-ui/packages/col/src/col";
export default {
name: 'tourManage',
components: {
ElCol,
ElRow,
Element1,
},
data() {
return {
BASE_API: process.env.BASE_API,
showLoadingBody: false,
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
phone: '',//手机号
name: '',//姓名
},
inline: true,
tableKey: 0
}
},
created() {
this.getList();
},
computed: {
...mapGetters([
'elements'
])
},
methods: {
/**
* 获取旅游列表
* */
getList() {
this.listLoading = true;
if(this.listQuery.startTime){
this.listQuery.startTime = this.listQuery.startTime.getTime();
}
if(this.listQuery.endTime){
this.listQuery.endTime = this.listQuery.endTime.getTime();
}
incomList(this.listQuery).then(response => {
let totalCountRs = undefined;
let listRs = undefined;
if (!this.$utils.isEmpty(response.data.data) && this.$utils.isInteger(response.data.totalCount)) {
listRs = response.data.data;
totalCountRs = response.data.totalCount;
listRs.map(function(item){
item.visible2 = false;
item.crtTimeStr = timestamp2Date(item.crtTime);
if(item.storeTypeName){
item.storeTypeName = item.storeTypeName.join("|");
}
});
}
this.listLoading = false;
this.list = listRs;
this.total = totalCountRs;
})
},
handleFilter() {
this.listQuery.page = 1;
this.$refs.queryForm.validate(valid => {
if (valid) {
this.getList();
} else {
return false;
}
});
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
}
}
}
</script>
......@@ -163,13 +163,22 @@
</el-form-item>
<el-tabs v-model="activeName2" type="card" @tab-click="handleClick">
<el-tab-pane label="行程亮点" name="first">
<Editor v-if="activeName2=='first'" @input="handelContentIncrease" :value="form.content" :myQuillEditor="'myQuillEditorContent'" :activeName2="activeName2"></Editor>
<div class="editor-container" v-if="activeName2=='first'">
<UE :editorId="activeName2" :defaultMsg="form.content" :config=config ref="ue" @ready="editorReadyEvent"></UE>
</div>
<!--<Editor v-if="activeName2=='first'" @input="handelContentIncrease" :value="form.content" :myQuillEditor="'myQuillEditorContent'" :activeName2="activeName2"></Editor>-->
</el-tab-pane>
<el-tab-pane label="行程介绍" name="second">
<Editor v-if="activeName2=='second'" @input="handelIntroduceIncrease" :value="form.introduce" :myQuillEditor="'myQuillEditorIntroduce'" :activeName2="activeName2"></Editor>
<div class="editor-container" v-if="activeName2=='second'">
<UE :editorId="activeName2" :defaultMsg="form.introduce" :config=config ref="ue" @ready="editorReadyEvent"></UE>
</div>
<!--<Editor v-if="activeName2=='second'" @input="handelIntroduceIncrease" :value="form.introduce" :myQuillEditor="'myQuillEditorIntroduce'" :activeName2="activeName2"></Editor>-->
</el-tab-pane>
<el-tab-pane label="费用说明" name="third">
<Editor v-if="activeName2=='third'" @input="handelExplainIncrease" :value="form.explain" :myQuillEditor="'myQuillEditorExplain'" :activeName2="activeName2"></Editor>
<div class="editor-container" v-if="activeName2=='third'">
<UE :editorId="activeName2" :defaultMsg="form.explain" :config=config ref="ue" @ready="editorReadyEvent"></UE>
</div>
<!--<Editor v-if="activeName2=='third'" @input="handelExplainIncrease" :value="form.explain" :myQuillEditor="'myQuillEditorExplain'" :activeName2="activeName2"></Editor>-->
</el-tab-pane>
</el-tabs>
<el-form-item></el-form-item>
......@@ -192,6 +201,9 @@
</div>
</template>
<style>
textarea{
display: none;
}
.el-upload-list{
display: flex;
width: 100px;
......@@ -201,7 +213,8 @@
}
</style>
<script>
import Editor from "../../modal/editorTool";//富文本
// import Editor from "../../modal/editorTool";//富文本
import UE from '../../modal/Ueditor';//百度ue富文本
import Destination from "./destinationModal";//目的地弹框
import tourTime from "./tourTime";//活动时间
import tourLabelModal from "./tourLabelModal";//旅游标签
......@@ -234,7 +247,8 @@
props: ["oneTourRow", "title"],
name: 'upkeepDialog',
components: {
Editor,
// Editor,
UE,
Destination,
tourTime,
tourLabelModal,
......@@ -242,6 +256,10 @@
},
data() {
return {
config: {
initialFrameWidth: null,
initialFrameHeight: 350
},
percent: 0,//上传进度
imgFlag: false,
onePathObj:{name: ""},//待编辑的途径地
......@@ -251,7 +269,7 @@
pathway: [],//途径地
isCreate: false,//是否点击了创建-确定
fileList2:[],
activeName2: 'first',//行程亮点
activeName2: '',//行程亮点
form: {
childPrice: undefined,//儿童价
isOutside:"0",
......@@ -814,6 +832,7 @@
this.form.isMember = this.form.isMember+"";
this.form.recommend = this.form.recommend+"";
this.form.isOutside = this.form.isOutside+"";
this.activeName2 = "first";
})
},
querySearch(queryString, cb) {
......@@ -844,24 +863,39 @@
this.$emit("oneTourDialogEvent", false);
},
/**
* 富文本内容 费用说明
* @param step
*/
handelExplainIncrease(step) {
this.form.explain = step;
},
/**
* 行程介绍 富文本
* 富文本 营地详情
* */
handelIntroduceIncrease(step){
this.form.introduce = step;
},
/**
* 富文本 content行程亮点
* */
handelContentIncrease(step){
this.form.content = step;
editorReadyEvent(instance){
let t = this;
instance.addListener('contentChange', () => {
if(t.activeName2 == "first"){
t.form.content = instance.getContent();
} else if(t.activeName2 == "second"){
t.form.introduce = instance.getContent();
} else if(t.activeName2 == "third"){
t.form.explain = instance.getContent();
}
});
},
// /**
// * 富文本内容 费用说明
// * @param step
// */
// handelExplainIncrease(step) {
// this.form.explain = step;
// },
// /**
// * 行程介绍 富文本
// * */
// handelIntroduceIncrease(step){
// this.form.introduce = step;
// },
// /**
// * 富文本 content行程亮点
// * */
// handelContentIncrease(step){
// this.form.content = step;
// },
/**
* 删除banner
* */
......@@ -906,7 +940,7 @@
this.departureObj={name: ""},//出发地
this.pathway= [],//途径地
this.fileList2=[],
this.activeName2= 'first',//行程亮点
this.activeName2= '',//行程亮点
this.form= {
isOutside: "0",//省内、省外
childPrice: undefined,//儿童价
......
......@@ -147,9 +147,15 @@
<el-button v-if="fileList2.length<5" size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="车型详情">
<Editor @input="handelIncrease" :value="form.modelsDetails" :myQuillEditor="'myQuillEditor'"></Editor>
</el-form-item>
<el-tabs v-model="activeName2" type="card">
<el-tab-pane label="车型详情" name="first">
<!--<Editor @input="handelIncrease" :value="form.modelsDetails" :myQuillEditor="'myQuillEditor'"></Editor>-->
<div class="editor-container" v-if="activeName2=='first'">
<UE :editorId="activeName2" :defaultMsg="form.modelsDetails" :config=config ref="ue" @ready="editorReadyEvent"></UE>
</div>
</el-tab-pane>
</el-tabs>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
......@@ -192,6 +198,9 @@
</div>
</template>
<style>
textarea{
display: none;
}
.el-upload-list{
display: flex;
width: 100px;
......@@ -201,7 +210,8 @@
}
</style>
<script>
import Editor from "../../modal/editorTool";//富文本
// import Editor from "../../modal/editorTool";//富文本
import UE from '../../modal/Ueditor';//百度ue富文本
import {
getOneTypeById,
getAllParentLabel,
......@@ -227,12 +237,17 @@
ElFormItem,
ElCol,
ElRow,
Editor
UE
},
data() {
return {
config: {
initialFrameWidth: null,
initialFrameHeight: 350
},
labelList:[],//全部车型标签
fileList2:[],
activeName2: '',//房车详情
form: {
pPrice:0,//普通会员
hPrice:0,//黄金会员
......@@ -694,6 +709,7 @@
this.canSelectLabel = canSelectLabel;
response.data.hotSign = response.data.hotSign? response.data.hotSign: "2";
this.form = response.data;
this.activeName2 = "first";
})
},
/**
......@@ -721,8 +737,11 @@
* 富文本内容
* @param step
*/
handelIncrease(step) {
this.form.modelsDetails = step;
editorReadyEvent(instance){
let t = this;
instance.addListener('contentChange', () => {
t.form.modelsDetails = instance.getContent();
});
},
/**
* 删除banner
......
......@@ -290,7 +290,7 @@
/* 上传图片 */
function UploadImage(target) {
function UploadImage(target) {debugger
this.$wrap = target.constructor == String ? $('#' + target) : $(target);
this.init();
}
......
......@@ -269,7 +269,7 @@ div.edui-box {
position: absolute;
bottom: -25px;
left: 0;
z-index: 1009;
z-index: 2002;
width: 99.9%;
}
......@@ -1029,7 +1029,7 @@ div.edui-box {
/* 弹出菜单 */
.edui-default .edui-popup {
z-index: 3000;
z-index: 3000 !important;
background-color: #ffffff;
width:auto;
height:auto;
......@@ -1900,4 +1900,4 @@ div.edui-box {
}
.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-plaintxticon{
background-position: -72px -34px;
}
\ No newline at end of file
}
......@@ -6922,7 +6922,7 @@ var fillCharReg = new RegExp(domUtils.fillChar, 'g');
//font-family不能呢随便改,在safari下fillchar会有解析问题
'body{margin:8px;font-family:sans-serif;font-size:16px;}' +
//设置段落间距
'p{margin:5px 0;}</style>' +
'p{margin:1px 0;}</style>' +
( options.iframeCssUrl ? '<link rel=\'stylesheet\' type=\'text/css\' href=\'' + utils.unhtml(options.iframeCssUrl) + '\'/>' : '' ) +
(options.initialStyle ? '<style>' + options.initialStyle + '</style>' : '') +
'</head><body class=\'view\' ></body>' +
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -21,6 +21,7 @@
*/
window.UEDITOR_HOME_URL = "/static/utf8-jsp/";
var URL = window.UEDITOR_HOME_URL || getUEBasePath();
/**
* 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
......@@ -31,7 +32,7 @@
UEDITOR_HOME_URL: URL
// 服务器统一请求接口路径
, serverUrl:"http://10.1.37.192:8765/api/universal/file/app/unauth/ueditor"
, serverUrl:"https://xxtest.upyuns.com/api/universal/file/app/unauth/ueditor"
//工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义
, toolbars: [[
......@@ -429,6 +430,9 @@
video: ['autoplay', 'controls', 'loop', 'preload', 'src', 'height', 'width', 'class', 'style']
}
};
function getUEBasePath(docUrl, confUrl) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment