Commit 3d849d39 authored by Marcus's avatar Marcus

Merge remote-tracking branch 'origin/dev' into dev

parents 2f46b0e5 2d93c663
......@@ -27,9 +27,9 @@ export function deleteOrder(id) {
}
// 获得订单
export function getOrder(id) {
export function getOrder(orderId) {
return request({
url: '/ecw/order/get?id=' + id,
url: '/ecw/order/info/' + orderId,
method: 'get'
})
}
......
......@@ -52,3 +52,21 @@ export function exportProductPriceExcel(query) {
responseType: 'blob'
})
}
// 批量获得产品价格
export function getProductPriceList(query) {
return request({
url: '/ecw/product-price/list',
method: 'get',
params: query
})
}
// 批量修改产品价格
export function batchUpdateProductPrice(query) {
return request({
url: '/ecw/product-price/batchUpdate',
method: 'put',
data: query
})
}
......@@ -34,6 +34,14 @@ export function getWarehouseArea(id) {
})
}
// 获得仓库查询库域
export function getByWarehouseId() {
return request({
url: '/ecw/warehouse-area/getByWarehouseId',
method: 'get'
})
}
// 获得库区库域分页
export function getWarehouseAreaPage(query) {
return request({
......
src/assets/images/shipping/bc-start.png

3.14 KB | W: | H:

src/assets/images/shipping/bc-start.png

1.88 KB | W: | H:

src/assets/images/shipping/bc-start.png
src/assets/images/shipping/bc-start.png
src/assets/images/shipping/bc-start.png
src/assets/images/shipping/bc-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/bg-start.png

2.98 KB | W: | H:

src/assets/images/shipping/bg-start.png

1.81 KB | W: | H:

src/assets/images/shipping/bg-start.png
src/assets/images/shipping/bg-start.png
src/assets/images/shipping/bg-start.png
src/assets/images/shipping/bg-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/dc-start.png

2.58 KB | W: | H:

src/assets/images/shipping/dc-start.png

1.55 KB | W: | H:

src/assets/images/shipping/dc-start.png
src/assets/images/shipping/dc-start.png
src/assets/images/shipping/dc-start.png
src/assets/images/shipping/dc-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/dg-start.png

2.86 KB | W: | H:

src/assets/images/shipping/dg-start.png

1.81 KB | W: | H:

src/assets/images/shipping/dg-start.png
src/assets/images/shipping/dg-start.png
src/assets/images/shipping/dg-start.png
src/assets/images/shipping/dg-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/pc-start.png

3.08 KB | W: | H:

src/assets/images/shipping/pc-start.png

1.92 KB | W: | H:

src/assets/images/shipping/pc-start.png
src/assets/images/shipping/pc-start.png
src/assets/images/shipping/pc-start.png
src/assets/images/shipping/pc-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/qg-start.png

2.27 KB | W: | H:

src/assets/images/shipping/qg-start.png

1.31 KB | W: | H:

src/assets/images/shipping/qg-start.png
src/assets/images/shipping/qg-start.png
src/assets/images/shipping/qg-start.png
src/assets/images/shipping/qg-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/qy-start.png

2.74 KB | W: | H:

src/assets/images/shipping/qy-start.png

1.71 KB | W: | H:

src/assets/images/shipping/qy-start.png
src/assets/images/shipping/qy-start.png
src/assets/images/shipping/qy-start.png
src/assets/images/shipping/qy-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/tc-start.png

2.81 KB | W: | H:

src/assets/images/shipping/tc-start.png

1.81 KB | W: | H:

src/assets/images/shipping/tc-start.png
src/assets/images/shipping/tc-start.png
src/assets/images/shipping/tc-start.png
src/assets/images/shipping/tc-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/xg-start.png

3.01 KB | W: | H:

src/assets/images/shipping/xg-start.png

1.86 KB | W: | H:

src/assets/images/shipping/xg-start.png
src/assets/images/shipping/xg-start.png
src/assets/images/shipping/xg-start.png
src/assets/images/shipping/xg-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/yz-start.png

2.94 KB | W: | H:

src/assets/images/shipping/yz-start.png

1.81 KB | W: | H:

src/assets/images/shipping/yz-start.png
src/assets/images/shipping/yz-start.png
src/assets/images/shipping/yz-start.png
src/assets/images/shipping/yz-start.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -26,15 +26,15 @@ export default {
},
data(){
return {
index: {},
index: null,
list:[],
loading: false
}
},
watch:{
index(val){
this.$emit('input', val !== null ? this.list[val].id : null)
this.$emit('change', val !== null ? this.list[val] : null)
this.$emit('input', val !== null ? this.list[val].id: null)
this.$emit('change', val !== null ? this.list[val]: null)
},
value(val){
this.init()
......@@ -45,7 +45,7 @@ export default {
},
methods:{
init(){
if(!this.value) return null
if(!this.value) return
let index = this.list.findIndex(item => item.id == this.value)
if(index < 0){
getCustomer(this.value).then(res => {
......
......@@ -34,7 +34,12 @@
import {getCustomerSelect, getCustomerList} from '@/api/ecw/customer'
export default {
props:{
value: [Array]
value: {
type: Array,
default: () => {
return []
}
}
},
data(){
return {
......@@ -60,16 +65,16 @@ export default {
customerIds(val){
this.$emit('input', val)
},
value(val, old){
if(val.sort().join(',') != old.sort().join(',')){
value(val){
if(Array.from(new Set(val)).sort().join(',') != Array.from(new Set(this.customerIds)).sort().join(',')){
this.getChoosedList()
}
}
},
created(){
if(this.value && this.value.length){
/* if(this.value && this.value.length){
this.getChoosedList()
}
} */
this.reLoad()
},
methods:{
......
......@@ -44,7 +44,9 @@ export default {
props: {
defaultIds: {
type: Array,
default: []
default: () => {
return []
}
}
},
data() {
......
......@@ -284,24 +284,24 @@ export const constantRoutes = [
]
},
{
path: '/box',
path: '/boxSea',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
/* {
path: 'query/:boxId(\\d+)',
component: (resolve) => import('@/views/ecw/box/query'),
props: true,
name: 'boxQuery',
meta: {title: '出货详情', icon: '', activeMenu: '/shipment/box'}
},
}, */
{
path: 'shippingSea/:boxId(\\d+)',
component: (resolve) => import('@/views/ecw/box/shipping/shippingSea'),
props: true,
name: 'shippingSea',
meta: {title: '海运出货操作', icon: '', activeMenu: '/shipment/box'}
meta: {title: '海运出货操作', icon: '', activeMenu: '/shipment/boxSea'}
}
]
},
......
......@@ -55,6 +55,7 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
title: route.name,
icon: route.icon
}
route.hidden = typeof route.isShowInMenuBar != 'undefined' && (route.isShowInMenuBar == 'false' || !route.isShowInMenuBar)
// 处理 component 属性
if (route.children) { // 父节点
// debugger
......
......@@ -351,7 +351,6 @@
},
/** 查看按钮操作 */
handleCommand(row, command) {
console.log(row, command)
switch (command) {
case 'sea':
this.$router.push('/box/shippingSea/' + row.id)
......
......@@ -381,10 +381,9 @@
},
/** 查看按钮操作 */
handleCommand(row, command) {
console.log(row, command)
switch (command) {
case 'sea':
this.$router.push('/box/shippingSea/' + row.id)
this.$router.push('/boxSea/shippingSea/' + row.id)
break;
case 'edit':
......
......@@ -392,7 +392,6 @@
},
/** 查看按钮操作 */
handleCommand(row, command) {
console.log(row, command)
switch (command) {
case 'sea':
this.$router.push('/box/shippingSea/' + row.id)
......
<template>
<el-form ref="bookingForm" :rules="rules" :model="booking" label-width="120px" class="booking-form">
<el-form-item label="SO NO">
<el-input v-model="booking.soNo"></el-input>
</el-form-item>
<el-form-item label="船公司类型">
<el-select v-model="booking.type" placeholder="请选择船公司类型">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="驳船港">
<el-select v-model="booking.bargePort" placeholder="请选择驳船港">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="大船港">
<el-select v-model="booking.bigShipPort" placeholder="请选择大船港">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的港">
<el-select v-model="booking.destination" placeholder="请选择目的港">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="订舱公司">
<el-select v-model="booking.bookingCompany" placeholder="请选择订舱公司">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="预计驳船时间" prop="time">
<el-date-picker type="date" placeholder="请选择日期" v-model="booking.bargeTime"></el-date-picker>
</el-form-item>
<el-form-item label="预计开船时间" prop="time">
<el-date-picker type="date" placeholder="请选择日期" v-model="booking.departureTime"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">提交</el-button>
<el-button @click="cancel">取消</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
name: "booking",
data() {
return {
types: ["PIL", "MSK", "CMA", "COSCO", "ZIM", "ONE", "OOCL", "MSC", "HPL"],
booking: {},
rules: {
time: [{ required: true, message: "请选择时间", trigger: "change" }],
},
};
},
methods: {
onSubmit() {
this.$refs["bookingForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss">
.booking-form {
.el-form-item__content {
> div {
width: 100%;
}
}
}
</style>
<template>
<el-scrollbar :vertical="true">
<section class="shipping-chart">
<div>
<el-scrollbar :vertical="true" style="width: 100%;" viewClass="shipping-chart">
<div v-for="(nodes,index) in chartData['sea']" :key="index" class="chart-nodes">
<div>
<div v-for="node in nodes" :key="node.title" @click="nodeClick(node)" class="node-div">
<template v-if="!node.unNode">
<img :src="node.imgSrc" alt="">
<p>{{node.title}}</p>
</template>
<template v-else-if="node.unNode">
<el-button type="primary">AGENT</el-button>
</template>
</div>
</div>
<div class="chart-arrow" v-if="index !== (chartData['sea'].length-1)">
<p>箭头</p>
<img src="@/assets/images/shipping/jt-start.png" alt="">
</div>
</div>
</section>
</el-scrollbar>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" destroy-on-close>
<booking @closeDialog="closeDialog" v-if="type === 'booking'" />
<trailer @closeDialog="closeDialog" v-if="type === 'trailer'" />
</el-dialog>
</div>
</template>
<script>
import booking from "./booking";
import trailer from "./trailer";
export default {
name: "flowChart",
components: { booking, trailer },
props: {
shippingType: String,
},
data() {
return {
dialogVisible: false,
title: "",
type: "",
chartData: {
sea: [
[
......@@ -44,6 +61,10 @@ export default {
imgSrc: require("@/assets/images/shipping/tc-start.png"),
type: "trailer",
},
{
unNode: true,
agent: true,
},
],
[
{
......@@ -116,7 +137,6 @@ export default {
title: "结算",
imgSrc: require("@/assets/images/shipping/js-start.png"),
type: "settlement",
isEnd: true,
},
],
],
......@@ -124,30 +144,46 @@ export default {
};
},
methods: {
closeDialog() {
this.dialogVisible = false;
},
nodeClick(node) {
console.log(node);
switch (node.type) {
case "booking":
case "trailer":
this.dialogVisible = true;
this.title = node.title;
this.type = node.type;
break;
}
},
},
};
</script>
<style lang="scss" scoped>
<style lang="scss">
.shipping-chart {
width: max-content;
display: flex;
justify-content: center;
margin: 10px;
.chart-nodes {
p {
margin: 0;
text-align: center;
}
display: flex;
align-items: center;
justify-content: center;
.node-div {
margin-top: 10px;
cursor: pointer;
p {
margin-top: -10px;
margin-bottom: 0px;
text-align: center;
}
}
}
.chart-arrow {
// margin: -15px 10px 0px 10px;
margin: 0 10px;
}
}
......
......@@ -39,6 +39,6 @@ export default {
<style lang="scss" scoped>
.shipping-flow {
margin-top: 15px;
margin-top: 5px;
}
</style>
<template>
<el-form ref="trailerForm" :rules="rules" :model="trailer" label-width="120px" class="trailer-form">
<el-form-item label="状态">
<el-select v-model="trailer.status" placeholder="请选择状态">
<el-option v-for="item in status" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="拖车公司">
<el-select v-model="trailer.trailerCompany" placeholder="请选择拖车公司">
<el-option v-for="item in status" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="拖车时间" prop="time">
<el-date-picker type="date" placeholder="请选择日期" v-model="trailer.trailerTime"></el-date-picker>
</el-form-item>
<el-form-item label="车牌">
<el-input v-model="trailer.licensePlate"></el-input>
</el-form-item>
<el-form-item label="司机">
<el-input v-model="trailer.driver"></el-input>
</el-form-item>
<el-form-item label="司机联系方式">
<el-input v-model="trailer.telephone"></el-input>
</el-form-item>
<el-form-item label="货柜号">
<el-input v-model="trailer.containerNumber"></el-input>
</el-form-item>
<el-form-item label="封条">
<el-input v-model="trailer.seal"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">提交</el-button>
<el-button @click="cancel">取消</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
name: "trailer",
data() {
return {
status: [
{
value: "1",
label: "已派车,待提柜",
},
{
value: "2",
label: "已提柜,待还柜",
},
{
value: "3",
label: "已还柜",
},
],
trailer: {},
rules: {
time: [{ required: true, message: "请选择时间", trigger: "change" }],
},
};
},
methods: {
onSubmit() {
this.$refs["trailerForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss">
.trailer-form {
.el-form-item__content {
> div {
width: 100%;
}
}
}
</style>
......@@ -670,7 +670,7 @@ export default {
// 添加的提交
createOffer(data).then(response => {
this.$modal.msgSuccess("新增成功");
this.$router.replace('offer/index')
this.$router.replace('index')
});
});
},
......
<template>
<div class="app-container">
<el-card class="card">
<div slot="header" class="card-title">订单详情-EC00636U-CNG2506-01</div>
<div slot="header" class="card-title">订单编号:EC00636U</div>
<el-row :gutter="20">
<el-col :span="12">
<el-descriptions class="margin-top" border title="发货人" :column="2">
<el-descriptions-item label="发货人">kooriookami</el-descriptions-item>
<el-descriptions-item label="发货人电话">18100000000</el-descriptions-item>
<el-descriptions-item label="发货人邮箱">18100000000</el-descriptions-item>
<el-descriptions-item label="发货人公司名称">
<el-tag size="small">学校学校学校学校</el-tag>
</el-descriptions-item>
</el-descriptions>
</el-col>
<el-col :span="12">
<el-descriptions class="margin-top" border title="收货人" :column="2">
<el-descriptions-item label="收货人">kooriookami</el-descriptions-item>
<el-descriptions-item label="收货人电话">18100000000</el-descriptions-item>
<el-descriptions-item label="收货人邮箱">18100000000</el-descriptions-item>
<el-descriptions-item label="收货人公司名称">
<el-tag size="small">学校学校学校学校</el-tag>
</el-descriptions-item>
</el-descriptions>
</el-col>
</el-row>
</el-card>
<el-card class="card">
<div slot="header" class="card-title">物流信息/基础信息</div>
<el-row :gutter="20">
<el-col :span="12">
<el-descriptions class="margin-top" border title="物流信息" :column="2">
<el-descriptions-item label="始发仓">广州仓</el-descriptions-item>
<el-descriptions-item label="目的仓">Dubai</el-descriptions-item>
<el-descriptions-item label="地址" :span="2">广州市白云区鹤边鹤泰二横路民通院内第一栋捷道仓库E&C(收货时间周一至周六10:00-19:30)
</el-descriptions-item>
<el-descriptions-item label="运输方式">海运拼柜</el-descriptions-item>
<el-descriptions-item label="出货渠道">/</el-descriptions-item>
</el-descriptions>
</el-col>
<el-col :span="12">
<el-descriptions class="margin-top" border title="基础信息" :column="2">
<el-descriptions-item label="唛头">kooriookami</el-descriptions-item>
<el-descriptions-item label="送货时间">2022-05-22</el-descriptions-item>
<el-descriptions-item label="是否控货"></el-descriptions-item>
<el-descriptions-item label="填单信息">22箱 1000KG 14m³</el-descriptions-item>
<el-descriptions-item label="仓库实测">123箱 900Kg 11.23m³</el-descriptions-item>
<el-descriptions-item label="收款数据">123箱 900Kg 11.23m³</el-descriptions-item>
<el-descriptions-item label="入仓类型">一次到齐</el-descriptions-item>
<el-descriptions-item label="单证报关">我司全代</el-descriptions-item>
<el-descriptions-item label="代收货款">是(50000美元)</el-descriptions-item>
</el-descriptions>
</el-col>
</el-row>
</el-card>
<el-card class="card">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="货物详情" name="first">
<el-table :data="tableData" border style="width: 100%">
<el-table-column prop="date" label="中文品名" />
<el-table-column prop="name" label="英文品名" />
<el-table-column prop="address" label="品牌" />
<el-table-column prop="address" label="填单件数" />
<el-table-column prop="address" label="入仓件数" />
<el-table-column prop="address" label="单位" />
<el-table-column prop="address" label="货值" />
<el-table-column prop="address" label="材质" />
<el-table-column prop="address" label="体积(m3)" />
<el-table-column prop="address" label="重量(kg)" />
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</el-tab-pane>
<el-tab-pane label="订单动态" name="second">
<el-timeline :reverse="true">
<el-timeline-item v-for="(activity, index) in activities" :key="index" :timestamp="activity.timestamp">
{{ activity.content }}
</el-timeline-item>
</el-timeline>
</el-tab-pane>
<el-tab-pane label="运单资料/提货单" name="three">
<el-descriptions class="margin-top" border title="" :column="3">
<el-descriptions-item label="单票立即转运"></el-descriptions-item>
<el-descriptions-item label="包装类型">纸箱</el-descriptions-item>
<el-descriptions-item label="包装要求备注">多个订单一起打包,不要单独打</el-descriptions-item>
</el-descriptions>
<el-button type="text">查看入仓单</el-button>
<el-button type="text" disabled>
<el-dropdown>
<span class="el-dropdown-link">
查看提货单<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>海运提货单</el-dropdown-item>
<el-dropdown-item>空运提货单</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-button>
<el-button :disabled="true" type="text">装箱单未上传</el-button>
</el-tab-pane>
</el-tabs>
</el-card>
</div>
</template>
<script>
import { getOrder } from '@/api/ecw/order'
export default {
name: "detail",
components: {
},
data() {
return {
// 遮罩层
loading: false,
list: [],
activeName: 'first',
orderId: 17,
tableData: [],
queryParams: {
pageNo: 1,
pageSize: 10,
},
activities: [{
content: '活动按期开始',
timestamp: '2018-04-15'
}, {
content: '通过审核',
timestamp: '2018-04-13'
}, {
content: '创建成功',
timestamp: '2018-04-11'
}]
};
},
created() {
if (this.$route.query.orderId) {
this.orderId = this.$route.query.orderId
this.getList();
}
this.getList();
},
methods: {
/** 查询列表 */
getList() {
let that = this
that.loading = true;
// 执行查询
getOrder(that.orderId).then(response => {
that.list = response.data;
});
},
}
};
</script>
<style scoped>
.card {
margin-bottom: 20px;
}
.el-dropdown-link {
cursor: pointer;
color: #409EFF;
}
.el-icon-arrow-down {
font-size: 12px;
}
</style>
......@@ -67,7 +67,7 @@
</el-descriptions-item>
<el-descriptions-item label="*目的城市">
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="objectiveId" required error="目的城市必选">
<el-select v-model="form.objectiveId" placeholder="请选择始发地">
<el-select v-model="form.objectiveId" placeholder="请选择目的地">
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
......
This diff is collapsed.
<template>
<div>
<el-dialog
title="选择储位"
:visible.sync="opened"
width="600px"
:before-close="handleClose()"
>
<el-tabs v-model="activeName" type="card">
<el-tab-pane :label="item.name" :name="'' + index" v-for="(item, index) in area" :key="index">
<div>
<div style="text-align: center">区域</div>
<div style="background-color: #efefef;padding: 10px 10px 0;border: #dcdcdc solid 1px;border-radius: 2px">
<el-row :gutter="10">
<el-col :span="12" v-for="(warehouse, i) in item.children" :key="i">
<div
class="warehouse-block warehouse-block-selected"
:class="{active: selected.find(domain => domain.pid === warehouse.id)}"
@click="handleSelectWarehouse(warehouse)"
>
{{ warehouse.name }}
</div>
</el-col>
</el-row>
</div>
</div>
<div>
<div style="text-align: center">仓位</div>
</div>
<el-divider></el-divider>
已选择:
<el-divider></el-divider>
</el-tab-pane>
</el-tabs>
<span slot="footer">
<el-button @click="opened = false">关 闭</el-button>
<el-button type="primary" @click="opened = false">提 交</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { getByWarehouseId } from '@/api/ecw/warehouseArea'
export default {
name: 'WarehouseAreaDialog',
props: {
visible: {
type: Boolean,
default: false
},
},
data() {
return {
opened: false,
key: 0,
area: [],
activeName: '0',
selected: []
};
},
watch: {
visible(val) {
if (val) {
this.opened = true
} else {
}
},
opened(val) {
if (val) {
} else {
this.$emit('update:visible', false)
}
}
},
methods: {
handleClose() {},
handleSelectWarehouse(warehouse) {
console.log(warehouse)
}
},
mounted() {
if (this.visible) {
this.opened = true
}
getByWarehouseId().then(r => {
this.area = r.data
})
},
}
</script>
<style scoped>
.warehouse-block{
background-color: white;
border-radius: 5px;
height: 42px;
line-height: 42px;
text-align: center;
margin-bottom: 10px;
cursor: pointer;
}
.warehouse-block:hover, .warehouse-block .active{
color: #ffffff;
background-color: #388fe5;
}
.warehouse-block-selected{
border: #388fe5 solid 5px;
}
</style>
This diff is collapsed.
......@@ -60,8 +60,10 @@
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:product-price:create']">新增</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['ecw:product-price:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-setting" size="mini" @click="handleEdit" :disabled="multiple" v-hasPermi="['ecw:product:attr']">批量设置路线</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
......@@ -71,7 +73,8 @@
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"></el-table-column>
<el-table-column label="序号" prop="id" width="50" />
<el-table-column label="商品编码" align="center" prop="productCode" >
......@@ -347,6 +350,12 @@ export default {
},
data() {
return {
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
//特性列表
attrList:[],
typeList: [],
......@@ -708,6 +717,10 @@ export default {
this.open = true;
this.title = "添加路线价格";
},
// 批量设置路线
handleEdit() {
this.$router.push('product-price/edit?id=' + this.ids)
},
/** 修改按钮操作 */
handleUpdate(row) {
return this.$router.push('product-price/edit?id=' + row.id)
......@@ -826,6 +839,12 @@ export default {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {});
},
// 表格多选
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
}
}
};
......
......@@ -78,6 +78,11 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 2">
<el-form-item label="显示菜单" prop="isShowInMenuBar">
<dict-selector v-model="form.isShowInMenuBar" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" formatter="bool" form-type="radio" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item v-if="form.type != '3'" label="菜单图标">
<el-popover placement="bottom-start" width="460" trigger="click" @show="$refs['iconSelect'].reset()">
......@@ -242,6 +247,7 @@ export default {
parentId: 0,
name: undefined,
icon: undefined,
isShowInMenuBar: undefined,
type: SystemMenuTypeEnum.DIR,
sort: undefined,
status: CommonStatusEnum.ENABLE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment