1
0
mirror of https://github.com/PanJiaChen/vue-element-admin.git synced 2025-08-10 20:39:48 +08:00

add validate the IsProcessed (#685)

* add validate the IsProcessed

* minimal changes

Co-authored-by: Elsio Sanchez <elsiosanche@gmail.com>
This commit is contained in:
Elsio Sanchez 2021-03-23 18:08:53 -04:00 committed by GitHub
parent ca2f9bed3c
commit 39f16d6bfc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 109 additions and 32 deletions

View File

@ -11,6 +11,7 @@
<el-row :gutter="24">
<field-definition
v-for="(field) in fieldsList"
:ref="field.columnName"
:key="field.columnName"
:metadata-field="field"
/>
@ -59,6 +60,10 @@ export default {
fieldsList
}
}
},
showField: {
type: Boolean,
default: false
}
},
data() {
@ -78,10 +83,22 @@ export default {
return field
}
},
watch: {
showField(value) {
if (value) {
setTimeout(() => {
this.focusValue()
}, 1500)
}
}
},
beforeDestroy() {
this.unsubscribe()
},
methods: {
focusValue() {
this.$refs.Value[0].$children[0].$children[0].$children[1].$children[0].focus()
},
// TODO: Get locations values.
createBusinessParter() {
let values = this.$store.getters.getValuesView({
@ -134,6 +151,7 @@ export default {
}
},
clearValues() {
this.$store.dispatch('changePopover', false)
this.showsPopovers.isShowCreate = false
this.$store.dispatch('setDefaultValues', {

View File

@ -4,19 +4,20 @@
<template slot="label">
{{ $t('form.pos.order.BusinessPartnerCreate.businessPartner') }}
<el-popover
v-model="showCreate"
placement="right"
width="400"
trigger="click"
@hide="showFieldCreate = !showFieldCreate"
>
<business-partner-create
:parent-metadata="parentMetadata"
:show-field="showFieldCreate"
:show-field="showCreate"
/>
<el-button
slot="reference"
type="text"
@click="showFieldCreate = !showFieldCreate"
:disabled="isDisabled"
@click="popoverOpen"
>
<i
class="el-icon-circle-plus"
@ -27,6 +28,7 @@
placement="right"
width="800"
trigger="click"
:disabled="isDisabled"
@hide="showFieldList = !showFieldList"
>
<business-partners-list
@ -54,6 +56,7 @@
value-key="name"
style="width: 100%;"
popper-class="custom-field-bpartner-info"
:disabled="isDisabled"
@clear="setBusinessPartner(blankBPartner, false)"
@keyup.enter.native="getBPartnerWithEnter"
@select="handleSelect"
@ -116,6 +119,10 @@ export default {
isShowList: false
}
}
},
isDisabled: {
type: Boolean,
default: false
}
},
data() {
@ -123,7 +130,8 @@ export default {
controlDisplayed: this.displayedValue,
timeOut: null,
showFieldCreate: false,
showFieldList: false
showFieldList: false,
showCreate: false
}
},
computed: {
@ -168,6 +176,14 @@ export default {
id: undefined,
name: undefined
}
},
popoverCreateBusinessParnet() {
return this.$store.getters.getPopoverCreateBusinessParnet
}
},
watch: {
popoverCreateBusinessParnet(value) {
this.showCreate = value
}
},
methods: {
@ -370,6 +386,9 @@ export default {
})
console.info(`Error get Business Partner. Message: ${error.message}, code ${error.code}.`)
})
},
popoverOpen(value) {
this.$store.dispatch('changePopover', true)
}
}
}

View File

