desc: 调整琏计划运行图样式

This commit is contained in:
zyy 2019-09-16 15:59:53 +08:00
parent c777b3dbcc
commit ab9a02e232
18 changed files with 1320 additions and 467 deletions

View File

@ -101,4 +101,5 @@ export default {
orderSelectionItem: '订单选择商品',
orderDetails: '订单详情',
statusType: '状态类型',
createPackage: '创建权限'
};

View File

@ -97,6 +97,7 @@ import AuthorDraft from '@/views/orderauthor/author/draft/ruleForm';
import Permission from '@/views/orderauthor/permission/index';
import PermissionDetail from '@/views/orderauthor/permission/detail';
import PermissionDraft from '@/views/orderauthor/permission/draft/ruleForm';
import PermissionCreate from '@/views/orderauthor/permission/create/index';
import UserRules from '@/views/orderauthor/rules/index';
import UserRulesDetail from '@/views/orderauthor/rules/detail';
@ -220,7 +221,8 @@ export const UrlConfig = {
authorDetail: '/orderauthor/author/detail',
authorDraft: '/orderauthor/author/draft',
transferDetail: '/orderauthor/transfer/detail',
trainferPackage: '/orderauthor/transfer/package'
trainferPackage: '/orderauthor/transfer/package',
createPackage: '/orderauthor/transfer/create'
},
script: {
prefix: '/script',
@ -934,6 +936,11 @@ export const asyncRouter = [
path: 'transfer/package',
component: PermissionDraft,
hidden: true
},
{
path: 'transfer/create',
component: PermissionCreate,
hidden: true
}
]
},

View File

@ -1,6 +1,5 @@
<template>
<el-card>
<!-- <turnback-bar :title="turnbackBarTitle"></turnback-bar> -->
<div class="pack-box" :style="{ height: height +'px' }">
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-steps class="steps" :active="display">

View File

@ -6,7 +6,7 @@
</el-scrollbar>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="doClose">{{$t('global.close')}}</el-button>
<el-button type="primary" @click="doClose">{{ $t('global.close') }}</el-button>
</div>
</el-dialog>
</template>

View File

