Commit a9a34eda authored by libin's avatar libin

Merge branch 'base-modify' of http://113.105.137.151:22280/youjj/cloud-platform-ui into base-modify

parents 09061bc5 06076d4e
...@@ -2632,6 +2632,11 @@ ...@@ -2632,6 +2632,11 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true "dev": true
}, },
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
},
"deep-is": { "deep-is": {
"version": "0.1.3", "version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
...@@ -3572,8 +3577,7 @@ ...@@ -3572,8 +3577,7 @@
"extend": { "extend": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
"dev": true
}, },
"extend-shallow": { "extend-shallow": {
"version": "3.0.2", "version": "3.0.2",
...@@ -3636,6 +3640,11 @@ ...@@ -3636,6 +3640,11 @@
"integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
"dev": true "dev": true
}, },
"fast-diff": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz",
"integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
},
"fast-json-stable-stringify": { "fast-json-stable-stringify": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
...@@ -7572,6 +7581,11 @@ ...@@ -7572,6 +7581,11 @@
"no-case": "^2.2.0" "no-case": "^2.2.0"
} }
}, },
"parchment": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz",
"integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
},
"parse-asn1": { "parse-asn1": {
"version": "5.1.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
...@@ -9174,6 +9188,48 @@ ...@@ -9174,6 +9188,48 @@
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
"dev": true "dev": true
}, },
"quill": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/quill/-/quill-1.3.6.tgz",
"integrity": "sha512-K0mvhimWZN6s+9OQ249CH2IEPZ9JmkFuCQeHAOQax3EZ2nDJ3wfGh59mnlQaZV2i7u8eFarx6wAtvQKgShojug==",
"requires": {
"clone": "^2.1.1",
"deep-equal": "^1.0.1",
"eventemitter3": "^2.0.3",
"extend": "^3.0.1",
"parchment": "^1.1.4",
"quill-delta": "^3.6.2"
},
"dependencies": {
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
},
"eventemitter3": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
"integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo="
}
}
},
"quill-delta": {
"version": "3.6.3",
"resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz",
"integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
"requires": {
"deep-equal": "^1.0.1",
"extend": "^3.0.2",
"fast-diff": "1.1.2"
},
"dependencies": {
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
}
}
},
"randomatic": { "randomatic": {
"version": "1.1.7", "version": "1.1.7",
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
...@@ -11292,6 +11348,15 @@ ...@@ -11292,6 +11348,15 @@
"resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-2.0.0-beta.15.tgz", "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-2.0.0-beta.15.tgz",
"integrity": "sha1-/CmvZ9m9+2gjEb34zS7YnViNc+E=" "integrity": "sha1-/CmvZ9m9+2gjEb34zS7YnViNc+E="
}, },
"vue-quill-editor": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz",
"integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==",
"requires": {
"object-assign": "^4.1.1",
"quill": "^1.3.4"
}
},
"vue-router": { "vue-router": {
"version": "2.5.3", "version": "2.5.3",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.5.3.tgz", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.5.3.tgz",
......
import fetch from 'utils/fetch';
/**
* 获取营地标签List
*/
export function campsiteTagList(query) {
return fetch({
url: '/api/campsite/admin/campsiteTag/pages',
method: 'get',
params: query
});
}
/**
* 获取营地全部标签
* */
export function campsiteAllTagList(query) {
return fetch({
url: '/api/campsite/admin/campsiteTag/all',
method: 'get',
params: query
});
}
/**
* 是否是筛选条件
* */
export function setSearchById(query) {
return fetch({
url: '/api/campsite/admin/campsiteTag/searchStatus?id=' + query.id + '&status=' + query.status,
method: 'put'
});
}
/**
* 删除营地标签
*/
export function delCampsiteTag(id) {
return fetch({
url: '/api/campsite/admin/campsiteTag/' + id,
method: 'delete'
});
}
/**
* 编辑营地标签
* */
export function editCampsiteTag(query) {
return fetch({
url: '/api/campsite/admin/campsiteTag/' + query.id,
method: 'put',
data: query
});
}
/**
* 创建营地标签
* */
export function addCampsiteTag(params) {
return fetch({
url: '/api/campsite/admin/campsiteTag',
method: 'post',
data: params
});
}
/**
* 判断标签是否已存在
* @param id
*/
export function existTag(query) {
return fetch({
url: '/api/campsite/admin/campsiteTag/exist',
method: 'get',
params: query
});
}
/**
* 获取营地List
*/
export function getCampsiteList(query) {
return fetch({
url: '/api/campsite/admin/campsiteShop/pages',
method: 'post',
data: query
});
}
/**
* 删除营地列表数据
*/
export function delCampsiteShop(id) {
return fetch({
url: '/api/campsite/admin/campsiteShop/' + id,
method: 'delete'
});
}
/**
* 根据id获取一条营地列表数据
*/
export function getOneCampsiteShop(id) {
return fetch({
url: '/api/campsite/admin/campsiteShop/campsite/' + id,
method: 'get'
});
}
/**
* 编辑营地数据
* */
export function editCampsiteShop(query) {
return fetch({
url: '/api/campsite/admin/campsiteShop/save',
method: 'post',
data: query
});
}
/**
* 创建营地
* */
export function addCampsiteShop(params) {
return fetch({
url: '/api/campsite/admin/campsiteShop/save',
method: 'post',
data: params
});
}
/**
* 营地上架、下架
* */
export function saleStatus(query) {
return fetch({
url: '/api/campsite/admin/campsiteShop/saleStatus',
method: 'put',
params: query
});
}
/**
* 判断营地名称是否已存在
* @param id
*/
export function existCampsiteShop(query) {
return fetch({
url: '/api/campsite/admin/campsiteShop/exist',
method: 'get',
params: query
});
}
/**
* 获取旅游标签List
*/
export function tourTagAdd(query) {
return fetch({
url: '/api/tour/admin/tourTag/save',
method: 'post',
data: query
});
}
/**
*热门标签状态
*/
export function tourTagHot(query) {
return fetch({
url: '/api/tour/admin/tourTag/update/hot',
method: 'put',
params: query
});
}
/**
*删除旅游标签
*/
export function deleteTourTag(id) {
return fetch({
url: '/api/tour/admin/tourTag/' + id,
method: 'delete'
});
}
/**
* 获取全部旅游标签
* @param query
*/
export function getAllTourTag(query) {
return fetch({
url: '/api/tour/admin/tourTag/tags',
method: 'get',
params: query
});
}
/**
* 获取全部旅游标签
* @param query
*/
export function goodDel(id) {
return fetch({
url: '/api/tour/good/admin/goodDel/' + id,
method: 'get'
});
}
/**
* 上架、下架
* */
export function upStatusChange(query) {
return fetch({
url: '/api/tour/good/admin/upStatus',
method: 'get',
params: query
});
}
import fetch from 'utils/fetch';
export function page(query) {
return fetch({
url: '/api/order/baseOrder/getOrderList',
method: 'get',
params:query
});
}
\ No newline at end of file
import fetch from 'utils/fetch';
export function page(query) {
return fetch({
url: '/api/order/baseOrder/getOrderList',
method: 'get',
params:query
});
}
/**
* 根据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';
export function page(query) {
return fetch({
url: '/api/order/baseOrder/getOrderList',
method: 'get',
params:query
});
}
\ No newline at end of file
import fetch from 'utils/fetch';
/**
* 获取车型列表
* @param query
*/
export function page(query) {
return fetch({
url: '/vehicle/vehicleModel/app/unauth/findVehicleModelPage',
method: 'post',
data: query
});
}
/**
* 根据车型id获取车型详情
*/
export function getOneTypeById(id) {
return fetch({
url: '/vehicle/vehicleModel/' + id,
method: 'get'
});
}
/**
* 获取全部一级标签
*/
export function getAllParentLabel() {
return fetch({
url: '/vehicle/cata/add/fingCatasByParentId/' + 0,
method: 'get'
});
}
/**
* 根据parentId获取子标签
*/
export function getLabelByParentId(id) {
return fetch({
url: '/vehicle/cata/add/fingCatasByParentId/' + id,
method: 'get'
});
}
/**
* 获取标签列表
*/
// 0-不分页,1-分页(标签列表)
export function getLabelList(query) {
return fetch({
url: '/vehicle/cata/add/getCascades/' + query.page + '/' + query.limit + '/' + query.sort,
method: 'get'
});
}
/**
* 删除车型标签deleteVehicleType
*/
export function deleteVehicleType(id) {
return fetch({
url: '/vehicle/cata/add/deleteCascadeById/' + id,
method: 'delete'
});
}
/**
* 获取全部车型
* */
export function getAllVehicleList() {
return fetch({
url: '/vehicle/vehicleModel/findAll',
method: 'get'
});
}
/**
* 车型标签是否多选
*/
export function setIsMoreById(query) {
return fetch({
url: '/vehicle/cata/add/setIsMore/' + query.id + '/' + query.isMore,
method: 'put'
});
}
/**
* 是否是筛选条件
* */
export function setStartUsingById(query) {
return fetch({
url: '/vehicle/cata/add/setStartUsingById/' + query.id + '/' + query.startUsing,
method: 'put'
});
}
/**
* 修改标签排序
*/
export function updateParentRank(query) {
return fetch({
url: '/vehicle/cata/add/updateParentRank/' + query.id + '/' + query.rank,
method: 'put'
});
}
/**
* 修改和增加一二级标签
* */
export function updateAndAdd(params) {
return fetch({
url: '/vehicle/cata/add/updateAndAdd',
method: 'post',
data: params
});
}
/**
* 编辑一条车型数据
* */
export function updateVehicleModel(params) {
return fetch({
url: '/vehicle/vehicleModel/app/update',
method: 'put',
data: params
});
}
/*
* 新建一条车型数据
* */
export function addVehicleModel(params) {
return fetch({
url: '/vehicle/vehicleModel/app/add',
method: 'post',
data: params
});
}
/*
* 删除一条车型数据
* */
export function delVehicleModel(id) {
return fetch({
url: '/vehicle/vehicleModel/app/' + id,
method: 'delete'
});
}
...@@ -18,11 +18,11 @@ import Sticky from 'components/Sticky'; // 粘性header组件 ...@@ -18,11 +18,11 @@ 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';// 水波纹指令
import errLog from 'store/errLog';// error log组件 import errLog from 'store/errLog';// error log组件
import './mock/index.js'; // 该项目所有请求使用mockjs模拟 // import './mock/index.js'; // 该项目所有请求使用mockjs模拟
import { getToken } from 'utils/auth'; import { getToken } from 'utils/auth';
import 'babel-polyfill';//支持IE执行原生script import 'babel-polyfill'; // 支持IE执行原生script
import XEUtils from 'xe-utils';//加入常用工具类 import XEUtils from 'xe-utils';// 加入常用工具类
import VXEUtils from 'vxe-utils';//加入常用工具类 import VXEUtils from 'vxe-utils';// 加入常用工具类
import BaiduMap from 'vue-baidu-map' import BaiduMap from 'vue-baidu-map'
import '../node_modules/echarts/map/js/china.js' // 引入中国地图数据 import '../node_modules/echarts/map/js/china.js' // 引入中国地图数据
import '../node_modules/echarts/map/js/province/aomen.js' import '../node_modules/echarts/map/js/province/aomen.js'
...@@ -59,6 +59,11 @@ import '../node_modules/echarts/map/js/province/xizang.js' ...@@ -59,6 +59,11 @@ import '../node_modules/echarts/map/js/province/xizang.js'
import '../node_modules/echarts/map/js/province/yunnan.js' import '../node_modules/echarts/map/js/province/yunnan.js'
import '../node_modules/echarts/map/js/province/zhejiang.js' import '../node_modules/echarts/map/js/province/zhejiang.js'
import '../static/utf8-jsp/ueditor.config.js'
import '../static/utf8-jsp/ueditor.all.min.js'
import '../static/utf8-jsp/lang/zh-cn/zh-cn.js'
import '../static/utf8-jsp/ueditor.parse.min.js'
// register globally // register globally
Vue.component('multiselect', Multiselect); Vue.component('multiselect', Multiselect);
Vue.component('Sticky', Sticky); Vue.component('Sticky', Sticky);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
<div>
<script :id="editorId" type="text/plain"></script>
</div>
</template>
<script>
export default {
name: 'UE',
data () {
return {
editor: null,
}
},
props: {
defaultMsg: {
type: String
},
config: {
type: Object
},
editorId:{}
},
mounted() {
const _this = this;
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: {
getUEContent() { // 获取内容方法
return this.editor.getContent()
}
},
destroyed() {
this.editor.destroy();
}
}
</script>
This diff is collapsed.
<template>
<!-- 车辆保养弹窗 -->
<el-dialog title="保养" :visible.sync="upkeepDialogVisible">
<el-form :model="upkeepForm" :rules="rules" ref="form" label-width="90px">
<el-form-item label="车牌号">
<el-input v-model="upkeepForm.numberPlate" disabled></el-input>
</el-form-item>
<el-form-item label="保养人" prop="operator">
<el-input v-model="upkeepForm.operator" placeholder="请输入车辆保养人"></el-input>
</el-form-item>
<el-form-item label="公里数" prop="mileage">
<el-input v-model="upkeepForm.mileage" placeholder="请输入保养时公里数"></el-input>
</el-form-item>
<el-form-item label="总费用" prop="amount">
<el-input v-model="upkeepForm.amount" placeholder="请输入保养总费用"></el-input>
</el-form-item>
<el-form-item label="审批人" prop="approvers">
<el-input v-model="upkeepForm.approvers" placeholder="请输入保养审批人"></el-input>
</el-form-item>
<el-form-item label="分公司" prop="branchCompanyId">
<el-autocomplete
class="inline-input"
v-model="upkeepForm.state1"
:fetch-suggestions="querySearch"
placeholder="请输入内容"
@select="handleSelect"
></el-autocomplete>
<!--<el-select class="filter-item" v-model="upkeepForm.branchCompanyId" placeholder="请选择分公司">-->
<!--<el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
<!--</el-select>-->
</el-form-item>
<el-form-item label="保养项目" prop="upkeepItems">
<el-checkbox-group v-model="upkeepForm.upkeepItems">
<el-checkbox v-for="item in allUpkeepItems" :label="item.id" :key="item.id">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelUpkeep">取 消</el-button>
<el-button type="primary" @click="upkeepVehicleHandler">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
import {
page,
addObj,
getObj,
dealObj
} from 'api/vehicle/vehicleWarningMsg/';
import {
getAllUpkeepItem
} from 'api/vehicle/upkeep';
import rsCode from '../../utils/rsCode';
import {mapGetters} from 'vuex';
import {
getAllCompany,
getAll
} from 'api/base_info/branch_company/';
import {
upkeepEndVehicle,
upkeepVehicle
} from 'api/vehicle/active';
export default {
props: ["upkeepRow"],
name: 'upkeepDialog',
components: {},
data() {
return {
upkeepForm: {
vehicleId: null,
state1: "",
numberPlate: null,
operator: null,
date: null,
mileage: null,
amount: null,
approvers: null,
branchCompanyId: null,
upkeepItems: []
},
rules: {
name: [
{
type: 'string',
required: true,
message: '请输入消息内容',
trigger: 'blur'
},
{
min: 0,
max: 2000,
message: '长度小于 2000 个字符',
trigger: 'blur'
}
],
remark: [
{
min: 0,
max: 2000,
message: '长度小于 2000 个字符',
trigger: 'blur'
}
]
},
allCompanies: {},
allCompaniesArr: [],
upkeepDialogVisible: false,
allUpkeepItems: null,
dialogStatus: undefined,
}
},
created() {
},
watch: {
upkeepDialogVisible(newValue, oldValue){
if(!newValue){
this.cleanUpkeepForm();
this.$emit("upkeepDialogEvent", false);
}
},
},
mounted() {
let row = this.upkeepRow;
this.cleanUpkeepForm();
this.upkeepForm.branchCompanyId = row.subordinateBranch;
let that = this;
let selectArry = [];
getAll()
.then(response => {
this.allCompaniesArr = response.data;
response.data.map(function(item){
item.value = item.name;
selectArry.push(item);
});
selectArry.map(function (iitem) {
if( row.subordinateBranch == iitem.id){
that.upkeepForm.state1 = iitem.name;
}
});
});
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
});
getAllUpkeepItem().then(response => {
this.allUpkeepItems = response.data;
});
this.upkeepForm.mileage = row.mileageLastUpdate?row.mileageLastUpdate: row.mileage;
this.upkeepForm.vehicleId = row.vehicleId ? row.vehicleId: row.id;
this.upkeepForm.numberPlate = row.numberPlate;
this.upkeepDialogVisible = true;
},
computed: {
...mapGetters([
'elements',
'vehicleWarningMsgType'
])
},
methods: {
querySearch(queryString, cb) {
let selectArry = [];
this.allCompaniesArr.map(function(item){
item.value = item.name;
selectArry.push(item);
});
this.selectArry = selectArry;
var results = queryString ? selectArry.filter(this.createFilter(queryString)) : selectArry;
// 调用 callback 返回建议列表的数据
cb(results);
},
handleSelect(item) {
this.upkeepForm.branchCompanyId = item.id;
console.log(item);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant.name.indexOf(queryString.toLowerCase()) != -1);
};
},
getTypeName: function(type) {
if (this.$utils.isEmpty(this.vehicleWarningMsgType[type])) {
return '未知';
}
return this.vehicleWarningMsgType[type].val;
},
/**
* 保养-确定
* */
upkeepVehicleHandler() {
upkeepVehicle(this.upkeepForm).then(response => {
if (response.code === rsCode.RS_CODE_SUC) {
this.upkeepDialogVisible = false;
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
});
this.cleanUpkeepForm();
this.$emit("upkeepDialogEvent", true);
// this.getList();
} else {
this.$notify({
title: '失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
})
},
/**
* 保养-弹框-取消
* */
cancelUpkeep() {
this.cleanUpkeepForm();
this.$emit("upkeepDialogEvent", false);
},
/**
* 清空保养弹框数据
*/
cleanUpkeepForm() {
this.upkeepForm = {
state1: "",
vehicleId: null,
numberPlate: null,
operator: null,
date: null,
mileage: null,
amount: null,
approvers: null,
branchCompanyId: null,
upkeepItems: []
}
}
}
}
</script>
This diff is collapsed.
<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;
} 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
};
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>
<template>
<div class="app-container calendar-list-container">
<div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="5">
<el-form-item label="订单号">
<el-input v-model="listQuery.no" placeholder="请输入订单号"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="手机号">
<el-input v-model="listQuery.phone" placeholder="请输入手机号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="状态">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选择状态">
<el-option :key="null" label="无" :value="null" ></el-option>
<el-option :key="2" label="取消" :value="2"></el-option>
<el-option :key="3" label="待付款" :value="3"></el-option>
<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>
<el-col>
<el-form-item label="时间">
<el-date-picker v-model="listQuery.startTime" type = "date" placeholder = "请输入开始时间"></el-date-picker>
<span>——</span>
<el-date-picker v-model="listQuery.endTime" type = "date" placeholder = "请输入结束时间"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
</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>
</div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading"
border fit highlight-current-row
style="width: 100%">
<el-table-column align="center" label="ID" width="70">
<template scope="scope">
<span>{{scope.row.id}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="订单号/创建时间">
<template scope="scope">
<span>{{scope.row.no}}</span>/<span>{{scope.row.crtTime}}</span>
</template>
</el-table-column>
<el-table-column width="180" align="center" label="名称/车牌号">
<template scope="scope">
<span>{{scope.row.name}}</span><br/><span>{{scope.row.vehicleNumberPlat}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="用户ID/用户名">
<template scope="scope">
<span>{{scope.row.userId}}</span>/<span>{{scope.row.username}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="取车时间/还车时间">
<template scope="scope">
取:<span>{{dateFormat(scope.row.orderRentVehicleDetail.startTime)}}</span><br/>
还:<span>{{dateFormat(scope.row.orderRentVehicleDetail.endTime)}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="交车公司">
<template scope="scope">
<span>{{scope.row.startCompanyName}}</span><br/>
<span>({{scope.row.orderRentVehicleDetail.startCityName}}{{scope.row.orderRentVehicleDetail.startAddr}})</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="还车公司">
<template scope="scope">
<span>{{scope.row.endCompanyName}}</span><br/>
<span>({{scope.row.orderRentVehicleDetail.endCityName}}{{scope.row.orderRentVehicleDetail.endAddr}})</span>
</template>
</el-table-column>
<el-table-column width="110" align="center" label="订单价格">
<template scope="scope">
<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>
<span v-if="scope.row.status == '3'">待付款</span>
<span v-if="scope.row.status == '4'">待出行</span>
<span v-if="scope.row.status == '5'">出行中</span>
<span v-if="scope.row.status == '6'">已完成</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="150">
<template scope="scope">
<!--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>
<!--违章查询弹框-->
<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"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
</div>
</template>
<script>
import Illegal from "./illegalModal";//违章查询
import {
formatDate
} from '../../../utils/dateFormattor';
import {
page
} from 'api/order/rentVehicle';
import { mapGetters } from 'vuex';
export default {
name: 'branchCompanyStock',
components: {
Illegal,
},
data() {
return {
form: {
id: null,
companyId: null,
companyName: null,
name: null,
tel: null,
count: null,
state: null
},
illegalVisible: false,//违章查询弹框
rules: {
// companyName: [
// {
// required: true,
// message: '请输入用户',
// trigger: 'blur'
// }
// ],
},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
type: 1,
no: null,
phone:null,
status:null,
startTime: undefined,
endTime:undefined
},
dialogFormVisible: false,
dialogStatus: '',
btn_del: true,
btn_buy: true,
btn_cancel: true,
tableKey: 0
}
},
created() {
this.getList();
this.btn_del = this.elements['branchCompany/stockApply:btn_delete'];
},
computed: {
...mapGetters([
'elements'
])
},
methods: {
/**
* 操作-违章查询按钮,显示违章弹框
*/
illegalInquiry(row){
this.currentRow = row;
this.illegalVisible = true;
},
/**
* 关闭违章查询弹框
* */
illegalEvent(params){
this.illegalVisible = false;
if(params){
console.log(params);
}
},
handleCancel(row) {
this.$confirm('此操作将放弃购买, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
cancelApply(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
});
this.getList();
});
});
},
handleFilter() {
this.listQuery.page = 1;
this.$refs.queryForm.validate(valid => {
if (valid) {
this.getList();
} else {
return false;
}
});
},
clearSearch() {
this.listQuery ={
page: 1,
limit: 20,
type: 1,
no: '',
phone:'',
status:null,
startTime: undefined,
endTime:undefined
}
this.getList()
},
/**
* 获取订单列表
*/
getList() {
this.listLoading = true;
console.log(this.listQuery)
if(this.listQuery.startTime){
this.listQuery.startTime = this.listQuery.startTime.getTime();
}
if(this.listQuery.endTime){
this.listQuery.endTime = this.listQuery.endTime.getTime();
}
page(this.listQuery)
.then(response => {
this.list = response.data.data;
this.total = response.data.totalCount;
this.listLoading = false;
})
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
dateFormat(timestamp) {
let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, 'yyyy-MM-dd hh:mm:ss');
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
}
}
}
</script>
This diff is collapsed.
This diff is collapsed.
<template>
<el-dialog title="出发地" :visible.sync="isVisible">
<el-button size="small" class="el-button el-button--primary" type="button" icon="plus" @click="addTime()">添加</el-button>
<el-form>
<el-row style="margin: 10px 0;" v-for="item in lists"
:key="item.id">
<el-col :span="8">
<el-form-item label="出发地">
<el-select v-model="item.name" filterable placeholder="请选择">
<el-option
v-for="iitem in allCompaniesArr"
:key="iitem.value"
:label="iitem.name"
:value="iitem.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="出发时间">
<el-input style="width: 150px;" v-model="item.departTimeNew" @blur="onEditorBlur(item)" placeholder="请输入出发时间"></el-input>
<div>格式0:0,8:0,8:30</div>
<!--<el-time-picker-->
<!--v-model="item.departTime"-->
<!--value-format="HH:mm"-->
<!--format="HH:mm"-->
<!--@change="changeTime(item)"-->
<!--placeholder="任意时间点">-->
<!--</el-time-picker>-->
</el-form-item>
</el-col>
<!--<el-col :span="8">-->
<!--<el-form-item label="排序">-->
<!--<el-input style="width: 150px;" type="number" min="0" v-model="item.rank" placeholder="请输入排序"></el-input>-->
<!--<el-button type="danger" size="small" @click="deleteItem(item)">删除</el-button>-->
<!--</el-form-item>-->
<!--</el-col>-->
<el-col :span="3"> <el-button type="danger" size="small" @click="deleteItem(item)">删除</el-button></el-col>
</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 {
getSonRegionByCodes,
getRegionByCodes,
} from 'api/base_info/region/';
import rsCode from '../../../utils/rsCode';
import {mapGetters} from 'vuex';
import {
formatDate
} from 'utils/dateFormattor';
import {
getAllCompany,
getAll
} from 'api/base_info/branch_company/';
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: ["list"],
name: 'destinationDialog',
components: {
ElForm,
ElFormItem,
ElCol,
ElInput,
ElRow
},
data() {
return {
isVisible: false,
time:"",
t: {},
lists:[],
num: 0,
obj:{},//新增项
allCompaniesArr:[],
}
},
created() {
getAll()
.then(response => {
this.allCompaniesArr = response.data;
});
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
});
},
watch: {
isVisible(newValue, oldValue){
if(!newValue){
this.$emit('departureEvent', false);
}
},
},
mounted() {
let that = this;
let arr = [];
this.list.map(function(item){
item.h = parseInt(item.departTime / 3600);
item.s = (item.departTime-item.h*3600)/60;
item.departTimeNew = item.h+":"+item.s;
item.rank = item.rank?item.rank:0;
item.visible2 = false;
let c = that.objDeepCopy(item);
arr.push(c);
});
this.lists = arr;
this.isVisible = true;
},
computed: {
...mapGetters([
'elements',
])
},
methods: {
changeDeparture(item){
let select = {};
this.allCompaniesArr.map(function(ii){
if(ii.id == item.name){
select = ii;
}
});
this.lists.map(function(iitem){
if(iitem.id == item.id){
iitem.name = select.name;
iitem.address = select.address;
iitem.companyId = select.id;
iitem.addrProvince = select.addrProvince;
iitem.addrCity = select.addrCity;
iitem.longitude = select.longitude;
iitem.latitude = select.latitude;
}
});
},
/**
* 深拷贝
*/
objDeepCopy (source) {
var sourceCopy = source instanceof Array ? [] : {};
for (var item in source) {
sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
}
return sourceCopy;
},
addTime(){
let t = {
addrCity: undefined,
addrDetail: undefined,
addrProvince: undefined,
id: undefined,
companyId: undefined,
latitude: undefined,
longitude: undefined,
name: "",
zoneId: undefined,
departTime: 28800,
};
this.lists.push(t);
},
/**
* 改变出发时间
* */
onEditorBlur(val){
let arr = val.departTimeNew.split(":");
val.departTime = arr[0]*3600+ arr[1]*60;
console.log(val);
},
/**
* 删除分公司出发地
* */
deleteItem(obj){
this.lists.splice(this.lists.indexOf(obj),1);
console.log(obj);
},
/**
* 确定
* */
okHandler() {
let arr = [];
let that = this;
// this.list.map(function(item){
// // 时间转时间戳
// let hour = item.departTime_new.getHours();
// let sec = item.departTime_new.getMinutes();
// item.departTime = hour*3600+ sec*60;
// });
this.lists.map(function(item){
let departTime = item.departTime;
let select = {};
that.allCompaniesArr.map(function(ii){
if(ii.id == item.name){
let provinceObj = getRegionByCodes([ii.addrProvince]);
let cityObj = getRegionByCodes([ii.addrCity]);
item.provinceName = provinceObj[0].name;
item.cityName = cityObj[0].name;
item.addrProvince = ii.addrProvince;
item.address = ii.addrDetail,
item.addrCity = ii.addrCity;
item.addrTown = ii.addrTown;
item.name = ii.name;
item.companyId = ii.id;
item.longitude = ii.longitude;
item.latitude = ii.latitude;
item.departTime = departTime;
}
});
});
// this.lists.map(function)
this.$emit('departureEvent', this.lists);
console.log( this.lists)
},
/**
* 弹框-取消
* */
cancel() {
this.$emit('departureEvent', false);
},
querySearch(queryString, cb) {
let selectArry = [];
this.allCompaniesArr.map(function(item){
item.value = item.name;
selectArry.push(item);
});
this.selectArry = selectArry;
var results = queryString ? selectArry.filter(this.createFilter(queryString)) : selectArry;
// 调用 callback 返回建议列表的数据
cb(results);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant.name.indexOf(queryString.toLowerCase()) != -1);
};
},
}
}
</script>
This diff is collapsed.
This diff is collapsed.
<template>
<el-dialog title="旅游标签" :visible.sync="isVisible">
<el-checkbox-group v-model="list">
<el-checkbox v-for="item in allLabelList"
:key="item.id" :label="item.name"></el-checkbox>
</el-checkbox-group>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="okHandler()">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: ["allLabelList", "checkList"],
name: 'tourLabelModal',
data() {
return {
isVisible: false,
list: "",
}
},
created() {
},
watch: {
isVisible(newValue, oldValue){
if(!newValue){
this.$emit('tourLabelEvent', false);
}
}
},
mounted() {
let that = this;
this.list = this.checkList;
this.isVisible = true;
},
methods: {
/**
* 确定
* */
okHandler() {
this.$emit('tourLabelEvent', this.list);
},
/**
* 弹框-取消
* */
cancel() {
this.$emit('tourLabelEvent', false);
},
}
}
</script>
<template>
<el-dialog title="活动日期" :visible.sync="isVisible">
<el-button size="small" class="el-button el-button--primary" type="button" icon="plus" @click="addTime()">添加</el-button>
<el-form>
<el-row>
<el-col :span="24">
<el-form-item label="活动天数">
<el-input style="width: 200px;" v-model="num" type="number" min="1" placeholder="请输入活动天数" @change="changeNum()"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-for="item in list"
style="margin: 10px 0;"
:key="item.id">
<el-col :span="8">
<el-form-item label="开始时间">
<el-date-picker
v-model="item.startTime"
type="date"
@change="changeStartTime(item)"
format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="结束时间">
<el-date-picker
disabled
v-model="item.endTime"
type="date"
format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="库存">
<el-input style="width: 150px;" v-model="item.stock" placeholder="请输入库存"></el-input>
<el-button type="danger" size="small" @click="deleteItem(item)">删除</el-button>
</el-form-item>
</el-col>
</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 {
getSonRegionByCodes,
getRegionByCodes,
} from 'api/base_info/region/';
import rsCode from '../../../utils/rsCode';
import {mapGetters} from 'vuex';
import {
formatDate
} from 'utils/dateFormattor';
import {
getAllCompany,
getAll
} from 'api/base_info/branch_company/';
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: ["list", "number"],
name: 'destinationDialog',
components: {
ElForm,
ElFormItem,
ElCol,
ElInput,
ElRow
},
data() {
return {
isVisible: false,
time:"",
lists: [],
t: {},
num: 0
}
},
created() {
},
watch: {
isVisible(newValue, oldValue){
if(!newValue){
let arr = [];
this.list.map(function(item){
if(item.startTime){
arr.push(item);
}
});
let params = {
priceDTOS: arr
};
this.$emit('tourDepartTimeEvent', params);
}
},
},
mounted() {
let that = this;
this.num = this.number;
this.list.map(function(item){
let arr = [];
arr.push(item.startTime);
arr.push(item.endTime);
item.visible2 = false;
item.time = arr;
});
// this.lists = this.list;
this.isVisible = true;
},
computed: {
...mapGetters([
'elements',
])
},
methods: {
/**
* 删除时间
* */
deleteItem(obj){
this.list.splice(this.list.indexOf(obj),1);
console.log(obj);
},
deleteHandler(){},
addTime(){
this.t = {
startTime:"",
endTime: "",
stock: 0
};
this.list.push(this.t);
},
/**
* 确定
* */
okHandler() {
if(this.num*1<=0){
this.$notify({
title: '失败',
message: '活动时间必须大于0',
type: 'warning',
duration: 2000
});
return false;
}
let arr = [];
this.list.map(function(item){
let t = {
id: item.id?item.id:undefined,
startTime: item.startTime,
endTime: item.endTime,
stock: item.stock
};
arr.push(t);
});
let params = {
priceDTOS: arr,
num: this.num*1
};
this.$emit('tourDepartTimeEvent', params);
console.log(params)
},
/**
* 弹框-取消
* */
cancel() {
let arr = [];
this.list.map(function(item){
if(item.startTime){
arr.push(item);
}
});
let params = {
priceDTOS: arr
};
this.$emit('tourDepartTimeEvent', params);
},
dateChange1(val) { this.filters.startDate = val; },
/**
* 改变时间
* */
changeStartTime(d){
if(this.num<=0){
this.$notify({
title: '失败',
message: '活动时间必须大于0',
type: 'warning',
duration: 2000
});
return false;
} else {
}
d.endTime = formatDate(new Date(d.startTime.getTime() + 3600 * 1000 * 24 * this.num), 'yyyy-MM-dd');
d.startTime = formatDate(d.startTime, 'yyyy-MM-dd');
},
/**
* 改变活动天数-重新计算结束时间
* */
changeNum(){
console.log(this.num);
let that = this;
this.num = this.num*1;
if(this.num>0){
this.list.map(function(item){
let t = new Date(new Date(item.startTime).getTime() + 3600 * 1000 * 24 * that.num);
item.startTime = formatDate(new Date(item.startTime), 'yyyy-MM-dd');
item.endTime = formatDate(t, 'yyyy-MM-dd');
});
console.log(this.list);
}
}
}
}
</script>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
*{color: #838383;margin: 0;padding: 0}
html,body {font-size: 12px;overflow: hidden; }
.content{padding:5px 0 0 15px;}
input{width:210px;height:21px;line-height:21px;margin-left: 4px;}
</style>
</head>
<body>
<div class="content">
<span><var id="lang_input_anchorName"></var></span><input id="anchorName" value="" />
</div>
<script type="text/javascript" src="../internal.js"></script>
<script type="text/javascript">
var anchorInput = $G('anchorName'),
node = editor.selection.getRange().getClosedNode();
if(node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))){
anchorInput.value = node;
}
anchorInput.onkeydown = function(evt){
evt = evt || window.event;
if(evt.keyCode == 13){
editor.execCommand('anchor', anchorInput.value);
dialog.close();
domUtils.preventDefault(evt)
}
};
dialog.onok = function (){
editor.execCommand('anchor', anchorInput.value);
dialog.close();
};
$focus(anchorInput);
</script>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>ueditor图片对话框</title>
<script type="text/javascript" src="../internal.js"></script>
<!-- jquery -->
<script type="text/javascript" src="../../third-party/jquery-1.10.2.min.js"></script>
<!-- webuploader -->
<script src="../../third-party/webuploader/webuploader.min.js"></script>
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css">
<!-- attachment dialog -->
<link rel="stylesheet" href="attachment.css" type="text/css" />
</head>
<body>
<div class="wrapper">
<div id="tabhead" class="tabhead">
<span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span>
<span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
</div>
<div id="tabbody" class="tabbody">
<!-- 上传图片 -->
<div id="upload" class="panel focus">
<div id="queueList" class="queueList">
<div class="statusBar element-invisible">
<div class="progress">
<span class="text">0%</span>
<span class="percentage"></span>
</div><div class="info"></div>
<div class="btns">
<div id="filePickerBtn"></div>
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
</div>
</div>
<div id="dndArea" class="placeholder">
<div class="filePickerContainer">
<div id="filePickerReady"></div>
</div>
</div>
<ul class="filelist element-invisible">
<li id="filePickerBlock" class="filePickerBlock"></li>
</ul>
</div>
</div>
<!-- 在线图片 -->
<div id="online" class="panel">
<div id="fileList"><var id="lang_imgLoading"></var></div>
</div>
</div>
</div>
<script type="text/javascript" src="attachment.js"></script>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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