@ -55,7 +55,11 @@
<el-col v-for="(field, index) in fieldsList" :key="index" :span="8">
<field-definition
:key="field.columnName"
:metadata-field="field"
:metadata-field="{
...field,
isReadOnly: isDisabled
}"
/>
</el-col>
</el-row>
@ -64,9 +68,9 @@
</el-card>
<samp style="float: right;padding-right: 10px;">
<el-button type="danger" icon="el-icon-close" @click="exit" />
<el-button type="info" icon="el-icon-minus" @click="undoPatment" />
<el-button type="primary" :disabled="validPay || addPay" icon="el-icon-plus" @click="addCollectToList(paymentBox)" />
<el-button type="success" :disabled="validateCompleteCollection" icon="el-icon-shopping-cart-full" @click="completePreparedOrder(listPayments)" />
<el-button type="info" icon="el-icon-minus" :disabled="isDisabled" @click="undoPatment" />
<el-button type="primary" :disabled="validPay || addPay || isDisabled" icon="el-icon-plus" @click="addCollectToList(paymentBox)" />
<el-button type="success" :disabled="validateCompleteCollection || isDisabled" icon="el-icon-shopping-cart-full" @click="completePreparedOrder(listPayments)" />
</samp>
</el-header>
<el-main style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
@ -262,7 +266,7 @@ export default {
},
listPayments() {
const listLocal = this.$store.getters.getPaymentBox
const listServer = this.$store.getters.getListPayments
const listServer = this.$store.getters.getPos.listPayments
if (!this.sendToServer) {
return listServer.reverse()
}
@ -403,7 +407,7 @@ export default {
}
},
currentOrder() {
return this.$store.getters.getOrder
return this.$store.getters.getPos.currentOrder
},
typeCurrency() {
return this.$store.getters.getValueOfField({
@ -462,6 +466,9 @@ export default {
},
updateOrderPaymentPos() {
return this.$store.getters.getUpdatePaymentPos
},
isDisabled() {
return this.$store.getters.getPos.isProcessed
}
},
watch: {
@ -790,7 +797,6 @@ export default {
message: error.message,
showClose: true
})
console.log(error)
})
.finally(() => {
this.$store.dispatch('listOrdersFromServer', {

View File

@ -113,7 +113,7 @@ export default {
return this.$store.getters.getCurrentPOS
},
listOrderLine() {
return this.$store.getters.getListOrderLine
return this.$store.getters.getPos.lineOrder
},
getKeyLayout() {
return this.$store.getters.getKeyLayout

View File

@ -319,7 +319,7 @@ export default {
},
isShowOrdersList: {
get() {
return this.$store.getters.getListOrder.isShowPopover
return this.$store.getters.getPos.listOrder.isShowPopover
},
set(value) {
if (!this.isEmptyValue(this.$route.query.pos)) {
@ -331,7 +331,7 @@ export default {
return this.$store.getters.getSellingPointsList
},
currentPOS() {
return this.$store.getters.getOrder
return this.$store.getters.getPos.currentOrder
},
currentPoint() {
return this.$store.getters.getCurrentPOS
@ -446,8 +446,8 @@ export default {
processOrder({
posUuid,
orderUuid: this.$route.query.action,
createPayments: !this.isEmptyValue(this.$store.getters.getListPayments),
payments: this.$store.getters.getListPayments
createPayments: !this.isEmptyValue(this.$store.getters.getPos.listPayments),
payments: this.$store.getters.getPos.listPayments
})
.then(response => {
this.$store.dispatch('reloadOrder', response.uuid)
@ -463,7 +463,6 @@ export default {
message: error.message,
showClose: true
})
console.log(error)
})
.finally(() => {
this.$store.dispatch('listOrdersFromServer', {
@ -479,11 +478,11 @@ export default {
const parametersList = [
{
columnName: 'C_Order_ID',
value: this.$store.getters.getOrder.id
value: this.$store.getters.getPos.currentOrder.id
},
{
columnName: 'Bill_BPartner_ID',
value: this.$store.getters.getOrder.businessPartner.id
value: this.$store.getters.getPos.currentOrder.businessPartner.id
},
{
columnName: 'IsCancelled',
@ -527,7 +526,7 @@ export default {
const posUuid = this.currentPoint.uuid
const parametersList = [{
columnName: 'C_Order_ID',
value: this.$store.getters.getOrder.id
value: this.$store.getters.getPos.currentOrder.id
}]
this.$store.dispatch('addParametersProcessPos', parametersList)
requestCreateOrder({
@ -597,7 +596,7 @@ export default {
})
},
seeOrderList() {
if (this.$store.getters.getListOrder.recordCount <= 0) {
if (this.$store.getters.getPos.listOrder.recordCount <= 0) {
this.$store.dispatch('listOrdersFromServer', {})
}
},

View File

@ -30,6 +30,7 @@
uuid: panelMetadata.uuid,
panelType: panelMetadata.panelType
}"
:is-disabled="isDisabled"
/>
</el-col>
<el-col :span="2" :style="styleTab">
@ -147,13 +148,14 @@
<el-button
slot="reference"
type="text"
:disabled="isDisabled"
@click="showFieldLine = !showFieldLine"
>
<i class="el-icon-edit" /> {{ $t('form.pos.tableProduct.editQuantities') }}
</el-button>
</el-popover>
</el-dropdown-item>
<el-button type="danger" icon="el-icon-delete" class="delete-buttom" plain @click="deleteOrderLine(scope.row)">
<el-button type="danger" icon="el-icon-delete" class="delete-buttom" :disabled="isDisabled" plain @click="deleteOrderLine(scope.row)">
{{ $t('form.pos.tableProduct.remove') }}
</el-button>
</el-dropdown-menu>
@ -165,16 +167,16 @@
<el-footer class="footer-table">
<div class="keypad">
<el-button type="primary" icon="el-icon-top" @click="arrowTop" />
<el-button type="primary" icon="el-icon-bottom" @click="arrowBottom" />
<el-button v-show="isValidForDeleteLine(allOrderLines)" type="danger" icon="el-icon-delete" @click="deleteOrderLine(currentOrderLine)" />
<el-button type="primary" icon="el-icon-top" :disabled="isDisabled" @click="arrowTop" />
<el-button type="primary" icon="el-icon-bottom" :disabled="isDisabled" @click="arrowBottom" />
<el-button v-show="isValidForDeleteLine(allOrderLines)" type="danger" icon="el-icon-delete" :disabled="isDisabled" @click="deleteOrderLine(currentOrderLine)" />
<el-button
v-show="isValidForDeleteLine(allOrderLines)"
type="success"
icon="el-icon-bank-card"
@click="openCollectionPanel"
>
{{ $t('form.pos.order.collect') }}
{{ labelButtonCollections }}
</el-button>
<br>
<p>
@ -395,6 +397,12 @@ export default {
containerUuid: this.containerUuid,
columnName: 'DisplayColumn_C_Currency_ID'
})
},
isDisabled() {
return this.$store.getters.getIsProcessed
},
labelButtonCollections() {
return this.isDisabled ? this.$t('form.pos.order.collections') : this.$t('form.pos.order.collect')
}
},
watch: {

View File

@ -165,7 +165,7 @@ export default {
return false
},
tableOrder() {
return this.$store.getters.getListOrder
return this.$store.getters.getPos.listOrder
},
ordersList() {
const order = this.tableOrder

View File

@ -99,7 +99,7 @@ export default {
return this.$store.getters.getUpdateOrderPos
},
getOrder() {
return this.$store.getters.getOrder
return this.$store.getters.getPos.currentOrder
}
},
watch: {

View File

@ -398,6 +398,7 @@ export default {
numberLines: 'Number of Lines',
pointSale: 'Point of Sale',
collect: 'Collect',
collections: 'Cobros',
BusinessPartnerCreate: {
businessPartner: 'Business Partner',
successfullyCreated: 'Socio de Negocio Creado Exitosamente',

View File

@ -373,6 +373,7 @@ export default {
numberLines: 'Cantidad de Lineas',
pointSale: 'Punto de Venta',
collect: 'Cobrar',
collections: 'Cobros',
BusinessPartnerCreate: {
businessPartner: 'Socio de Negocios',
successfullyCreated: 'Socio de Negocio Creado Exitosamente',

View File

@ -15,6 +15,24 @@ export default {
getOrder: (state) => {
return state.order
},
getPos: (state, getters) => {
const OrderPos = {
currentOrder: state.order,
listOrder: getters.getListOrder,
lineOrder: getters.getListOrderLine,
listPayments: getters.getListPayments,
isProcessed: getters.getIsProcessed
}
return OrderPos
},
getIsProcessed: (state) => {
const order = state.order
if (!isEmptyValue(order.documentStatus.value) &&
(order.documentStatus.value === 'CO' || order.documentStatus.value === 'VO' || order.documentStatus.value === 'IP' || order.documentStatus.value === 'IP')) {
return true
}
return false
},
getListOrder: (state) => {
if (isEmptyValue(state.listOrder)) {
return {
@ -24,9 +42,6 @@ export default {
}
return state.listOrder
},
getCurrentOrder: (state) => {
return state.currentOrder
},
getFindOrder: (state) => {
return state.findOrder
}

View File

@ -29,7 +29,8 @@ const initStateUtils = {
splitWidthLeft: 3,
parametersProcessPos: [],
updateOrder: false,
updatePayment: false
updatePayment: false,
createBusinessPartner: false
}
export default {
@ -101,6 +102,9 @@ export default {
},
setUpdatePayment(state, payment) {
state.updatePayment = payment
},
popoverCreateBusinessPartner(state, createBusinessPartner) {
state.createBusinessPartner = createBusinessPartner
}
},
actions: {
@ -167,6 +171,9 @@ export default {
},
updatePaymentPos({ commit }, params) {
commit('setUpdatePayment', params)
},
changePopover({ commit }, params) {
commit('popoverCreateBusinessPartner', params)
}
},
getters: {
@ -239,6 +246,9 @@ export default {
},
getUpdatePaymentPos: (state) => {
return state.updatePayment
},
getPopoverCreateBusinessParnet: (state) => {
return state.createBusinessPartner
}
}
}