@ -0,0 +1,172 @@
<template>
<div>
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<el-table :data="tableData" border style="width: 100%" :height="height-640">
<el-table-column prop="name" :label="this.$t('orderAuthor.permissionName')" />
<el-table-column prop="date" :label="this.$t('orderAuthor.permissionType')" />
<el-table-column prop="address" :label="this.$t('global.operate')" />
</el-table>
<add-goods ref="addGoods" @selectGoods="selectGoods" />
</div>
</template>
<script>
import addGoods from '../../commodity/addGoods';
export default {
name: 'DictionaryDetailEdit',
components: {
addGoods
},
data() {
return {
TimeStyleList: [],
TimeStyleDict: {},
formModel: {
name: '',
permissionName: '',
permissionId: '',
forever: false,
tryUseTime: 0,
tryUseTimeUnit: '05',
price: 0,
remarks: ''
},
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}]
};
},
computed: {
isShowForever() {
return this.formModel.forever;
},
form() {
return {
labelWidth: '135px',
items: [
{ prop: 'name', label: this.$t('orderAuthor.commodityName'), type: 'text', required: false },
{ prop: 'permissionName', label: this.$t('orderAuthor.permission'), type: 'text', required: false, disabled: true, rightWidth: true, buttontip: this.$t('orderAuthor.selectPermission'), buttonClick: this.buttonClick },
{ prop: 'forever', label: this.$t('orderAuthor.whetherTrial'), type: 'radio', required: false, options: this.$ConstSelect.Whether, disabled: false },
{ prop: 'tryUseTimeUnit', label: this.$t('orderAuthor.unitOfTime'), type: 'select', required: false, disabled: false, show: this.isShowForever, options: this.TimeStyleList },
{ prop: 'tryUseTime', label: this.$t('orderAuthor.trialTime'), type: 'number', required: false, disabled: false, show: this.isShowForever, message: `${this.TimeStyleDict[this.formModel.tryUseTimeUnit]}` },
{ prop: 'price', label: this.$t('orderAuthor.price'), type: 'number', required: false, min: 0.01, message: this.$t('global.yuan') },
{ prop: 'remarks', label: this.$t('orderAuthor.describtion'), type: 'textarea', required: false }
]
};
},
rules() {
return {
name: [
{ required: true, message: this.$t('rules.goodsNameInput'), trigger: 'blur' }
],
permissionName: [
{ required: true, message: this.$t('rules.pleaseSelectPermission'), trigger: 'change' }
],
forever: [
{ required: true, message: this.$t('rules.pleaseSelect'), trigger: 'change' }
],
tryUseTime: [
{ required: true, message: this.$t('rules.trialTimeInput'), trigger: 'change' }
],
tryUseTimeUnit: [
{ required: true, message: this.$t('rules.unitOfTimeRadio'), trigger: 'change' }
],
price: [
{ required: true, message: this.$t('rules.totalPriceInput'), trigger: 'change' },
{
validator(rule, value, callback) {
if (Number(value) >= 0) {
if (String(value).split('.')[1] && String(value).split('.')[1].length > 2) {
callback(new Error(this.$t('rules.totalPriceInputError1')));
} else {
callback();
}
} else {
callback(new Error(this.$t('rules.totalPriceInputError2')));
}
},
trigger: 'blur'
}
],
remarks: [
{ required: true, message: this.$t('rules.goodsDescribtionInput'), trigger: 'blur' }
]
};
},
height() {
return this.$store.state.app.height;
}
},
mounted() {
this.initLoadPage();
},
methods: {
convertList(FromList, ToList, checktypeFunction) {
if (FromList) {
ToList.length = 0;
FromList.forEach(elem => {
if (checktypeFunction(elem)) {
ToList.push({ value: elem.code, label: elem.name });
}
});
}
},
async initLoadPage() {
//
this.TimeStyleDict = {};
this.$Dictionary.timeStyleType().then(list => {
this.convertList(list, this.TimeStyleList, elem => {
return true;
});
list.forEach(elem => {
this.TimeStyleDict[elem.code] = elem.name;
});
});
},
buttonClick() {
this.$refs.addGoods.doShow();
},
selectGoods(data) {
this.formModel.permissionId = data.id;
this.formModel.permissionName = data.name;
},
buildModel() {
//
const model = {
name: this.formModel.name,
permissionId: this.formModel.permissionId,
tryUse: this.formModel.forever,
tryUseTime: this.formModel.tryUseTime,
tryUseTimeUnit: this.formModel.tryUseTimeUnit,
price: this.formModel.price,
remarks: this.formModel.remarks,
id: this.formModel.id
};
return model;
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@ -0,0 +1,158 @@
<template>
<el-card>
<div class="pack-box" :style="{ height: height +'px' }">
<el-scrollbar wrap-class="scrollbar-wrapper" style="">
<el-steps class="steps" :active="display" align-center>
<el-step title="选择权限" icon="el-icon-edit" />
<el-step title="创建商品" icon="el-icon-edit" />
<el-step title="创建订单" icon="el-icon-edit" />
</el-steps>
<div v-show="display == 0">
<el-card class="forms pack-rule">
<permission-form />
</el-card>
<div class="draft">
<el-button-group>
<el-button type="primary" @click="packForm">下一步</el-button>
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
</el-button-group>
</div>
</div>
<div v-show="display == 1">
<el-card class="forms pack-rule">
<goods-form />
</el-card>
<div class="draft">
<el-button-group>
<el-button type="primary" @click="packForm">下一步</el-button>
<el-button type="primary" @click="back">上一步</el-button>
</el-button-group>
</div>
</div>
<div v-show="display == 2">
<el-card class="forms pack-rule">
<order-form />
</el-card>
<div class="draft">
<el-button-group>
<el-button type="primary" @click="createPackage">创建</el-button>
<el-button type="primary" @click="back">上一步</el-button>
</el-button-group>
</div>
</div>
</el-scrollbar>
<qr-code ref="qrCode" />
</div>
</el-card>
</template>
<script>
import QrCode from '@/components/QrCode';
import GoodsForm from './goods';
import OrderForm from './order';
import PermissionForm from './permission';
export default {
name: 'PackRule',
components: {
QrCode,
GoodsForm,
OrderForm,
PermissionForm
},
data() {
return {
display: 0,
urlInfo: {}
};
},
computed: {
height() {
return this.$store.state.app.height - 62;
}
},
mounted() {
this.loadInitData();
},
methods: {
loadInitData() {
},
packForm() {
this.display++;
},
back() {
this.display--;
},
turnback() {
this.$router.go(-1);
},
createPackage() {
},
qrCodeShow() {
if (this.$refs) {
this.$refs.qrCode.doShow(this.urlInfo);
}
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.pack-box {
padding-top: 10px;
/deep/ {
.el-step__icon.is-icon {
width: 95px;
}
}
.steps {
width: 980px;
margin: 0 auto;
padding-top: 5px;
}
.forms {
width: 800px;
margin: 0 auto;
margin-top: 12px;
padding: 40px;
}
}
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
.pack-rule {
.addList {
float: right;
font-size: 14px;
color: #000;
margin-bottom: 8px;
cursor: pointer;
}
.btn-footer {
width: 100%;
display: flex;
justify-content: center;
margin-top: 20px;
}
/deep/ .el-table__footer-wrapper {
.is-leaf:nth-child(3) {
font-size: 0;
}
}
}
.draft {
width: 400px;
text-align: center;
margin: 20px auto;
}
</style>

View File

@ -0,0 +1,330 @@
<template>
<div>
<el-scrollbar
wrap-class="scrollbar-wrapper"
:style="{height:height -70 + 'px'}"
style="padding-top: 40px"
>
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" class="data-box" />
<add-goods ref="addGoods" @selectGoods="selectGoods" />
</el-scrollbar>
</div>
</template>
<script>
import { addOrganization, getOrganizationList } from '@/api/management/organization';
import { getGoodsList } from '@/api/management/goods';
import { getSellerList } from '@/api/management/user';
import addGoods from '../../order/addGoods';
export default {
name: 'OrderForm',
components: {
addGoods
},
data() {
return {
goodsList: [],
OrganizationList: [],
OrderTypeList: [],
SellerList: [],
BizTypeList: [],
PayTypeList: [],
PayStatusTypeList: [],
foreverInitData: false,
formModel: {
organizationId: '',
goodsId: '',
goodsName: '',
orderType: '02',
contractNo: '',
forever: false,
totalPrice: 0,
price: 0,
amount: 0,
monthAmount: 0,
bizType: '01',
payWays: '01',
payStatus: '02',
startTime: '',
sellerId: ''
},
DatePicker: {
shortcuts: [{
text: this.$t('orderAuthor.today'),
onClick(picker) {
picker.$emit('pick', new Date());
}
}, {
text: this.$t('orderAuthor.yesterday'),
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24);
picker.$emit('pick', date);
}
}, {
text: this.$t('orderAuthor.aWeekAgo'),
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', date);
}
}]
}
};
},
computed: {
isShowStartDate() {
return !this.formModel.forever && (this.formModel.bizType !== '02'); //
},
isShowMonths() {
return !this.formModel.forever; //
},
isShowContractNo() {
return this.formModel.orderType === '02'; //
},
isShowPrice() {
return this.formModel.orderType === '02'; //
},
isShowPayType() {
return this.formModel.orderType === '02'; //
},
isShowPayStatus() {
return this.formModel.orderType === '02'; //
},
isShowSeller() {
return this.formModel.orderType !== '04'; //
},
foreverIsDisabled() {
return this.foreverInitData;
},
form() {
const form = {
labelWidth: this.$i18n.locale == 'en' ? '200px': '145px',
items: [
{ prop: 'organizationId', label: this.$t('orderAuthor.organizationOrEnterprise'), type: 'select', required: false, options: this.OrganizationList, allowCreate: true, onChange: this.onChange },
{ prop: 'goodsName', label: this.$t('orderAuthor.commodityName'), type: 'text', required: false, disabled: true, rightWidth: true, buttontip: '选择商品', buttonClick: this.buttonClick },
{ prop: 'price', label: this.$t('orderAuthor.itemPricing'), type: 'number', required: false, disabled: true, min: 0, message: '元' },
{ prop: 'orderType', label: this.$t('orderAuthor.orderType'), type: 'select', required: false, options: this.OrderTypeList },
{ prop: 'sellerId', label: this.$t('orderAuthor.salesman'), type: 'select', required: false, show: this.isShowSeller, options: this.SellerList },
{ prop: 'contractNo', label: this.$t('orderAuthor.contractNumber'), type: 'text', required: false, show: this.isShowContractNo },
{ prop: 'amount', label: this.totalTitle, type: 'number', required: false, show: true, min: 0 },
{ prop: 'forever', label: this.$t('orderAuthor.permanenceOrNot'), type: 'radio', required: false, options: this.$ConstSelect.Whether, disabled: this.foreverIsDisabled },
{ prop: 'startTime', label: this.$t('orderAuthor.startDate'), type: 'date', required: false, show: this.isShowStartDate, viewFormat: 'yyyy-MM-dd', valueFormat: 'yyyy-MM-dd', picker: this.DatePicker },
{ prop: 'monthAmount', label: this.$t('orderAuthor.choosePurchaseTime'), type: 'number', required: false, show: this.isShowMonths, min: 0, message: '月' },
{ prop: 'totalPrice', label: this.$t('orderAuthor.totalPrice'), type: 'number', required: false, show: this.isShowPrice, min: 0, message: '元' },
{ prop: 'bizType', label: this.$t('orderAuthor.businessType'), type: 'select', required: false, disabled: true, options: this.BizTypeList },
{ prop: 'payWays', label: this.$t('orderAuthor.paymentMethod'), type: 'select', required: false, show: this.isShowPayType, options: this.PayTypeList },
{ prop: 'payStatus', label: this.$t('orderAuthor.paymentStatus'), type: 'select', required: false, show: this.isShowPayStatus, options: this.PayStatusTypeList }
]
};
return form;
},
rules() {
const _this = this;
const baseRules = {
organizationId: [
{ required: true, message: this.$t('rules.organizationInput'), trigger: 'blur' }
],
goodsName: [
{ required: true, message: this.$t('rules.productSelect'), trigger: 'change' }
],
price: [
{ required: true, message: this.$t('rules.itemPricingInput'), trigger: 'blur' }
],
orderType: [
{ required: true, message: this.$t('rules.orderTypeSelect'), trigger: 'change' }
],
contractNo: [
{ required: true, message: this.$t('rules.contractNumberInput'), trigger: 'blur' },
{ min: 1, max: 25, message: this.$t('rules.strLength1To25'), trigger: 'blur' }
],
sellerId: [
{ required: true, message: this.$t('rules.salesmanInput'), trigger: 'change' }
],
forever: [
{ required: true, message: this.$t('rules.pleaseSelect'), trigger: 'change' }
],
amount: [
{ required: true, message: this.$t('rules.authorAmountInput'), trigger: 'change' },
{
validator(rule, value, callback) {
if (Number.isInteger(Number(value)) && Number(value) > 0) {
callback();
} else {
callback(new Error(_this.$t('rules.authorAmountInputError')));
}
},
trigger: 'blur'
}
],
totalPrice: [
{ required: true, message: this.$t('rules.totalPriceInput'), trigger: 'change' },
{
validator(rule, value, callback) {
if (Number(value) >= 0) {
if (String(value).split('.')[1] && String(value).split('.')[1].length > 2) {
callback(new Error(this.$t('rules.totalPriceInputError1')));
} else {
callback();
}
} else {
callback(new Error(_this.$t('rules.totalPriceInputError2')));
}
},
trigger: 'blur'
}
],
monthAmount: [
{ required: true, message: this.$t('rules.monthAmountInput'), trigger: 'change' },
{
validator(rule, value, callback) {
if (Number.isInteger(Number(value)) && Number(value) > 0) {
callback();
} else {
callback(new Error(_this.$t('rules.monthAmountInputError')));
}
},
trigger: 'blur'
}
],
startTime: [
{ required: true, message: this.$t('rules.startTimePick'), trigger: 'change' }
],
bizType: [
{ required: true, message: this.$t('rules.bizTypeSelect'), trigger: 'change' }
],
payWays: [
{ required: true && this.isShowPayType, message: this.$t('rules.payWaysSelect'), trigger: 'change' }
],
payStatus: [
{ required: true && this.isShowPayStatus, message: this.$t('rules.payStatusSelect'), trigger: 'change' }
]
};
//
this.$nextTick(function () {
this.$refs.dataform.clearValidate();
});
return baseRules;
},
height() {
return this.$store.state.app.height - 240;
}
},
mounted() {
this.initLoadPage();
},
methods: {
buttonClick() {
this.$refs.addGoods.doShow();
},
selectGoods(data) {
this.formModel.goodsId = data.id;
this.formModel.goodsName = data.name;
this.formModel.price = data.price;
},
initLoadPage() {
//
//
this.loading = false;
this.goodsList.length = 0;
getGoodsList().then(response => {
const data = response.data;
if (data && data.length) {
data.forEach(elem => {
this.goodsList.push({ value: elem.id, label: elem.name, price: elem.price });
});
}
});
//
this.OrganizationList.length = 0;
getOrganizationList().then(response => {
const data = response.data;
data.forEach(elem => {
this.OrganizationList.push({ value: '' + elem.id, label: elem.name });
});
});
getSellerList().then(response => {
const data = response.data;
data.forEach(elem => {
this.SellerList.push({ value: '' + elem.id, label: elem.name });
});
});
// this.$Dictionary.permissionType().then(list => {
// this.$convertList(list, this.PermissionTypeList, elem => {
// return true;
// });
// });
this.$Dictionary.orderType().then(list => {
this.$convertList(list, this.OrderTypeList, elem => {
return elem.code !== '01'; //
});
});
this.$Dictionary.payStatus().then(list => {
this.$convertList(list, this.PayStatusTypeList, elem => {
return elem.code !== '03'; //
});
});
this.$Dictionary.payType().then(list => {
this.$convertList(list, this.PayTypeList, elem => {
return true;
});
});
this.$Dictionary.bizType().then(list => {
this.$convertList(list, this.BizTypeList, elem => {
return true;
});
});
//
this.$refs.dataform.resetForm();
//
this.$nextTick(function () {
this.$refs.dataform.clearValidate();
});
},
onChange(input) {
// List,,
const list = this.OrganizationList;
for (const i in list) {
if (list[i].value === input) {
return;
}
}
// ,List,,
this.$confirm(this.$t('tip.addOrganizationPrefix') + input + this.$t('tip.addOrganizationSuffix'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
addOrganization({ name: input }).then(response => {
this.OrgzList.push(response.data);
}).catch(() => {
this.$messageBox(this.$t('error.addingFailure'));
});
}).catch(() => {
this.formModel.organizationId = '';
this.$message.info(this.$t('error.cancelled'));
});
},
turnback() {
this.$router.go(-1);
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@ -0,0 +1,186 @@
<template>
<div>
<el-form ref="formData" label-width="130px" :model="addModel" size="mini" :rules="rules" class="rule_box">
<el-form-item label="权限类型" prop="type">
<el-radio-group v-model="addModel.type">
<el-radio v-for="item in permissionType" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-show="addModel.type == '02'" :label="this.$t('orderAuthor.permissionName') + ':'" prop="name">
<el-input v-model="addModel.name" size="small" />
</el-form-item>
<el-form-item v-show="addModel.type == '02'" :label="this.$t('orderAuthor.describtion') + ':'" prop="remarks">
<el-input
v-model="addModel.remarks"
type="textarea"
:rows="2"
maxlength="60"
show-word-limit
/>
</el-form-item>
<el-form-item :label="this.$t('orderAuthor.mapName') + ':'">
<el-select v-model="addModel.mapId" :disabled="ruleList.length ? true : false">
<el-option
v-for="item in mapList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
<div>
<el-button class="addList" size="small" @click="dialogSelect">{{ $t('orderAuthor.addPermissions') }}</el-button>
<el-table
:data="ruleList"
border
style="width: 100%"
:height="addModel.type == '01' ? height-400 : height-500"
>
<el-table-column prop="name" :label="this.$t('orderAuthor.permissionName')" />
<el-table-column prop="type" :label="this.$t('orderAuthor.permissionType')">
<template slot-scope="scope">
{{ computedName(PermissionTypeList, scope.row.type) }}
</template>
</el-table-column>
<el-table-column :label="this.$t('global.operate')" width="80">
<template slot-scope="scope">
<el-button type="text" size="small" @click="deleteForm(scope.$index, scope.row)">{{ $t('global.delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<choose-permission
ref="choosePermission"
:rule-list="ruleList"
:effective-type-list="EffectiveTypeList"
:permission-type-list="PermissionTypeList"
@addRuleForm="addRuleForm"
@deleteForm="deleteForm"
/>
</div>
</template>
<script>
import ChoosePermission from '../../author/draft/choosePermission';
import { EventBus } from '@/scripts/event-bus';
import { listPublishMap } from '@/api/jmap/map';
// import { getPermissionList } from '@/api/management/author';
export default {
name: 'PermissionForm',
components: {
ChoosePermission
},
data() {
return {
ruleList: [],
EffectiveTypeList: [],
PermissionTypeList: [],
permissionType: [
{value: '01', label: '基础权限'},
{value: '02', label: '权限包'}
],
mapList: [],
addModel: {
type: '01',
name: '',
remarks: '',
mapId: ''
},
rules: {
name: [
{ required: true, message: this.$t('rules.enterPermissionName'), trigger: 'blur' }
]
}
};
},
computed: {
height() {
return this.$store.state.app.height - 65;
}
},
mounted() {
this.loadInitData();
},
methods: {
async loadInitData() {
this.EffectiveTypeList = [];
this.$Dictionary.effectiveType().then(list => {
this.EffectiveTypeList = list.map(elem => { return { value: elem.code, label: elem.name }; });
});
try {
//
this.mapList = [];
const res = await listPublishMap();
res.data.forEach(elem => {
this.mapList.push({ value: elem.id, label: elem.name });
});
} catch (error) {
console.error(error, '获取发布地图');
}
},
computedName(list, code) {
let name = '';
list.forEach(elem => {
if (elem.value == code) {
name = elem.label;
}
});
return name;
},
deleteForm(index, row) {
const idx = this.ruleList.findIndex(elem => { return elem.id == row.id; });
if (idx >= 0) {
row['isPut'] = false;
this.ruleList.splice(idx, 1);
}
EventBus.$emit('reloadTable', { index: index, list: row });
},
addRuleForm(index, row) {
row['isPut'] = true;
this.ruleList.push(row);
EventBus.$emit('reloadTable', { index: index, list: row });
},
dialogSelect(row) {
if (this.addModel.mapId) {
this.$refs.choosePermission.doShow(this.addModel.mapId);
} else {
this.$messageBox(this.$t('rules.mapInput'));
}
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.pack-rule {
.addList {
float: right;
font-size: 14px;
color: #000;
margin-bottom: 8px;
cursor: pointer;
}
.btn-footer {
width: 100%;
display: flex;
justify-content: center;
margin-top: 20px;
}
/deep/ .el-table__footer-wrapper {
.is-leaf:nth-child(3) {
font-size: 0;
}
}
}
.draft {
width: 400px;
text-align: center;
margin: 20px auto;
}
</style>

View File

@ -8,7 +8,7 @@
<script>
import { admin } from '@/router';
import { listPackagePermission, restorePackagePermission, getPackageQrCode, permissionDistributeUnPackage } from '@/api/management/distribute';
import { listPackagePermission, restorePackagePermission, getPackageQrCode } from '@/api/management/distribute';
import { UrlConfig } from '@/router/index';
import QrCode from '@/components/QrCode';
import Qcode from './Qcode';
@ -29,23 +29,12 @@ export default {
},
queryForm: {
labelWidth: '140px',
reset: true,
reset: false,
queryObject: {
// 'userMobile': {
// type: 'text',
// label: this.$t('orderAuthor.founderPhone')
// },
'userName': {
type: 'text',
label: this.$t('orderAuthor.founder')
},
// 'permissionType': {
// type: 'select',
// label: this.$t('orderAuthor.permissionType'),
// config: {
// data: []
// }
// },
'status': {
type: 'select',
label: this.$t('global.status'),
@ -73,29 +62,6 @@ export default {
title: this.$t('orderAuthor.founder'),
prop: 'userName'
},
// {
// title: this.$t('orderAuthor.founderPhone'),
// prop: 'userMobile'
// },
// {
// title: this.$t('orderAuthor.mapName'),
// prop: 'mapName'
// },
// {
// title: this.$t('orderAuthor.mapProductName'),
// prop: 'mapProductName'
// },
// {
// title: this.$t('orderAuthor.courseName'),
// prop: 'lessonName'
// },
// {
// title: this.$t('orderAuthor.permissionType'),
// prop: 'permissionType',
// type: 'tag',
// columnValue: (row) => { return this.$convertField(row.permissionType, this.PermissionTypeList, ['value', 'label']); },
// tagType: (row) => { return ''; }
// },
{
title: this.$t('orderAuthor.publicOrPrivate'),
prop: 'canDistribute',
@ -182,6 +148,7 @@ export default {
],
actions: [
{ text: this.$t('orderAuthor.privilegePackaging'), btnCode: 'employee_insert', handler: this.handlePackage },
// { text: this.$t('orderAuthor.createPackage'), handler: this.handleCreatePackage },
{ text: this.$t('orderAuthor.receivingPermission'), handler: this.handlerPermission, show: process.env.NODE_ENV == 'development' }
]
}
@ -201,15 +168,6 @@ export default {
return true;
});
});
// this.$Dictionary.permissionType().then(list => {
// list.forEach(elem => {
// this.queryForm.queryObject.permissionType.config.data.push({ value: elem.code, label: elem.name });
// });
// this.$convertList(list, this.PermissionTypeList, elem => {
// return true;
// });
// this.PermissionTypeList.push({ value: undefined, label: this.$t('orderAuthor.permissionPack') });
// });
},
formatterDate(row, porpInfo) {
return row[porpInfo.property] ? row[porpInfo.property] : '---';
@ -254,6 +212,9 @@ export default {
},
handlerPermission() {
this.$refs.qcode.doShow();
},
handleCreatePackage() {
this.$router.push({ path: `${UrlConfig.orderauthor.createPackage}` });
}
}
};

View File

@ -4,7 +4,7 @@
class="planEdit__tool add-planning-train"
:title="title"
:visible.sync="dialogShow"
width="260px"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
@ -16,10 +16,10 @@
<el-input v-model="serviceNumber" size="mini" />
</el-col>
</el-row>
<el-row type="flex" justify="center" style="margin-top: 20px">
<el-button @click="handleCommit"> </el-button>
<el-button @click="doClose"> </el-button>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button size="medium" @click="doClose"> </el-button>
<el-button type="primary" size="medium" @click="handleCommit"> </el-button>
</span>
</el-dialog>
</template>
@ -92,10 +92,16 @@ export default {
.el-input {
width: 120px;
}
.el-button {
margin-left: 20px !important;
margin-right: 20px !important;
}
}
.add-planning-train{
/deep/ {
.el-dialog__body{
padding: 10px 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -10,128 +10,126 @@
:modal="false"
:close-on-click-modal="false"
>
<div style="margin: 10px">
<el-row>
<el-col :span="3">
<el-radio v-model="addModel.addToFront" :label="true">加在最前</el-radio>
</el-col>
<el-col :span="4" style="margin-left: 10px">
<span>车次号</span>
</el-col>
<el-col :span="5">
<el-select v-model="addModel.tripNumber" placeholder="请选择">
<el-option
v-for="item in tripNumberList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="4" style="margin-left: 20px">
<span>开始时间</span>
</el-col>
<el-col :span="5">
<el-time-picker v-model="addModel.startTime" value-format="HH:mm:ss" :clearable="false" />
</el-col>
</el-row>
<el-row style="margin-top: 5px">
<el-col :span="3">
<el-radio v-model="addModel.addToFront" :label="false">加在最后</el-radio>
</el-col>
<el-col :span="4" style="margin-left: 10px">
<span>缺省停站时间</span>
</el-col>
<el-col :span="5">
<el-select v-model="addModel.defaultStopTime" placeholder="请选择">
<el-option
v-for="item in defaultStopTimeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="4" style="margin-left: 20px">
<span>缺省运行等级</span>
</el-col>
<el-col :span="5">
<el-select v-model="addModel.defaultSpeedLevel" placeholder="请选择">
<el-option
v-for="item in defaultSpeedLevelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
<el-row style="margin-bottom: 5px;">
交路
</el-row>
<el-row>
<el-table
:data="addModel.routingList"
border
highlight-current-row
:height="180"
@row-click="handleClick"
>
<el-table-column prop="startStationCode" label="起始站">
<template slot-scope="scope">
{{ formatName(scope.row.startStationCode) }}
</template>
</el-table-column>
<el-table-column prop="startSectionCode" label="起始区段">
<template slot-scope="scope">
{{ formatName(scope.row.startSectionCode) }}
</template>
</el-table-column>
<el-table-column prop="endStationCode" label="终到站">
<template slot-scope="scope">
{{ formatName(scope.row.endStationCode) }}
</template>
</el-table-column>
<el-table-column prop="endSectionCode" label="终到区段">
<template slot-scope="scope">
{{ formatName(scope.row.endSectionCode) }}
</template>
</el-table-column>
<el-table-column prop="remarks" label="描述" />
</el-table>
</el-row>
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
详情
</el-row>
<el-row>
<el-table :data="addModel.arriveConfigList" border :height="180">
<el-table-column prop="stationCode" label="车站">
<template slot-scope="scope">
{{ formatName(scope.row.stationCode) }}
</template>
</el-table-column>
<el-table-column prop="sectionCode" label="区段">
<template slot-scope="scope">
{{ formatName(scope.row.sectionCode) }}
</template>
</el-table-column>
<el-table-column prop="arriveTime" label="到点" />
<el-table-column prop="stopTime" label="停站时间" />
<el-table-column prop="departureTime" label="发点" />
<el-table-column prop="speedLevel" label="运行等级" />
</el-table>
</el-row>
<el-row>
<el-col :offset="16">
<el-checkbox v-model="showDefault">显示默认停站时间和运行等级</el-checkbox>
</el-col>
</el-row>
</div>
<el-row add-to-front="flex" justify="center" class="button-group">
<el-button @click="handleCommit"> </el-button>
<el-button @click="doClose"> </el-button>
<el-row>
<el-col :span="3" style="height: 28px;line-height: 28px;">
<el-radio v-model="addModel.addToFront" :label="true">加在最前</el-radio>
</el-col>
<el-col :span="4" style="margin-left: 10px;height: 28px;line-height: 28px;">
<span>车次号</span>
</el-col>
<el-col :span="5">
<el-select v-model="addModel.tripNumber" size="mini" placeholder="请选择">
<el-option
v-for="item in tripNumberList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="4" style="margin-left: 20px;height: 28px;line-height: 28px;">
<span>开始时间</span>
</el-col>
<el-col :span="5">
<el-time-picker v-model="addModel.startTime" size="mini" value-format="HH:mm:ss" :clearable="false" />
</el-col>
</el-row>
<el-row style="margin-top: 5px;height: 28px;line-height: 28px;">
<el-col :span="3">
<el-radio v-model="addModel.addToFront" :label="false">加在最后</el-radio>
</el-col>
<el-col :span="4" style="margin-left: 10px;height: 28px;line-height: 28px;">
<span>缺省停站时间</span>
</el-col>
<el-col :span="5">
<el-select v-model="addModel.defaultStopTime" size="mini" placeholder="请选择">
<el-option
v-for="item in defaultStopTimeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="4" style="margin-left: 20px;height: 28px;line-height: 28px;">
<span>缺省运行等级</span>
</el-col>
<el-col :span="5">
<el-select v-model="addModel.defaultSpeedLevel" size="mini" placeholder="请选择">
<el-option
v-for="item in defaultSpeedLevelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
<el-row style="margin-bottom: 5px;">
交路
</el-row>
<el-row>
<el-table
:data="addModel.routingList"
border
highlight-current-row
:height="180"
@row-click="handleClick"
>
<el-table-column prop="startStationCode" label="起始站">
<template slot-scope="scope">
{{ formatName(scope.row.startStationCode) }}
</template>
</el-table-column>
<el-table-column prop="startSectionCode" label="起始区段">
<template slot-scope="scope">
{{ formatName(scope.row.startSectionCode) }}
</template>
</el-table-column>
<el-table-column prop="endStationCode" label="终到站">
<template slot-scope="scope">
{{ formatName(scope.row.endStationCode) }}
</template>
</el-table-column>
<el-table-column prop="endSectionCode" label="终到区段">
<template slot-scope="scope">
{{ formatName(scope.row.endSectionCode) }}
</template>
</el-table-column>
<el-table-column prop="remarks" label="描述" />
</el-table>
</el-row>
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
详情
</el-row>
<el-row>
<el-table :data="addModel.arriveConfigList" border :height="180">
<el-table-column prop="stationCode" label="车站">
<template slot-scope="scope">
{{ formatName(scope.row.stationCode) }}
</template>
</el-table-column>
<el-table-column prop="sectionCode" label="区段">
<template slot-scope="scope">
{{ formatName(scope.row.sectionCode) }}
</template>
</el-table-column>
<el-table-column prop="arriveTime" label="到点" />
<el-table-column prop="stopTime" label="停站时间" />
<el-table-column prop="departureTime" label="发点" />
<el-table-column prop="speedLevel" label="运行等级" />
</el-table>
</el-row>
<el-row>
<el-col :offset="16">
<el-checkbox v-model="showDefault">显示默认停站时间和运行等级</el-checkbox>
</el-col>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button size="medium" @click="doClose"> </el-button>
<el-button type="primary" size="medium" @click="handleCommit"> </el-button>
</span>
</el-dialog>
</template>
@ -311,24 +309,20 @@ export default {
@import "src/styles/mixin.scss";
/deep/ {
.el-button {
margin-left: 40px !important;
margin-right: 40px !important;
margin-top: 10px !important;
}
.el-row {
margin-bottom: 5px !important;
}
.el-input__inner {
height: 20px !important;
line-height: 20px !important;
}
.el-date-editor .el-icon-time:before {
top: -8px;
position: relative;
}
}
.add-task{
/deep/ {
.el-dialog__body{
padding: 0 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -16,10 +16,10 @@
<el-row>
<el-radio v-model="model.deleteBefore" :label="false">删除以后所有任务包含本任务</el-radio>
</el-row>
<el-row type="flex" justify="center" class="button-group">
<el-button @click="handleCommit"> </el-button>
<el-button @click="doClose"> </el-button>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button size="medium" @click="doClose"> </el-button>
<el-button type="primary" size="medium" @click="handleCommit"> </el-button>
</span>
</el-dialog>
</template>
@ -97,4 +97,15 @@ export default {
margin: 10px;
}
}
.delete-task{
/deep/ {
.el-dialog__body{
padding: 0 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -29,10 +29,10 @@
<span></span>
</el-col>
</el-row>
<el-row type="flex" justify="center" style="margin-top: 20px">
<el-button @click="handleCommit"> </el-button>
<el-button @click="doClose"> </el-button>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button size="medium" @click="doClose"> </el-button>
<el-button type="primary" size="medium" @click="handleCommit"> </el-button>
</span>
</el-dialog>
</template>
@ -89,11 +89,15 @@ export default {
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
/deep/ {
.el-button {
margin-left: 40px !important;
margin-right: 40px !important;
}
}
.duplicate-train{
/deep/ {
.el-dialog__body{
padding: 0 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -90,7 +90,7 @@
</el-table>
</el-row>
<div class="button-group" style="text-align: center; margin-top: 10px;">
<el-button @click="handleSave">保存</el-button>
<el-button type="primary" @click="handleSave">保存</el-button>
<el-button @click="doClose">取消&退出</el-button>
</div>
<update-station-interval-time ref="updateStationIntervalTime" @handleConfirm="handleConfirm" />

View File

@ -10,212 +10,213 @@
:modal="false"
:close-on-click-modal="false"
>
<div style="margin: 10px">
<el-row>
<el-col :span="4">
<el-row>
<el-col :span="9">
<span>车次号</span>
</el-col>
<el-col :span="15">
<el-select v-model="editModel.tripNumber" style="display: inline-black" placeholder="请选择">
<el-option
v-for="item in tripNumberList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
</el-col>
<el-col :span="2">
<el-row>
<el-col :offset="8">
<el-checkbox v-model="editModel.trainManual">手工</el-checkbox>
</el-col>
</el-row>
</el-col>
<el-col :span="6">
<el-row>
<el-col :span="11" :offset="1">
<span>缺省停站时间</span>
</el-col>
<el-col :span="12">
<el-select
v-model="editModel.defaultStopTime"
style="display: inline-black"
placeholder="请选择"
>
<el-option
v-for="item in defaultStopTimeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
</el-col>
<el-col :span="5">
<el-row>
<el-col :span="9" :offset="2">
<span>表号</span>
</el-col>
<el-col :span="13">
<el-input v-model="editModel.serviceNumber" />
</el-col>
</el-row>
</el-col>
<el-col :span="7">
<el-row>
<el-col :span="22" :offset="2">
<el-row>
<el-col :span="6">
<el-checkbox v-model="editModel.clearGuest">清客</el-checkbox>
</el-col>
<el-col :span="8">
<el-checkbox v-model="editModel.continuationPlan">延续计划</el-checkbox>
</el-col>
<el-col :span="6">
<el-checkbox v-model="editModel.firstTrain">首班车</el-checkbox>
</el-col>
</el-row>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-row>
<el-col :span="9">
<span>序列号</span>
</el-col>
<el-col :span="15">
<el-select v-model="editModel.serialNumber" style="display: inline-black" placeholder="请选择">
<el-option
v-for="item in serialNumberList"
:key="item.value"
:label="item.label"
:value="editModel.value"
/>
</el-select>
</el-col>
</el-row>
</el-col>
<el-col :span="2">
<el-row>
<el-col :offset="8">
<el-checkbox v-model="editModel.serialManual">手工</el-checkbox>
</el-col>
</el-row>
</el-col>
<el-col :span="6">
<el-row>
<el-col :span="11" :offset="1">
<span>缺省运行等级</span>
</el-col>
<el-col :span="12">
<el-select
v-model="editModel.defaultSpeedLevel"
style="display: inline-black"
placeholder="请选择"
>
<el-option
v-for="item in defaultSpeedLevelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
</el-col>
<el-col :span="5">
<el-row>
<el-col :span="9" :offset="2">
<span>开始时间</span>
</el-col>
<el-col :span="13">
<el-time-picker
v-model="editModel.startTime"
placeholder="选择时间"
value-format="HH:mm:ss"
:clearable="false"
<el-row>
<el-col :span="4">
<el-row>
<el-col :span="9" class="lineHeight">
<span>车次号</span>
</el-col>
<el-col :span="15">
<el-select v-model="editModel.tripNumber" size="mini" style="display: inline-black" placeholder="请选择">
<el-option
v-for="item in tripNumberList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-col>
</el-row>
</el-col>
<el-col :span="7">
<el-row>
<el-col :span="22" :offset="2">
<el-row>
<el-col :span="6">
<el-checkbox v-model="editModel.inStock">入库</el-checkbox>
</el-col>
<el-col :span="8">
<el-checkbox v-model="editModel.outStock">出库</el-checkbox>
</el-col>
<el-col :span="6">
<el-checkbox v-model="editModel.lastTrain">末班车</el-checkbox>
</el-col>
</el-row>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row style="margin-bottom: 5px;">
交路
</el-row>
<el-row>
<el-table :data="editModel.routingList" border :height="140">
<el-table-column prop="startStationCode" label="起始站">
<template slot-scope="scope">
{{ formatName(scope.row.startStationCode) }}
</template>
</el-table-column>
<el-table-column prop="startSectionCode" label="起始区段" />
<el-table-column prop="endStationCode" label="终到站">
<template slot-scope="scope">
{{ formatName(scope.row.endStationCode) }}
</template>
</el-table-column>
<el-table-column prop="endSectionCode" label="终到区段" />
<el-table-column prop="remarks" label="描述" :width="280" />
<el-table-column :width="40" />
</el-table>
</el-row>
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
详情
</el-row>
<el-row>
<el-table :data="editModel.arriveConfigList" border :height="180">
<el-table-column prop="stationCode" label="车站">
<template slot-scope="scope">
{{ formatName(scope.row.stationCode) }}
</template>
</el-table-column>
<el-table-column prop="sectionCode" label="区段">
<template slot-scope="scope">
{{ formatName(scope.row.sectionCode) }}
</template>
</el-table-column>
<el-table-column prop="arriveTime" label="到点" />
<el-table-column prop="stopTime" label="停站时间" />
<el-table-column prop="departureTime" label="发点" />
<el-table-column prop="speedLevel" label="运行等级" />
</el-table>
</el-row>
<el-row>
<el-col :offset="16">
<el-checkbox v-model="editModel.default">显示默认停站时间和运行等级</el-checkbox>
</el-col>
</el-row>
</div>
<el-row type="flex" justify="center" class="button-group">
<el-button @click="handleCommit"> </el-button>
<el-button @click="doClose"> </el-button>
</el-select>
</el-col>
</el-row>
</el-col>
<el-col :span="2">
<el-row>
<el-col :offset="8" class="lineHeight">
<el-checkbox v-model="editModel.trainManual">手工</el-checkbox>
</el-col>
</el-row>
</el-col>
<el-col :span="6">
<el-row>
<el-col :span="11" :offset="1" class="lineHeight">
<span>缺省停站时间</span>
</el-col>
<el-col :span="12">
<el-select
v-model="editModel.defaultStopTime"
style="display: inline-black"
size="mini"
placeholder="请选择"
>
<el-option
v-for="item in defaultStopTimeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
</el-col>
<el-col :span="5">
<el-row>
<el-col :span="9" :offset="2" class="lineHeight">
<span>表号</span>
</el-col>
<el-col :span="13">
<el-input v-model="editModel.serviceNumber" size="mini" />
</el-col>
</el-row>
</el-col>
<el-col :span="7" class="lineHeight">
<el-row>
<el-col :span="22" :offset="2">
<el-row>
<el-col :span="6">
<el-checkbox v-model="editModel.clearGuest">清客</el-checkbox>
</el-col>
<el-col :span="8">
<el-checkbox v-model="editModel.continuationPlan">延续计划</el-checkbox>
</el-col>
<el-col :span="6">
<el-checkbox v-model="editModel.firstTrain">首班车</el-checkbox>
</el-col>
</el-row>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-row>
<el-col :span="9" class="lineHeight">
<span>序列号</span>
</el-col>
<el-col :span="15">
<el-select v-model="editModel.serialNumber" size="mini" style="display: inline-black" placeholder="请选择">
<el-option
v-for="item in serialNumberList"
:key="item.value"
:label="item.label"
:value="editModel.value"
/>
</el-select>
</el-col>
</el-row>
</el-col>
<el-col :span="2">
<el-row>
<el-col :offset="8" class="lineHeight">
<el-checkbox v-model="editModel.serialManual" size="mini">手工</el-checkbox>
</el-col>
</el-row>
</el-col>
<el-col :span="6" class="lineHeight">
<el-row>
<el-col :span="11" :offset="1">
<span>缺省运行等级</span>
</el-col>
<el-col :span="12">
<el-select
v-model="editModel.defaultSpeedLevel"
style="display: inline-black"
size="mini"
placeholder="请选择"
>
<el-option
v-for="item in defaultSpeedLevelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
</el-col>
<el-col :span="5" class="lineHeight">
<el-row>
<el-col :span="9" :offset="2">
<span>开始时间</span>
</el-col>
<el-col :span="13">
<el-time-picker
v-model="editModel.startTime"
placeholder="选择时间"
value-format="HH:mm:ss"
size="mini"
:clearable="false"
/>
</el-col>
</el-row>
</el-col>
<el-col :span="7" class="lineHeight">
<el-row>
<el-col :span="22" :offset="2">
<el-row>
<el-col :span="6">
<el-checkbox v-model="editModel.inStock">入库</el-checkbox>
</el-col>
<el-col :span="8">
<el-checkbox v-model="editModel.outStock">出库</el-checkbox>
</el-col>
<el-col :span="6">
<el-checkbox v-model="editModel.lastTrain">末班车</el-checkbox>
</el-col>
</el-row>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row style="margin-bottom: 5px;">
交路
</el-row>
<el-row>
<el-table :data="editModel.routingList" border :height="140">
<el-table-column prop="startStationCode" label="起始站">
<template slot-scope="scope">
{{ formatName(scope.row.startStationCode) }}
</template>
</el-table-column>
<el-table-column prop="startSectionCode" label="起始区段" />
<el-table-column prop="endStationCode" label="终到站">
<template slot-scope="scope">
{{ formatName(scope.row.endStationCode) }}
</template>
</el-table-column>
<el-table-column prop="endSectionCode" label="终到区段" />
<el-table-column prop="remarks" label="描述" :width="280" />
<el-table-column :width="40" />
</el-table>
</el-row>
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
详情
</el-row>
<el-row>
<el-table :data="editModel.arriveConfigList" border :height="180">
<el-table-column prop="stationCode" label="车站">
<template slot-scope="scope">
{{ formatName(scope.row.stationCode) }}
</template>
</el-table-column>
<el-table-column prop="sectionCode" label="区段">
<template slot-scope="scope">
{{ formatName(scope.row.sectionCode) }}
</template>
</el-table-column>
<el-table-column prop="arriveTime" label="到点" />
<el-table-column prop="stopTime" label="停站时间" />
<el-table-column prop="departureTime" label="发点" />
<el-table-column prop="speedLevel" label="运行等级" />
</el-table>
</el-row>
<el-row>
<el-col :offset="16">
<el-checkbox v-model="editModel.default">显示默认停站时间和运行等级</el-checkbox>
</el-col>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button size="medium" @click="doClose"> </el-button>
<el-button type="primary" size="medium" @click="handleCommit"> </el-button>
</span>
</el-dialog>
</template>
@ -417,28 +418,27 @@ export default {
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
.lineHeight{
height: 28px;
line-height: 28px;
}
/deep/ {
.el-button {
margin-left: 40px !important;
margin-right: 40px !important;
}
.el-row {
margin-bottom: 5px !important;
}
.el-dialog .el-input__inner {
height: 20px !important;
line-height: 20px !important;
}
.add-task{
/deep/ {
.el-dialog__body{
padding: 0 20px;
}
.el-dialog .el-input {
width: 120px !important;
}
.el-icon-time:before {
position: relative;
top: -10px;
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -17,10 +17,10 @@
{{ params.message }}
</el-col>
</el-row>
<el-row type="flex" justify="center" class="button-group">
<el-button @click="handleCommit"> </el-button>
<el-button @click="doClose"> </el-button>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button size="medium" @click="doClose"> </el-button>
<el-button type="primary" size="medium" @click="handleCommit"> </el-button>
</span>
</el-dialog>
</template>
@ -39,7 +39,7 @@ export default {
},
computed: {
title() {
return 'offline';
return '删除计划车';
},
width() {
if (this.params.width) {
@ -75,4 +75,15 @@ export default {
width: 40px;
}
}
.add-planning-train{
/deep/ {
.el-dialog__body{
padding: 10px 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -11,10 +11,10 @@
:close-on-click-modal="false"
>
<el-input v-model="context" type="textarea" :rows="10" readonly />
<el-row type="flex" justify="center" class="button-group">
<el-button @click="handleCommit"> </el-button>
<el-button @click="doClose"> </el-button>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button size="medium" @click="doClose"> </el-button>
<el-button type="primary" size="medium" @click="handleCommit"> </el-button>
</span>
</el-dialog>
</template>
@ -68,4 +68,15 @@ export default {
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
.systerm-out{
/deep/ {
.el-dialog__body{
padding: 10px 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -120,7 +120,8 @@ export default {
tooltip: {
axisPointer: {
trigger: 'item',
type: 'cross'
type: 'cross',
snap: true
},
formatter: this.axisTooltip,
borderWidth: 1
@ -282,17 +283,19 @@ export default {
}
});
}
});
this.myChart && this.myChart.setOption({ series:
{
name: 'trainLabel',
lineStyle: {
color: 'green'
},
type: 'line',
data: data
if (item.name == 'trainLabel') {
item.data = [];
}
});
op.series.push({
name: 'trainLabel',
lineStyle: {
color: 'green'
},
type: 'line',
data: data
});
this.myChart && this.myChart.setOption(op);
}
this.$store.dispatch('runPlan/setSelected', { serviceNumber: serviceNumber, tripNumber: tripNumber });
@ -461,7 +464,7 @@ export default {
that.myChart = ec.init(document.getElementById(that.runPlanId));
that.myChart.setOption(that.option);
that.reSize({ width: that.$store.state.runPlan.width, height: that.$store.state.runPlan.height });
that.myChart.on('click', that.mouseClick);
// that.myChart.on('click', that.mouseClick);
resolve(true);
}
);
@ -526,25 +529,24 @@ export default {
`到站时间: ${timeFormat(param.data[0] + this.planConvert.TranslationTime)} (${param.data[0]})<br>`
].join('');
},
mouseClick(params) {
const model = {
serviceNumber: params.seriesName
};
// mouseClick(params) {
// const model = {
// serviceNumber: params.seriesName
// };
const op = this.myChart.getOption();
op.series.forEach(item => {
item.lineStyle.color = '#000';
if (item.name == params.seriesName) {
item.lineStyle.color = 'red';
}
if (item.name == 'trainLabel') {
item.data = [];
}
});
this.myChart.setOption(op);
this.$store.dispatch('runPlan/setSelected', model);
},
// const op = this.myChart.getOption();
// op.series.forEach(item => {
// item.lineStyle.color = '#000';
// if (item.name == params.seriesName) {
// item.lineStyle.color = 'red';
// }
// if (item.name == 'trainLabel') {
// item.data = [];
// }
// });
// this.myChart.setOption(op);
// this.$store.dispatch('runPlan/setSelected', model);
// },
reSize(opt) {
if (this.myChart) {
this.myChart.resize({