1
0
mirror of https://github.com/PanJiaChen/vue-element-admin.git synced 2025-08-13 07:04:21 +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"> <el-row :gutter="24">
<field-definition <field-definition
v-for="(field) in fieldsList" v-for="(field) in fieldsList"
:ref="field.columnName"
:key="field.columnName" :key="field.columnName"
:metadata-field="field" :metadata-field="field"
/> />
@ -59,6 +60,10 @@ export default {
fieldsList fieldsList
} }
} }
},
showField: {
type: Boolean,
default: false
} }
}, },
data() { data() {
@ -78,10 +83,22 @@ export default {
return field return field
} }
}, },
watch: {
showField(value) {
if (value) {
setTimeout(() => {
this.focusValue()
}, 1500)
}
}
},
beforeDestroy() { beforeDestroy() {
this.unsubscribe() this.unsubscribe()
}, },
methods: { methods: {
focusValue() {
this.$refs.Value[0].$children[0].$children[0].$children[1].$children[0].focus()
},
// TODO: Get locations values. // TODO: Get locations values.
createBusinessParter() { createBusinessParter() {
let values = this.$store.getters.getValuesView({ let values = this.$store.getters.getValuesView({
@ -134,6 +151,7 @@ export default {
} }
}, },
clearValues() { clearValues() {
this.$store.dispatch('changePopover', false)
this.showsPopovers.isShowCreate = false this.showsPopovers.isShowCreate = false
this.$store.dispatch('setDefaultValues', { this.$store.dispatch('setDefaultValues', {

View File

@ -4,19 +4,20 @@
<template slot="label"> <template slot="label">
{{ $t('form.pos.order.BusinessPartnerCreate.businessPartner') }} {{ $t('form.pos.order.BusinessPartnerCreate.businessPartner') }}
<el-popover <el-popover
v-model="showCreate"
placement="right" placement="right"
width="400" width="400"
trigger="click" trigger="click"
@hide="showFieldCreate = !showFieldCreate"
> >
<business-partner-create <business-partner-create
:parent-metadata="parentMetadata" :parent-metadata="parentMetadata"
:show-field="showFieldCreate" :show-field="showCreate"
/> />
<el-button <el-button
slot="reference" slot="reference"
type="text" type="text"
@click="showFieldCreate = !showFieldCreate" :disabled="isDisabled"
@click="popoverOpen"
> >
<i <i
class="el-icon-circle-plus" class="el-icon-circle-plus"
@ -27,6 +28,7 @@
placement="right" placement="right"
width="800" width="800"
trigger="click" trigger="click"
:disabled="isDisabled"
@hide="showFieldList = !showFieldList" @hide="showFieldList = !showFieldList"
> >
<business-partners-list <business-partners-list
@ -54,6 +56,7 @@
value-key="name" value-key="name"
style="width: 100%;" style="width: 100%;"
popper-class="custom-field-bpartner-info" popper-class="custom-field-bpartner-info"
:disabled="isDisabled"
@clear="setBusinessPartner(blankBPartner, false)" @clear="setBusinessPartner(blankBPartner, false)"
@keyup.enter.native="getBPartnerWithEnter" @keyup.enter.native="getBPartnerWithEnter"
@select="handleSelect" @select="handleSelect"
@ -116,6 +119,10 @@ export default {
isShowList: false isShowList: false
} }
} }
},
isDisabled: {
type: Boolean,
default: false
} }
}, },
data() { data() {
@ -123,7 +130,8 @@ export default {
controlDisplayed: this.displayedValue, controlDisplayed: this.displayedValue,
timeOut: null, timeOut: null,
showFieldCreate: false, showFieldCreate: false,
showFieldList: false showFieldList: false,
showCreate: false
} }
}, },
computed: { computed: {
@ -168,6 +176,14 @@ export default {
id: undefined, id: undefined,
name: undefined name: undefined
} }
},
popoverCreateBusinessParnet() {
return this.$store.getters.getPopoverCreateBusinessParnet
}
},
watch: {
popoverCreateBusinessParnet(value) {
this.showCreate = value
} }
}, },
methods: { methods: {
@ -370,6 +386,9 @@ export default {
}) })
console.info(`Error get Business Partner. Message: ${error.message}, code ${error.code}.`) 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"> <el-col v-for="(field, index) in fieldsList" :key="index" :span="8">
<field-definition <field-definition
:key="field.columnName" :key="field.columnName"
:metadata-field="field" :metadata-field="{
...field,
isReadOnly: isDisabled
}"
/> />
</el-col> </el-col>
</el-row> </el-row>
@ -64,9 +68,9 @@
</el-card> </el-card>
<samp style="float: right;padding-right: 10px;"> <samp style="float: right;padding-right: 10px;">
<el-button type="danger" icon="el-icon-close" @click="exit" /> <el-button type="danger" icon="el-icon-close" @click="exit" />
<el-button type="info" icon="el-icon-minus" @click="undoPatment" /> <el-button type="info" icon="el-icon-minus" :disabled="isDisabled" @click="undoPatment" />
<el-button type="primary" :disabled="validPay || addPay" icon="el-icon-plus" @click="addCollectToList(paymentBox)" /> <el-button type="primary" :disabled="validPay || addPay || isDisabled" 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="success" :disabled="validateCompleteCollection || isDisabled" icon="el-icon-shopping-cart-full" @click="completePreparedOrder(listPayments)" />
</samp> </samp>
</el-header> </el-header>
<el-main style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;"> <el-main style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
@ -262,7 +266,7 @@ export default {
}, },
listPayments() { listPayments() {
const listLocal = this.$store.getters.getPaymentBox const listLocal = this.$store.getters.getPaymentBox
const listServer = this.$store.getters.getListPayments const listServer = this.$store.getters.getPos.listPayments
if (!this.sendToServer) { if (!this.sendToServer) {
return listServer.reverse() return listServer.reverse()
} }
@ -403,7 +407,7 @@ export default {
} }
}, },
currentOrder() { currentOrder() {
return this.$store.getters.getOrder return this.$store.getters.getPos.currentOrder
}, },
typeCurrency() { typeCurrency() {
return this.$store.getters.getValueOfField({ return this.$store.getters.getValueOfField({
@ -462,6 +466,9 @@ export default {
}, },
updateOrderPaymentPos() { updateOrderPaymentPos() {
return this.$store.getters.getUpdatePaymentPos return this.$store.getters.getUpdatePaymentPos
},
isDisabled() {
return this.$store.getters.getPos.isProcessed
} }
}, },
watch: { watch: {
@ -790,7 +797,6 @@ export default {
message: error.message, message: error.message,
showClose: true showClose: true
}) })
console.log(error)
}) })
.finally(() => { .finally(() => {
this.$store.dispatch('listOrdersFromServer', { this.$store.dispatch('listOrdersFromServer', {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,6 +15,24 @@ export default {
getOrder: (state) => { getOrder: (state) => {
return state.order 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) => { getListOrder: (state) => {
if (isEmptyValue(state.listOrder)) { if (isEmptyValue(state.listOrder)) {
return { return {
@ -24,9 +42,6 @@ export default {
} }
return state.listOrder return state.listOrder
}, },
getCurrentOrder: (state) => {
return state.currentOrder
},
getFindOrder: (state) => { getFindOrder: (state) => {
return state.findOrder return state.findOrder
} }

View File

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