desc: 调整琏计划运行图样式
This commit is contained in:
parent
c777b3dbcc
commit
ab9a02e232
@ -101,4 +101,5 @@ export default {
|
|||||||
orderSelectionItem: '订单选择商品',
|
orderSelectionItem: '订单选择商品',
|
||||||
orderDetails: '订单详情',
|
orderDetails: '订单详情',
|
||||||
statusType: '状态类型',
|
statusType: '状态类型',
|
||||||
|
createPackage: '创建权限'
|
||||||
};
|
};
|
||||||
|
@ -97,6 +97,7 @@ import AuthorDraft from '@/views/orderauthor/author/draft/ruleForm';
|
|||||||
import Permission from '@/views/orderauthor/permission/index';
|
import Permission from '@/views/orderauthor/permission/index';
|
||||||
import PermissionDetail from '@/views/orderauthor/permission/detail';
|
import PermissionDetail from '@/views/orderauthor/permission/detail';
|
||||||
import PermissionDraft from '@/views/orderauthor/permission/draft/ruleForm';
|
import PermissionDraft from '@/views/orderauthor/permission/draft/ruleForm';
|
||||||
|
import PermissionCreate from '@/views/orderauthor/permission/create/index';
|
||||||
|
|
||||||
import UserRules from '@/views/orderauthor/rules/index';
|
import UserRules from '@/views/orderauthor/rules/index';
|
||||||
import UserRulesDetail from '@/views/orderauthor/rules/detail';
|
import UserRulesDetail from '@/views/orderauthor/rules/detail';
|
||||||
@ -220,7 +221,8 @@ export const UrlConfig = {
|
|||||||
authorDetail: '/orderauthor/author/detail',
|
authorDetail: '/orderauthor/author/detail',
|
||||||
authorDraft: '/orderauthor/author/draft',
|
authorDraft: '/orderauthor/author/draft',
|
||||||
transferDetail: '/orderauthor/transfer/detail',
|
transferDetail: '/orderauthor/transfer/detail',
|
||||||
trainferPackage: '/orderauthor/transfer/package'
|
trainferPackage: '/orderauthor/transfer/package',
|
||||||
|
createPackage: '/orderauthor/transfer/create'
|
||||||
},
|
},
|
||||||
script: {
|
script: {
|
||||||
prefix: '/script',
|
prefix: '/script',
|
||||||
@ -934,6 +936,11 @@ export const asyncRouter = [
|
|||||||
path: 'transfer/package',
|
path: 'transfer/package',
|
||||||
component: PermissionDraft,
|
component: PermissionDraft,
|
||||||
hidden: true
|
hidden: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'transfer/create',
|
||||||
|
component: PermissionCreate,
|
||||||
|
hidden: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-card>
|
<el-card>
|
||||||
<!-- <turnback-bar :title="turnbackBarTitle"></turnback-bar> -->
|
|
||||||
<div class="pack-box" :style="{ height: height +'px' }">
|
<div class="pack-box" :style="{ height: height +'px' }">
|
||||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||||
<el-steps class="steps" :active="display">
|
<el-steps class="steps" :active="display">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
<div slot="footer" class="dialog-footer">
|
<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>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
172
src/views/orderauthor/permission/create/goods.vue
Normal file
172
src/views/orderauthor/permission/create/goods.vue
Normal 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>
|
158
src/views/orderauthor/permission/create/index.vue
Normal file
158
src/views/orderauthor/permission/create/index.vue
Normal 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>
|
330
src/views/orderauthor/permission/create/order.vue
Normal file
330
src/views/orderauthor/permission/create/order.vue
Normal 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>
|
186
src/views/orderauthor/permission/create/permission.vue
Normal file
186
src/views/orderauthor/permission/create/permission.vue
Normal 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>
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { admin } from '@/router';
|
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 { UrlConfig } from '@/router/index';
|
||||||
import QrCode from '@/components/QrCode';
|
import QrCode from '@/components/QrCode';
|
||||||
import Qcode from './Qcode';
|
import Qcode from './Qcode';
|
||||||
@ -29,23 +29,12 @@ export default {
|
|||||||
},
|
},
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '140px',
|
labelWidth: '140px',
|
||||||
reset: true,
|
reset: false,
|
||||||
queryObject: {
|
queryObject: {
|
||||||
// 'userMobile': {
|
|
||||||
// type: 'text',
|
|
||||||
// label: this.$t('orderAuthor.founderPhone')
|
|
||||||
// },
|
|
||||||
'userName': {
|
'userName': {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: this.$t('orderAuthor.founder')
|
label: this.$t('orderAuthor.founder')
|
||||||
},
|
},
|
||||||
// 'permissionType': {
|
|
||||||
// type: 'select',
|
|
||||||
// label: this.$t('orderAuthor.permissionType'),
|
|
||||||
// config: {
|
|
||||||
// data: []
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
'status': {
|
'status': {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: this.$t('global.status'),
|
label: this.$t('global.status'),
|
||||||
@ -73,29 +62,6 @@ export default {
|
|||||||
title: this.$t('orderAuthor.founder'),
|
title: this.$t('orderAuthor.founder'),
|
||||||
prop: 'userName'
|
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'),
|
title: this.$t('orderAuthor.publicOrPrivate'),
|
||||||
prop: 'canDistribute',
|
prop: 'canDistribute',
|
||||||
@ -182,6 +148,7 @@ export default {
|
|||||||
],
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{ text: this.$t('orderAuthor.privilegePackaging'), btnCode: 'employee_insert', handler: this.handlePackage },
|
{ 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' }
|
{ text: this.$t('orderAuthor.receivingPermission'), handler: this.handlerPermission, show: process.env.NODE_ENV == 'development' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -201,15 +168,6 @@ export default {
|
|||||||
return true;
|
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) {
|
formatterDate(row, porpInfo) {
|
||||||
return row[porpInfo.property] ? row[porpInfo.property] : '---';
|
return row[porpInfo.property] ? row[porpInfo.property] : '---';
|
||||||
@ -254,6 +212,9 @@ export default {
|
|||||||
},
|
},
|
||||||
handlerPermission() {
|
handlerPermission() {
|
||||||
this.$refs.qcode.doShow();
|
this.$refs.qcode.doShow();
|
||||||
|
},
|
||||||
|
handleCreatePackage() {
|
||||||
|
this.$router.push({ path: `${UrlConfig.orderauthor.createPackage}` });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
class="planEdit__tool add-planning-train"
|
class="planEdit__tool add-planning-train"
|
||||||
:title="title"
|
:title="title"
|
||||||
:visible.sync="dialogShow"
|
:visible.sync="dialogShow"
|
||||||
width="260px"
|
width="300px"
|
||||||
:before-close="doClose"
|
:before-close="doClose"
|
||||||
:z-index="2000"
|
:z-index="2000"
|
||||||
:modal="false"
|
:modal="false"
|
||||||
@ -16,10 +16,10 @@
|
|||||||
<el-input v-model="serviceNumber" size="mini" />
|
<el-input v-model="serviceNumber" size="mini" />
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" justify="center" style="margin-top: 20px">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleCommit">确 定</el-button>
|
<el-button size="medium" @click="doClose">取 消</el-button>
|
||||||
<el-button @click="doClose">取 消</el-button>
|
<el-button type="primary" size="medium" @click="handleCommit">确 定</el-button>
|
||||||
</el-row>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -92,10 +92,16 @@ export default {
|
|||||||
.el-input {
|
.el-input {
|
||||||
width: 120px;
|
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>
|
</style>
|
||||||
|
@ -10,128 +10,126 @@
|
|||||||
:modal="false"
|
:modal="false"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
>
|
||||||
<div style="margin: 10px">
|
<el-row>
|
||||||
<el-row>
|
<el-col :span="3" style="height: 28px;line-height: 28px;">
|
||||||
<el-col :span="3">
|
<el-radio v-model="addModel.addToFront" :label="true">加在最前</el-radio>
|
||||||
<el-radio v-model="addModel.addToFront" :label="true">加在最前</el-radio>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="4" style="margin-left: 10px;height: 28px;line-height: 28px;">
|
||||||
<el-col :span="4" style="margin-left: 10px">
|
<span>车次号:</span>
|
||||||
<span>车次号:</span>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="5">
|
||||||
<el-col :span="5">
|
<el-select v-model="addModel.tripNumber" size="mini" placeholder="请选择">
|
||||||
<el-select v-model="addModel.tripNumber" placeholder="请选择">
|
<el-option
|
||||||
<el-option
|
v-for="item in tripNumberList"
|
||||||
v-for="item in tripNumberList"
|
:key="item.value"
|
||||||
:key="item.value"
|
:label="item.label"
|
||||||
:label="item.label"
|
:value="item.value"
|
||||||
:value="item.value"
|
/>
|
||||||
/>
|
</el-select>
|
||||||
</el-select>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="4" style="margin-left: 20px;height: 28px;line-height: 28px;">
|
||||||
<el-col :span="4" style="margin-left: 20px">
|
<span>开始时间:</span>
|
||||||
<span>开始时间:</span>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="5">
|
||||||
<el-col :span="5">
|
<el-time-picker v-model="addModel.startTime" size="mini" value-format="HH:mm:ss" :clearable="false" />
|
||||||
<el-time-picker v-model="addModel.startTime" value-format="HH:mm:ss" :clearable="false" />
|
</el-col>
|
||||||
</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-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>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -311,24 +309,20 @@ export default {
|
|||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin.scss";
|
||||||
|
|
||||||
/deep/ {
|
/deep/ {
|
||||||
.el-button {
|
|
||||||
margin-left: 40px !important;
|
|
||||||
margin-right: 40px !important;
|
|
||||||
margin-top: 10px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-row {
|
.el-row {
|
||||||
margin-bottom: 5px !important;
|
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>
|
</style>
|
||||||
|
@ -16,10 +16,10 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-radio v-model="model.deleteBefore" :label="false">删除以后所有任务(包含本任务)</el-radio>
|
<el-radio v-model="model.deleteBefore" :label="false">删除以后所有任务(包含本任务)</el-radio>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" justify="center" class="button-group">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleCommit">确 定</el-button>
|
<el-button size="medium" @click="doClose">取 消</el-button>
|
||||||
<el-button @click="doClose">取 消</el-button>
|
<el-button type="primary" size="medium" @click="handleCommit">确 定</el-button>
|
||||||
</el-row>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -97,4 +97,15 @@ export default {
|
|||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.delete-task{
|
||||||
|
/deep/ {
|
||||||
|
.el-dialog__body{
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
.dialog-footer{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -29,10 +29,10 @@
|
|||||||
<span>秒</span>
|
<span>秒</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" justify="center" style="margin-top: 20px">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleCommit">确 定</el-button>
|
<el-button size="medium" @click="doClose">取 消</el-button>
|
||||||
<el-button @click="doClose">取 消</el-button>
|
<el-button type="primary" size="medium" @click="handleCommit">确 定</el-button>
|
||||||
</el-row>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -89,11 +89,15 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin.scss";
|
||||||
|
.duplicate-train{
|
||||||
/deep/ {
|
/deep/ {
|
||||||
.el-button {
|
.el-dialog__body{
|
||||||
margin-left: 40px !important;
|
padding: 0 20px;
|
||||||
margin-right: 40px !important;
|
}
|
||||||
}
|
.dialog-footer{
|
||||||
}
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
</el-row>
|
</el-row>
|
||||||
<div class="button-group" style="text-align: center; margin-top: 10px;">
|
<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>
|
<el-button @click="doClose">取消&退出</el-button>
|
||||||
</div>
|
</div>
|
||||||
<update-station-interval-time ref="updateStationIntervalTime" @handleConfirm="handleConfirm" />
|
<update-station-interval-time ref="updateStationIntervalTime" @handleConfirm="handleConfirm" />
|
||||||
|
@ -10,212 +10,213 @@
|
|||||||
:modal="false"
|
:modal="false"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
>
|
||||||
<div style="margin: 10px">
|
<el-row>
|
||||||
<el-row>
|
<el-col :span="4">
|
||||||
<el-col :span="4">
|
<el-row>
|
||||||
<el-row>
|
<el-col :span="9" class="lineHeight">
|
||||||
<el-col :span="9">
|
<span>车次号:</span>
|
||||||
<span>车次号:</span>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="15">
|
||||||
<el-col :span="15">
|
<el-select v-model="editModel.tripNumber" size="mini" style="display: inline-black" placeholder="请选择">
|
||||||
<el-select v-model="editModel.tripNumber" style="display: inline-black" placeholder="请选择">
|
<el-option
|
||||||
<el-option
|
v-for="item in tripNumberList"
|
||||||
v-for="item in tripNumberList"
|
:key="item.value"
|
||||||
:key="item.value"
|
:label="item.label"
|
||||||
:label="item.label"
|
:value="item.value"
|
||||||
: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-col>
|
</el-select>
|
||||||
</el-row>
|
</el-col>
|
||||||
</el-col>
|
</el-row>
|
||||||
<el-col :span="7">
|
</el-col>
|
||||||
<el-row>
|
<el-col :span="2">
|
||||||
<el-col :span="22" :offset="2">
|
<el-row>
|
||||||
<el-row>
|
<el-col :offset="8" class="lineHeight">
|
||||||
<el-col :span="6">
|
<el-checkbox v-model="editModel.trainManual">手工</el-checkbox>
|
||||||
<el-checkbox v-model="editModel.inStock">入库</el-checkbox>
|
</el-col>
|
||||||
</el-col>
|
</el-row>
|
||||||
<el-col :span="8">
|
</el-col>
|
||||||
<el-checkbox v-model="editModel.outStock">出库</el-checkbox>
|
<el-col :span="6">
|
||||||
</el-col>
|
<el-row>
|
||||||
<el-col :span="6">
|
<el-col :span="11" :offset="1" class="lineHeight">
|
||||||
<el-checkbox v-model="editModel.lastTrain">末班车</el-checkbox>
|
<span>缺省停站时间:</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
<el-col :span="12">
|
||||||
</el-col>
|
<el-select
|
||||||
</el-row>
|
v-model="editModel.defaultStopTime"
|
||||||
</el-col>
|
style="display: inline-black"
|
||||||
</el-row>
|
size="mini"
|
||||||
<el-row style="margin-bottom: 5px;">
|
placeholder="请选择"
|
||||||
交路:
|
>
|
||||||
</el-row>
|
<el-option
|
||||||
<el-row>
|
v-for="item in defaultStopTimeList"
|
||||||
<el-table :data="editModel.routingList" border :height="140">
|
:key="item.value"
|
||||||
<el-table-column prop="startStationCode" label="起始站">
|
:label="item.label"
|
||||||
<template slot-scope="scope">
|
:value="item.value"
|
||||||
{{ formatName(scope.row.startStationCode) }}
|
/>
|
||||||
</template>
|
</el-select>
|
||||||
</el-table-column>
|
</el-col>
|
||||||
<el-table-column prop="startSectionCode" label="起始区段" />
|
</el-row>
|
||||||
<el-table-column prop="endStationCode" label="终到站">
|
</el-col>
|
||||||
<template slot-scope="scope">
|
<el-col :span="5">
|
||||||
{{ formatName(scope.row.endStationCode) }}
|
<el-row>
|
||||||
</template>
|
<el-col :span="9" :offset="2" class="lineHeight">
|
||||||
</el-table-column>
|
<span>表号:</span>
|
||||||
<el-table-column prop="endSectionCode" label="终到区段" />
|
</el-col>
|
||||||
<el-table-column prop="remarks" label="描述" :width="280" />
|
<el-col :span="13">
|
||||||
<el-table-column :width="40" />
|
<el-input v-model="editModel.serviceNumber" size="mini" />
|
||||||
</el-table>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
|
</el-col>
|
||||||
详情:
|
<el-col :span="7" class="lineHeight">
|
||||||
</el-row>
|
<el-row>
|
||||||
<el-row>
|
<el-col :span="22" :offset="2">
|
||||||
<el-table :data="editModel.arriveConfigList" border :height="180">
|
<el-row>
|
||||||
<el-table-column prop="stationCode" label="车站">
|
<el-col :span="6">
|
||||||
<template slot-scope="scope">
|
<el-checkbox v-model="editModel.clearGuest">清客</el-checkbox>
|
||||||
{{ formatName(scope.row.stationCode) }}
|
</el-col>
|
||||||
</template>
|
<el-col :span="8">
|
||||||
</el-table-column>
|
<el-checkbox v-model="editModel.continuationPlan">延续计划</el-checkbox>
|
||||||
<el-table-column prop="sectionCode" label="区段">
|
</el-col>
|
||||||
<template slot-scope="scope">
|
<el-col :span="6">
|
||||||
{{ formatName(scope.row.sectionCode) }}
|
<el-checkbox v-model="editModel.firstTrain">首班车</el-checkbox>
|
||||||
</template>
|
</el-col>
|
||||||
</el-table-column>
|
</el-row>
|
||||||
<el-table-column prop="arriveTime" label="到点" />
|
</el-col>
|
||||||
<el-table-column prop="stopTime" label="停站时间" />
|
</el-row>
|
||||||
<el-table-column prop="departureTime" label="发点" />
|
</el-col>
|
||||||
<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-row>
|
</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>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -417,28 +418,27 @@ export default {
|
|||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin.scss";
|
||||||
|
|
||||||
|
.lineHeight{
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
/deep/ {
|
/deep/ {
|
||||||
.el-button {
|
|
||||||
margin-left: 40px !important;
|
|
||||||
margin-right: 40px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-row {
|
.el-row {
|
||||||
margin-bottom: 5px !important;
|
margin-bottom: 5px !important;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.el-dialog .el-input__inner {
|
.add-task{
|
||||||
height: 20px !important;
|
/deep/ {
|
||||||
line-height: 20px !important;
|
.el-dialog__body{
|
||||||
|
padding: 0 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-dialog .el-input {
|
.el-dialog .el-input {
|
||||||
width: 120px !important;
|
width: 120px !important;
|
||||||
}
|
}
|
||||||
|
.dialog-footer{
|
||||||
.el-icon-time:before {
|
display: flex;
|
||||||
position: relative;
|
justify-content: center;
|
||||||
top: -10px;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -17,10 +17,10 @@
|
|||||||
{{ params.message }}
|
{{ params.message }}
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" justify="center" class="button-group">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleCommit">确 定</el-button>
|
<el-button size="medium" @click="doClose">取 消</el-button>
|
||||||
<el-button @click="doClose">取 消</el-button>
|
<el-button type="primary" size="medium" @click="handleCommit">确 定</el-button>
|
||||||
</el-row>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
title() {
|
title() {
|
||||||
return 'offline';
|
return '删除计划车';
|
||||||
},
|
},
|
||||||
width() {
|
width() {
|
||||||
if (this.params.width) {
|
if (this.params.width) {
|
||||||
@ -75,4 +75,15 @@ export default {
|
|||||||
width: 40px;
|
width: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.add-planning-train{
|
||||||
|
/deep/ {
|
||||||
|
.el-dialog__body{
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
.dialog-footer{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -11,10 +11,10 @@
|
|||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
>
|
||||||
<el-input v-model="context" type="textarea" :rows="10" readonly />
|
<el-input v-model="context" type="textarea" :rows="10" readonly />
|
||||||
<el-row type="flex" justify="center" class="button-group">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleCommit">确 定</el-button>
|
<el-button size="medium" @click="doClose">取 消</el-button>
|
||||||
<el-button @click="doClose">取 消</el-button>
|
<el-button type="primary" size="medium" @click="handleCommit">确 定</el-button>
|
||||||
</el-row>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -68,4 +68,15 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin.scss";
|
||||||
|
.systerm-out{
|
||||||
|
/deep/ {
|
||||||
|
.el-dialog__body{
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
.dialog-footer{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -120,7 +120,8 @@ export default {
|
|||||||
tooltip: {
|
tooltip: {
|
||||||
axisPointer: {
|
axisPointer: {
|
||||||
trigger: 'item',
|
trigger: 'item',
|
||||||
type: 'cross'
|
type: 'cross',
|
||||||
|
snap: true
|
||||||
},
|
},
|
||||||
formatter: this.axisTooltip,
|
formatter: this.axisTooltip,
|
||||||
borderWidth: 1
|
borderWidth: 1
|
||||||
@ -282,17 +283,19 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
if (item.name == 'trainLabel') {
|
||||||
this.myChart && this.myChart.setOption({ series:
|
item.data = [];
|
||||||
{
|
|
||||||
name: 'trainLabel',
|
|
||||||
lineStyle: {
|
|
||||||
color: 'green'
|
|
||||||
},
|
|
||||||
type: 'line',
|
|
||||||
data: 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 });
|
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 = ec.init(document.getElementById(that.runPlanId));
|
||||||
that.myChart.setOption(that.option);
|
that.myChart.setOption(that.option);
|
||||||
that.reSize({ width: that.$store.state.runPlan.width, height: that.$store.state.runPlan.height });
|
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);
|
resolve(true);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -526,25 +529,24 @@ export default {
|
|||||||
`到站时间: ${timeFormat(param.data[0] + this.planConvert.TranslationTime)} (${param.data[0]})<br>`
|
`到站时间: ${timeFormat(param.data[0] + this.planConvert.TranslationTime)} (${param.data[0]})<br>`
|
||||||
].join('');
|
].join('');
|
||||||
},
|
},
|
||||||
mouseClick(params) {
|
// mouseClick(params) {
|
||||||
const model = {
|
// const model = {
|
||||||
serviceNumber: params.seriesName
|
// serviceNumber: params.seriesName
|
||||||
};
|
// };
|
||||||
|
|
||||||
const op = this.myChart.getOption();
|
// const op = this.myChart.getOption();
|
||||||
op.series.forEach(item => {
|
// op.series.forEach(item => {
|
||||||
item.lineStyle.color = '#000';
|
// item.lineStyle.color = '#000';
|
||||||
if (item.name == params.seriesName) {
|
// if (item.name == params.seriesName) {
|
||||||
item.lineStyle.color = 'red';
|
// item.lineStyle.color = 'red';
|
||||||
}
|
// }
|
||||||
if (item.name == 'trainLabel') {
|
// if (item.name == 'trainLabel') {
|
||||||
item.data = [];
|
// item.data = [];
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
this.myChart.setOption(op);
|
// this.myChart.setOption(op);
|
||||||
this.$store.dispatch('runPlan/setSelected', model);
|
// this.$store.dispatch('runPlan/setSelected', model);
|
||||||
|
// },
|
||||||
},
|
|
||||||
reSize(opt) {
|
reSize(opt) {
|
||||||
if (this.myChart) {
|
if (this.myChart) {
|
||||||
this.myChart.resize({
|
this.myChart.resize({
|
||||||
|
Loading…
Reference in New Issue
Block a user