用车需求合并,拆分
This commit is contained in:
parent
a75b06fc74
commit
0b13636e6f
@ -71,6 +71,11 @@
|
||||
<a-input-number v-model="model.validity" placeholder="请输入时效" style="width: 100%" ></a-input-number>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
<a-form-model-item label="失效日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="failureTime">
|
||||
<j-date placeholder="请选择失效日期" v-model="model.failureTime" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
<a-form-model-item label="运输方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="transportMode">
|
||||
<a-input v-model="model.transportMode" placeholder="请输入运输方式" ></a-input>
|
||||
@ -138,6 +143,8 @@
|
||||
carType :[{required: true, message: '请输入车型!'}],
|
||||
supplierCode :[{required: true, message: '请输入供应商编码!'}],
|
||||
effectiveDate :[{required: true, message: '请选择生效日期!'}],
|
||||
failureTime :[{required: true, message: '请选择失效日期!'}],
|
||||
effectiveDate :[{required: true, message: '请选择生效日期!'}],
|
||||
validity :[{required: true, message: '请输入时效!'}],
|
||||
tandardPrice :[{required: true, message: '请输入定标价格!'}],
|
||||
},
|
||||
|
@ -140,11 +140,11 @@
|
||||
<a>预约入厂</a>
|
||||
</a-popconfirm>
|
||||
</a-menu-item> -->
|
||||
<a-menu-item v-has="'vehicleinout:vehicleInOut:handleConfirm1'">
|
||||
<!-- <a-menu-item v-has="'vehicleinout:vehicleInOut:handleConfirm1'">
|
||||
<a-popconfirm title="确定对接人确认吗?" @confirm="() => handleConfirm(record.id, '2')">
|
||||
<a>对接人确认</a>
|
||||
</a-popconfirm>
|
||||
</a-menu-item>
|
||||
</a-menu-item> -->
|
||||
<a-menu-item v-has="'vehicleinout:vehicleInOut:handleConfirm3'">
|
||||
<a-popconfirm title="确定入厂审核吗?" @confirm="() => handleConfirm(record.id, '3')">
|
||||
<a>入厂审核</a>
|
||||
|
@ -42,7 +42,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:scroll="{ y: 300, x:528 }"
|
||||
:scroll="{ y: 300, x:700 }"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
|
@ -273,10 +273,10 @@
|
||||
return;
|
||||
}
|
||||
let hasEven = this.selectionRows.some(item => {
|
||||
return item.shipType == '0';
|
||||
return item.shipType == '2';
|
||||
});
|
||||
if (hasEven) {
|
||||
this.$message.warning("数据中含有整车数据!");
|
||||
this.$message.warning("数据中含有快递数据!");
|
||||
return;
|
||||
}
|
||||
let hasEven1 = this.selectionRows.some(item => {
|
||||
|
@ -68,7 +68,7 @@
|
||||
</a-col>
|
||||
<a-col :span="8" v-if="model.id">
|
||||
<a-form-model-item label="当前状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="currentStatus">
|
||||
<j-dict-select-tag placeholder="请选择当前状态" v-model="model.currentStatus" dictCode="current_status" disabled></j-dict-select-tag>
|
||||
<j-dict-select-tag placeholder="请选择当前状态" v-model="model.currentStatus" dictCode="current_status" ></j-dict-select-tag>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
|
@ -0,0 +1,190 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- 查询区域-END -->
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:scroll="{ y: 300, x:1100 }"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="false"
|
||||
:loading="loading"
|
||||
class="j-table-force-nowrap"
|
||||
@change="handleTableChange">
|
||||
|
||||
<template slot="htmlSlot" slot-scope="text">
|
||||
<div v-html="text"></div>
|
||||
</template>
|
||||
<template slot="imgSlot" slot-scope="text,record">
|
||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
|
||||
<img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
|
||||
</template>
|
||||
<template slot="fileSlot" slot-scope="text">
|
||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||
<a-button
|
||||
v-else
|
||||
:ghost="true"
|
||||
type="primary"
|
||||
icon="download"
|
||||
size="small"
|
||||
@click="downloadFile(text)">
|
||||
下载
|
||||
</a-button>
|
||||
</template>
|
||||
</a-table>
|
||||
</div>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import '@/assets/less/TableExpand.less'
|
||||
import { mixinDevice } from '@/utils/mixin'
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { postAction,getAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'VehicleDemandHisList',
|
||||
mixins:[JeecgListMixin, mixinDevice],
|
||||
components: {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
description: '用车需求历史管理页面',
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:60,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{
|
||||
title:'发货日期',
|
||||
align:"center",
|
||||
dataIndex: 'shipDate',
|
||||
customRender:function (text) {
|
||||
return !text?"":(text.length>10?text.substr(0,10):text)
|
||||
}
|
||||
},
|
||||
{
|
||||
title:'到货日期',
|
||||
align:"center",
|
||||
dataIndex: 'deliveryDate'
|
||||
},
|
||||
{
|
||||
title:'发货类型',
|
||||
align:"center",
|
||||
dataIndex: 'shipType_dictText',
|
||||
},
|
||||
{
|
||||
title:'预计装车总托数',
|
||||
align:"center",
|
||||
dataIndex: 'preTotalPallets',
|
||||
},
|
||||
{
|
||||
title:'实际装车总托数',
|
||||
align:"center",
|
||||
dataIndex: 'totalPallets',
|
||||
},
|
||||
{
|
||||
title:'总发货数量',
|
||||
align:"center",
|
||||
dataIndex: 'totalShips',
|
||||
},
|
||||
{
|
||||
title:'取货地点',
|
||||
align:"center",
|
||||
dataIndex: 'pickUpHub',
|
||||
},
|
||||
{
|
||||
title:'送货地点',
|
||||
align:"center",
|
||||
dataIndex: 'deliveryAddress',
|
||||
},
|
||||
{
|
||||
title:'用车需求编号',
|
||||
align:"center",
|
||||
dataIndex: 'vdNo',
|
||||
},
|
||||
{
|
||||
title:'当前状态',
|
||||
align:"center",
|
||||
dataIndex: 'currentStatus_dictText',
|
||||
},
|
||||
],
|
||||
url: {
|
||||
list: "/vehicledemanddetail/vehicleDemandDetail/list",
|
||||
delete: "/vehicledemanddetail/vehicleDemandDetail/delete",
|
||||
deleteBatch: "/vehicledemanddetail/vehicleDemandDetail/deleteBatch",
|
||||
exportXlsUrl: "/vehicledemanddetail/vehicleDemandDetail/exportXls",
|
||||
importExcelUrl: "vehicledemanddetail/vehicleDemandDetail/importExcel",
|
||||
getByVdNo: "vehicledemanddetail/vehicleDemandDetail/getByVdNo",
|
||||
|
||||
},
|
||||
dictOptions:{},
|
||||
superFieldList:[],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getSuperFieldList();
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function(){
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
getByVdNo(vdNo){
|
||||
this.loading = true;
|
||||
getAction(this.url.getByVdNo,{vdNo: vdNo}).then(res => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result.records;
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(()=>{
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
loadData(){},
|
||||
initDictConfig(){
|
||||
},
|
||||
getSuperFieldList(){
|
||||
let fieldList=[];
|
||||
fieldList.push({type:'string',value:'currentStatus',text:'currentStatus'})
|
||||
fieldList.push({type:'string',value:'deliveryArea',text:'deliveryArea'})
|
||||
fieldList.push({type:'date',value:'shipDate',text:'shipDate'})
|
||||
fieldList.push({type:'int',value:'totalShips',text:'totalShips'})
|
||||
fieldList.push({type:'date',value:'deliveryDate',text:'deliveryDate'})
|
||||
fieldList.push({type:'string',value:'shipType',text:'shipType'})
|
||||
fieldList.push({type:'string',value:'vdNo',text:'vdNo'})
|
||||
fieldList.push({type:'string',value:'deliveryAddress',text:'deliveryAddress'})
|
||||
fieldList.push({type:'string',value:'pickUpHub',text:'pickUpHub'})
|
||||
fieldList.push({type:'string',value:'preTotalPallets',text:'preTotalPallets'})
|
||||
fieldList.push({type:'int',value:'totalPallets',text:'totalPallets'})
|
||||
fieldList.push({type:'string',value:'pn',text:'pn'})
|
||||
this.superFieldList = fieldList
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
@ -43,6 +43,8 @@
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button @click="handleAdd" type="primary" icon="plus" style="margin-left: 8px">新增</a-button>
|
||||
<a-button @click="handleMerge" type="primary" style="margin-left: 8px">合并</a-button>
|
||||
<a-button @click="handleUnbind" type="primary" style="margin-left: 8px">拆分</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('用车需求')" style="margin-left: 8px">导出</a-button>
|
||||
<a @click="handleToggleSearch" style="margin-left: 8px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
@ -87,8 +89,10 @@
|
||||
:dataSource="dataSource"
|
||||
:pagination="false"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio'}"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
class="j-table-force-nowrap"
|
||||
:customRow="rowClick"
|
||||
:rowClassName="rowClassName"
|
||||
@change="handleTableChange">
|
||||
|
||||
<template slot="htmlSlot" slot-scope="text">
|
||||
@ -111,7 +115,7 @@
|
||||
</a-button>
|
||||
</template>
|
||||
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<span slot="action" slot-scope="text, record" style="background-color: transparent !important;">
|
||||
<a @click="carCount(record)">用车计算</a>
|
||||
<a-divider type="vertical" />
|
||||
|
||||
@ -137,8 +141,9 @@
|
||||
<a-row :gutter="24" style="margin-top: 15px;">
|
||||
<a-col :span="11">
|
||||
<div class="bordered-container">
|
||||
<div class="title">用车需求物料明细</div>
|
||||
<DeliveryDemand ref="deliveryDemand"/>
|
||||
<div class="title">用车需求历史</div>
|
||||
<!-- <DeliveryDemand ref="deliveryDemand"/> -->
|
||||
<VehicleDemandHisList ref="vehicleDemandHisList"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="13" style="margin-right: -30px;">
|
||||
@ -156,12 +161,13 @@
|
||||
|
||||
import '@/assets/less/TableExpand.less'
|
||||
import { mixinDevice } from '@/utils/mixin'
|
||||
import { postAction } from '@/api/manage'
|
||||
import { postAction,getAction } from '@/api/manage'
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import moment from 'moment'
|
||||
import VehicleDemandModal from './modules/VehicleDemandModal'
|
||||
import DeliveryDemand from '../deliverydemand/DeliveryDemand.vue';
|
||||
import VehicleDemandCountList from '../vehicledemandcount/VehicleDemandCountList.vue'
|
||||
import VehicleDemandHisList from './VehicleDemandHisList'
|
||||
|
||||
export default {
|
||||
name: 'VehicleDemandList',
|
||||
@ -169,7 +175,8 @@
|
||||
components: {
|
||||
VehicleDemandModal,
|
||||
DeliveryDemand,
|
||||
VehicleDemandCountList
|
||||
VehicleDemandCountList,
|
||||
VehicleDemandHisList
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
@ -178,6 +185,7 @@
|
||||
shipDate_begin: moment().format('YYYY-MM-DD'),
|
||||
shipDate_end: moment().format('YYYY-MM-DD'),
|
||||
},
|
||||
click: '',
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
@ -199,21 +207,32 @@
|
||||
return !text?"":(text.length>10?text.substr(0,10):text)
|
||||
}
|
||||
},
|
||||
{
|
||||
title:'到货日期',
|
||||
align:"center",
|
||||
dataIndex: 'deliveryDate'
|
||||
},
|
||||
{
|
||||
title:'发货类型',
|
||||
align:"center",
|
||||
dataIndex: 'shipType_dictText',
|
||||
// width: 100,
|
||||
},
|
||||
{
|
||||
title:'料号',
|
||||
align:"center",
|
||||
dataIndex: 'pn',
|
||||
// width: 100,
|
||||
},
|
||||
// {
|
||||
// title:'料号',
|
||||
// align:"center",
|
||||
// dataIndex: 'pn',
|
||||
// // width: 100,
|
||||
// },
|
||||
{
|
||||
title:'预计装车总托数',
|
||||
align:"center",
|
||||
dataIndex: 'preTotalPallets',
|
||||
// width: 120,
|
||||
},
|
||||
{
|
||||
title:'实际装车总托数',
|
||||
align:"center",
|
||||
dataIndex: 'totalPallets',
|
||||
// width: 120,
|
||||
},
|
||||
@ -229,15 +248,15 @@
|
||||
// dataIndex: 'deliveryArea'
|
||||
// },
|
||||
{
|
||||
title:'送货地点',
|
||||
title:'取货地点',
|
||||
align:"center",
|
||||
dataIndex: 'deliveryAddress',
|
||||
dataIndex: 'pickUpHub',
|
||||
// width: 80,
|
||||
},
|
||||
{
|
||||
title:'取货仓库',
|
||||
title:'送货地点',
|
||||
align:"center",
|
||||
dataIndex: 'pickUpHub',
|
||||
dataIndex: 'deliveryAddress',
|
||||
// width: 80,
|
||||
},
|
||||
{
|
||||
@ -246,6 +265,11 @@
|
||||
dataIndex: 'vdNo',
|
||||
// width: 120,
|
||||
},
|
||||
{
|
||||
title:'当前状态',
|
||||
align:"center",
|
||||
dataIndex: 'currentStatus_dictText',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
@ -262,7 +286,8 @@
|
||||
exportXlsUrl: "/vehicle_demand/vehicleDemand/exportXls",
|
||||
importExcelUrl: "vehicle_demand/vehicleDemand/importExcel",
|
||||
carCount: "vehicle_demand/vehicleDemand/carCount",
|
||||
|
||||
handleMerge: "vehicle_demand/vehicleDemand/handleMerge",
|
||||
handleUnbind: "vehicle_demand/vehicleDemand/handleUnbind",
|
||||
},
|
||||
dictOptions:{},
|
||||
superFieldList:[],
|
||||
@ -287,13 +312,88 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelectChange(selectedRowKeys, selectionRows) {
|
||||
this.selectedRowKeys = selectedRowKeys;
|
||||
this.selectionRows = selectionRows;
|
||||
let vdNo = selectionRows[0].vdNo;
|
||||
this.$refs.deliveryDemand.getByVdNo(vdNo);
|
||||
// onSelectChange(selectedRowKeys, selectionRows) {
|
||||
// this.selectedRowKeys = selectedRowKeys;
|
||||
// this.selectionRows = selectionRows;
|
||||
// let vdNo = selectionRows[0].vdNo;
|
||||
// this.$refs.deliveryDemand.getByVdNo(vdNo);
|
||||
// this.$refs.vehicleDemandCountList.getByVdNo(vdNo);
|
||||
// },
|
||||
rowClick(record){
|
||||
return {
|
||||
on: {
|
||||
click:() => {
|
||||
this.click = record.id
|
||||
let vdNo = record.vdNo
|
||||
this.$refs.vehicleDemandHisList.getByVdNo(vdNo);
|
||||
this.$refs.vehicleDemandCountList.getByVdNo(vdNo);
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
rowClassName(record){
|
||||
// if(record.id == this.click){
|
||||
// return 'clicked-row'
|
||||
// }
|
||||
},
|
||||
handleMerge(){
|
||||
if (this.selectedRowKeys.length <= 0) {
|
||||
this.$message.warning("请至少选择一条记录!");
|
||||
return;
|
||||
}
|
||||
postAction(this.url.handleMerge, this.selectedRowKeys).then(res => {
|
||||
if (res.success){
|
||||
this.$message.success(res.message);
|
||||
//清空列表选中
|
||||
this.onClearSelected()
|
||||
this.loadData();
|
||||
}else {
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
})
|
||||
},
|
||||
handleUnbind(){
|
||||
if (this.selectedRowKeys.length <= 0) {
|
||||
this.$message.warning("请至少选择一条记录!");
|
||||
return;
|
||||
}
|
||||
postAction(this.url.handleUnbind, this.selectedRowKeys).then(res => {
|
||||
if (res.success){
|
||||
this.$message.success(res.message);
|
||||
//清空列表选中
|
||||
this.onClearSelected()
|
||||
this.loadData();
|
||||
}else {
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
})
|
||||
},
|
||||
loadData(arg) {
|
||||
if(!this.url.list){
|
||||
this.$message.error("请设置url.list属性!")
|
||||
return
|
||||
}
|
||||
//加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.ipagination.current = 1;
|
||||
}
|
||||
var params = this.getQueryParams();//查询条件
|
||||
this.loading = true;
|
||||
getAction(this.url.list, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result.records||res.result;
|
||||
if(this.dataSource.length > 0){
|
||||
let vdNo = this.dataSource[0].vdNo
|
||||
this.$refs.vehicleDemandHisList.getByVdNo(vdNo);
|
||||
this.$refs.vehicleDemandCountList.getByVdNo(vdNo);
|
||||
}
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
initDictConfig(){
|
||||
},
|
||||
getSuperFieldList(){
|
||||
@ -339,4 +439,14 @@
|
||||
font-size: 12px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
::v-deep .clicked-row {
|
||||
background-color: #507CD1 !important;
|
||||
color: #fff;
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
/* ::v-deep table tbody tr:hover>td {
|
||||
background-color: transparent !important;
|
||||
} */
|
||||
</style>
|
@ -30,8 +30,8 @@
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="预计装车总托数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="totalPallets">
|
||||
<a-input-number v-model="model.totalPallets" placeholder="请输入预计装车总托数" style="width: 100%" />
|
||||
<a-form-model-item label="预计装车总托数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="preTotalPallets">
|
||||
<a-input-number v-model="model.preTotalPallets" placeholder="请输入预计装车总托数" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
@ -39,6 +39,11 @@
|
||||
<a-input v-model="model.vdNo" placeholder="请输入用车需求编号" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="实际装车总托数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="totalPallets">
|
||||
<a-input-number v-model="model.totalPallets" placeholder="请输入实际装车总托数" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</j-form-container>
|
||||
|
Loading…
x
Reference in New Issue
Block a user