You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
334 lines
9.1 KiB
334 lines
9.1 KiB
2 years ago
|
<template>
|
||
|
<view class="priceAdjustment_body">
|
||
|
<topBar height="343rpx" title="调价申请">
|
||
|
<view slot="coment">
|
||
|
<view class="header_seach">
|
||
|
<view class="header_seach_seach">
|
||
|
<view class="seach_input">
|
||
|
<uni-easyinput :letfText='letfText' confirmType='search'
|
||
|
@confirm='getData.currentPage=1;getList()'
|
||
|
placeholder-style="color:#bbbbbb;font-weight: 100;" v-model="getData.params.siteName"
|
||
|
placeholder="油站名称、油站ID" @iconClick="onClick">
|
||
|
</uni-easyinput>
|
||
|
</view>
|
||
|
<button @tap='jump(2)' class="header_seach_butten">
|
||
|
<uni-icons type="plusempty" size="20" color="#bbbbbb"></uni-icons>
|
||
|
<view>新增</view>
|
||
|
</button>
|
||
|
</view>
|
||
|
<view class="Navigation">
|
||
|
<view @tap="seleFn(item);seleindex = index"
|
||
|
:class="seleindex==index?'navigation_seleitem':'navigation_item'"
|
||
|
v-for="(item,index) in navigation" :key="index">
|
||
|
{{item.text}}
|
||
|
<uni-icons :animation="animationData" class="icoon" v-if="index==0" type="refreshempty"
|
||
|
style="margin-left: 10rpx;" size="15" color="#bbbbbb"></uni-icons>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</topBar>
|
||
|
<view class="listContainer" style='flex: 1;overflow: hidden;'>
|
||
|
<scroll-view :refresher-triggered='isShow.refresherTriggered' @refresherrefresh='refresherrefresh' :refresher-enabled='true' @scrolltolower='scrolltolower' style="height: 100%;" scroll-y="true">
|
||
|
<view v-for="(item,index) in list" @click="select(item)" class="list_item_car">
|
||
|
<view style="">
|
||
|
<view class=" list_item_car_title flex jb">
|
||
|
<view class="flex">
|
||
|
<view class="flex jcenter acenter" style="min-width: 93rpx;">
|
||
|
<uni-icons color="#2866ff" custom-prefix="iconfont" type="iconjiayou" size="30">
|
||
|
</uni-icons>
|
||
|
</view>
|
||
|
<view>
|
||
|
<view style=" color: #333333;font-size: 28rpx;">{{item.siteName}}</view>
|
||
|
<view style=" font-size: 22rpx;color: #999999;">{{item.siteId}}</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view :style="{background:Number(item.effectiveMode)==0?'':'#55aaff'}"
|
||
|
class="itemtable flex jcenter acenter">{{Number(item.effectiveMode)==0?'立即':'预约'}}
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class=" list_item_car_title flex ">
|
||
|
<view class="flex">
|
||
|
<view class="flex jcenter acenter olitext " style="">{{item.oilProductCode}}</view>
|
||
|
<view class="pricr_text">
|
||
|
<view class="flex">
|
||
|
发改委
|
||
|
<view style="margin: 0 10rpx; min-width: 82rpx;" class="blackcolor">
|
||
|
{{Number(item.marketPrice).toFixed(2)}}
|
||
|
</view>
|
||
|
<uni-icons
|
||
|
:color=" Number(item.marketPrice) >= Number(item.oldMarketPrice)? '#ff5555':'#2CE308' "
|
||
|
custom-prefix="iconfont"
|
||
|
:type="Number(item.marketPrice)>=Number(item.oldMarketPrice)?'icona-shangzhang1':'icona-xiadie2' "
|
||
|
size="15"></uni-icons>
|
||
|
<text class="decor">{{ Number(item.oldMarketPrice).toFixed(2) }}</text>
|
||
|
</view>
|
||
|
<view class="flex">
|
||
|
油站价
|
||
|
<view style="margin: 0 10rpx;min-width: 82rpx;" class="blackcolor">
|
||
|
{{ Number(item.sitePrice).toFixed(2) }}
|
||
|
</view>
|
||
|
<uni-icons
|
||
|
:color="Number(item.sitePrice)>Number(item.oldSitePrice)?'#ff5555':'#2CE308' "
|
||
|
custom-prefix="iconfont"
|
||
|
:type="Number(item.sitePrice)>Number(item.oldSitePrice)?'icona-shangzhang1':'icona-xiadie2' "
|
||
|
size="15"></uni-icons>
|
||
|
<text class="decor">{{Number(item.oldSitePrice).toFixed(2)}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="list_item_car_footer flex acenter jb" style=" padding: 10rpx;">
|
||
|
<view>创建时间:{{item.createTime}}</view>
|
||
|
<view :style="{color:colorFn(item)}">{{item.applyStatus|applyStatus}}</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</scroll-view>
|
||
|
</view>
|
||
|
<popup :show="modifyShow" :butten='butten' v-model="isShow.modify">
|
||
|
<view slot="coment">
|
||
|
<modify @closeFn='isShow.modify=false' @reject='reject' @postFn='postFn' v-if="isShow.modify"
|
||
|
:seleData='seleData' />
|
||
|
</view>
|
||
|
</popup>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import scroll from '@/components/scroll'
|
||
|
import modify from '../../modify/modify.vue'
|
||
|
import priceAdjustment from '@/api/priceAdjustment'
|
||
|
import tool from '@/utils/tool.js'
|
||
|
export default {
|
||
|
components: {
|
||
|
scroll,
|
||
|
modify
|
||
|
},
|
||
|
data() {
|
||
|
return {
|
||
|
seleData: null,
|
||
|
list: [],
|
||
|
animationData: null,
|
||
|
seleindex: '0',
|
||
|
isShow: {
|
||
|
modify: false,
|
||
|
refresherTriggered:false
|
||
|
},
|
||
|
modifyShow: {
|
||
|
img: false,
|
||
|
footer: false
|
||
|
},
|
||
|
butten: {
|
||
|
colse: '撤回',
|
||
|
confirm: '修改价格',
|
||
|
coloseBg: '#EC4645',
|
||
|
coloseColor: '#FFFFFF',
|
||
|
confirmBg: '',
|
||
|
confirmColor: ''
|
||
|
},
|
||
|
getData: {
|
||
|
pageSize: 15,
|
||
|
currentPage: 1,
|
||
|
params: {
|
||
|
applyStatus: '', //申请状态审核状态
|
||
|
siteName: '', //油站名称
|
||
|
effectiveMode: '', //生效方式调价类型
|
||
|
|
||
|
}
|
||
|
},
|
||
|
navigation: [{
|
||
|
text: '全部',
|
||
|
index: ''
|
||
|
},
|
||
|
{
|
||
|
text: '待审核',
|
||
|
index: '0'
|
||
|
},
|
||
|
{
|
||
|
text: '待执行',
|
||
|
index: '1'
|
||
|
}
|
||
|
],
|
||
|
}
|
||
|
},
|
||
|
onShow() {
|
||
|
this.getList()
|
||
|
},
|
||
|
onLoad() {
|
||
|
|
||
|
},
|
||
|
filters: {
|
||
|
applyStatus(e) {
|
||
|
/*
|
||
|
-3:执行失败
|
||
|
-2:已撤回
|
||
|
-1:审核失败
|
||
|
0:待审核
|
||
|
1:审核通过
|
||
|
2:等待执行
|
||
|
3:执行成功
|
||
|
*/
|
||
|
switch (Number(e)) {
|
||
|
case 1:
|
||
|
return '审核通过'
|
||
|
case 2:
|
||
|
return '等待执行'
|
||
|
case 3:
|
||
|
return '执行成功'
|
||
|
case 0:
|
||
|
return '等待审核'
|
||
|
case -1:
|
||
|
return '审核失败'
|
||
|
case -2:
|
||
|
return '已撤回'
|
||
|
case -3:
|
||
|
return '执行失败'
|
||
|
case -4:
|
||
|
return '已撤销'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
refresherrefresh(e){
|
||
|
this.isShow.refresherTriggered = true
|
||
|
this.getList()
|
||
|
},
|
||
|
reject(e) {
|
||
|
priceAdjustment.withdrawalOfPriceAdjustment(e).then(res => {
|
||
|
if (res.code !== 20000) return
|
||
|
uni.showToast({
|
||
|
title: '撤回成功',
|
||
|
icon: 'success'
|
||
|
})
|
||
|
setTimeout(() => {
|
||
|
this.isShow.modify = false
|
||
|
this.getList()
|
||
|
}, 500)
|
||
|
})
|
||
|
},
|
||
|
postFn(e) {
|
||
|
priceAdjustment.update(e).then(res => {
|
||
|
if (res.code !== 20000) return
|
||
|
uni.showToast({
|
||
|
title: '提交成功',
|
||
|
icon: 'success'
|
||
|
})
|
||
|
setTimeout(() => {
|
||
|
this.isShow.modify = false
|
||
|
this.getList()
|
||
|
}, 500)
|
||
|
})
|
||
|
},
|
||
|
colorFn(item) {
|
||
|
switch (Number(item.applyStatus)) {
|
||
|
case 1:
|
||
|
return '#17A00E'
|
||
|
case 2:
|
||
|
return '#17A00E'
|
||
|
case 0:
|
||
|
return '#EBC153'
|
||
|
case -1:
|
||
|
return '#EC4645'
|
||
|
case -2:
|
||
|
return '#EC4645'
|
||
|
}
|
||
|
},
|
||
|
select(item) {
|
||
|
// if (item.applyStatus !== 0) return
|
||
|
this.isShow.modify = true
|
||
|
tool.numberSetting(item, ['marketPrice', 'oldMarketPrice', 'oldSitePrice', 'sitePrice'], 2)
|
||
|
this.seleData = item
|
||
|
},
|
||
|
//转圈圈逻辑 !!!! 操
|
||
|
seleFn(e) {
|
||
|
if (e.index == '') {
|
||
|
if (this.getData.params.applyStatus !== '') {
|
||
|
this.navigation[0].text = '全部'
|
||
|
this.getData.params.effectiveMode = ''
|
||
|
this.getData.params.applyStatus = ''
|
||
|
} else {
|
||
|
switch (e.text) {
|
||
|
case '全部':
|
||
|
this.navigation[0].text = '立即'
|
||
|
this.getData.params.effectiveMode = 0
|
||
|
break
|
||
|
case '立即':
|
||
|
this.navigation[0].text = '预约'
|
||
|
this.getData.params.effectiveMode = 1
|
||
|
break
|
||
|
case '预约':
|
||
|
this.navigation[0].text = '全部'
|
||
|
this.getData.params.effectiveMode = ''
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
|
||
|
this.getData.params.applyStatus = ''
|
||
|
} else {
|
||
|
this.navigation[0].text = '全部'
|
||
|
this.getData.params.effectiveMode = ''
|
||
|
this.getData.params.applyStatus = e.index
|
||
|
}
|
||
|
this.getData.currentPage = 1
|
||
|
this.rotateFn()
|
||
|
this.getList()
|
||
|
},
|
||
|
getList() {
|
||
|
let page = JSON.parse(JSON.stringify(this.getData))
|
||
|
priceAdjustment.findByPage(page).then(res => {
|
||
|
this.isShow.refresherTriggered = false
|
||
|
if (res.code !== 20000) return
|
||
|
if (res.data.list.length == 0) {
|
||
|
uni.showToast({
|
||
|
title: '没有数据了哦',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
}
|
||
|
if (page.currentPage !== 1) {
|
||
|
this.list = this.list.concat(res.data.list)
|
||
|
return
|
||
|
}
|
||
|
this.list = res.data.list
|
||
|
console.log(res)
|
||
|
})
|
||
|
},
|
||
|
animationFns() {
|
||
|
console.log('恢复动画')
|
||
|
var animation = uni.createAnimation({
|
||
|
duration: 0,
|
||
|
timingFunction: 'ease',
|
||
|
})
|
||
|
animation.rotate(0).step()
|
||
|
this.animationData = animation.export()
|
||
|
},
|
||
|
rotateFn() {
|
||
|
var animation = uni.createAnimation({
|
||
|
duration: 1000,
|
||
|
timingFunction: 'ease',
|
||
|
})
|
||
|
animation.rotate(360).step()
|
||
|
this.animationData = animation.export()
|
||
|
setTimeout(() => {
|
||
|
this.animationFns()
|
||
|
}, 1000)
|
||
|
},
|
||
|
scrolltolower() {
|
||
|
this.getData.currentPage += 1
|
||
|
this.getList()
|
||
|
},
|
||
|
seachFn() {},
|
||
|
onClick() {},
|
||
|
jump() {
|
||
|
uni.navigateTo({
|
||
|
url: '../addPrice/addPrice'
|
||
|
})
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style>
|
||
|
@import url("./index.css");
|
||
|
</style>
|