22 Commits

Author SHA1 Message Date
bb65bd1e39 Merge pull request 'lifei' (#15) from lifei into master
Reviewed-on: #15
2023-05-16 00:46:47 +00:00
ac7df467f4 添加登录手机号校验 2023-05-15 09:53:09 +08:00
378d660823 调度油价管理详情页面列表页面显示姓名加id 2023-05-15 09:34:34 +08:00
bcdbc13b24 Merge pull request '修复调度 调价任务列表 个人价被覆盖情况' (#14) from lifei into master
Reviewed-on: #14
2023-05-11 06:04:15 +00:00
d105f6e767 修复调度 调价任务列表 个人价被覆盖情况 2023-05-11 13:57:41 +08:00
b083229d5e Merge pull request 'lifei' (#13) from lifei into master
Reviewed-on: #13
2023-05-10 06:21:27 +00:00
27459621fa 人车管理 星油车辆添加车牌 2023-05-10 09:10:07 +08:00
cf8ebd30fe 调度油价管理详情和列表姓名没有显示暂无数据 2023-05-09 15:27:36 +08:00
4e03e358d6 调度 油价管理预约时间只能选设置当前15分钟后的时间 2023-05-09 09:03:10 +08:00
eae2515834 修改调度系统调度任务撤回404情况 2023-05-08 10:56:51 +08:00
6c11e4a4d7 Merge branch 'master' of http://121.196.213.68:3000/caoliancun/dispacth_zhongpin into lifei 2023-05-08 09:25:32 +08:00
e7fca62c03 Merge pull request 'caolc' (#12) from caolc into master
Reviewed-on: #12
2023-04-27 05:16:58 +00:00
caolc
8e02a1240e 12 2023-04-27 13:16:24 +08:00
caolc
b3991ebba0 Merge branch 'master' of http://121.196.213.68:3000/caoliancun/dispacth_zhongpin into caolc 2023-04-27 09:47:12 +08:00
1c9d822b2a Merge pull request '样式-按钮' (#11) from zyj into master
Reviewed-on: #11
2023-04-27 01:46:58 +00:00
caolc
0752af5887 111 2023-04-27 09:46:02 +08:00
f4d26f411c 样式-按钮 2023-04-26 18:12:25 +08:00
1a61692803 修改上次推送多打的一个字 2023-04-20 17:11:18 +08:00
1b98e15389 处理 渠道订单管理,待确认企业订单配置 添加数据返回不清空 2023-04-20 17:04:58 +08:00
49b394a6ae 支付来源显示汉字 2023-04-20 14:35:48 +08:00
fd9192562c Merge branch 'master' of http://121.196.213.68:3000/caoliancun/dispacth_zhongpin into lifei 2023-04-20 14:29:44 +08:00
08c13be954 油站管理详情页面优化 2023-04-20 13:11:26 +08:00
22 changed files with 280 additions and 196 deletions

View File

@@ -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

View File

@@ -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({

View File

@@ -1,6 +1,6 @@
import request from '@/utils/request' import request from '@/utils/request'
var service_name = 'xkhl-finance' var service_name = 'xkhl-finance'
var group_name = 'OilCustomerInvoicRecord' var group_name = 'saasCustomerInvoicRecord'
export default { export default {
fuyous(){ fuyous(){
@@ -18,14 +18,14 @@ export default {
}, },
getInfo(id) { // 根据id查询 getInfo(id) { // 根据id查询
return request({ return request({
url: `/${service_name}/${group_name}/getInfo/${id}`, url: `/${service_name}/saasCustomerInvoicRecord/getInfo/${id}`,
method: 'get' method: 'get'
}) })
}, },
save(oilCustomerInvoicRecord) { // 保存 save(oilCustomerInvoicRecord) { // 保存
return request({ return request({
url: `/${service_name}/${group_name}/save`, url: `/${service_name}/saasCustomerInvoicRecord/save`,
method: 'post', method: 'post',
data: oilCustomerInvoicRecord data: oilCustomerInvoicRecord
}) })

View File

@@ -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`,

View File

@@ -0,0 +1,34 @@
组件 参数
sourceData : 数据源 类型:对象 {}
mappingData映射表 类型:数组 []
isHeader是否需要标题 默认为false 类型:布尔
title详情标题 默认为 默认详情头 类型:字符串
mappingData 示例
[
{ //第一层 为卡片
carTitle//卡片标题
iconClass://图标名
isFold是否可折叠
carItems[
{
label:名称
value显示的值 支持 string(相对相应的字段) array( 支持嵌套字段如['a','b'],实际为sourceData.a.b) functoin(接收一个参数为当前数据源,需返回一个字符串类型的值)
fieldDefault默认值 value没有数据的时候现实的值
remark备注
isCopy是否可复制
field字段
}
]
}
]
插槽模式 slot
header 整个组件的头部
field 每个字段都可以使用插槽自定义 插槽名称为相对应的字段
index card_bottom 每张卡片都有相对应的底部 index为索引
footer 整个组件的底部
index_car 整张卡片的插槽名称 index为卡片索引
#4_car="data" 将返回 当前卡片对象对应的值

View File

@@ -9,7 +9,7 @@
<slot name="title_bottom"></slot> <slot name="title_bottom"></slot>
</div> </div>
<div class="generalDetails_card_container"> <div class="generalDetails_card_container">
<div v-for="(item, index) in dataPage" :key="index"> <div name v-for="(item, index) in dataPage" :key="index">
<el-card class="generalDetails_card"> <el-card class="generalDetails_card">
<div @click="isShow(item)" class="generalDetails_card_header" slot="header"> <div @click="isShow(item)" class="generalDetails_card_header" slot="header">
<div> <div>
@@ -19,12 +19,17 @@
<span class="generalDetails-card-header-text">{{ item.title }}</span> <span class="generalDetails-card-header-text">{{ item.title }}</span>
</div> </div>
<div class="fold"> <div class="fold">
<i :style="{ transform: `rotate(${item.isFold ? 0 : 180}deg)` }" <i
class="el-icon-arrow-down generalDetails_card_arrow_down"></i> :style="{
transform: `rotate(${item.isFold ? 0 : 180}deg)`
}"
class="el-icon-arrow-down generalDetails_card_arrow_down"
></i>
</div> </div>
</div> </div>
<slot :name="`${index}_car`" :item="item">
<div :style="{ maxHeight: item.isFold ? '100vh' : '0px' }" class="my-cell"> <div :style="{ maxHeight: item.isFold ? '100vh' : '0px' }" class="my-cell">
<div v-for="(i, x) in item.listData " :key="x" class="cell-item"> <div v-for="(i, x) in item.listData" :key="x" class="cell-item">
<span :title="i.remark" class="color-999 test-tst"> <span :title="i.remark" class="color-999 test-tst">
{{ i.label }} {{ i.label }}
<i v-if="i.remark" class="header-icon el-icon-info"></i> <i v-if="i.remark" class="header-icon el-icon-info"></i>
@@ -36,13 +41,15 @@
</slot> </slot>
</div> </div>
</div> </div>
</slot>
</el-card> </el-card>
<div> <div >
<slot :name="`${index}card_bottom`"></slot> <slot :name="`${index}card_bottom`"></slot>
</div> </div>
</div> </div>
</div> </div>
<div class="generalDetails_footer"> <div class="generalDetails_footer">
<slot name="footer"> <slot name="footer">
<el-button @click="close" type="primary" :size="$store.getters.size">关闭</el-button> <el-button @click="close" type="primary" :size="$store.getters.size">关闭</el-button>
</slot> </slot>
@@ -78,8 +85,10 @@ export default {
dataPage: [] dataPage: []
} }
}, },
created() { created() {
(this.sourceData !== null) && (this.mappingData.length !== 0) && (this.init()) console.log('created')
this.sourceData !== null && this.mappingData.length !== 0 && this.init()
}, },
methods: { methods: {
isShow(item) { isShow(item) {
@@ -100,14 +109,32 @@ export default {
listData: item.carItems.map((carItem, index) => { listData: item.carItems.map((carItem, index) => {
return { return {
label: carItem.label, label: carItem.label,
value: (typeof carItem.value =='function')&&(carItem.value(this.sourceData)) || this.sourceData[carItem.value] || carItem.fieldDefault || '暂无数据', value:
(typeof carItem.value == 'function' && carItem.value(this.sourceData)) ||
(Array.isArray(carItem.value) &&
carItem.value.reduce((prev, current, index, _arr) =>
index == 1
? this.sourceData[prev]
? this.sourceData[prev][current] !== null && this.sourceData[prev][current] !== undefined
? this.sourceData[prev][current]
: '暂无数据'
: '暂无数据'
: typeof prev == 'object'
? prev[current]
: prev
)) ||
(this.sourceData[carItem.value] !== null && this.sourceData[carItem.value] !== undefined
? String(this.sourceData[carItem.value])
: false) ||
carItem.fieldDefault ||
'暂无数据',
field: carItem.value, field: carItem.value,
remark: carItem.remark, remark: carItem.remark,
isCopy: carItem.isCopy || false isCopy: carItem.isCopy || false
} }
}) })
} }
}); })
console.log(this.dataPage) console.log(this.dataPage)
} }
} }
@@ -115,9 +142,10 @@ export default {
</script> </script>
<style scoped> <style scoped>
.title_bottom{ .title_bottom {
margin-top: 20px; margin-top: 20px;
} }
.fold { .fold {
/* position: absolute; /* position: absolute;
bottom: 0px; bottom: 0px;
@@ -130,7 +158,7 @@ export default {
} }
.generalDetails_card_arrow_down { .generalDetails_card_arrow_down {
transition: all .9s; transition: all 0.9s;
} }
.generalDetails_card_header { .generalDetails_card_header {
@@ -156,7 +184,7 @@ title {
flex-wrap: wrap; flex-wrap: wrap;
max-height: 100vh; max-height: 100vh;
overflow: hidden; overflow: hidden;
transition: all .9s; transition: all 0.9s;
} }
.color-999 { .color-999 {
@@ -196,6 +224,7 @@ title {
padding: 15px 20px; padding: 15px 20px;
box-sizing: border-box; box-sizing: border-box;
border-top: solid 1px #e5e5e5; border-top: solid 1px #e5e5e5;
z-index: 999999;
} }
.generalDetails_header { .generalDetails_header {

View File

@@ -129,7 +129,7 @@
:size="$store.getters.size" :size="$store.getters.size"
type="text" type="text"
@click="handleDetail(scope.row.id)" @click="handleDetail(scope.row.id)"
><svg-icon icon-class="iconxiangqing1" /> 操作</el-button ><svg-icon icon-class="iconxiangqing1" /> 详情</el-button
> >
<el-dropdown> <el-dropdown>
<el-button type="text"> <el-button type="text">
@@ -258,7 +258,7 @@
class="table-detail-drawer" class="table-detail-drawer"
:visible.sync="showTableDrawer" :visible.sync="showTableDrawer"
direction="ltr" direction="ltr"
size="80%" size="55%"
> >
<SysCustomerInfoInfo <SysCustomerInfoInfo
v-if="showTableDrawer" v-if="showTableDrawer"

View File

@@ -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 = {};
}); });
}, },

View File

@@ -190,25 +190,27 @@
v-el-drag-dialog v-el-drag-dialog
title="添加" title="添加"
:visible.sync="addDialog" :visible.sync="addDialog"
size="60%" size="55%"
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>
<!-- 导出弹窗 --> <!-- 导出抽屉 -->
<el-dialog <el-drawer
v-el-drag-dialog v-el-drag-dialog
title="导出" title="导出"
:visible.sync="outPutDialog" :visible.sync="outPutDialog"
width="55%" size="55%"
direction="ltr"
destroy-on-close
> >
<OilVehicleOwnerOutput <OilVehicleOwnerOutput
@getByPage="getByPage" @getByPage="getByPage"
@closeDialog="closeDialog" @closeDialog="closeDialog"
/> />
</el-dialog> </el-drawer>
<!-- 导入弹窗 --> <!-- 导入弹窗 -->
<el-dialog <el-dialog
@@ -223,12 +225,12 @@
/> />
</el-dialog> </el-dialog>
<!-- 修改弹窗 --> <!-- 修改抽屉 -->
<el-drawer <el-drawer
v-el-drag-dialog v-el-drag-dialog
title="修改" title="修改"
:visible.sync="updateDialog" :visible.sync="updateDialog"
size="60%" size="55%"
direction="ltr" direction="ltr"
destroy-on-close destroy-on-close
> >
@@ -246,7 +248,7 @@
class="table-detail-drawer" class="table-detail-drawer"
:visible.sync="showTableDrawer" :visible.sync="showTableDrawer"
direction="ltr" direction="ltr"
size="50%" size="55%"
:withHeader="false" :withHeader="false"
> >
<general-details <general-details

View File

@@ -1,5 +1,5 @@
<template> <template>
<div> <div style="padding: 20px;">
<el-row> <el-row>
<el-form :model="data" label-width="100px" :size="$store.getters.size"> <el-form :model="data" label-width="100px" :size="$store.getters.size">
<el-row :gutter="gridNum.row.gutter"> <el-row :gutter="gridNum.row.gutter">

View File

@@ -195,7 +195,7 @@
v-el-drag-dialog v-el-drag-dialog
title="导出" title="导出"
:visible.sync="outPutDialog" :visible.sync="outPutDialog"
width="55%" width="60%"
> >
<OilCompanyMatchOutput <OilCompanyMatchOutput
@getByPage="getByPage" @getByPage="getByPage"
@@ -208,7 +208,7 @@
v-el-drag-dialog v-el-drag-dialog
title="导入" title="导入"
:visible.sync="importDialog" :visible.sync="importDialog"
width="55%" width="60%"
> >
<OilCompanyMatchImport <OilCompanyMatchImport
@getByPage="getByPage" @getByPage="getByPage"
@@ -238,7 +238,7 @@
title="详情" title="详情"
class="table-detail-drawer" class="table-detail-drawer"
:visible.sync="showTableDrawer" :visible.sync="showTableDrawer"
size="55%" size="60%"
direction="ltr" direction="ltr"
:withHeader="false" :withHeader="false"
> >
@@ -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) {

View File

@@ -116,8 +116,8 @@
<div style="float: right;"> <div style="float: right;">
<el-button @click="$emit('close')">取消</el-button> <el-button @click="$emit('close')">取消</el-button>
<el-button @click="update">修改</el-button> <el-button @click="update">提交</el-button>
<el-button type="primary" @click="updateAndAudit">修改并审核</el-button> <el-button type="primary" @click="updateAndAudit">提交并审核</el-button>
</div> </div>
</div> </div>
</template> </template>

View File

@@ -96,7 +96,7 @@
<el-col :span="1"> <el-col :span="1">
<el-button type="primary" :size="$store.getters.size" icon="el-icon-plus" <el-button type="primary" :size="$store.getters.size" icon="el-icon-plus"
@click="addRecordDialog = true"> @click="addRecordDialog = true">
新增</el-button> 添加</el-button>
</el-col> </el-col>
<el-col :span="23"> <el-col :span="23">
<el-button type="primary" :size="$store.getters.size" icon="el-icon-search" @click="getByPage">查询 <el-button type="primary" :size="$store.getters.size" icon="el-icon-search" @click="getByPage">查询

View File

@@ -103,7 +103,7 @@
</section> </section>
<div style="float: right;"> <div style="float: right;">
<el-button @click="$emit('close')">取消</el-button> <el-button @click="$emit('close')">取消</el-button>
<el-button type="primary" @click="add()">新增</el-button> <el-button type="primary" @click="add()">提交</el-button>
</div> </div>
</div> </div>

View File

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

View File

@@ -14,6 +14,8 @@
<el-input <el-input
v-model="loginForm.username" v-model="loginForm.username"
placeholder="请输入用户名" placeholder="请输入用户名"
oninput="if(value.length>11)value=value.slice(0,11)" type="Number" onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
> >
<img <img
slot="prefix" slot="prefix"

View File

@@ -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"
@click="
controlWindows.dialogAdjustStrategyPiliangAdd = false controlWindows.dialogAdjustStrategyPiliangAdd = false
" " src="@/assets/img/close_fill.png" alt="" />
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;"
type="info"
@click="
controlWindows.dialogAdjustStrategyPiliangAdd = false controlWindows.dialogAdjustStrategyPiliangAdd = false
" ">取 消</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-popconfirm <el-button type="primary" slot="reference">提交</el-button>
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: {
disabledDate(time) { xxfn(){
return time.getTime() < Date.now() - 8.64e7;
}, },
selectableRange: disabledDate(time) {
parseTime( // return time.getTime() < Date.now() - 8.64e7;
new Date(moment().format("YYYY-MM-DD HH:mm:ss")),
"{hh}:{ii}:{ss}" // Date对象 获取当前时间+加15分钟和每一个time作比较 如果小于 返回true 禁用 如果大于等于 返回false 启用
) + "- 23:59:00" // 获取当前时间
let b = new Date();
// 获取分钟设置分钟
// b.setMinutes(b.getMinutes() + 15);
b.setDate(b.getDate() -1)
// 判断当前时间分钟大不大于设置分钟
if (time>b) {
// 错误
return false
// 正确
} else {
return true
}
},
selectableRange: xxx()
// parseTime(
// new Date(moment().add(15,'minutes').format("YYYY-MM-DD HH:mm:ss")),
// "{hh}:{ii}:{ss}"
// ) + "- 23:59:00"
} }
}; };
}, },
@@ -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;
} }

View File

@@ -102,6 +102,7 @@
<el-date-picker <el-date-picker
v-model="page.params.createTime" v-model="page.params.createTime"
type="datetimerange" type="datetimerange"
style="width: 105%"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
range-separator="~" range-separator="~"
start-placeholder="开始时间" start-placeholder="开始时间"
@@ -120,14 +121,15 @@
:size="$store.getters.size" :size="$store.getters.size"
icon="el-icon-search" icon="el-icon-search"
@click="search" @click="search"
>&nbsp;&nbsp;查询 >查询
</el-button> </el-button>
<el-button <el-button
type="info"
:size="$store.getters.size" :size="$store.getters.size"
icon="el-icon-refresh" icon="el-icon-refresh"
@click="page.params = {}" @click="page.params = {}"
> >
&nbsp;&nbsp;重置 重置
</el-button> </el-button>
</div> </div>
</el-col> </el-col>
@@ -431,7 +433,7 @@ export default {
tableColumns: [ tableColumns: [
{ {
prop: "taskName", prop: "taskName",
width: 180, width: 160,
label: "任务名称", label: "任务名称",
show: true, show: true,
render: (row, column, cell) => { render: (row, column, cell) => {
@@ -443,7 +445,7 @@ export default {
}, },
{ {
prop: "siteName", prop: "siteName",
width: 220, width: 230,
label: "油站名称", label: "油站名称",
show: true, show: true,
render: (row, column, cell) => { render: (row, column, cell) => {
@@ -455,13 +457,13 @@ export default {
}, },
{ {
prop: "oilProductCode", prop: "oilProductCode",
width: 150, width: 230,
label: "基础个人价", label: "基础个人价",
show: true, show: true,
render: (row, column, cell) => { render: (row, column, cell) => {
return <div> return <div>
<span class="colorhui">油品</span><span>{cell}</span><br/> <span class="colorhui">油品</span><span>{cell}</span><br/>
<span class="colorhui">当前基础个人价</span><span>{row.currentFloorPrice}</span><i v-show={row.floorPriceIgnore==1} class="el-icon-s-check"></i> <span class="colorhui">当前基础个人价</span><span>{row.floorPriceIgnore}</span><i v-show={row.floorPriceIgnore==1} class="el-icon-s-check"></i>
</div> </div>
}, },
}, },
@@ -515,7 +517,7 @@ export default {
}, },
{ {
prop: "preExecuteTime", prop: "preExecuteTime",
minWidth: 220, minWidth: 200,
label: "预约时间/执行时间", label: "预约时间/执行时间",
show: true, show: true,
render: (row, column, cell) => { render: (row, column, cell) => {
@@ -527,7 +529,7 @@ export default {
}, },
{ {
prop: "createUserName", prop: "createUserName",
minWidth: 220, minWidth: 210,
label: "创建人/创建时间", label: "创建人/创建时间",
show: true, show: true,
render: (row, column, cell) => { render: (row, column, cell) => {

View File

@@ -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>

View File

@@ -188,11 +188,11 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="address" label="创建人"> <el-table-column prop="address" label="创建人/id">
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
<div>{{ scope.row.createUserName }}</div> <div>创建人: {{ scope.row.createUserName?scope.row.createUserName:'暂无数据' }}</div>
<div> {{ scope.row.createUser }}</div> <div>创建人ID {{ scope.row.createUser?scope.row.createUser:'暂无数据'}}</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@@ -594,12 +594,16 @@ export default {
return ( return (
<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>
<span>{row.updateTime}</span> <span>{row.updateTime}</span>
</div> */}
<div>
<span>ID</span>
<span> {row.createUser?row.createUser:'暂无数据'}</span>
</div> </div>
</div> </div>
); );

View File

@@ -218,7 +218,7 @@
class="table-detail-drawer" class="table-detail-drawer"
:visible.sync="updatePwdDialog" :visible.sync="updatePwdDialog"
direction="ltr" direction="ltr"
size="50%" size="55%"
> >
<div style="padding: 20px;"> <div style="padding: 20px;">
<el-form <el-form
@@ -245,7 +245,7 @@
class="table-detail-drawer" class="table-detail-drawer"
:visible.sync="addDialog" :visible.sync="addDialog"
direction="ltr" direction="ltr"
size="50%" size="55%"
> >
<SysCustomerInfoAdd @getByPage="getByPage" @closeDialog="closeDialog" /> <SysCustomerInfoAdd @getByPage="getByPage" @closeDialog="closeDialog" />
</el-drawer> </el-drawer>
@@ -297,7 +297,7 @@
class="table-detail-drawer" class="table-detail-drawer"
:visible.sync="updateDialog" :visible.sync="updateDialog"
direction="ltr" direction="ltr"
size="50%" size="55%"
> >
<SysCustomerInfoUpdate <SysCustomerInfoUpdate
v-if="updateDialog" v-if="updateDialog"
@@ -314,7 +314,7 @@
class="table-detail-drawer" class="table-detail-drawer"
:visible.sync="showTableDrawer" :visible.sync="showTableDrawer"
direction="ltr" direction="ltr"
size="50%" size="55%"
> >
<SysCustomerInfoInfo <SysCustomerInfoInfo
v-if="showTableDrawer" v-if="showTableDrawer"

View File

@@ -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.22: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]: ''