Commit ce9f49f4 authored by hanfeng's avatar hanfeng

增加app更新管理

parent ea7e89a3
......@@ -2,13 +2,13 @@ import fetch from 'utils/fetch';
export function getMembers() {
return fetch({
url: 'api/admin/member/Manage/getMembers',
url: 'api/admin/member/manage/getMembers',
method: 'get'
});
}
export function delMembershipGrade(id) {
return fetch({
url: 'api/admin/member/Manage/delMembershipGrade/'+id,
url: 'api/admin/member/manage/delMembershipGrade/'+id,
method: 'delete'
});
}
......
import fetch from 'utils/fetch';
export function getList() {
export function getAppVersions(query) {
return fetch({
url: '/api/app/version',
method: 'get'
url: '/api/app/version/background/getAppVersions',
method: 'post',
data:query
});
}
export function insertAppVersion(obj) {
return fetch({
url: '/api/app/version/background/add',
method: 'post',
data:obj
});
}
export function updateAppVersion(obj) {
return fetch({
url: '/api/app/version/background/update',
method: 'put',
data:obj
});
}
export function removeAppVersion(id) {
return fetch({
url: '/api/app/version/background/remove/'+id,
method: 'post',
});
}
export function getAppVersion(id) {
return fetch({
url: '/api/app/version/background/getAppVersion/'+id,
method: 'get',
});
}
......@@ -437,7 +437,7 @@ export const asyncRouterMap = [{
{
path: '/appManagement',
component: Layout,
name: 'app版本管理',
name: 'app管理',
icon: 'setting',
authority: 'appManagement',
children: [
......
<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>
......@@ -115,12 +115,11 @@
<i v-else class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i>
</el-upload>
<!-- https://xxtest.upyuns.com-->
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancelSetMemberArea('membershipGrade')">取消</el-button>
<el-button @click="cancelSetMemberArea('membershipGrade')">取消</el-button>
<el-button type="primary" @click="save('membershipGrade')">确 定</el-button>
</div>
</el-dialog>
......@@ -219,6 +218,7 @@
},
methods: {
getList() {
this.listLoading= true
getMembers().then(
res => {
for (let dataKey of res.data) {
......@@ -260,9 +260,9 @@
* */
cancelSetMemberArea(refName) {
this.addMembershipGrade = false
if (this.$refs[refName]) {
this.$refs[refName].resetFields()
}
this.add={}
console.log(JSON.stringify(this.add))
},
/**
* 显示添加窗
......
......@@ -318,14 +318,14 @@
<el-radio-group v-model="validityType">
<el-radio-button style="margin-bottom: 10px;" label="无"></el-radio-button>
<el-radio-button style="margin-bottom: 10px;"label="永久"></el-radio-button>
<el-radio-button style="margin-bottom: 10px;"label="自定义"></el-radio-button>
<el-radio-button style="margin-bottom: 10px;"label="自定义" ></el-radio-button>
</el-radio-group>
<dir></dir>
<div class="block" v-if="validityType=='自定义'">
<el-date-picker
v-model="validTime"
type="datetime"
placeholder="请选择注册时间范围">
placeholder="请选择会员有效期">
</el-date-picker>
</div>
</el-form-item>
......@@ -520,6 +520,7 @@
UploadMembershipList,
saveNewMemberObject
} from 'src/api/admin/UserMember/index';
import {formatDate} from "../../../utils/dateFormattor";
export default {
name: 'appUser',
......@@ -797,7 +798,6 @@
this.listQuery.registrationTimeBegin = this.listQuery.registrationDate ? (new Date(this.listQuery.registrationDate[0]).getTime()) / 1000 : null
this.listQuery.registrationTimeEnd = this.listQuery.registrationDate ? (new Date(this.listQuery.registrationDate[1]).getTime()) / 1000 : null
alert(JSON.stringify(this.listQuery))
this.getList();
}
,
......@@ -964,7 +964,6 @@
this.orderQuery.userId = this.saveUserId
let query = JSON.parse(JSON.stringify(this.orderQuery))
query.status = query.status ? query.status - 1 : null
// alert(JSON.stringify(query))
page(query).then(
res => {
......@@ -1055,6 +1054,13 @@
if (bool==='1'){
this.statusBoolean=true
}
},
setDate(){
alert(this.validTime)
if(!this.validTime){
let date = new Date();//时间戳为10位需*1000,时间戳为13位的话不需乘1000
this.validTime= formatDate(date, 'yyyy-MM-dd hh:mm:ss');
}
}
}
......
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