Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Fedex
/
imac-vue
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
jinhui.wang
2022-10-19 10:56:26 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
8ecdd5e3d30420eebf94f339cb74ab94a3010db9
8ecdd5e3
1 parent
524cf09e
ver:1.7.0,增加货站查询条件,货站品名导出,修复bug,样式修正
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
237 additions
and
53 deletions
src/api/goodsStation.js
src/settings.js
src/views/allocationConfig/flightAllocConfig/index.vue
src/views/basicInformation/flightInformationMaintenance/index.vue
src/views/basicInformation/goodsStation/dialog.vue
src/views/basicInformation/goodsStation/index.vue
src/views/basicInformation/goodsStationFlight/index.vue
src/views/preMdeConfig/upDateResult.vue
src/api/goodsStation.js
View file @
8ecdd5e
...
...
@@ -49,4 +49,14 @@ export function searchGoods(data) {
method
:
'post'
,
data
:
data
})
}
//查询货站
/**
*/
export
function
findStationName
()
{
return
request
({
url
:
'/goods/findStationName'
,
method
:
'post'
,
})
}
\ No newline at end of file
...
...
src/settings.js
View file @
8ecdd5e
...
...
@@ -58,5 +58,5 @@ module.exports = {
/**
* 版本号
*/
version
:
'version:1.
6
.0'
version
:
'version:1.
7
.0'
}
...
...
src/views/allocationConfig/flightAllocConfig/index.vue
View file @
8ecdd5e
<template>
<div>
<el-form ref="flightAllocForm" :inline="true" :model="queryParams" class="form-header" size="medium"
label-position="right" label-width="auto" @submit.native.prevent>
<el-form-item label="航班号">
<el-input v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList"></el-input>
</el-form-item>
<el-form-item label="航班日期">
<el-date-picker class="formItem" v-model="queryParams.flightDate" type="date" placeholder="选择日期"
value-format="yyyy-MM-dd" clearable>
</el-date-picker>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.status" placeholder="状态">
<el-option label="有效" value="1"></el-option>
<el-option label="停用" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" :loading="loading" @click="getList" size="mini">查询</el-button>
</el-form-item>
<el-form ref="flightAllocForm" :model="queryParams" class="form-header" size="medium" label-position="right"
label-width="auto" @submit.native.prevent>
<el-row>
<el-col :span="6">
<el-form-item label="航班号">
<el-input class="formItem" v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班日期">
<el-date-picker class="formItem" v-model="queryParams.flightDate" type="date" placeholder="选择日期"
value-format="yyyy-MM-dd" clearable :disabled="queryParams.querySpecifyData =='2'">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="状态">
<el-select class="formItem" v-model="queryParams.status" placeholder="状态">
<el-option label="有效" value="1"></el-option>
<el-option label="停用" value="3"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div>
<el-form-item label="日期查询">
<el-switch v-model="queryParams.querySpecifyData" active-value="1" inactive-value="2" active-color="#13ce66"
inactive-color="#909399" @change="switchChange">
</el-switch>
</el-form-item>
<el-button type="primary" icon="el-icon-search" :loading="loading" @click="getList" size="mini">查询</el-button>
<el-button class="mb20" type="primary" icon="el-icon-plus" size="mini" v-hasPermi="['allocation:alloc:add']"
@click="
$router.push({
...
...
@@ -78,6 +90,7 @@ export default {
queryParams: {
purposeOfFlightNo: null,
flightDate: undefined,
querySpecifyData: '2',
status: "1",
start: 0,
limit: 20,
...
...
@@ -149,6 +162,12 @@ export default {
}
this.open = true
},
//开关改变
switchChange(val) {
if (val == '2') {
this.queryParams.flightDate = undefined
}
},
close() {
this.open = false
},
...
...
src/views/basicInformation/flightInformationMaintenance/index.vue
View file @
8ecdd5e
...
...
@@ -240,6 +240,16 @@
:precision="2"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="特殊规则预留总重量" prop="accountTotalWeight">
<el-input class="wid80" v-model="form.accountTotalWeight" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="特殊规则已配重量" prop="accountAllocatedWeight">
<el-input class="wid80" v-model="form.accountAllocatedWeight" disabled />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
...
...
@@ -270,6 +280,7 @@ import {
updateAutoPushBatch,
} from "@/api/findAllFltData";
import { getpreAudit } from '@/api/system/preReview.js'
import { queryRouteByFltNo } from '@/api/destinationFlight.js'
export default {
name: "FlightInformationMaintenance",
...
...
@@ -543,8 +554,12 @@ export default {
}
});
//获取航线
this.getRoute(this.form.fltNo).then(res => {
this.routeList = res.list
queryRouteByFltNo({ fltNo: this.form.fltNo }).then(res => {
if (res.code === 200) {
this.routeList = res.data.list
} else {
this.msgWarning(res.msg)
}
}).catch(err => {
console.log(err)
})
...
...
@@ -873,6 +888,7 @@ export default {
//取消按钮
cancel() {
this.routeList = []
this.routeMultiple = false
this.open = false;
this.findAllFltData();
this.findFltConditionData();
...
...
src/views/basicInformation/goodsStation/dialog.vue
View file @
8ecdd5e
<template>
<div>
<el-dialog
title="新 增" :visible.sync="open" width="25%" :close-on-click-modal="false" :show-close="false
"
append-to-body center>
<el-dialog
:title="openStatus == 'add'?'新 增':'导出Excel'" :visible.sync="open" width="25%
"
:close-on-click-modal="false" :show-close="false"
append-to-body center>
<el-form class="form-header" :model="formData" size="small" ref="addForm" label-width="auto"
label-position="left" style="margin-bottom:10px" :rules="rules" @submit.native.prevent>
<el-form-item label="货站名称" prop="goodsStation">
<el-input type="text" v-model="formData.goodsStation" maxlength="25" placeholder="请输入货站名称">
</el-input>
</el-form-item>
<el-form-item label="品名" prop="goodsList">
<el-input type="textarea" v-model="formData.goodsList" rows="4" maxlength="125"
placeholder="请输入品名,多个用“;”隔开">
</el-input>
</el-form-item>
<div v-if="openStatus == 'add'">
<el-form-item label="货站名称" prop="goodsStation">
<el-input type="text" v-model="formData.goodsStation" maxlength="25" placeholder="请输入货站名称">
</el-input>
</el-form-item>
<el-form-item label="品名" prop="goodsList">
<el-input type="textarea" v-model="formData.goodsList" rows="4" maxlength="125"
placeholder="请输入品名,多个用“;”隔开">
</el-input>
</el-form-item>
</div>
<div v-else>
<el-form-item label="货站名称" prop="goodsStation">
<el-select class="selectWidth100" v-model.lazy="formData.goodsStation" filterable
:loading="goodsStationLoading" placeholder="不限">
<el-option v-for="(item, index) in goodsStationList" :label="item" :value="item"
:key="item">
</el-option>
</el-select>
</el-form-item>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loading" @click="submit">确 定</el-button>
<el-button v-if='openStatus == "add"' type="primary" :loading="loading" @click="submit">确 定</el-button>
<el-button v-else type="primary" :loading="downloading" @click="download">导出Excel</el-button>
<el-button @click="close">取 消</el-button>
</div>
</el-dialog>
...
...
@@ -23,7 +36,8 @@
</template>
<script>
import { batchAddGoods } from "@/api/goodsStation"
import { batchAddGoods, findStationName } from "@/api/goodsStation"
import { downLoadXlsx } from "@/utils/zipdownload";
export default {
name: '',
...
...
@@ -32,19 +46,24 @@ export default {
type: Boolean,
default: false
},
openStatus: {
type: String,
default: 'add'
}
},
data() {
return {
formData: {
goodsStation: null,
goodsList:
null
goodsList:
''
},
goodsStationList: [],
rules: {
goodsStation: [
{
required: true,
message: "货站名称不能为空",
trigger: "
blur
",
trigger: "
change
",
},
],
goodsList: [
...
...
@@ -55,12 +74,34 @@ export default {
},
],
},
goodsStationLoading: false,
downloading: false,
loading: false,
}
},
watch: {
open(val) {
if (val && this.openStatus == 'downloadExcel') {
this.getgoods()
}
}
},
methods: {
//查询货站
getgoods() {
this.goodsStationLoading = true
findStationName().then(res => {
this.goodsStationLoading = false
if (res.code === 200) {
this.goodsStationList = res.data.list
} else {
this.msgWarning(res.msg)
}
}).catch(err => {
this.goodsStationLoading = false
console.log(err)
})
},
//提交
submit() {
let obj = {}
...
...
@@ -87,6 +128,24 @@ export default {
}
})
},
//导出Excel
download() {
this.$refs['addForm'].validate(val => {
if (val) {
this.downloading = true
let data = { goodsStation: this.formData.goodsStation }
downLoadXlsx("/goods/exportGoods", data, "货站表")
.then(() => {
this.downloading = false
this.close()
})
.catch(() => {
this.downloading = false
});
}
})
},
//取消
close() {
this.formData = {
...
...
src/views/basicInformation/goodsStation/index.vue
View file @
8ecdd5e
<template>
<div>
<el-form class="form-header" ref="
selectForm" label-width="auto" label-position="lef
t"
style="margin-bottom:10px" @submit.native.prevent size="small"
>
<el-form class="form-header" ref="
goodsStationForm" :model="selectionData" label-position="righ
t"
label-width="auto" size="small" @submit.native.prevent
>
<el-row>
<el-col :span="6">
<el-form-item label="货站名称">
<el-input v-model="selectionData.goodsStation" placeholder="请输入货站名称" maxlength="20" clearable />
<el-input class="formItem" v-model="selectionData.goodsStation" placeholder="请输入货站名称"
maxlength="50" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="品名">
<el-input class="formItem" v-model="selectionData.goodsName" placeholder="请输入货站名称"
maxlength="50" clearable />
</el-form-item>
</el-col>
</el-row>
...
...
@@ -23,6 +30,10 @@
<el-button type="primary" icon="el-icon-download" size="small" style="margin-right:10px"
@click="downloadTempleate">下载模板
</el-button>
<el-button icon="el-icon-download" type="primary" size="small" style="margin-right:10px"
@click="downloadExcel">
导出Excel
</el-button>
<el-upload action="/caPreReviewImport/importFlight" name="file" :http-request="uploadExcel"
:on-remove="handleRemove" :limit="1" :on-exceed="handleExceed" :file-list="fileList" accept=".xlsx"
class="upload-demo" v-hasPermi="['base:goodsStation:add']">
...
...
@@ -43,8 +54,7 @@
</el-table-column>
</template>
</Tables>
<Dialog :open="open" @close="close" />
<UpDateResult :dialogVisible="resultOpen" :resultData="errorData" @close="resultClose" />
<Dialog :open="open" :openStatus="openStatus" @close="close" />
</div>
</template>
...
...
@@ -52,18 +62,17 @@
import { downLoadTemplate } from "@/api/flightInfoImport";
import { importGoods, batchDeleteGoods, searchGoods } from "@/api/goodsStation"
import Dialog from './dialog.vue'
import UpDateResult from './upDateResult.vue'
export default {
name: 'GoodsStation',
components: {
Dialog,
UpDateResult
},
data() {
return {
selectionData: {
goodsStation: '',
goodsName: '',
size: 20,
page: 1
},
...
...
@@ -74,9 +83,9 @@ export default {
errorData: [],
tableHeight: null,
totalCount: 0,
openStatus: '',
loading: false,
open: false,
resultOpen: false,
}
},
created() {
...
...
@@ -118,6 +127,7 @@ export default {
//新增
add() {
this.open = true
this.openStatus = 'add'
},
//删除
del(val) {
...
...
@@ -160,6 +170,11 @@ export default {
console.log(err)
})
},
//导出
downloadExcel() {
this.open = true
this.openStatus = 'downloadExcel'
},
//复选
tableSelect(val) {
this.checkData = val.selection
...
...
@@ -185,16 +200,15 @@ export default {
confirmButtonText: "确定",
type: "warning",
});
} else {
} else
if (res.code === 201)
{
this.$message.warning(res.msg);
this.errorData = res.data;
if (this.errorData.length > 0) {
this.resultOpen = true
}
this.$router.push({ name: 'UpDateResult', params: { data: this.errorData, from: 'FlightInformationImport' } })
} else {
this.$message.warning(res.msg);
}
} else {
this.$message.success(res.msg);
this.errorData = res.data;
this.selection(1)
}
});
...
...
@@ -233,6 +247,7 @@ export default {
},
close() {
this.open = false
this.openStatus = ''
this.selection(1)
},
resultClose() {
...
...
src/views/basicInformation/goodsStationFlight/index.vue
View file @
8ecdd5e
<template>
<div>
<el-form class="form-header" ref="
dictForm" label-width="auto" label-position="left" style="margin-bottom:10px
"
@submit.native.prevent size="small"
>
<el-form class="form-header" ref="
goodsStationFlightForm" :model="selectionData" label-position="right
"
label-width="auto" size="small" style="margin-bottom:10px" @submit.native.prevent
>
<el-row>
<el-col :span="6">
<el-form-item label="货站名称">
<el-input v-model="selectionData.goodsStation" placeholder="请输入货站名称" maxlength="50" clearable />
<el-input class="formItem" v-model="selectionData.goodsStation" placeholder="请输入货站名称"
maxlength="50" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班号">
<el-input class="formItem" v-model="selectionData.fltNo" placeholder="请输入航班号" maxlength="20"
clearable />
</el-form-item>
</el-col>
</el-row>
...
...
src/views/preMdeConfig/upDateResult.vue
0 → 100644
View file @
8ecdd5e
<template>
<div>
<el-table ref="filterTable" class="mt20" :data="tableData" size="small" border>
<!-- <el-table-column label="行号" prop="line" width="50" align="center">
</el-table-column> -->
<el-table-column label="序号" type="index" width="70" align="center" />
<el-table-column label="错误信息" prop="errorMessage">
<template slot-scope="scope">
{{scope.row}}
<!-- <div v-for="(m, key) in scope.row.errorMessage" :key="key">
{{ m }}
</div> -->
</template>
</el-table-column>
<!-- <el-table-column v-if="tableData.length == 0"></el-table-column>
<el-table-column v-for="(value, key) in tableData" :key="key" v-if="key != 'errorMessage' && key != 'line'"
header-align="center" align="center" :label="key" :prop="key"></el-table-column> -->
</el-table>
</div>
</template>
<script>
export default {
name: 'UpDateResult',
data() {
return {
tableData: [],
fromRoute: ''
}
},
created() {
this.tableData = this.$route.params.data
this.fromRoute = this.$route.params.from
},
wactch: {
dialogVisible(val) {
if (val) {
}
}
},
methods: {
close() {
this.$store.state.tagsView.visitedViews.splice(
this.$store.state.tagsView.visitedViews.findIndex(
(item) => item.path === this.$route.path
),
);
this.$router.push({ name: this.fromRoute })
}
}
}
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
Please
register
or
login
to post a comment