第一次发布
This commit is contained in:
338
src/views/finance/order/OrderTfAdd.vue
Normal file
338
src/views/finance/order/OrderTfAdd.vue
Normal file
@@ -0,0 +1,338 @@
|
||||
<template>
|
||||
<div v-loading="loading" style="padding:20px">
|
||||
<el-row>
|
||||
<el-form ref="ruleForm" :rules="ruleForm" :model="oilTfOrder" label-width="120px" :size="$store.getters.size">
|
||||
<el-row :span="24">
|
||||
<el-col :span="13">
|
||||
<el-form-item label="匹配任务名称" prop="taskName">
|
||||
<el-input v-model="oilTfOrder.taskName" clearable placeholder="请输入匹配任务内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="13">
|
||||
<el-form-item label="匹配公司" prop="companyId">
|
||||
<el-select v-model="oilTfOrder.companyId" style="width:100%" remote filterable :remote-method="parentCompanyOrginQuery" clearable placeholder="请输入" @change="queryCompanyInfo" @keyup.enter.native="getByPage">
|
||||
<el-option
|
||||
v-for="item in companyList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="13">
|
||||
<el-form-item label="匹配目标金额" prop="matchAmount">
|
||||
<el-input v-model="oilTfOrder.matchAmount" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="13">
|
||||
<el-form-item label="匹配油站" prop="siteId">
|
||||
<!-- <el-input v-model="oilTfOrder.siteId" clearable /> -->
|
||||
<div style="margin-bottom:20px">
|
||||
<el-radio v-model="pipeiType" :label="0" border size="medium">按省份</el-radio>
|
||||
<el-radio v-model="pipeiType" :label="1" border size="medium">按独立油站</el-radio>
|
||||
</div>
|
||||
<el-cascader
|
||||
@change="query"
|
||||
v-show="!pipeiType"
|
||||
ref="refSubCat"
|
||||
v-model="addrCode"
|
||||
placeholder="请选择"
|
||||
:size="$store.getters.size"
|
||||
style="width: 100%"
|
||||
:options="areaTree"
|
||||
:props="{value:'id', label:'areaName'}"
|
||||
filterable
|
||||
clearable
|
||||
/>
|
||||
<el-select
|
||||
v-show="pipeiType"
|
||||
v-model="oilTfOrder.siteId"
|
||||
style="width:100%"
|
||||
filterable
|
||||
remote
|
||||
clear
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="油站名称"
|
||||
:remote-method="getSimpleOilSiteInfo"
|
||||
@change="query"
|
||||
>
|
||||
<el-option v-for="item in sites" :key="item.id" :label="item.siteName" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="13">
|
||||
<el-form-item label="订单结束时间" prop="orderEndTime">
|
||||
<el-date-picker
|
||||
:picker-options="pickerOptions"
|
||||
:disabled="disabled"
|
||||
v-model="value1"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
style="width:100%"
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
:unlink-panels="true"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
@change="showss"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" :span="24" class="row-show" justify="end" style="margin-bottom:24px;justify-content: space-between !important;padding: 0 50px;">
|
||||
<el-col v-show="oilCompanyAccount.balance" :span="11">
|
||||
<el-card class="box-card">
|
||||
<div>
|
||||
公司账户信息
|
||||
</div>
|
||||
<hr>
|
||||
<el-row style="margin-top:10px">
|
||||
<el-col :span="12">
|
||||
<font color="#A4A4A4">公司名称 </font>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align:right">
|
||||
<font>{{ oilCompanyAccount.companyName }} </font>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="margin-top:10px">
|
||||
<el-col :span="12">
|
||||
<font color="#A4A4A4">总余额: </font>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align:right">
|
||||
<font>¥ {{ oilCompanyAccount.balance }}</font>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col v-show="orderQueryInfo.tfOrderTotal" :span="11">
|
||||
<el-card class="box-card">
|
||||
<div>
|
||||
订单匹配信息
|
||||
</div>
|
||||
<hr>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<font color="#A4A4A4">订单数量: </font>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align:right">
|
||||
<font> {{ orderQueryInfo.tfOrderTotal }} </font>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row style="margin-top:10px">
|
||||
<el-col :span="12">
|
||||
<font color="#A4A4A4">订单金额 </font>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align:right">
|
||||
<font>¥ {{ orderQueryInfo.payRealAmountTotal }} </font>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="22">
|
||||
<el-form-item label="匹配备注说明" prop="remark">
|
||||
<el-input
|
||||
v-model="oilTfOrder.remark"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入内容"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div :span="24"
|
||||
style="background:#fff;margin-top:20px;text-align: right;width:100%;">
|
||||
<el-button @click="close">取消</el-button>
|
||||
<el-button type="primary" @click="submit" style="margin-right:10px">提交</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import oilCompanyInfoApi from '@/api/user/oilCompanyInfo'
|
||||
import oilCompanyAccountApi from '@/api/finance/oilCompanyAccount'
|
||||
import oilSiteInfoApi from '@/api/user/oilSiteInfo'
|
||||
import AreaCodeApi from '@/api/base/areaCode'
|
||||
import orderInfoApi from '@/api/order/orderInfo'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
pickerOptions:{
|
||||
disabledDate:function(e){
|
||||
if(Date.parse(e)<Date.parse('2022/05/25')){
|
||||
return true
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
disabled:false,
|
||||
pipeiType:0,
|
||||
areaTree: [],
|
||||
addrCode: [], // 省市区code
|
||||
value1: '',
|
||||
gridNum: {
|
||||
row: {
|
||||
gutter: 2
|
||||
},
|
||||
cols: {
|
||||
xs: 24,
|
||||
sm: 24,
|
||||
md: 12,
|
||||
lg: 12,
|
||||
xl: 6
|
||||
}
|
||||
},
|
||||
oilTfOrder: {
|
||||
},
|
||||
sites: [], // 主油站集合
|
||||
loading: false,
|
||||
ruleForm: {
|
||||
task_name: [
|
||||
{ required: true, message: '匹配任务名称不能为空', trigger: 'change' }
|
||||
],
|
||||
companyId: [
|
||||
{ required: true, message: '匹配公司不能为空', trigger: 'change' }
|
||||
],
|
||||
matchAmount: [
|
||||
{ required: true, message: '匹配目标金额不能为空', trigger: 'change' },
|
||||
{ pattern: /(^[1-9]\d{0,5}(\.[0-9]{1,2})?$)|(^[0](\.\d{1,2})?$)|(^[1][0]{6}(\.[0]{1,2})?$)/, message: '匹配金额在1-1000000区间' }
|
||||
],
|
||||
orderStartTime: [
|
||||
{ required: true, message: '订单开始时间不能为空', trigger: 'change' }
|
||||
]
|
||||
},
|
||||
companyList: [], // 企业列表
|
||||
orderQueryInfo: {}, // 匹配订单信息
|
||||
oilCompanyAccount: {} // 企业账户信息
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
pipeiType(){
|
||||
if(this.pipeiType){
|
||||
this.addrCode = []
|
||||
}else{
|
||||
this.oilTfOrder.siteId = ''
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
AreaCodeApi.getTree().then(res => {
|
||||
this.areaTree = res.data
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
showss() {
|
||||
this.oilTfOrder.orderStartTime = this.value1[0]
|
||||
this.oilTfOrder.orderEndTime = this.value1[1]
|
||||
this.query()
|
||||
},
|
||||
// 远程搜索主油站
|
||||
getSimpleOilSiteInfo(siteName) {
|
||||
if (siteName) {
|
||||
const oilSiteInfo = {}
|
||||
oilSiteInfo.siteName = siteName
|
||||
oilSiteInfoApi.getSimpleOilSiteInfo(oilSiteInfo).then(res => {
|
||||
this.sites = res.data
|
||||
})
|
||||
} else {
|
||||
this.sites = []
|
||||
}
|
||||
},
|
||||
queryCompanyInfo(value) {
|
||||
console.log('123')
|
||||
if (value) {
|
||||
oilCompanyAccountApi.getByCompanyId(value).then(res => {
|
||||
this.oilCompanyAccount = res.data
|
||||
})
|
||||
} else {
|
||||
this.oilCompanyAccount = {}
|
||||
}
|
||||
},
|
||||
parentCompanyOrginQuery(value) { // 远程搜索企业
|
||||
if (value) {
|
||||
oilCompanyInfoApi.getLikeByName({ 'name': value }).then(res => {
|
||||
this.companyList = res.data
|
||||
})
|
||||
}
|
||||
},
|
||||
// disabledDate(){
|
||||
// console.log(arguments,'禁用回调')
|
||||
|
||||
// return false
|
||||
// },
|
||||
query() {
|
||||
if(this.addrCode.length>0 && this.addrCode){
|
||||
this.oilTfOrder.provinceCode = this.addrCode[0]
|
||||
}else{
|
||||
this.oilTfOrder.provinceCode = ''
|
||||
}
|
||||
// 查询日期匹配信息
|
||||
if (this.oilTfOrder.orderEndTime && this.oilTfOrder.orderStartTime) {
|
||||
orderInfoApi.getTfOrderInfo(this.oilTfOrder).then(res => {
|
||||
console.log(res)
|
||||
this.orderQueryInfo = res.data
|
||||
})
|
||||
}
|
||||
},
|
||||
submit() {
|
||||
this.$refs['ruleForm'].validate((valid) => {
|
||||
console.log(valid)
|
||||
if (valid) {
|
||||
console.log('这里是匹配订单信息')
|
||||
console.log(this.oilTfOrder)
|
||||
this.save(this.oilTfOrder)
|
||||
}
|
||||
})
|
||||
},
|
||||
save() {
|
||||
this.$confirm('是否确定添加,请确认!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
// 这里调用接口
|
||||
// 保存
|
||||
this.loading = true
|
||||
orderInfoApi.TfOrder(this.oilTfOrder).then(res => {
|
||||
this.$message.success(res.msg)
|
||||
this.oilTfOrder = {}
|
||||
this.orderQueryInfo = {}
|
||||
this.oilCompanyAccount = {}
|
||||
this.companyList = []
|
||||
this.value1 = ''
|
||||
this.loading = false
|
||||
this.$emit('closeDialog')
|
||||
this.$emit('getByPage')
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消'
|
||||
})
|
||||
}).finally(res=>{
|
||||
this.loading = false;
|
||||
console.log('finally')
|
||||
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$emit('closeDialog')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style scoped>
|
||||
.el-divider--horizontal {
|
||||
margin: 10px 0;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user