lifei #13

Merged
caoliancun merged 10 commits from lifei into master 2 years ago
  1. 2
      .env.development
  2. 2
      src/api/AdjustTask/AdjustTask.js
  3. 7
      src/api/user/oilVehicleOwner.js
  4. 5
      src/views/driver/vehicle/OilVehicleOwnerAdd.vue
  5. 2
      src/views/driver/vehicle/OilVehicleOwnerList.vue
  6. 4
      src/views/finance/oilCompanyMatch/OilCompanyMatchList.vue
  7. 2
      src/views/finance/order/OrderPersonalInfoList.vue
  8. 186
      src/views/site/oilCompanySiteDiaodu/adjustStrategyPiliangAdd.vue
  9. 57
      src/views/site/oilSiteInfo/OilSiteInfoInfo.vue
  10. 4
      src/views/site/oilSiteOilsPrice/OilSiteOilsPriceList.vue
  11. 2
      vue.config.js

@ -12,7 +12,7 @@ VUE_APP_UPLOAD_PRIVATE_URL = '/api/xkhl-dict/imageHandler/uploadProtectedImg'
VUE_APP_DOMAIN = '192.168.0.199:38080' VUE_APP_DOMAIN = '192.168.0.199:38080'
# 开发环境,不会进行加密,会打印出数据 # 开发环境,不会进行加密,会打印出数据
VUE_APP_ENV = 'development' VUE_APP_ENV = 'production'
#production #production

