Commit acbbe7fc authored by hanfeng's avatar hanfeng

Merge remote-tracking branch 'origin/base-modify' into base-modify-hf

# Conflicts:
#	.gitignore
parents c36b397a 77bd3db7
...@@ -12,3 +12,4 @@ config/** ...@@ -12,3 +12,4 @@ config/**
**/dev.env.js **/dev.env.js
/*.json /*.json
/.gitignore /.gitignore
...@@ -295,11 +295,7 @@ ...@@ -295,11 +295,7 @@
}, },
"async-validator": { "async-validator": {
"version": "1.6.9", "version": "1.6.9",
<<<<<<< HEAD
"resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.6.9.tgz", "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.6.9.tgz",
=======
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.6.9.tgz",
>>>>>>> base-modify
"integrity": "sha1-qDCdqouDQhzb1GKOAm1quyUZLTQ=" "integrity": "sha1-qDCdqouDQhzb1GKOAm1quyUZLTQ="
}, },
"asynckit": { "asynckit": {
...@@ -2884,13 +2880,28 @@ ...@@ -2884,13 +2880,28 @@
} }
}, },
"echarts": { "echarts": {
"version": "3.6.2", "version": "3.8.5",
"resolved": "https://registry.npm.taobao.org/echarts/download/echarts-3.6.2.tgz", "resolved": "https://registry.npmjs.org/echarts/-/echarts-3.8.5.tgz",
"integrity": "sha1-hilUyLWBC/+HpIsN4EFu2MS7HDY=", "integrity": "sha512-E+nnROMfCeiLeoT/fZyX8SE8mKzwkTjyemyoBF543oqjRtjTSKQAVDEihMXy4oC6pJS0tYGdMqCA2ATk8onyRg==",
"requires": { "requires": {
"zrender": "^3.5.2" "zrender": "3.7.4"
} }
}, },
"echarts-amap": {
"version": "1.0.0-rc.6",
"resolved": "https://registry.npmjs.org/echarts-amap/-/echarts-amap-1.0.0-rc.6.tgz",
"integrity": "sha1-V4KnTa7lLtRM4/j2JXdWF4PwnhY="
},
"echarts-liquidfill": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/echarts-liquidfill/-/echarts-liquidfill-2.0.5.tgz",
"integrity": "sha512-3G19W5ngoh1L3BXYuD34g0Vd30ORWvQtyxRuL+7vmOZ3FkF6xkgD4pfcCL7QVAQOr+XZ4OiD2ot6dNGsRhflcg=="
},
"echarts-wordcloud": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/echarts-wordcloud/-/echarts-wordcloud-1.1.3.tgz",
"integrity": "sha512-Et8D5xEAoYkidmHun+hEH+2lF9dhCt6D0JJ390vlr2r/1zwhhZAbcL01CEvG93QcMcJpSvSPK8vRiGkTbMHRxg=="
},
"editorconfig": { "editorconfig": {
"version": "0.13.3", "version": "0.13.3",
"resolved": "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.13.3.tgz", "resolved": "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.13.3.tgz",
...@@ -2942,11 +2953,7 @@ ...@@ -2942,11 +2953,7 @@
"element-ui": { "element-ui": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-1.4.1.tgz", "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-1.4.1.tgz",
<<<<<<< HEAD
"integrity": "sha1-9EccrbQ9x3nDCY3HNjSuqU0D8lU=", "integrity": "sha1-9EccrbQ9x3nDCY3HNjSuqU0D8lU=",
=======
"integrity": "sha512-4jZu41iMuV8Semz0MG7nd8HIicyXlMJY923NvuIXoM3Q3llnwpwBVBqaPAgL3VrRnwzLKxyR/GjxxQDBqf/bvQ==",
>>>>>>> base-modify
"requires": { "requires": {
"async-validator": "1.6.9", "async-validator": "1.6.9",
"babel-helper-vue-jsx-merge-props": "^2.0.0", "babel-helper-vue-jsx-merge-props": "^2.0.0",
...@@ -7347,6 +7354,11 @@ ...@@ -7347,6 +7354,11 @@
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
}, },
"numerify": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/numerify/-/numerify-1.2.9.tgz",
"integrity": "sha512-X4QzQiytV5ZN3TVLhzbtFzjTarUNnaa1pgNDFqt7u7Nqhxe7FvY2eYrGt4WYHlYXDqgtfC/n/a5nJ2y0LijV8w=="
},
"oauth-sign": { "oauth-sign": {
"version": "0.9.0", "version": "0.9.0",
"resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
...@@ -11261,6 +11273,11 @@ ...@@ -11261,6 +11273,11 @@
"integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
"dev": true "dev": true
}, },
"utils-lite": {
"version": "0.1.10",
"resolved": "https://registry.npmjs.org/utils-lite/-/utils-lite-0.1.10.tgz",
"integrity": "sha512-jlHvdtI8MyWURF/3u+ufIjf1Cs5WjN6WZl9qO8dEkZsVjaI7X5YMUhaCFzkvB69ljt6fo4Dd7V/Oj2NJOFDFOQ=="
},
"utils-merge": { "utils-merge": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz",
...@@ -11272,6 +11289,18 @@ ...@@ -11272,6 +11289,18 @@
"resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.3.2.tgz", "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.3.2.tgz",
"integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=" "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE="
}, },
"v-charts": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/v-charts/-/v-charts-1.19.0.tgz",
"integrity": "sha512-vm2HBUmxAsXK0ivwce9LytcpqrItDA5JSPLYVxZXtiuoyhcn80XX1/3dPJd/1GqG1OYv3jfBo1s9ra4q8GowqA==",
"requires": {
"echarts-amap": "1.0.0-rc.6",
"echarts-liquidfill": "^2.0.2",
"echarts-wordcloud": "^1.1.3",
"numerify": "1.2.9",
"utils-lite": "0.1.10"
}
},
"v-viewer": { "v-viewer": {
"version": "1.4.2", "version": "1.4.2",
"resolved": "https://registry.npmjs.org/v-viewer/-/v-viewer-1.4.2.tgz", "resolved": "https://registry.npmjs.org/v-viewer/-/v-viewer-1.4.2.tgz",
...@@ -12140,9 +12169,9 @@ ...@@ -12140,9 +12169,9 @@
} }
}, },
"zrender": { "zrender": {
"version": "3.6.3", "version": "3.7.4",
"resolved": "https://registry.npm.taobao.org/zrender/download/zrender-3.6.3.tgz", "resolved": "https://registry.npmjs.org/zrender/-/zrender-3.7.4.tgz",
"integrity": "sha1-46BroQXMRes2SSqBjnt66HmnsVs=" "integrity": "sha512-5Nz7+L1wIoL0+Pp/iOP56jD6eD017qC9VRSgUBheXBiAHgOBJZ4uh4/g6e83acIwa8RKSyZf/FlceKu5ntUuxQ=="
} }
} }
} }
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
"axios": "0.16.2", "axios": "0.16.2",
"codemirror": "5.26.0", "codemirror": "5.26.0",
"dropzone": "5.1.0", "dropzone": "5.1.0",
"echarts": "3.6.2", "echarts": "^3.8.5",
"element-ui": "^1.4.1", "element-ui": "^1.4.1",
"file-saver": "1.3.3", "file-saver": "1.3.3",
"jquery": "^3.4.0", "jquery": "^3.4.0",
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
"showdown": "1.7.1", "showdown": "1.7.1",
"simplemde": "1.11.2", "simplemde": "1.11.2",
"sortablejs": "1.5.1", "sortablejs": "1.5.1",
"v-charts": "^1.19.0",
"v-viewer": "^1.4.2", "v-viewer": "^1.4.2",
"vue": "2.4.2", "vue": "2.4.2",
"vue-baidu-map": "^0.21.19", "vue-baidu-map": "^0.21.19",
......
...@@ -27,3 +27,10 @@ export function update(params) { ...@@ -27,3 +27,10 @@ export function update(params) {
data:params data:params
}); });
} }
export function setBind(params) {
return fetch({
url: 'api/admin/relation/admin/bind',
method: 'post',
data: params
});
}
\ No newline at end of file
import fetch from 'utils/fetch'; import fetch from 'utils/fetch';
//获取租车订单
export function page(query) { export function page(query) {
return fetch({ return fetch({
url: '/api/order/baseOrder/getOrderList', url: '/api/order/baseOrder/getAll',
method: 'get', method: 'get',
params:query params: query
}); });
} }
//获取旅游订单
export function getOrderList(query) {
return fetch({
url: '/api/order/baseOrder/getOrderList',
method: 'get',
params: query
});
}
/** /**
* 获取所有分公司 * 获取所有分公司
*/ */
...@@ -22,7 +30,7 @@ export function getAllBranchCompanyByZoneId(query) { ...@@ -22,7 +30,7 @@ export function getAllBranchCompanyByZoneId(query) {
return fetch({ return fetch({
url: '/vehicle/branchCompany/app/unauth/getByZone', url: '/vehicle/branchCompany/app/unauth/getByZone',
method: 'get', method: 'get',
params:query params: query
}); });
} }
...@@ -30,7 +38,7 @@ export function getOrderVehicleCrosstown(query) { ...@@ -30,7 +38,7 @@ export function getOrderVehicleCrosstown(query) {
return fetch({ return fetch({
url: '/api/order/orderVehicle/getByOrderId', url: '/api/order/orderVehicle/getByOrderId',
method: 'get', method: 'get',
params:query params: query
}); });
} }
...@@ -76,7 +84,7 @@ export function inquire(query) { ...@@ -76,7 +84,7 @@ export function inquire(query) {
return fetch({ return fetch({
url: '/vehicle/vehicleInfo/rent/back-stage/usable-vehicle', url: '/vehicle/vehicleInfo/rent/back-stage/usable-vehicle',
method: 'get', method: 'get',
params:query params: query
}); });
} }
...@@ -85,16 +93,16 @@ export function addIndent(params) { ...@@ -85,16 +93,16 @@ export function addIndent(params) {
return fetch({ return fetch({
url: '/api/order/orderRentVehicle/back-stage/add', url: '/api/order/orderRentVehicle/back-stage/add',
method: 'post', method: 'post',
data:params data: params
}); });
} }
//删除订单 //删除订单
export function calculate(no, params) { export function calculate(no, params) {
return fetch({ return fetch({
url: '/api/order/baseOrder/back-stage/cancel/'+ no, url: '/api/order/baseOrder/back-stage/cancel/' + no,
method: 'post', method: 'post',
data:params data: params
}); });
} }
...@@ -104,7 +112,7 @@ export function calculate(no, params) { ...@@ -104,7 +112,7 @@ export function calculate(no, params) {
*/ */
export function getViolatePrice(no) { export function getViolatePrice(no) {
return fetch({ return fetch({
url: '/api/order/orderRefund/bg-stage/getViolatePrice/'+ no, url: '/api/order/orderRefund/bg-stage/getViolatePrice/' + no,
method: 'get', method: 'get',
}); });
} }
...@@ -114,7 +122,7 @@ export function orderStatistics(params) { ...@@ -114,7 +122,7 @@ export function orderStatistics(params) {
return fetch({ return fetch({
url: 'api/order/orderStatistics/order', url: 'api/order/orderStatistics/order',
method: 'post', method: 'post',
data:params data: params
}); });
} }
...@@ -154,3 +162,12 @@ export function user_info(id) { ...@@ -154,3 +162,12 @@ export function user_info(id) {
method: 'get' method: 'get'
}); });
} }
//获取订单详情
export function orderDetail(query) {
return fetch({
url: '/api/order/baseOrder/orderDetail',
method: 'get',
params: query
});
}
...@@ -191,10 +191,13 @@ export function dayList(day) { ...@@ -191,10 +191,13 @@ export function dayList(day) {
} }
// 日历价格设置 // 日历价格设置
export function add_edit(params) { export function add_edit(params, date) {
return fetch({ return fetch({
url: '/vehicle/admin/vehicle_model/calendar_price/add_edit', url: '/vehicle/admin/vehicle_model/calendar_price/add_edit/' + date,
method: 'post', method: 'post',
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
data: params data: params
}); });
} }
......
...@@ -14,7 +14,7 @@ import 'assets/iconfont/iconfont'; // iconfont 具体图标见https://github.com ...@@ -14,7 +14,7 @@ import 'assets/iconfont/iconfont'; // iconfont 具体图标见https://github.com
import * as filters from './filters'; // 全局vue filter import * as filters from './filters'; // 全局vue filter
import Multiselect from 'vue-multiselect';// 使用的一个多选框组件,element-ui的select不能满足所有需求 import Multiselect from 'vue-multiselect';// 使用的一个多选框组件,element-ui的select不能满足所有需求
import 'vue-multiselect/dist/vue-multiselect.min.css';// 多选框组件css import 'vue-multiselect/dist/vue-multiselect.min.css';// 多选框组件css
import 'swiper/dist/css/swiper.css';//引入swiper样式 import 'swiper/dist/css/swiper.css';// 引入swiper样式
import Sticky from 'components/Sticky'; // 粘性header组件 import Sticky from 'components/Sticky'; // 粘性header组件
import IconSvg from 'components/Icon-svg';// svg 组件 import IconSvg from 'components/Icon-svg';// svg 组件
import vueWaves from './directive/waves';// 水波纹指令 import vueWaves from './directive/waves';// 水波纹指令
...@@ -71,6 +71,8 @@ Vue.use(Viewer, { ...@@ -71,6 +71,8 @@ Vue.use(Viewer, {
zIndex: 9999 zIndex: 9999
} }
}) })
import VCharts from 'v-charts'
Vue.use(VCharts)
// register globally // register globally
Vue.component('multiselect', Multiselect); Vue.component('multiselect', Multiselect);
Vue.component('Sticky', Sticky); Vue.component('Sticky', Sticky);
......
...@@ -551,9 +551,9 @@ export const asyncRouterMap = [{ ...@@ -551,9 +551,9 @@ export const asyncRouterMap = [{
authority: 'memberEnter' authority: 'memberEnter'
}, },
{ {
path:'imCustomerServiceManger', path: 'imCustomerServiceManger',
component: _import('userManagement/imCustomerServiceManger/cusomterServiceList'), component: _import('userManagement/imCustomerServiceManger/cusomterServiceList'),
name:'客服列表', name: '客服列表',
authority: 'imCustomerServiceManger' authority: 'imCustomerServiceManger'
},{ },{
path: 'employeesInput', path: 'employeesInput',
...@@ -661,9 +661,8 @@ export const asyncRouterMap = [{ ...@@ -661,9 +661,8 @@ export const asyncRouterMap = [{
authority: 'carApplyList' authority: 'carApplyList'
} }
] ]
} },
, {
{
path: '/xxOfficialWebsite', path: '/xxOfficialWebsite',
component: Layout, component: Layout,
name: '欣新房车官网管理', name: '欣新房车官网管理',
...@@ -701,8 +700,8 @@ export const asyncRouterMap = [{ ...@@ -701,8 +700,8 @@ export const asyncRouterMap = [{
authority: 'friendLinkList' authority: 'friendLinkList'
} }
] ]
}, },
{ {
path: '/summit', path: '/summit',
component: Layout, component: Layout,
name: '峰会管理', name: '峰会管理',
...@@ -716,5 +715,20 @@ export const asyncRouterMap = [{ ...@@ -716,5 +715,20 @@ export const asyncRouterMap = [{
authority: 'summitList' authority: 'summitList'
} }
] ]
},
{
path: '/statistics',
component: Layout,
name: '数据统计',
icon: 'setting',
authority: 'statistics',
children: [
{
path: 'orderStatistics',
component: _import('statistics/orderStatistics'),
name: '订单统计',
authority: 'orderStatistics'
} }
]
}
]; ];
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</el-table-column> </el-table-column>
<el-table-column align="center" label="过期时间"> <el-table-column align="center" label="过期时间">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.expireTimeStr}}</span> <span>{{scope.row.validType == 3 ? '永久' : scope.row.expireTimeStr}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="状态"> <el-table-column align="center" label="状态">
......
...@@ -54,9 +54,9 @@ ...@@ -54,9 +54,9 @@
</el-form> </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="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves @click="reloadPage">重置</el-button> <el-button class="filter-item" type="primary" v-waves @click="reloadPage">重置</el-button>
<el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate" <!-- <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate"
type="primary" icon="edit">添加 type="primary" icon="edit">添加
</el-button> </el-button> -->
</div> </div>
<el-table :key='tableKey' :data="list" border fit highlight-current-row <el-table :key='tableKey' :data="list" border fit highlight-current-row
style="width: 100%"> style="width: 100%">
...@@ -95,6 +95,11 @@ ...@@ -95,6 +95,11 @@
<span>{{scope.row.count?scope.row.count.comment:0}}</span> <span>{{scope.row.count?scope.row.count.comment:0}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="200" align="center" label="发布时间">
<template scope="scope">
<span>{{scope.row.body.timeStr}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="来源"> <el-table-column width="100" align="center" label="来源">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.source == 1? '后台创建':'app用户'}}</span> <span>{{scope.row.source == 1? '后台创建':'app用户'}}</span>
...@@ -104,7 +109,7 @@ ...@@ -104,7 +109,7 @@
<template scope="scope"> <template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">编辑 <el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">编辑
</el-button> </el-button>
<el-button size="small"class="el-button el-button--text el-button--small" style="color: green;" v-if="scope.row.visible==2" @click="upStatus(scope.row)">设置为公开 <el-button size="small" class="el-button el-button--text el-button--small" style="color: green;" v-if="scope.row.visible==2" @click="upStatus(scope.row)">设置为公开
</el-button> </el-button>
<el-button size="small" class="el-button el-button--text el-button--small" style="color: red" v-if="scope.row.visible==1" @click="upStatus(scope.row)">设置为保密 <el-button size="small" class="el-button el-button--text el-button--small" style="color: red" v-if="scope.row.visible==1" @click="upStatus(scope.row)">设置为保密
</el-button> </el-button>
...@@ -664,17 +669,17 @@ ...@@ -664,17 +669,17 @@
params.praise = this.listQuery.praise?this.listQuery.praise:undefined; params.praise = this.listQuery.praise?this.listQuery.praise:undefined;
if(this.listQuery.startTime && (typeof this.listQuery.startTime == "object")){ if(this.listQuery.startTime && (typeof this.listQuery.startTime == "object")){
params.startTime = this.listQuery.startTime.getTime()/1000; params.startTime = this.listQuery.startTime.getTime();
} }
if(this.listQuery.endTime && (typeof this.listQuery.endTime == "object")){ if(this.listQuery.endTime && (typeof this.listQuery.endTime == "object")){
params.endTime = this.listQuery.endTime.getTime()/1000; params.endTime = this.listQuery.endTime.getTime();
} }
page(params).then(response => { page(params).then(response => {
let totalCountRs = undefined; let totalCountRs = undefined;
let listRs = undefined; let listRs = undefined;
if (!this.$utils.isEmpty(response.data.list) && this.$utils.isInteger(response.data.total)) { if (!this.$utils.isEmpty(response.data.list) && this.$utils.isInteger(response.data.total)) {
response.data.list.map(function(item){ response.data.list.map(function(item){
item.body.timeStr = timestamp2Date(item.body.time);
}); });
listRs = response.data.list; listRs = response.data.list;
totalCountRs = response.data.total; totalCountRs = response.data.total;
......
...@@ -54,9 +54,9 @@ ...@@ -54,9 +54,9 @@
</el-form> </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="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves @click="reloadPage">重置</el-button> <el-button class="filter-item" type="primary" v-waves @click="reloadPage">重置</el-button>
<el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate" <!-- <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate"
type="primary" icon="edit">添加 type="primary" icon="edit">添加
</el-button> </el-button> -->
</div> </div>
<el-table :key='tableKey' :data="list" border fit highlight-current-row <el-table :key='tableKey' :data="list" border fit highlight-current-row
style="width: 100%"> style="width: 100%">
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
<template scope="scope"> <template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">编辑 <el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">编辑
</el-button> </el-button>
<el-button size="small"class="el-button el-button--text el-button--small" style="color: green;" v-if="scope.row.visible==2" @click="upStatus(scope.row)">设置为公开 <el-button size="small" class="el-button el-button--text el-button--small" style="color: green;" v-if="scope.row.visible==2" @click="upStatus(scope.row)">设置为公开
</el-button> </el-button>
<el-button size="small" class="el-button el-button--text el-button--small" style="color: red" v-if="scope.row.visible==1" @click="upStatus(scope.row)">设置为保密 <el-button size="small" class="el-button el-button--text el-button--small" style="color: red" v-if="scope.row.visible==1" @click="upStatus(scope.row)">设置为保密
</el-button> </el-button>
......
...@@ -54,9 +54,9 @@ ...@@ -54,9 +54,9 @@
</el-form> </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="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves @click="reloadPage">重置</el-button> <el-button class="filter-item" type="primary" v-waves @click="reloadPage">重置</el-button>
<el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate" <!-- <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate"
type="primary" icon="edit">添加 type="primary" icon="edit">添加
</el-button> </el-button> -->
</div> </div>
<el-table :key='tableKey' :data="list" border fit highlight-current-row <el-table :key='tableKey' :data="list" border fit highlight-current-row
style="width: 100%"> style="width: 100%">
...@@ -95,6 +95,11 @@ ...@@ -95,6 +95,11 @@
<span>{{scope.row.count?scope.row.count.comment:0}}</span> <span>{{scope.row.count?scope.row.count.comment:0}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="200" align="center" label="发布时间">
<template scope="scope">
<span>{{scope.row.body.timeStr}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" label="来源"> <el-table-column width="100" align="center" label="来源">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.source == 1? '后台创建':'app用户'}}</span> <span>{{scope.row.source == 1? '后台创建':'app用户'}}</span>
...@@ -104,7 +109,7 @@ ...@@ -104,7 +109,7 @@
<template scope="scope"> <template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">编辑 <el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">编辑
</el-button> </el-button>
<el-button size="small"class="el-button el-button--text el-button--small" style="color: green;" v-if="scope.row.visible==2" @click="upStatus(scope.row)">设置为公开 <el-button size="small" class="el-button el-button--text el-button--small" style="color: green;" v-if="scope.row.visible==2" @click="upStatus(scope.row)">设置为公开
</el-button> </el-button>
<el-button size="small" class="el-button el-button--text el-button--small" style="color: red" v-if="scope.row.visible==1" @click="upStatus(scope.row)">设置为保密 <el-button size="small" class="el-button el-button--text el-button--small" style="color: red" v-if="scope.row.visible==1" @click="upStatus(scope.row)">设置为保密
</el-button> </el-button>
...@@ -652,17 +657,17 @@ ...@@ -652,17 +657,17 @@
params.praise = this.listQuery.praise?this.listQuery.praise:undefined; params.praise = this.listQuery.praise?this.listQuery.praise:undefined;
if(this.listQuery.startTime && (typeof this.listQuery.startTime == "object")){ if(this.listQuery.startTime && (typeof this.listQuery.startTime == "object")){
params.startTime = this.listQuery.startTime.getTime()/1000; params.startTime = this.listQuery.startTime.getTime();
} }
if(this.listQuery.endTime && (typeof this.listQuery.endTime == "object")){ if(this.listQuery.endTime && (typeof this.listQuery.endTime == "object")){
params.endTime = this.listQuery.endTime.getTime()/1000; params.endTime = this.listQuery.endTime.getTime();
} }
page(params).then(response => { page(params).then(response => {
let totalCountRs = undefined; let totalCountRs = undefined;
let listRs = undefined; let listRs = undefined;
if (!this.$utils.isEmpty(response.data.list) && this.$utils.isInteger(response.data.total)) { if (!this.$utils.isEmpty(response.data.list) && this.$utils.isInteger(response.data.total)) {
response.data.list.map(function(item){ response.data.list.map(function(item){
item.body.timeStr = timestamp2Date(item.body.time);
}); });
listRs = response.data.list; listRs = response.data.list;
totalCountRs = response.data.total; totalCountRs = response.data.total;
......
This diff is collapsed.
...@@ -156,6 +156,7 @@ ...@@ -156,6 +156,7 @@
import tourOrderDetailModal from "../modal/tourOrderDetailModal";//租车订单详情 import tourOrderDetailModal from "../modal/tourOrderDetailModal";//租车订单详情
import { import {
page, page,
getOrderList,
getAllBranchCompany, getAllBranchCompany,
getAllBranchCompanyByZoneId, getAllBranchCompanyByZoneId,
calculate, calculate,
...@@ -173,6 +174,7 @@ ...@@ -173,6 +174,7 @@
formatDate formatDate
} from '../../../utils/dateFormattor'; } from '../../../utils/dateFormattor';
import {getAllCompany } from 'api/base_info/branch_company'
export default { export default {
name: 'branchCompanyStock', name: 'branchCompanyStock',
components: { components: {
...@@ -348,6 +350,9 @@ ...@@ -348,6 +350,9 @@
} }
} }
this.getList(); this.getList();
getAllCompany(codeAndBranchCompany => {
this.allBranchCompany = codeAndBranchCompany;
});
this.btn_del = this.elements['branchCompany/stockApply:btn_delete']; this.btn_del = this.elements['branchCompany/stockApply:btn_delete'];
}, },
computed: { computed: {
...@@ -524,11 +529,11 @@ ...@@ -524,11 +529,11 @@
getProvinceRegions(item) { getProvinceRegions(item) {
this.listQuery.zoneId = item this.listQuery.zoneId = item
this.baranchQuery.zoneId = item this.baranchQuery.zoneId = item
this.listQuery.startCompanyId = undefined; // this.listQuery.startCompanyId = undefined;
getAllBranchCompanyByZoneId(this.baranchQuery) // getAllBranchCompanyByZoneId(this.baranchQuery)
.then(response => { // .then(response => {
this.allBranchCompany = response.data; // this.allBranchCompany = response.data;
}) // })
}, },
getAllBranchCompanyChange(item) { getAllBranchCompanyChange(item) {
this.listQuery.startCompanyId = item this.listQuery.startCompanyId = item
...@@ -610,7 +615,7 @@ ...@@ -610,7 +615,7 @@
if(this.listQuery){ if(this.listQuery){
localStorage.setItem("tourOrderInfo", JSON.stringify(this.listQuery)); localStorage.setItem("tourOrderInfo", JSON.stringify(this.listQuery));
} }
page(this.listQuery) getOrderList(this.listQuery)
.then(response => { .then(response => {
this.list = response.data.data; this.list = response.data.data;
this.total = response.data.totalCount; this.total = response.data.totalCount;
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
</el-table-column> </el-table-column>
<el-table-column align="center" label="收款账号"> <el-table-column align="center" label="收款账号">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.accountNumber}}</span> <span>{{scope.row.accountName}}</span>
</template> </template>
</el-table-column> </el-table-column>
......
<template>
<ve-line :data="chartData"></ve-line>
</template>
<script>
export default {
data: function () {
return {
chartData: {
columns: ['日期', '访问用户', '下单用户', '下单率'],
rows: [
{ '日期': '1/0', '访问用户': 1393, '下单用户': 1093, '下单率': 0.32 },
{ '日期': '1/1', '访问用户': 1393, '下单用户': 1093, '下单率': 0.32 },
{ '日期': '1/2', '访问用户': 3530, '下单用户': 3230, '下单率': 0.26 },
{ '日期': '1/3', '访问用户': 2923, '下单用户': 2623, '下单率': 0.76 },
{ '日期': '1/4', '访问用户': 1723, '下单用户': 1423, '下单率': 0.49 },
{ '日期': '1/5', '访问用户': 3792, '下单用户': 3492, '下单率': 0.323 },
{ '日期': '1/6', '访问用户': 4593, '下单用户': 4293, '下单率': 0.78 }
]
}
}
}
}
</script>
\ No newline at end of file
...@@ -142,6 +142,9 @@ ...@@ -142,6 +142,9 @@
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column align="center" label="操作" width="400" fixed="right"> <el-table-column align="center" label="操作" width="400" fixed="right">
<template scope="scope"> <template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" v-show="!scope.row.nameOfSuperior || !scope.row.superiorMobileNumber" @click="setHigher(scope.row)">
设置上级
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" @click="viewDetails(scope.row)"> <el-button size="small" class="el-button el-button--text el-button--small" @click="viewDetails(scope.row)">
查看详情 查看详情
</el-button> </el-button>
...@@ -169,6 +172,18 @@ ...@@ -169,6 +172,18 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog title="设置上级" :visible.sync="setPop" @close='closeSet'>
<!-- <el-form-item label="上级电话">
<el-input placeholder="请输入上级电话"></el-input>
</el-form-item> -->
<el-input v-model="phone" placeholder="请输入上级手机号" style="width:300px"></el-input>
<div style="margin-top:20px">
<el-button type="primary" @click="setHeighterBtn">确定</el-button>
<el-button type="primary" @click="setPop = false">取消</el-button>
</div>
</el-dialog>
<div v-show="!listLoading" class="pagination-container"> <div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit" :current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
...@@ -211,17 +226,17 @@ ...@@ -211,17 +226,17 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="注册终端:"> <el-form-item label="注册终端:">
<span>{{userDetails.channel}}</span> <span>{{userDetails.channel == 1 ? 'app' : '小程序'}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="注册时间:"> <el-form-item label="注册时间:">
<span>{{userDetails.createTime}}</span> <span>{{!!userDetails.createTime ? timestamp(new Date(userDetails.createTime*1000)) : ''}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="最近登录时间:"> <el-form-item label="最近登录时间:">
<span>{{userDetails.lastTime}}</span> <span>{{!!userDetails.lastTime ? timestamp(new Date(userDetails.lastTime)): ''}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -246,7 +261,7 @@ ...@@ -246,7 +261,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="性别: "> <el-form-item label="性别: ">
<span>{{userDetails.sex}}</span> <span>{{userDetails.sex == 1 ? '女' : '男'}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -261,17 +276,17 @@ ...@@ -261,17 +276,17 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="有效期:"> <el-form-item label="有效期:">
<span>{{userDetails.validTime}}</span> <span>{{userDetails.validTime == '0' ? '永久' : '无'}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="充值次数:"> <el-form-item label="充值次数:">
<span>{{userDetails.buyCount}}次</span> <span>{{!!userDetails.buyCount ? userDetails.buyCount+'次' : ''}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="加入时间:"> <el-form-item label="加入时间:">
<span>{{userDetails.timeOfMembership}}</span> <span>{{!!userDetails.timeOfMembership ? timestamp(new Date(userDetails.timeOfMembership)) :''}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -299,7 +314,7 @@ ...@@ -299,7 +314,7 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="来源:"> <el-form-item label="来源:">
<span>{{userDetails.source}}</span> <span>{{userDetails.source == 0 ? '自来' : '用户邀请'}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
...@@ -549,7 +564,7 @@ ...@@ -549,7 +564,7 @@
getrewardSetting getrewardSetting
} from 'api/purseManage'; } from 'api/purseManage';
import {formatDate} from "../../../utils/dateFormattor"; import {formatDate} from "../../../utils/dateFormattor";
import {getMembers} from "src/api/admin/member/index" import {getMembers,setBind} from "src/api/admin/member/index"
import tourOrderDetailModal from "src/views/userManagement/model/tourOrderDetailModal";//旅游订单 import tourOrderDetailModal from "src/views/userManagement/model/tourOrderDetailModal";//旅游订单
import rentOrderDetailModal from "src/views/userManagement/model/rentOrderDetailModal";//租车订单详情 import rentOrderDetailModal from "src/views/userManagement/model/rentOrderDetailModal";//租车订单详情
import memberOrderDetailModal from "src/views/userManagement/model/memberOrderDetailModal";//会员订单详情 import memberOrderDetailModal from "src/views/userManagement/model/memberOrderDetailModal";//会员订单详情
...@@ -563,6 +578,8 @@ ...@@ -563,6 +578,8 @@
}, },
data() { data() {
return { return {
setPop:false,
activeId:'',//id
tourCostDetail: '', tourCostDetail: '',
memberCostDetail: '', memberCostDetail: '',
rentCostDetail: '', rentCostDetail: '',
...@@ -632,6 +649,7 @@ ...@@ -632,6 +649,7 @@
orderTotal: null, orderTotal: null,
listLoading: true, listLoading: true,
orderListLoading: true, orderListLoading: true,
phone:null,//上级电话
newMemberObject: { newMemberObject: {
phone: undefined, phone: undefined,
memberLevel: undefined, memberLevel: undefined,
...@@ -882,6 +900,46 @@ ...@@ -882,6 +900,46 @@
}, },
methods: { methods: {
//设置上级弹窗
setHigher(val){
this.setPop = true;
this.activeId = val.userId;
},
//时间戳转换
timestamp(now) {
var year=now.getFullYear();
var month=now.getMonth()+1;
var date=now.getDate();
var Hours = now.getHours();
var Minutes = now.getMinutes();
var Seconds = now.getSeconds();
month = month.toString().length == 1 ? '0'+ month : month;
date = date.toString().length == 1 ? '0'+ date : date;
Hours = Hours.toString().length == 1 ? '0'+ Hours : Hours;
Minutes = Minutes.toString().length == 1 ? '0'+ Minutes : Minutes;
Seconds = Seconds.toString().length == 1 ? '0'+ Seconds : Seconds;
return year+"-"+month+"-"+date+' '+ Hours+':'+Minutes+":"+Seconds
},
//设置上级
setHeighterBtn(){
if (!!this.phone) {
setBind({"phone":this.phone,"userId":this.activeId}).then(data=>{
if (data.status == 200) {
this.$message.success('设置成功')
this.setPop = false
this.getList();
}else{
this.$message.error(data.message)
}
})
}else{
this.$message.error('请输入上级手机号')
}
},
//设置上级弹窗关闭
closeSet(){
this.phone = null
},
handleOrderDetail(row) { handleOrderDetail(row) {
...@@ -1109,7 +1167,6 @@ ...@@ -1109,7 +1167,6 @@
this.detailsDialogFormVisible = true this.detailsDialogFormVisible = true
this.getBoolean(this.userDetails.certificationStatus) this.getBoolean(this.userDetails.certificationStatus)
}) })
} }
, ,
/** /**
......
...@@ -253,13 +253,13 @@ ...@@ -253,13 +253,13 @@
@click="illegalInquiry(scope.row)" @click="illegalInquiry(scope.row)"
>违章记录</el-button> >违章记录</el-button>
<el-button <el-button
v-if="bookRecord_btn_prove&&scope.row.status==1" v-if="bookRecord_btn_prove&&scope.row.status==1&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleProve(scope.row)" @click="handleProve(scope.row)"
>通过</el-button> >通过</el-button>
<el-button <el-button
v-if="bookRecord_btn_reject&&scope.row.status==1" v-if="bookRecord_btn_reject&&scope.row.status==1&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
style="color: red;" style="color: red;"
...@@ -267,7 +267,7 @@ ...@@ -267,7 +267,7 @@
>驳回</el-button> >驳回</el-button>
<template v-if="scope.row.vehicleDepartureLogVo==undefined"> <template v-if="scope.row.vehicleDepartureLogVo==undefined">
<el-button <el-button
v-if="bookRecord_btn_lift&&scope.row.liftStatus==1&&scope.row.status==2" v-if="bookRecord_btn_lift&&scope.row.liftStatus==1&&scope.row.status==2&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleLift(scope.row)" @click="handleLift(scope.row)"
...@@ -275,7 +275,7 @@ ...@@ -275,7 +275,7 @@
</template> </template>
<template v-if="scope.row.vehicleDepartureLogVo!=undefined"> <template v-if="scope.row.vehicleDepartureLogVo!=undefined">
<el-button <el-button
v-if="bookRecord_btn_ret&&scope.row.vehicleDepartureLogVo.state==0&&scope.row.retStatus==1" v-if="bookRecord_btn_ret&&scope.row.vehicleDepartureLogVo.state==0&&scope.row.retStatus==1&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleRet(scope.row)" @click="handleRet(scope.row)"
...@@ -283,7 +283,7 @@ ...@@ -283,7 +283,7 @@
</template> </template>
<template v-if="scope.row.vehicleDepartureLogVo==undefined"> <template v-if="scope.row.vehicleDepartureLogVo==undefined">
<el-button <el-button
v-if="bookRecord_btn_unbook&&scope.row.status==2" v-if="bookRecord_btn_unbook&&scope.row.status==2&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
style="color: red;" style="color: red;"
...@@ -1942,4 +1942,8 @@ ...@@ -1942,4 +1942,8 @@
background: #000; background: #000;
z-index: 2001; z-index: 2001;
} }
.voucher{
width: 100px;
height: 100px;
}
</style> </style>
...@@ -9,17 +9,12 @@ ...@@ -9,17 +9,12 @@
label-width="100px" label-width="100px"
> >
<el-row> <el-row>
<el-col :span="5">
<el-form-item label="车牌"> <el-form-item label="车牌">
<el-input v-model="listQuery.numberPlate" placeholder="请输入车牌"></el-input> <el-input v-model="listQuery.numberPlate" placeholder="请输入车牌"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="车辆编码"> <el-form-item label="车辆编码">
<el-input type="number" v-model.number="listQuery.code" placeholder="请输入车辆编码"></el-input> <el-input type="number" v-model.number="listQuery.code" placeholder="请输入车辆编码"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="车辆状态"> <el-form-item label="车辆状态">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选择车辆状态"> <el-select class="filter-item" v-model="listQuery.status" placeholder="请选择车辆状态">
<el-option :key="undefined" label="全部" :value="undefined"></el-option> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
...@@ -31,8 +26,6 @@ ...@@ -31,8 +26,6 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="分公司" prop="subordinateBranch"> <el-form-item label="分公司" prop="subordinateBranch">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
...@@ -42,10 +35,6 @@ ...@@ -42,10 +35,6 @@
@select="handleSelect" @select="handleSelect"
></el-autocomplete> ></el-autocomplete>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="区域" prop="zoneId"> <el-form-item label="区域" prop="zoneId">
<el-select <el-select
class="filter-item" class="filter-item"
...@@ -56,8 +45,6 @@ ...@@ -56,8 +45,6 @@
<el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"></el-option> <el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="省份" prop="addrProvince"> <el-form-item label="省份" prop="addrProvince">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
...@@ -73,8 +60,6 @@ ...@@ -73,8 +60,6 @@
<!--:value="item.id"></el-option>--> <!--:value="item.id"></el-option>-->
<!--</el-select>--> <!--</el-select>-->
<!--</el-form-item>--> <!--</el-form-item>-->
</el-col>
<el-col :span="5">
<el-form-item label="城市" prop="addrCity"> <el-form-item label="城市" prop="addrCity">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
...@@ -90,8 +75,6 @@ ...@@ -90,8 +75,6 @@
<!--:value="item.id"></el-option>--> <!--:value="item.id"></el-option>-->
<!--</el-select>--> <!--</el-select>-->
<!--</el-form-item>--> <!--</el-form-item>-->
</el-col>
<el-col :span="5">
<el-form-item label="车型" prop="modelId"> <el-form-item label="车型" prop="modelId">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
...@@ -101,7 +84,6 @@ ...@@ -101,7 +84,6 @@
@select="handleVehicleModelSelect" @select="handleVehicleModelSelect"
></el-autocomplete> ></el-autocomplete>
</el-form-item> </el-form-item>
</el-col>
</el-row> </el-row>
<el-button <el-button
class="filter-item" class="filter-item"
...@@ -538,6 +520,16 @@ ...@@ -538,6 +520,16 @@
<el-input v-model="form.manufacturer" placeholder="请输入生产商"></el-input> <el-input v-model="form.manufacturer" placeholder="请输入生产商"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="年审日期" prop="manufacturer">
<el-date-picker
v-model="form.annualVerificationDate"
type="date"
placeholder="选择日期"
style="width:100%"
></el-date-picker>
</el-form-item>
</el-col>
</el-row> </el-row>
<p style="border-bottom:1px solid #bfcbd9;padding-bottom:10px">用途、位置及里程</p> <p style="border-bottom:1px solid #bfcbd9;padding-bottom:10px">用途、位置及里程</p>
...@@ -733,13 +725,7 @@ ...@@ -733,13 +725,7 @@
<!--</el-col>--> <!--</el-col>-->
</el-row> </el-row>
<p style="border-bottom:1px solid #bfcbd9;padding-bottom:10px">其他</p> <p style="border-bottom:1px solid #bfcbd9;padding-bottom:10px">其他</p>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" :rows="5" v-model="form.remark" placeholder="请输入备注信息"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="行驶证" prop="drivingLicensePath" :style="{display:'block'}"> <el-form-item label="行驶证" prop="drivingLicensePath" :style="{display:'block'}">
...@@ -750,7 +736,7 @@ ...@@ -750,7 +736,7 @@
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:on-success="handleAvatarSuccess" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :before-upload="beforeAvatarUpload"
:style="{display:'block'}" :style="{display:'inline-block'}"
> >
<img <img
v-if="$utils.isString(form.drivingLicensePath) && !$utils.isEmpty(form.drivingLicensePath)" v-if="$utils.isString(form.drivingLicensePath) && !$utils.isEmpty(form.drivingLicensePath)"
...@@ -758,11 +744,52 @@ ...@@ -758,11 +744,52 @@
class="avatar" class="avatar"
:style="{display:'block'}" :style="{display:'block'}"
/> />
<i v-else class="el-icon-plus avatar-uploader-icon" :style="{lineHeight:'350px'}"></i> <i
v-else
class="el-icon-plus avatar-uploader-icon"
:style="{lineHeight:'350px'}"
style="position: relative;"
>
<br />
<span class="driving-title">行驶证正面</span>
</i>
</el-upload>
<el-upload
class="avatar-uploader"
:action="BASE_API + '/vehicle/vehicleInfo/upload/drivingLicense'"
:show-file-list="false"
:headers="getHeaderWithToken"
:on-success="handleAvatarSuccessF"
:before-upload="beforeAvatarUpload"
:style="{display:'inline-block'}"
>
<img
v-if="$utils.isString(form.drivingLicenseDuplicatePath) && !$utils.isEmpty(form.drivingLicenseDuplicatePath)"
:src="getDrivingLicenseUrl(form.drivingLicenseDuplicatePath)"
class="avatar"
:style="{display:'block'}"
/>
<i
v-else
class="el-icon-plus avatar-uploader-icon"
:style="{lineHeight:'350px'}"
style="position: relative;"
>
<br />
<span class="driving-title">行驶证副本</span>
</i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" :rows="5" v-model="form.remark" placeholder="请输入备注信息"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancel('form')">取 消</el-button> <el-button @click="cancel('form')">取 消</el-button>
...@@ -1026,7 +1053,7 @@ export default { ...@@ -1026,7 +1053,7 @@ export default {
showLoadingBody: false, showLoadingBody: false,
allVehicleList: [], //全部车型 allVehicleList: [], //全部车型
form: { form: {
insuranceEndDate:null,//商业险日期 insuranceEndDate: null, //商业险日期
vehicleModelName: '', //车型 vehicleModelName: '', //车型
subordinateBranchName: '', //所属分公司 subordinateBranchName: '', //所属分公司
subordinateBranch: undefined, subordinateBranch: undefined,
...@@ -2404,6 +2431,10 @@ export default { ...@@ -2404,6 +2431,10 @@ export default {
this.form.drivingLicensePath = res.data this.form.drivingLicensePath = res.data
this.showLoadingBody = false this.showLoadingBody = false
}, },
handleAvatarSuccessF(res, file) {
this.form.drivingLicenseDuplicatePath = res.data
this.showLoadingBody = false
},
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
const isJPG = const isJPG =
file.type === 'image/jpeg' || file.type === 'image/gif' file.type === 'image/jpeg' || file.type === 'image/gif'
...@@ -2415,7 +2446,7 @@ export default { ...@@ -2415,7 +2446,7 @@ export default {
if (!isLt2M) { if (!isLt2M) {
this.$message.error('上传图片大小不能超过 10MB!') this.$message.error('上传图片大小不能超过 10MB!')
} }
this.showLoadingBody = true // this.showLoadingBody = true
return isJPG && isLt2M return isJPG && isLt2M
}, },
accItemSelected(selected) { accItemSelected(selected) {
...@@ -2584,7 +2615,8 @@ export default { ...@@ -2584,7 +2615,8 @@ export default {
VEHICLE_CONSTANT_VEHICLE_BRAND, VEHICLE_CONSTANT_VEHICLE_BRAND,
code code
) )
? getConstantByTypeAndCode(VEHICLE_CONSTANT_VEHICLE_BRAND, code).val ? getConstantByTypeAndCode(VEHICLE_CONSTANT_VEHICLE_BRAND, code)
.val
: '品牌不存在' : '品牌不存在'
}, },
getAllBranch: () => { getAllBranch: () => {
...@@ -2598,7 +2630,8 @@ export default { ...@@ -2598,7 +2630,8 @@ export default {
return '未知' return '未知'
} }
return getConstantByTypeAndCode(VEHICLE_CONSTANT_VEHICLE_USE, code) return getConstantByTypeAndCode(VEHICLE_CONSTANT_VEHICLE_USE, code)
? getConstantByTypeAndCode(VEHICLE_CONSTANT_VEHICLE_USE, code).val ? getConstantByTypeAndCode(VEHICLE_CONSTANT_VEHICLE_USE, code)
.val
: '用途未知' : '用途未知'
}, },
getAllUseType: () => { getAllUseType: () => {
...@@ -2635,7 +2668,6 @@ export default { ...@@ -2635,7 +2668,6 @@ export default {
this.listQuery.belongToName = undefined this.listQuery.belongToName = undefined
} }
page(listQueryTemp).then(response => { page(listQueryTemp).then(response => {
if (response.code == 1) { if (response.code == 1) {
let totalCountRs = undefined let totalCountRs = undefined
...@@ -2651,7 +2683,7 @@ export default { ...@@ -2651,7 +2683,7 @@ export default {
// }) // })
// } // }
this.listLoading = false this.listLoading = false
console.log(response.data.data); console.log(response.data.data)
this.list = response.data.data this.list = response.data.data
this.total = response.data.totalCount this.total = response.data.totalCount
...@@ -3020,11 +3052,12 @@ export default { ...@@ -3020,11 +3052,12 @@ export default {
mileageLastUpdate: undefined, mileageLastUpdate: undefined,
// receiveTime: undefined, // receiveTime: undefined,
drivingLicensePath: undefined, drivingLicensePath: undefined,
drivingLicenseDuplicatePath: undefined,
remark: undefined, remark: undefined,
strongInsuranceEndDate: undefined, strongInsuranceEndDate: undefined,
strongInsuranceNo: undefined, strongInsuranceNo: undefined,
strongInsuranceCompany: undefined, strongInsuranceCompany: undefined,
insuranceEndDate:null insuranceEndDate: null
} }
}, },
resetTemp4Apply() { resetTemp4Apply() {
...@@ -3059,3 +3092,11 @@ export default { ...@@ -3059,3 +3092,11 @@ export default {
} }
} }
</script> </script>
<style>
.driving-title {
position: absolute;
top: 34px;
left: 140px;
font-size: 14px;
}
</style>
\ No newline at end of file
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
<vehiclePlanModal v-if="anpai" :currentItem="currentItem" v-on:anpaiDialogEvent = "anpaiDialogEvent"></vehiclePlanModal> <vehiclePlanModal v-if="anpai" :currentItem="currentItem" v-on:anpaiDialogEvent = "anpaiDialogEvent"></vehiclePlanModal>
<!--租车详情弹框--> <!--租车详情弹框-->
<!--rentOrder--> <!--rentOrder-->
<rentOrderDetailModal :form="rentOrderInfo" :rentCostDetail="rentCostDetail" v-if="rentOrder" v-on:rentOrderDetailDialogEvent="rentOrderDetailDialogEvent"></rentOrderDetailModal> <rentOrderDetailModal :orderDetailInfo="orderDetailInfo" v-if="rentOrder" v-on:rentOrderDetailDialogEvent="rentOrderDetailDialogEvent"></rentOrderDetailModal>
<!--旅游订单详情--> <!--旅游订单详情-->
<tourOrderDetailModal :tourRow="tourRow" v-if="tourDialogVisible" v-on:tourOrderDetailDialogEvent="tourOrderDetailDialogEvent"></tourOrderDetailModal> <tourOrderDetailModal :tourRow="tourRow" v-if="tourDialogVisible" v-on:tourOrderDetailDialogEvent="tourOrderDetailDialogEvent"></tourOrderDetailModal>
<!--禁用弹框--> <!--禁用弹框-->
...@@ -358,7 +358,8 @@ ...@@ -358,7 +358,8 @@
getAll getAll
} from 'api/base_info/branch_company/'; } from 'api/base_info/branch_company/';
import { import {
getAllBranchCompanyByZoneId getAllBranchCompanyByZoneId,
orderDetail
} from 'api/order/rentVehicle'; } from 'api/order/rentVehicle';
import { import {
formatDate formatDate
...@@ -460,7 +461,7 @@ ...@@ -460,7 +461,7 @@
anpai: false,//安排用车弹框 anpai: false,//安排用车弹框
jinyong: false,//禁用弹框 jinyong: false,//禁用弹框
currentItem: {},//待操作数据 currentItem: {},//待操作数据
rentOrderInfo: {},//租车订单详情 orderDetailInfo: {},//租车订单详情
rentCostDetail: {},//租车订单费用明细 rentCostDetail: {},//租车订单费用明细
tourDialogVisible: false,//旅游订单弹框 tourDialogVisible: false,//旅游订单弹框
tourRow: {},//旅游订单详情-当前行 tourRow: {},//旅游订单详情-当前行
...@@ -685,50 +686,58 @@ ...@@ -685,50 +686,58 @@
* 根据订单号获取订单详情 * 根据订单号获取订单详情
* */ * */
getOneVechi: function(orderNo) { getOneVechi: function(orderNo) {
let params = { var param = {
orderNo: orderNo "orderNo":orderNo,
}; "flag" : true
getVehicleOrderDetail(params).then(res => { }
if (res.status == 200) { orderDetail(param).then(response => {
let a = res.data; this.orderDetailInfo = response.data
let vehicleUserLicenses = {}; if(this.orderDetailInfo && this.orderDetailInfo.memberLevel) {
// if (a.status == 5) { if(this.orderDetailInfo.memberLevel == 1) {
// vehicleUserLicenses = { this.orderDetailInfo.memberName = "普通会员"
// name: a.orderVehicleCrosstownDto.licenseName, }
// phone: a.orderVehicleCrosstownDto.licensePhone, if(this.orderDetailInfo.memberLevel == 2) {
// idCard: a.orderVehicleCrosstownDto.licenseIdCard this.orderDetailInfo.memberName = "黄金会员"
// }; }
// } else { if(this.orderDetailInfo.memberLevel == 3) {
// if (a.vehicleUserLicenses.length > 0) { this.orderDetailInfo.memberName = "钻石会员"
// vehicleUserLicenses = a.vehicleUserLicenses[0]; }
// } if(this.orderDetailInfo.orderRentVehicleDetail.costDetail) {
// } this.orderDetailInfo.costDetail = JSON.parse(this.orderDetailInfo.orderRentVehicleDetail.costDetail)
a.orderRentVehicleDetail.startTime = timestamp2Date(a.orderRentVehicleDetail.startTime);
a.orderRentVehicleDetail.endTime = timestamp2Date(a.orderRentVehicleDetail.endTime);
let arr = a.picture ? a.picture.split(",") : [];
a.picture = arr.length > 0 ? arr[0] : "";
a.payTime = timestamp2Date(a.payTime);
this.rentOrderInfo = a;
this.costDetail = JSON.parse(this.rentOrderInfo.orderRentVehicleDetail.costDetail);
var cost = '';
this.costDetail.children.map(function(a) {
cost += a.key + ":" +a.detail+" ";
});
this.rentCostDetail = cost;
if(this.rentOrderInfo.orderRentVehicleDetail.driverType==1) {
this.serviceCost = this.rentOrderInfo.orderRentVehicleDetail.dayNum * 600
} }
this.rentOrder = true; if(this.orderDetailInfo.costDetail.paramJson) {
} else { this.orderDetailInfo.rentVehiclePriceVO = JSON.parse(this.orderDetailInfo.costDetail.paramJson)
this.$notify({
title: '失败',
message: '操作失败!',
type: 'error',
duration: 2000
});
} }
}); if(this.orderDetailInfo.items) {
for (var i = 0;i< this.orderDetailInfo.items.length;i++) {
if(this.orderDetailInfo.items[i].type == 104) {
this.orderDetailInfo.carArticlesJson = this.orderDetailInfo.items[i].detail
}
}
}
if (this.orderDetailInfo.status == 2) {
this.orderDetailInfo.ststusName = '取消'
}
if (this.orderDetailInfo.status == -1) {
this.orderDetailInfo.ststusName = '定损中'
}
if (this.orderDetailInfo.status == 3) {
this.orderDetailInfo.ststusName = '待付款'
}
if (this.orderDetailInfo.status == 4) {
this.orderDetailInfo.ststusName = '待出行'
}
if (this.orderDetailInfo.status == 5) {
this.orderDetailInfo.ststusName = '出行中'
}
if (this.orderDetailInfo.status == 6) {
this.orderDetailInfo.ststusName = '已完成'
}
}
this.rentOrder = true
})
}, },
/** /**
* 关闭保养弹框后逻辑处理 * 关闭保养弹框后逻辑处理
......
...@@ -366,15 +366,22 @@ export default { ...@@ -366,15 +366,22 @@ export default {
} }
}) })
} }
if (params == '') { if (params == '') {
this.$message.error('请设置不同车型不同价格4') add_edit('',this.activeTime).then(data => {
return false if (data.status == 200) {
this.$message.success('设置成功')
this.chooseData = []
this.getList()
} else {
this.$message.error(data.message)
}
})
} else { } else {
add_edit(params).then(data => { add_edit(params,this.activeTime).then(data => {
if (data.status == 200) { if (data.status == 200) {
this.$message.success('设置成功') this.$message.success('设置成功')
this.chooseData = [] this.chooseData = []
this.changeIsGlobal(0)
this.getList() this.getList()
} else { } else {
this.$message.error(data.message) this.$message.error(data.message)
...@@ -398,8 +405,8 @@ export default { ...@@ -398,8 +405,8 @@ export default {
data.data.forEach(element => { data.data.forEach(element => {
element.multiple = element.multiple || '' element.multiple = element.multiple || ''
element.price = element.price || '' element.price = element.price || ''
element.level = element.level||'' element.level = element.level || ''
element.freeDays = element.freeDays||'' element.freeDays = element.freeDays || ''
}) })
this.dayListData = data.data this.dayListData = data.data
this.setMultiplePop = true this.setMultiplePop = true
......
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