Merge branch 'master' of http://git.xdadan.loc/tanex/emis-frontend
This commit is contained in:
commit
e9366a5d38
@ -261,8 +261,6 @@ export default {
|
||||
// 显示编辑框更多
|
||||
moreInputVisible: false,
|
||||
|
||||
|
||||
|
||||
// 弹出展示层
|
||||
currentId:null,
|
||||
id:null,
|
||||
|
||||
@ -1,8 +1,3 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row :gutter="20">
|
||||
|
||||
557
src/views/emis/emisWaybillTransfer/waybillTransfer.vue
Normal file
557
src/views/emis/emisWaybillTransfer/waybillTransfer.vue
Normal file
@ -0,0 +1,557 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="queryForm" size="mini" :model="queryParams" label-width="80px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="" prop="billCode">
|
||||
<div slot="label">
|
||||
<el-radio-group class="query-label" v-model="queryParams.params.queryOrderType">
|
||||
<el-radio label="1">运单号</el-radio>
|
||||
<el-radio label="0">订单号</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<el-input
|
||||
v-model="queryParams.billCode"
|
||||
:placeholder="$t('多个流水号逗号或换行隔开')"
|
||||
clearable
|
||||
type="textarea"
|
||||
rows="2"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('转件网点')" prop="registerSiteCode" label-width="80px">
|
||||
<EmisSiteSimplePicker v-model="queryParams.registerSiteCode" @onChange="onScanSiteSelect" ></EmisSiteSimplePicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('转件公司')" prop="expressCode" label-width="80px">
|
||||
<span slot="label">
|
||||
<span>{{$t('转件公司')}}</span>
|
||||
</span>
|
||||
<el-select
|
||||
style="width:100%"
|
||||
filterable
|
||||
clearable
|
||||
v-model="queryParams.expressCode"
|
||||
>
|
||||
<el-option v-for="item in dict.type.emis_express_code" :key="item.value" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('签收状态')" prop="isSignPic" label-width="80px">
|
||||
<el-select v-model="queryParams.isSign" :placeholder="$t('全部')" value="0">
|
||||
<el-option :label="$t('未签收')" value="1"></el-option>
|
||||
<el-option :label="$t('已签收')" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="转件时间" prop="dateTimeRange" label-width="80px">
|
||||
<elDateAdvPicker clearable v-model="queryParams.dateTimeRange" @dateTimeChange="onDateSelect" ></elDateAdvPicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row >
|
||||
</el-form>
|
||||
|
||||
<xd-table v-loading="loading"
|
||||
border stripe
|
||||
ref="singleSelectTable"
|
||||
size="small"
|
||||
:data="emisTransferList"
|
||||
:showSearch.sync="showSearch"
|
||||
:queryParams="queryParams"
|
||||
:total="total"
|
||||
@queryTable="getList"
|
||||
@selection-change="handleSelectionChange"
|
||||
v-if="tableHeight" :max-height="tableHeight + 'px'"
|
||||
>
|
||||
<div slot="toolbar">
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="getList"
|
||||
>查询</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="handleUpdate"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="handleDelete"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="getList"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="getList"
|
||||
>导入</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="getList"
|
||||
>下载导入模版</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
|
||||
<el-table-column :label="$t('运单号')" align="center" prop="billCode" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.billCode}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('转单号')" align="center" prop="transferBillCode" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.transferBillCode}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('转件日期')" align="center" prop="transferDate" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.transferDate) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('转件公司')" align="center" prop="transferExpress" min-width="100" />
|
||||
<el-table-column :label="$t('转件公司编码')" align="center" prop="xxxx" min-width="100" />
|
||||
<el-table-column :label="$t('目的城市')" align="center" prop="transferCity" min-width="100" />
|
||||
<el-table-column :label="$t('物流公司联系人')" align="center" prop="linkMan" min-width="100" />
|
||||
<el-table-column :label="$t('电话')" align="center" prop="linkPhone" min-width="100" />
|
||||
<el-table-column :label="$t('签收状态')" align="center" prop="xxxx" min-width="100" />
|
||||
<el-table-column :label="$t('转件重量')" align="center" prop="transferWeight" min-width="100" />
|
||||
<el-table-column :label="$t('转件体积')" align="center" prop="transferVolume" min-width="100" />
|
||||
<el-table-column :label="$t('转件网点')" align="center" prop="xxxx" min-width="100" />
|
||||
<el-table-column :label="$t('操作人')" align="center" prop="xxxx" min-width="100" />
|
||||
<el-table-column :label="$t('转件原因')" align="center" prop="transferResean" min-width="100" />
|
||||
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" />
|
||||
</xd-table>
|
||||
<!-- 添加或修改转件对话框 -->
|
||||
<el-dialog :title="titleForm" :visible.sync="openForm" width="800px" v-dialogDrag :close-on-click-modal="false" append-to-body>
|
||||
<el-form ref="form" :model="form" size="mini" label-width="80px" :rules="rules">
|
||||
<el-row :gutter="0">
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('运单编号')" prop="billCode" label-width="80px">
|
||||
<el-input v-model="form.billCode"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('转单编号')" prop="transferBillCode" label-width="80px">
|
||||
<el-input v-model="form.transferBillCode"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('转单时间')" prop="transferDate" label-width="80px">
|
||||
<!-- <CustomDatePicker v-model="form.transferDate"></CustomDatePicker> -->
|
||||
<!-- <elDateSimplePicker v-model="form.transferDate"></elDateSimplePicker> -->
|
||||
<el-date-picker
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
v-model="form.transferDate"
|
||||
type="datetime"
|
||||
placeholder="选择日"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('快件公司')" prop="transferExpress" label-width="80px">
|
||||
<span slot="label">
|
||||
<span>{{$t('转件公司')}}</span>
|
||||
</span>
|
||||
<el-select
|
||||
style="width:100%"
|
||||
filterable
|
||||
clearable
|
||||
v-model="form.transferExpress"
|
||||
>
|
||||
<el-option v-for="item in dict.type.emis_express_code" :key="item.value" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('联系人')" prop="linkMan" label-width="80px">
|
||||
<el-input v-model="form.linkMan"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('联系电话')" prop="linkPhone" label-width="80px">
|
||||
<el-input v-model="form.linkPhone"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('重量')" prop="transferWeight" label-width="80px">
|
||||
<el-input v-model="form.transferWeight"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('体积')" prop="transferVolume" label-width="80px">
|
||||
<el-input v-model="form.transferVolume"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('转件费')" prop="transferFee" label-width="80px">
|
||||
<el-input v-model="form.transferFee"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('转件原因')" prop="transferResean" label-width="80px">
|
||||
<el-input v-model="form.transferResean"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('备注')" prop="remark" label-width="80px">
|
||||
<el-input v-model="form.remark"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item :label="$t('目的城市')" prop="transferCity" label-width="80px">
|
||||
<el-input v-model="form.transferCity"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancelForm">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { listEmisWaybillTransfer, delEmisWaybillTransfer, addEmisWaybillTransfer, updateEmisWaybillTransfer } from "@/api/emis/emisWaybillTransfer";
|
||||
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
|
||||
// import CustomDatePicker from '@/components/DatePickerAdv/CustomDatePicker';
|
||||
// import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
|
||||
import EmisSiteSimplePicker from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
|
||||
import { getDateTimeToString } from '@/utils/payutils'
|
||||
|
||||
export default {
|
||||
name: "WaybillTransfer",
|
||||
components: { elDateAdvPicker, EmisSiteSimplePicker },
|
||||
// components: { elDateAdvPicker, CustomDatePicker, elDateSimplePicker, EmisSiteSimplePicker },
|
||||
dicts: ['emis_express_code'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 创建时间搜索
|
||||
dateTimeRange:[],
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 运单转件表表格数据
|
||||
emisTransferList: [],
|
||||
|
||||
currentId:null,
|
||||
openForm: false,
|
||||
titleForm: "",
|
||||
|
||||
// 弹出展示层
|
||||
id:null,
|
||||
titleView:"",
|
||||
openView: false,
|
||||
// 更新网点时间范围
|
||||
daterangeTransferDate: [],
|
||||
// 更新网点时间范围
|
||||
daterangeCreateTime: [],
|
||||
// 更新网点时间范围
|
||||
daterangeUpdateTime: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
billCode: null,
|
||||
registerSiteCode:null,
|
||||
orderSN:null,
|
||||
expressCode:null,
|
||||
isSign:null,
|
||||
params:{
|
||||
queryOrderType:"1",
|
||||
}
|
||||
},
|
||||
form:{
|
||||
id: null,
|
||||
billCode: null,
|
||||
transferBillCode: null,
|
||||
transferDate: null,
|
||||
transferExpress: null,
|
||||
linkMan: null,
|
||||
linkPhone: null,
|
||||
transferFee: null,
|
||||
transferWeight: null,
|
||||
transferVolume: null,
|
||||
transferResean: null,
|
||||
transferCity: null,
|
||||
dataFrom: null,
|
||||
delFlag: null,
|
||||
createBy: null,
|
||||
createTime: null,
|
||||
updateBy: null,
|
||||
updateTime: null,
|
||||
remark: null,
|
||||
createSite: null,
|
||||
updateSite: null
|
||||
},
|
||||
rules: {
|
||||
billCode: [
|
||||
{ required: true, message: "运单不能为空", trigger: "blur" }
|
||||
],
|
||||
transferBillCode: [
|
||||
{ required: true, message: "转件编号不能为空", trigger: "blur" }
|
||||
],
|
||||
transferDate: [
|
||||
{ required: true, message: "转件时间不能为空", trigger: "blur" }
|
||||
],
|
||||
transferExpress: [
|
||||
{ required: true, message: "快递公司不能为空", trigger: "blur" }
|
||||
],
|
||||
transferCity: [
|
||||
{ required: true, message: "目的城市不能为空", trigger: "blur" }
|
||||
],
|
||||
},
|
||||
// 调整表格的高度,不允许滚动
|
||||
tableHeight: 200,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(function() {
|
||||
let queryFormEl = this.$refs.queryForm.$el;
|
||||
let tableH = queryFormEl.offsetHeight+190;
|
||||
this.tableHeight = window.innerHeight - tableH;
|
||||
});
|
||||
// this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询运单转件表列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.emisTransferList = [];
|
||||
this.total = 0;
|
||||
// this.queryParams.params = {};
|
||||
if (null != this.dateTimeRange && '' != this.dateTimeRange) {
|
||||
this.queryParams.params["beginTransferDate"] = this.dateTimeRange[0];
|
||||
this.queryParams.params["endTransferDate"] = this.dateTimeRange[1];
|
||||
}
|
||||
listEmisWaybillTransfer(this.queryParams).then(response => {
|
||||
this.loading = false;
|
||||
if(!response.rows || response.rows.length == 0){
|
||||
// this.$message.error("未查到单号");
|
||||
return;
|
||||
}
|
||||
this.emisTransferList = response.rows;
|
||||
this.total = response.total;
|
||||
});
|
||||
},
|
||||
onScanSiteSelect(item){
|
||||
this.queryParams.scanSite=item && item.siteName;
|
||||
this.queryParams.scanSiteCode=item && item.siteCode;
|
||||
},
|
||||
onDateSelect(value){
|
||||
console.log("date picker---->", value)
|
||||
this.dateTimeRange=value;
|
||||
// scanDate
|
||||
},
|
||||
submitForm(){
|
||||
if(this.state == "add"){
|
||||
this.form.dataFrom= "pc";
|
||||
// this.form.delFlag= null;
|
||||
this.form.createBy= this.$store.getters.empCode;
|
||||
this.form.createTime= getDateTimeToString(new Date());//this.parseTime(new Date());
|
||||
// this.form.updateBy= null;
|
||||
// this.form.updateTime= null;
|
||||
this.form.createSite= this.$store.getters.ownerSiteCode;
|
||||
// this.form.updateSite= nul;
|
||||
addEmisWaybillTransfer(this.form).then(response => {
|
||||
if(response && response.code==200){
|
||||
this.resetForm("form");
|
||||
this.openForm = false;
|
||||
this.getList();
|
||||
}else{
|
||||
this.$message.error(response && response.msg || "未知错误")
|
||||
}
|
||||
})
|
||||
}else if(this.state == "update"){
|
||||
this.form.dataFrom= "pc";
|
||||
// this.form.delFlag= null;
|
||||
// this.form.createBy= this.$store.getters.empCode;
|
||||
// this.form.createTime= getDateTimeToString(new Date());//this.parseTime(new Date());
|
||||
this.form.updateBy= this.$store.getters.empCode;
|
||||
this.form.updateTime= getDateTimeToString(new Date());
|
||||
// this.form.createSite= this.$store.getters.ownerSiteCode;
|
||||
this.form.updateSite= this.$store.getters.ownerSiteCode;
|
||||
updateEmisWaybillTransfer(this.form).then(response => {
|
||||
if(response && response.code==200){
|
||||
this.resetForm("form");
|
||||
this.openForm = false;
|
||||
this.getList();
|
||||
}else{
|
||||
this.$message.error(response && response.msg || "未知错误")
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
cancelForm(){
|
||||
this.resetForm("form");
|
||||
this.openForm = false;
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete() {
|
||||
const ids =this.ids;
|
||||
if(!ids || ids.length < 1){
|
||||
this.$message.error("未选择数据!")
|
||||
return;
|
||||
}
|
||||
this.$modal.confirm('是否确认删除').then(async function() {
|
||||
for(let i = 0;i<ids.length;i++){
|
||||
let response = await delEmisWaybillTransfer(ids[i]);
|
||||
if(response.code!=200){
|
||||
this.$message.error(response.msg || "未知错误!")
|
||||
}
|
||||
}
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
// this.currentId=null;
|
||||
this.resetForm("form");
|
||||
this.openForm= true;
|
||||
this.state="add";
|
||||
this.titleForm = "新增";
|
||||
},
|
||||
|
||||
// handleShowMoreInput(){
|
||||
// this.moreInputVisible = !this.moreInputVisible;
|
||||
// },
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
if(!this.ids || this.ids.length!=1){
|
||||
this.$message.error("未选择数据 或者 选择了多条数据");
|
||||
return;
|
||||
}
|
||||
this.currentId= row.id;
|
||||
this.openForm = true;
|
||||
this.titleForm = "修改";
|
||||
this.state="update";
|
||||
this.form = {...this.selection[0]}
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1;
|
||||
this.multiple = !selection.length;
|
||||
this.selection = selection;
|
||||
},
|
||||
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// this.download('emis/emisWaybillTransfer/export', {
|
||||
// ...this.queryParams
|
||||
// }, `emisWaybillTransfer_${new Date().getTime()}.xlsx`)
|
||||
const loadingInstance = this.$loading({
|
||||
text: '正在导出...'
|
||||
})
|
||||
var qParam = {...this.queryParams};
|
||||
qParam.pageNum=1;
|
||||
qParam.pageSize=5000;
|
||||
|
||||
listEmisWaybillTransfer(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
|
||||
this.downloadLoading = false
|
||||
if (response.code === 200) {
|
||||
const curList = response.rows
|
||||
import('@/vendor/Export2Excel').then(excel => {
|
||||
const tHeader = ['id','运单号','转件单号','转件日期','转件公司','联系人','联系电话','转件费','转件重量','转件体积','转件原因','转件城市','数据来源','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','备注','创建网点','更新网点',];
|
||||
const filterVal = ['id','billCode','transferBillCode','transferDate','transferExpress','linkMan','linkPhone','transferFee','transferWeight','transferVolume','transferResean','transferCity','dataFrom','delFlag','createBy','createTime','updateBy','updateTime','remark','createSite','updateSite',];
|
||||
const data = this.formatJson(filterVal, curList, response.rows)
|
||||
excel.export_json_to_excel({
|
||||
header: tHeader,
|
||||
data,
|
||||
filename: '运单转件表',
|
||||
autoWidth: true
|
||||
})
|
||||
loadingInstance.close()
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
formatJson(filterVal, jsonData, resData) {
|
||||
let index = 0
|
||||
return jsonData.map(v => filterVal.map(j => {
|
||||
if (j === 'index') {
|
||||
return ++index
|
||||
}
|
||||
if (j === 'status') {
|
||||
var statusStr='xxx'
|
||||
if(v[j] == 10){
|
||||
statusStr='xxx'
|
||||
}
|
||||
return statusStr;
|
||||
}
|
||||
return v[j]
|
||||
}))
|
||||
},
|
||||
/** 列索引函数 */
|
||||
getIndex($index) {
|
||||
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
|
||||
},
|
||||
/** 时间搜索响应函数 */
|
||||
dateTimeChange(value){
|
||||
this.dateTimeRange=value;
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.query-label {
|
||||
.el-radio{
|
||||
display: block;
|
||||
line-height: 23px;
|
||||
white-space: normal;
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
Reference in New Issue
Block a user