13 Commits

Author SHA1 Message Date
96ddc036b4 更新 2023-07-12 18:25:12 +08:00
6d35811470 更新 2023-07-11 17:33:40 +08:00
49b6ed8a06 Merge branch 'master' into zyj
# Conflicts:
#	src/views/oilFinalStatement/oilFinalStatementListInfo.vue
2023-07-11 16:45:28 +08:00
badf6bf752 更新 2023-07-11 16:41:49 +08:00
ec225b7a02 Merge pull request '更新' (#22) from zyj into master
Reviewed-on: #22
2023-07-11 03:06:12 +00:00
d1a7142f19 更新 2023-07-11 11:05:41 +08:00
c8ab3b999b Merge pull request '更新' (#21) from zyj into master
Reviewed-on: #21
2023-07-10 08:46:02 +00:00
75b5e3f91b 更新 2023-07-10 16:37:49 +08:00
24b6b3d84d Merge pull request '更新' (#20) from zyj into master
Reviewed-on: #20
2023-07-10 06:12:50 +00:00
0a428101f7 更新 2023-07-10 14:12:05 +08:00
xiaozhiyong
27a14874a4 更新 2023-07-10 13:49:36 +08:00
xiaozhiyong
b46c851e5c Merge branch 'master' of http://121.196.213.68:3000/xiaozhiyong/refinery-admin 2023-07-10 10:22:32 +08:00
xiaozhiyong
29b5fdc39b 更新 2023-07-10 10:22:28 +08:00
5 changed files with 81 additions and 138 deletions

View File

@@ -11,15 +11,6 @@
@clear="list = []"
@change="change"
>
<!-- <template v-if="labelIsMore">
<el-option
v-for="(item, index) in list"
:key="item.id + index"
:label="item[config.labelKey[0]] + '(' + item[config.labelKey[1]] + '-' + item[config.labelKey[2]] + ')'"
:value="item[config.valueKey]"
>
</el-option>
</template> -->
<template>
<el-option v-for="(item, index) in list" :key="index" :label="labelHandler(item)" :value="item[config.valueKey]"> </el-option>
</template>
@@ -33,17 +24,17 @@ export default {
config: Object
// config: {
// serveTarget: {}, // 远程搜索接口
// autocompleteKey: "", //远程搜索接口参数名
// labelKey: [] || '', //接口返回数据label
// autocompleteKey: "" || {}, // 远程搜索接口参数名
// labelKey: "" || [], // 接口返回数据label
// valueKey: "", // 接口返回数据id
// querykey: "", // 查询接口参数名
// echoId:'', //
// echoId: "", // 用于回显的id
// echoName: "", // 用于回显的name
// },
},
data() {
return {
text: '',
// labelIsMore: false,
list: [],
isDisabled: false
}
@@ -51,7 +42,6 @@ export default {
watch: {
'config.echoId': {
handler(nval, oval) {
console.log('nvalnvalnvalnvalnval', nval)
this.list = []
let type = this.$utils.typeJudgment(this.config.echoName)
if (nval && ['String'].includes(type)) {
@@ -77,18 +67,22 @@ export default {
created() {
let { labelKey } = this.config
let type = this.$utils.typeJudgment(labelKey)
// if (type === 'Array') {
// this.labelIsMore = true
// }
// 重构labelHandler
this.labelHandler = this.labelHandler(type)
// console.log(this.labelHandler())
},
methods: {
labelHandler(type) {
if (type === 'Array') {
return item => {
return this.config.labelKey.reduce((prev, cur) => {
prev += /^[^0-9a-zA-Z]/.test(cur) ? cur : item[cur]
let type = this.$utils.typeJudgment(cur)
let _function =
type != 'Function'
? item => {
return /^[^0-9a-zA-Z]/.test(cur) ? cur : item[cur]
}
: cur
prev += _function(item)
return prev
}, '')
}
@@ -99,7 +93,6 @@ export default {
},
// 远程搜索
remoteMethod(query) {
console.log('query', query)
if (query !== '') {
this.loading = true
let type = this.$utils.typeJudgment(this.config.autocompleteKey)

View File

@@ -17,32 +17,35 @@ export function parseTime(time) {
}
const formatRes = {
y: date.getFullYear(),
M: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
m: date.getMinutes(),
s: date.getSeconds(),
M: (date.getMonth() + 1 + '').padStart(2, 0),
d: (date.getDate() + '').padStart(2, 0),
h: (date.getHours() + '').padStart(2, 0),
m: (date.getMinutes() + '').padStart(2, 0),
s: (date.getSeconds() + '').padStart(2, 0),
week: ['日', '一', '二', '三', '四', '五', '六'][date.getDay()]
}
formatRes.M < 10 && (formatRes.M = '0' + formatRes.M)
formatRes.d < 10 && (formatRes.d = '0' + formatRes.d)
formatRes.h < 10 && (formatRes.h = '0' + formatRes.h)
formatRes.m < 10 && (formatRes.m = '0' + formatRes.m)
formatRes.s < 10 && (formatRes.s = '0' + formatRes.s)
// formatRes.M < 10 && (formatRes.M = '0' + formatRes.M)
// formatRes.d < 10 && (formatRes.d = '0' + formatRes.d)
// formatRes.h < 10 && (formatRes.h = '0' + formatRes.h)
// formatRes.m < 10 && (formatRes.m = '0' + formatRes.m)
// formatRes.s < 10 && (formatRes.s = '0' + formatRes.s)
return formatRes
}
// 防抖
export function debounce(fn, delay) {
let timer = null
return function () {
function _implementer(...args) {
if (timer) clearTimeout(timer)
let _this = this
let _arguments = arguments
timer = setTimeout(function () {
fn.apply(_this, _arguments)
fn.call(_this, ...args)
}, delay)
}
_implementer.cancel = () => {
clearTimeout(timer)
}
return _implementer
}
// 车牌校验
export function isLicensePlate(number) {

View File

@@ -28,19 +28,9 @@
<el-form label-width="90px" :inline="true" :model="page" :size="$store.getters.size">
<el-col :span="18">
<el-form-item>
<el-select
v-model="page.params.customerId"
remote
filterable
:remote-method="companyOrginQuery"
clearable
placeholder="请输入企业名称"
@keyup.enter.native="getByPage"
ref="changeName"
>
<el-option v-for="item in queryCompanyList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
<autocomplete class="mr20" :params="page.params" :config="configAutocomplete" />
</el-form-item>
<el-form-item prop="createTimeRange">
<el-date-picker
v-model="page.params.createTimeRange"
@@ -56,8 +46,8 @@
</el-date-picker>
</el-form-item>
<el-form-item prop="paramsid">
<el-select v-model="page.params.oilProductType" style="width: 100%" clearable placeholder="请选择油品类型">
<el-option v-for="item in oliList" :key="item.label" :label="item.label" :value="item.value"> </el-option>
<el-select v-model="page.params.productType" style="width: 100%" clearable placeholder="请选择油品类型">
<el-option v-for="(item, index) in oliList" :key="index" :label="item" :value="item"> </el-option>
</el-select>
</el-form-item>
</el-col>
@@ -207,7 +197,7 @@
</el-row>
<div :span="24" style="margin-top: 50px; text-align: center; width: 100%">
<el-divider style="width: 100%"></el-divider>
<div style="display: flex; justify-content: end; width: 90%; margin: 0 auto">
<div style="display: flex; justify-content: flex-end; width: 90%; margin: 0 auto">
<el-button @click="close" size="mini">取消</el-button>
<el-button size="mini" type="primary" :disabled="!setWait" @click="addList">确认提交</el-button>
</div>
@@ -219,30 +209,23 @@
<script>
import internalCompanyApi from '@/api/user/internalCompany'
import autocomplete from 'components/autocomplete/index.vue'
export default {
components: {
autocomplete
},
data() {
return {
configAutocomplete: {
serveTarget: internalCompanyApi.getLikeByCompanyType,
autocompleteKey: 'name',
labelKey: 'name',
valueKey: 'id',
placeholder: '企业名称',
querykey: 'customerId'
},
changeCompanyId: '',
oliList: [
{
value: 'DIESEL',
label: '柴油'
},
{
value: 'PETROL',
label: '汽油'
},
{
value: 'GAS',
label: '天然气'
},
{
value: 'OTHER',
label: '其他'
}
],
oliList: ['0#柴', '-10#柴', '92#汽', '95#汽'],
baocunList: [],
daixuanList: [],
baocunDaixuanList: [],
@@ -250,7 +233,7 @@ export default {
goIn: 0,
importData: {},
page: {
pageSize: 10, // 每页显示条数
pageSize: 10000, // 每页显示条数
currentPage: 1, // 默认页
totalCount: 0,
params: {},
@@ -261,7 +244,6 @@ export default {
tableHeight: document.documentElement.clientHeight - 495,
selectedStaffList: [],
setWait: true,
queryCompanyList: [], // 企业列表
staffData: [],
selectedStaffData: [],
submitDialog: false,
@@ -430,12 +412,14 @@ export default {
return
}
this.importData.settlementType = 1
this.importData.oilProductType = this.page.params.oilProductType
this.importData.productType = this.page.params.productType
let payRealAmountEnd = []
let customerSettleAmountList = []
let endTime = ''
this.selectedStaffList.forEach(item => {
this.endT = item.createTime
endTime = item.createTime
payRealAmountEnd.push(item.actAmount ? item.actAmount : '0')
customerSettleAmountList.push(item.customerSettleAmount ? item.customerSettleAmount : '0')
@@ -458,24 +442,13 @@ export default {
this.importData.confirmState = 0
this.importData.settlementState = 0
this.importData.createSource = 'XOIL_OMS_WEB'
this.importData.orderStartDate = this.createT
this.importData.orderEndDate = this.endT
this.importData.settlementObjectName = this.$refs.changeName.selectedLabel
this.importData.orderStartTime = this.selectedStaffList[0].createTime
this.importData.orderEndTime = endTime
this.importData.settlementObjectName = this.selectedStaffList[0].customerName
this.importData.settlementId = this.selectedStaffList[0].customerId
if (!this.importData.settlementObjectName) {
this.$message.error('企业名称为空,无法提交')
return
}
this.submitDialog = true
},
companyOrginQuery(value) {
// 远程搜索
if (value) {
internalCompanyApi.getLikeByCompanyType({ name: value }).then(res => {
this.queryCompanyList = res.data
})
}
},
search() {
// 搜索
if (!this.page.params.customerId) {
@@ -486,10 +459,10 @@ export default {
this.$message.warning('请输入时间')
return
}
if (!this.page.params.oilProductType) {
this.$message.warning('请选择油品类型')
return
}
// if (!this.page.params.productType) {
// this.$message.warning('请选择油品类型')
// return
// }
this.loading = true
this.page.currentPage = 1
this.getByPage()
@@ -587,7 +560,7 @@ export default {
},
async getByPage(e) {
this.page.params.type = 1
this.page.params.orderType = 4
if (this.page.params.createTimeRange && this.page.params.createTimeRange.length > 1) {
this.page.params.dateStartTime = this.page.params.createTimeRange[0] + ' 00:00:00'
this.page.params.dateEndTime = this.page.params.createTimeRange[1] + ' 23:59:59'
@@ -654,7 +627,7 @@ export default {
/* flex: 1; */
display: flex;
align-items: center;
justify-content: end;
justify-content: flex-end;
font-size: 16px;
}

View File

@@ -14,19 +14,8 @@
<el-option label="炼厂" value="2" />
</el-select>
</el-form-item>
<el-form-item>
<el-select
v-model="page.params.settlementId"
remote
filterable
:remote-method="companyOrginQuery"
clearable
placeholder="客户名称"
@keyup.enter.native="getByPage"
>
<el-option v-for="item in queryCompanyList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<autocomplete class="mr20" :params="page.params" :config="configAutocomplete" />
<el-form-item>
<el-select v-model="page.params.auditState" clearable placeholder="审核状态">
@@ -133,14 +122,24 @@
import oilFinalStatementListInfo from './oilFinalStatementListInfo'
import internalCompanyApi from '@/api/user/internalCompany'
import sysCustomerInfoApi from '@/api/user/sysCustomerInfo'
import autocomplete from 'components/autocomplete/index.vue'
import { mapGetters } from 'vuex'
export default {
components: {
oilFinalStatementListInfo
oilFinalStatementListInfo,
autocomplete
},
data() {
return {
configAutocomplete: {
serveTarget: internalCompanyApi.getLikeByCompanyType,
autocompleteKey: 'name',
labelKey: 'name',
valueKey: 'id',
placeholder: '客户名称',
querykey: 'settlementId'
},
detailDrawer: false,
thisloding: true,
page: {
@@ -151,7 +150,6 @@ export default {
columns: []
},
userList: '',
queryCompanyList: [],
tableHeight: document.documentElement.clientHeight - 300 - 50,
filters: this.$options.filters,
dataPage: [],
@@ -314,14 +312,6 @@ export default {
this.page.params = {}
this.getByPage()
},
companyOrginQuery(value) {
// 远程搜索
if (value) {
internalCompanyApi.getLikeByCompanyType({ name: value }).then(res => {
this.queryCompanyList = res.data
})
}
},
getByPage() {
// 分页查询

View File

@@ -126,7 +126,9 @@
<div class="button-style" :span="24">
<el-divider style="width: 100%"></el-divider>
<el-button @click="close(1)" style="margin-right: 10px">关闭</el-button>
<el-button v-if="importData.auditState == 0" type="primary" @click="submit" style="margin-right: 10px">结算单审核 </el-button>
<el-button v-permission="['oil:to:examine']" v-if="importData.auditState == 0" type="primary" @click="submit" style="margin-right: 10px"
>结算单审核
</el-button>
</div>
<el-dialog class="dialogInfo" append-to-body :visible.sync="submitDialog" v-if="submitDialog" width="500px">
<el-form class="messageConfirm" ref="form" :model="importData" label-width="110px" size="mini">
@@ -179,10 +181,8 @@
</div>
</template>
<script>
import { imgCompress } from '@/utils'
import internalCompanyApi from '@/api/user/internalCompany'
import utils from '@/utils/encode'
const JSESSIONID = utils.uuid()
export default {
filters: {},
props: {
@@ -194,7 +194,6 @@ export default {
data() {
return {
tableHeight: document.documentElement.clientHeight - 470 - 55,
imgCompress,
companyList: [],
roleList: [],
roleTypeList: [],
@@ -218,7 +217,7 @@ export default {
],
tableColumns: [
{
prop: 'orderSerialNumber',
prop: 'id',
minWidth: 180,
label: '订单号',
show: true,
@@ -370,21 +369,6 @@ export default {
sums[index] = '合计'
return
}
const values = data.map(item => Number(item[column.property]))
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return prev + curr
} else {
return prev
}
}, 0)
sums[index] = sums[index].toFixed(2)
sums[index] += ' 元'
} else {
sums[index] = ''
}
if (this.importData.settlementType == 1) {
switch (
column.property // column.property可以匹配它的每一列的命名 然后赋值