@ -1,6 +1,6 @@
import request from '@/utils/request' import request from '@/utils/request'
var service_name = 'xkhl-site' var service_name = 'xkhl-site'
var group_name = 'xoilDispatchSitePriceAdjustTask' var group_name = 'saasDispatchSitePriceAdjustTask'
export default { export default {
getByPage(page) { // 站点分页查询 getByPage(page) { // 站点分页查询
return request({ return request({

@ -30,6 +30,13 @@ export default {
data: oilVehicleOwner data: oilVehicleOwner
}) })
}, },
saveDispat(oilVehicleOwner) { // 新保存(调度管理)
return request({
url: `/xkhl-user/saasCustomerPlatenum/save `,
method: 'post',
data: oilVehicleOwner
})
},
saveSite(oilVehicleOwner) { // 保存 saveSite(oilVehicleOwner) { // 保存
return request({ return request({
url: `/${service_name}/${group_name}/saveSite`, url: `/${service_name}/${group_name}/saveSite`,

@ -202,6 +202,11 @@ export default {
this.$message.success(res.msg); this.$message.success(res.msg);
this.$emit("closeDialog"); this.$emit("closeDialog");
this.$emit("getByPage"); this.$emit("getByPage");
});
//
oilVehicleOwnerApi.saveDispat(this.oilVehicleOwner).then((res) => {
this.$emit("closeDialog");
this.$emit("getByPage");
this.oilVehicleOwner = {}; this.oilVehicleOwner = {};
}); });
}, },

@ -194,7 +194,7 @@
direction="ltr" direction="ltr"
destroy-on-close destroy-on-close
> >
<OilVehicleOwnerAdd @getByPage="getByPage" @closeDialog="closeDialog" /> <OilVehicleOwnerAdd v-if="addDialog" @getByPage="getByPage" @closeDialog="closeDialog" />
</el-drawer> </el-drawer>
<!-- 导出抽屉 --> <!-- 导出抽屉 -->

@ -575,7 +575,7 @@ export default {
], ],
addDialog: false, // addDialog: false, //
updateDialog: false, // updateDialog: false, //
oilCompanyMatch: {}, oilCompanyMatch: null,
}; };
}, },
computed: { computed: {
@ -705,8 +705,8 @@ export default {
this.getByPage(); this.getByPage();
}, },
toAdd() { toAdd() {
//
this.oilCompanyMatch = {}; this.oilCompanyMatch = {};
//
this.addDialog = true; this.addDialog = true;
}, },
toUpdate(id) { toUpdate(id) {

@ -694,7 +694,7 @@ export default {
<div> <div>
<div> <div>
来源 来源
{cell} { this.markData.ORDER_SOURCE[cell] }
</div> </div>
<div> <div>
支付 支付

@ -1,14 +1,6 @@
<template> <template>
<el-dialog <el-dialog title="" :visible="true" :show-close="false" top="20vh" width="500px" :close-on-click-modal="false" center
title="" custom-class="custom-dialog"><el-form label-width="80px" class="addStyle">
:visible="true"
:show-close="false"
top="20vh"
width="500px"
:close-on-click-modal="false"
center
custom-class="custom-dialog"
><el-form label-width="80px" class="addStyle">
<div class="adjust-frame"> <div class="adjust-frame">
<div class="titleStyle"> <div class="titleStyle">
<p style="margin:0;color:#409EFF">新增快速调价任务</p> <p style="margin:0;color:#409EFF">新增快速调价任务</p>
@ -17,48 +9,22 @@
<span>{{ multipleSelection.length }}</span> <span>{{ multipleSelection.length }}</span>
</div> </div>
</div> </div>
<img <img class="close" @click="
class="close" controlWindows.dialogAdjustStrategyPiliangAdd = false
@click=" " src="@/assets/img/close_fill.png" alt="" />
controlWindows.dialogAdjustStrategyPiliangAdd = false
"
src="@/assets/img/close_fill.png"
alt=""
/>
<div style="margin: 0 35px;"> <div style="margin: 0 35px;">
<template> <template>
<div style="margin:40px 0 20px;"> <div style="margin:40px 0 20px;">
<span style="margin: 15px 0; display: block;" <span style="margin: 15px 0; display: block;">任务名称</span>
>任务名称</span <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="taskName"></el-input>
>
<el-input
type="textarea"
:rows="2"
placeholder="请输入内容"
v-model="taskName"
></el-input>
</div> </div>
<el-divider></el-divider> <el-divider></el-divider>
<div <div style="display:flex;align-items: center;justify-content: space-between;margin-bottom: 20px;">
style="display:flex;align-items: center;justify-content: space-between;margin-bottom: 20px;"
>
<div class="mubiaocelue"> <div class="mubiaocelue">
<div <div class="special-exhibition" style="margin: -7px 0 12px;">
class="special-exhibition" <span style="margin-right: 10px">目标策略公式</span>
style="margin: -7px 0 12px;" <input class="strategy-input" type="text" v-model="convertPersonalPriceSyncStrategy
> " @keyup="inputHandle" @blur="blurHandle" />
<span style="margin-right: 10px"
>目标策略公式</span
>
<input
class="strategy-input"
type="text"
v-model="
convertPersonalPriceSyncStrategy
"
@keyup="inputHandle"
@blur="blurHandle"
/>
</div> </div>
<div style="margin: 0 0 0 auto;"> <div style="margin: 0 0 0 auto;">
执行时基础个人价变更 执行时基础个人价变更
@ -66,11 +32,7 @@
</div> </div>
<div class="mubiaocelue"> <div class="mubiaocelue">
<el-radio-group v-model="radio"> <el-radio-group v-model="radio">
<el-radio <el-radio :label="1" @click.native.prevent="selectRadio">立即应用到个人价</el-radio>
:label="1"
@click.native.prevent="selectRadio"
>立即应用到个人价</el-radio
>
</el-radio-group> </el-radio-group>
<el-radio-group v-model="dijiaRadio"> <el-radio-group v-model="dijiaRadio">
<el-radio :label="0">忽略</el-radio> <el-radio :label="0">忽略</el-radio>
@ -81,23 +43,13 @@
<el-divider></el-divider> <el-divider></el-divider>
<div class="mubiaocelue" style="margin-bottom: 30px;"> <div class="mubiaocelue" style="margin-bottom: 30px;">
<span>任务类型</span> <span>任务类型</span>
<el-radio-group <el-radio-group v-model="taskTypeRadio" style="margin:0">
v-model="taskTypeRadio"
style="margin:0"
>
<el-radio :label="1">实时</el-radio> <el-radio :label="1">实时</el-radio>
<el-radio :label="2">预约</el-radio> <el-radio :label="2">预约</el-radio>
<el-date-picker <el-date-picker popper-class="disableButton" :disabled="taskTypeRadio !== 2"
popper-class="disableButton" v-model="startTime" clearable format="yyyy-MM-dd HH:mm:ss"
:disabled="taskTypeRadio !== 2" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="预约时间"
v-model="startTime" :picker-options="pickerOptions" />
clearable
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="预约时间"
:picker-options="pickerOptions"
/>
</el-radio-group> </el-radio-group>
</div> </div>
<!-- <div class="personal-block"> <!-- <div class="personal-block">
@ -133,26 +85,12 @@
<span class="dialog-footer"> <span class="dialog-footer">
<template> <template>
<el-button <el-button style="margin-right: 20px;" type="info" @click="
style="margin-right: 20px;" controlWindows.dialogAdjustStrategyPiliangAdd = false
type="info" "> </el-button>
@click=" <el-popconfirm confirm-button-text="确定" cancel-button-text="取消" icon="el-icon-info" icon-color="red"
controlWindows.dialogAdjustStrategyPiliangAdd = false title="一旦提交,将立即生效!是否确认提交?" placement="top" @onConfirm="confirm">
" <el-button type="primary" slot="reference">提交</el-button>
> </el-button
>
<el-popconfirm
confirm-button-text="确定"
cancel-button-text="取消"
icon="el-icon-info"
icon-color="red"
title="一旦提交,将立即生效!是否确认提交?"
placement="top"
@onConfirm="confirm"
>
<el-button type="primary" slot="reference"
>提交</el-button
>
</el-popconfirm> </el-popconfirm>
</template> </template>
</span> </span>
@ -164,6 +102,12 @@
import AdjustTask from "@/api/AdjustTask/AdjustTask"; import AdjustTask from "@/api/AdjustTask/AdjustTask";
import { parseTime } from "@/utils/disableTime.js"; import { parseTime } from "@/utils/disableTime.js";
import moment from "moment"; import moment from "moment";
let xxx = () => {
let b = new Date();
//
b.setMinutes(b.getMinutes() + 15);
return `${b.getHours()}:${b.getMinutes()}:${b.getSeconds()} - 23:59:00`
};
export default { export default {
props: { props: {
controlWindows: Object, controlWindows: Object,
@ -181,14 +125,32 @@ export default {
startTime: "", startTime: "",
userCompany: this.$store.getters.user.userCompany, userCompany: this.$store.getters.user.userCompany,
pickerOptions: { pickerOptions: {
xxfn(){
},
disabledDate(time) { disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7; // return time.getTime() < Date.now() - 8.64e7;
// Date +15time true false
//
let b = new Date();
//
// b.setMinutes(b.getMinutes() + 15);
b.setDate(b.getDate() -1)
//
if (time>b) {
//
return false
//
} else {
return true
}
}, },
selectableRange: selectableRange: xxx()
parseTime( // parseTime(
new Date(moment().format("YYYY-MM-DD HH:mm:ss")), // new Date(moment().add(15,'minutes').format("YYYY-MM-DD HH:mm:ss")),
"{hh}:{ii}:{ss}" // "{hh}:{ii}:{ss}"
) + "- 23:59:00" // ) + "- 23:59:00"
} }
}; };
}, },
@ -285,9 +247,9 @@ export default {
data, data,
this.radio this.radio
? { ? {
convertPersonalPrice: convertPersonalPrice:
item.convertPersonalPrice item.convertPersonalPrice
} }
: {} : {}
) )
); );
@ -334,26 +296,32 @@ export default {
margin-top: 20px; margin-top: 20px;
text-align: center; text-align: center;
} }
::v-deep { ::v-deep {
.el-divider--horizontal { .el-divider--horizontal {
margin: 30px 0; margin: 30px 0;
} }
.custom-dialog { .custom-dialog {
border-radius: 15px; border-radius: 15px;
// .el-dialog__header { // .el-dialog__header {
// padding: 10px 20px !important; // padding: 10px 20px !important;
// } // }
.el-dialog__body { .el-dialog__body {
padding: 0 20px 10px; padding: 0 20px 10px;
} }
.adjust-frame { .adjust-frame {
position: relative; position: relative;
> p {
>p {
margin: 0; margin: 0;
color: #333; color: #333;
font-size: 15px; font-size: 15px;
} }
> .close {
>.close {
position: absolute; position: absolute;
width: 35px; width: 35px;
height: 35px; height: 35px;
@ -362,24 +330,30 @@ export default {
} }
} }
} }
.exhibition { .exhibition {
padding: 0; padding: 0;
li { li {
display: flex; display: flex;
margin-bottom: 15px; margin-bottom: 15px;
span { span {
flex: 1; flex: 1;
&:nth-of-type(1) { &:nth-of-type(1) {
color: #a9a9a9; color: #a9a9a9;
padding-right: 15px; padding-right: 15px;
text-align: right; text-align: right;
} }
&:nth-of-type(2) { &:nth-of-type(2) {
text-align: left; text-align: left;
} }
} }
} }
} }
.tip { .tip {
display: block; display: block;
width: 150px; width: 150px;
@ -387,6 +361,7 @@ export default {
line-height: 25px; line-height: 25px;
color: #f00; color: #f00;
} }
.special-exhibition { .special-exhibition {
padding-right: 15px; padding-right: 15px;
box-sizing: border-box; box-sizing: border-box;
@ -395,34 +370,44 @@ export default {
width: 220px; width: 220px;
line-height: 30px; line-height: 30px;
background: rgba(211, 211, 211, 0.5); background: rgba(211, 211, 211, 0.5);
> span {
>span {
flex: 1; flex: 1;
&:nth-of-type(1) { &:nth-of-type(1) {
text-align: right; text-align: right;
} }
&:nth-of-type(2) { &:nth-of-type(2) {
text-align: left; text-align: left;
padding-left: 20px; padding-left: 20px;
} }
} }
> input {
>input {
width: 100px; width: 100px;
height: 20px; height: 20px;
} }
} }
.addStyle .el-form-item--medium .el-form-item__label { .addStyle .el-form-item--medium .el-form-item__label {
text-align: start; text-align: start;
} }
.addStyle .el-form-item__content .el-radio-group { .addStyle .el-form-item__content .el-radio-group {
box-shadow: none !important; box-shadow: none !important;
} }
.titleStyle { .titleStyle {
display: flex; display: flex;
div { div {
margin-left: auto; margin-left: auto;
margin-right: 45px; margin-right: 45px;
} }
.el-form-item--medium { .el-form-item--medium {
.el-form-item__label, .el-form-item__label,
.el-form-item__content { .el-form-item__content {
line-height: 17px; line-height: 17px;
@ -430,14 +415,17 @@ export default {
} }
} }
} }
.dialog-footer { .dialog-footer {
display: flex; display: flex;
justify-content: end; justify-content: end;
margin-bottom: 10px; margin-bottom: 10px;
} }
.mubiaocelue { .mubiaocelue {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
div { div {
margin: 10px 0; margin: 10px 0;
} }

@ -193,10 +193,10 @@
class="kg" class="kg"
render="row" render="row"
> >
<el-tag type="danger" v-if="oilSiteInfo.globalEnable === 0" <el-tag type="danger" v-if="oilSiteInfo.globalEnable === 'DISABLE'"
>禁用</el-tag >禁用</el-tag
> >
<el-tag type="success" v-if="oilSiteInfo.globalEnable === 1" <el-tag type="success" v-if="oilSiteInfo.globalEnable === 'ENABLE'"
>启用</el-tag >启用</el-tag
> >
<!-- <el-switch <!-- <el-switch
@ -384,10 +384,10 @@
<div class="cell-item"> <div class="cell-item">
<span class="color-999 test-tst">油站性质</span> <span class="color-999 test-tst">油站性质</span>
<br /> <br />
<span v-if="oilSiteInfo.siteNature === 1" class="inner-data" <span v-if="oilSiteInfo.siteNature === 'OIL_OPERATION'" class="inner-data"
>自营油站</span >自营油站</span
> >
<span v-if="oilSiteInfo.siteNature === 0" class="inner-data" <span v-if="oilSiteInfo.siteNature === 'CHANNEL_STATION'" class="inner-data"
>渠道油站</span >渠道油站</span
> >
</div> </div>
@ -659,42 +659,46 @@
<span class="color-999 test-tst">是否为高速 </span> <span class="color-999 test-tst">是否为高速 </span>
<br /> <br />
<span v-if="oilSiteInfo.highSpeedMark === 0" class="inner-data" <span v-if="oilSiteInfo.highSpeedMark === 'NO_SPEED'" class="inner-data"
>非高速</span >非高速</span
> >
<span v-if="oilSiteInfo.highSpeedMark === 1" class="inner-data" <span v-if="oilSiteInfo.highSpeedMark === 'HIGH_SPEED'" class="inner-data"
>高速</span >高速</span
> >
</div> </div>
<div class="cell-item"> <div class="cell-item">
<span class="color-999 test-tst">司机二维码支付 </span> <span class="color-999 test-tst">司机二维码支付 </span>
<br /> <br />
<span v-if="oilSiteInfo.qrcodePay === 0" class="inner-data" <span>{{oilSiteInfo.qrcodePay== 0 ? '禁用' : oilSiteInfo.qrcodePay== 1 ? '启用' : '暂无数据'}}
</span>
<!-- <span v-if="oilSiteInfo.qrcodePay === 0" class="inner-data"
>禁用</span >禁用</span
> >
<span v-if="oilSiteInfo.qrcodePay === 1" class="inner-data" <span v-if="oilSiteInfo.qrcodePay === 1" class="inner-data"
>启用</span >启用</span
> > -->
</div> </div>
</div> </div>
<div class="my-cell"> <div class="my-cell">
<div class="cell-item"> <div class="cell-item">
<span class="color-999 test-tst">扫描油站二维码支付</span> <span class="color-999 test-tst">扫描油站二维码支付</span>
<br /> <br />
<span v-if="oilSiteInfo.qrcodeSitePay === 0" class="inner-data" <span>{{oilSiteInfo.qrcodeSitePay== 0 ? '禁用' : oilSiteInfo.qrcodeSitePay== 1 ? '启用' : '暂无数据'}}
</span>
<!-- <span v-if="oilSiteInfo.qrcodeSitePay === 0" class="inner-data"
>禁用</span >禁用</span
> >
<span v-if="oilSiteInfo.qrcodeSitePay === 1" class="inner-data" <span v-if="oilSiteInfo.qrcodeSitePay === 1" class="inner-data"
>启用</span >启用</span
> > -->
</div> </div>
<div class="cell-item"> <div class="cell-item">
<span class="color-999 test-tst">司机主动支付</span> <span class="color-999 test-tst">司机主动支付</span>
<br /> <br />
<span v-if="oilSiteInfo.activePay === 0" class="inner-data" <span v-if="oilSiteInfo.activePay === 'DISABLE'" class="inner-data"
>禁用</span >禁用</span
> >
<span v-if="oilSiteInfo.activePay === 1" class="inner-data" <span v-if="oilSiteInfo.activePay === 'ENABLE'" class="inner-data"
>启用</span >启用</span
> >
</div> </div>
@ -703,17 +707,22 @@
<div class="cell-item"> <div class="cell-item">
<span class="color-999 test-tst">支付方式</span> <span class="color-999 test-tst">支付方式</span>
<br /> <br />
<span v-if="oilSiteInfo.payMethod === 2" class="inner-data" <span>{{oilSiteInfo.payMethod== 2 ? '联名卡支付' : oilSiteInfo.payMethod== 1 ? '普通支付方式' : '暂无数据'}}
</span>
<!-- <span v-if="oilSiteInfo.payMethod === 2" class="inner-data"
>联名卡支付</span >联名卡支付</span
> >
<span v-if="oilSiteInfo.payMethod === 1" class="inner-data" <span v-if="oilSiteInfo.payMethod === 1" class="inner-data"
>普通支付方式</span >普通支付方式</span -->
>
</div> </div>
<div class="cell-item"> <div class="cell-item">
<span class="color-999 test-tst">油站详情提示文案</span> <span class="color-999 test-tst">油站详情提示文案</span>
<br /> <br />
<span class="inner-data">{{ oilSiteInfo.detailContent }}</span> <!-- <span v-if="oilSiteInfo.detailContent !== detailContent" class="inner-data"
>暂无数据</span> -->
<span class="inner-data"> {{oilSiteInfo.detailContent== detailContent ? '' : '暂无数据'}}
</span>
</div> </div>
</div> </div>
@ -722,35 +731,37 @@
<span class="color-999 test-tst">全局禁用启用</span> <span class="color-999 test-tst">全局禁用启用</span>
<br /> <br />
<span v-if="oilSiteInfo.globalEnable === 0" class="inner-data" <span v-if="oilSiteInfo.globalEnable === 'DISABLE'" class="inner-data"
>禁用</span >禁用</span
> >
<span v-if="oilSiteInfo.globalEnable === 1" class="inner-data" <span v-if="oilSiteInfo.globalEnable === 'ENABLE'" class="inner-data"
>启用</span >启用</span
> >
</div> </div>
<div class="cell-item"> <div class="cell-item">
<span class="color-999 test-tst">上架标识</span> <span class="color-999 test-tst">上架标识</span>
<br /> <br />
<span v-if="oilSiteInfo.putawayMark === 0" class="inner-data" <span>{{oilSiteInfo.putawayMark== 0 ? '下架' : oilSiteInfo.putawayMark== 1 ? '上架' : '暂无数据'}}
</span>
<!-- <span v-if="oilSiteInfo.putawayMark === 0" class="inner-data"
>下架</span >下架</span
> >
<span v-if="oilSiteInfo.putawayMark === 1" class="inner-data" <span v-if="oilSiteInfo.putawayMark === 1" class="inner-data"
>上架</span >上架</span
> > -->
</div> </div>
</div> </div>
<div class="my-cell"> <div class="my-cell">
<div class="cell-item"> <div class="cell-item">
<span class="color-999 test-tst">审核标识</span> <span class="color-999 test-tst">审核标识</span>
<br /> <br />
<span v-if="oilSiteInfo.auditMark === 0" class="inner-data" <span v-if="oilSiteInfo.auditMark === 'WAITING'" class="inner-data"
>待审核</span >待审核</span
> >
<span v-if="oilSiteInfo.auditMark === 1" class="inner-data" <span v-if="oilSiteInfo.auditMark === 'SUCCESS'" class="inner-data"
>审核通过</span >审核通过</span
> >
<span v-if="oilSiteInfo.auditMark === -1" class="inner-data" <span v-if="oilSiteInfo.auditMark === '- FAIL'" class="inner-data"
>审核不通过</span >审核不通过</span
> >
</div> </div>

@ -192,7 +192,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
<div>{{ scope.row.createUserName }}</div> <div>{{ scope.row.createUserName }}</div>
<div> {{ scope.row.createUser }}</div> <div> {{ scope.row.createUser?'暂无数据':scope.row.createUser}}</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -595,7 +595,7 @@ export default {
<div> <div>
<div> <div>
<span>更新人</span> <span>更新人</span>
<span>{row.createUserName}</span> <span>{row.createUserName === undefined ? ':'+'暂无数据' :row.createUserName}</span>
</div> </div>
<div> <div>
<span>更新时间</span> <span>更新时间</span>

@ -26,7 +26,7 @@ module.exports = {
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
// target: "http://uat.xingoil.com/adminapi", // target: "http://uat.xingoil.com/adminapi",
// target: 'https://www.xingoil.com/adminapi', // target: 'https://www.xingoil.com/adminapi',
target: `http://192.168.0.27:38080`, target: `http://119.177.60.118:8000/adminapi`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''

Loading…
Cancel
Save