Support add comment (#291)
* Support add comment * add traslation * add chat * change color of parrafopull/3759/head
							parent
							
								
									7870fdbfab
								
							
						
					
					
						commit
						e4729a4841
					
				|  | @ -484,3 +484,15 @@ export function requestListChatEntries({ uuid, pageToken, pageSize }) { | |||
|     pageSize | ||||
|   }) | ||||
| } | ||||
| /** | ||||
|  * @param {string} tableName | ||||
|  * @param {string} recordId | ||||
|  * @param {string} comment | ||||
|  */ | ||||
| export function requestCreateChatEntry({ tableName, recordId, comment }) { | ||||
|   return Instance.call(this).requestCreateChatEntry({ | ||||
|     tableName, | ||||
|     recordId, | ||||
|     comment | ||||
|   }) | ||||
| } | ||||
|  |  | |||
|  | @ -278,7 +278,8 @@ export default { | |||
|         message: 'Message', | ||||
|         responsible: 'Responsible', | ||||
|         workflowName: 'Name of Workflow Status', | ||||
|         timeElapsed: 'Time Elapsed' | ||||
|         timeElapsed: 'Time Elapsed', | ||||
|         addNote: 'Notas' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -253,7 +253,8 @@ export default { | |||
|         message: 'Mensaje', | ||||
|         responsible: 'Responsable', | ||||
|         workflowName: 'Nombre de estado del flujo de trabajo', | ||||
|         timeElapsed: 'Tiempo transcurrido' | ||||
|         timeElapsed: 'Tiempo transcurrido', | ||||
|         addNote: 'Notas' | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| import { requestListRecordsLogs, requestListWorkflowsLogs, requestListWorkflows, requestListRecordChats, requestListChatEntries } from '@/api/ADempiere/data' | ||||
| import { requestListRecordsLogs, requestListWorkflowsLogs, requestListWorkflows, requestListRecordChats, requestListChatEntries, requestCreateChatEntry } from '@/api/ADempiere/data' | ||||
| import { isEmptyValue } from '@/utils/ADempiere/valueUtils' | ||||
| 
 | ||||
| const containerInfo = { | ||||
|   state: { | ||||
|  | @ -6,7 +7,8 @@ const containerInfo = { | |||
|     listRecordLogs: [], | ||||
|     listRecordChats: [], | ||||
|     listChatEntries: [], | ||||
|     ListWorkflows: [] | ||||
|     listWorkflows: [], | ||||
|     note: [] | ||||
|   }, | ||||
|   mutations: { | ||||
|     addListWorkflow(state, payload) { | ||||
|  | @ -23,9 +25,25 @@ const containerInfo = { | |||
|     }, | ||||
|     addListChatEntries(state, payload) { | ||||
|       state.listChatEntries = payload | ||||
|     }, | ||||
|     addNote(state, payload) { | ||||
|       state.note = payload | ||||
|     } | ||||
|   }, | ||||
|   actions: { | ||||
|     createChatEntry({ commit, dispatch }, params) { | ||||
|       const tableName = params.tableName | ||||
|       const recordId = params.recordId | ||||
|       const comment = params.comment | ||||
|       return requestCreateChatEntry({ tableName, recordId, comment }) | ||||
|         .then(response => { | ||||
|           dispatch('listChatEntries', { | ||||
|             tableName: params.tableName, | ||||
|             recordId: params.recordId | ||||
|           }) | ||||
|           commit('addNote', response) | ||||
|         }) | ||||
|     }, | ||||
|     listWorkflowLogs({ commit, state, dispatch }, params) { | ||||
|       const tableName = params.tableName | ||||
|       const recordId = params.recordId | ||||
|  | @ -68,7 +86,8 @@ const containerInfo = { | |||
|         .then(response => { | ||||
|           var listRecord = { | ||||
|             recordCount: response.recordCount, | ||||
|             recorLogs: response.recordLogsList | ||||
|             recorLogs: response.recordLogsList, | ||||
|             epale: true | ||||
|           } | ||||
|           commit('addListRecordLogs', listRecord) | ||||
|         }) | ||||
|  | @ -83,15 +102,16 @@ const containerInfo = { | |||
|       const pageToken = 0 | ||||
|       return requestListRecordChats({ tableName, recordId, pageSize, pageToken }) | ||||
|         .then(response => { | ||||
|           var listRecordChats = { | ||||
|           var listRecord = { | ||||
|             recordChatsList: response.recordChatsList, | ||||
|             recordCount: response.recordCount, | ||||
|             epale: isEmptyValue(response.recordChatsList), | ||||
|             nextPageToken: response.nextPageToken | ||||
|           } | ||||
|           dispatch('listRecordChat', { | ||||
|             chatUuid: response.recordChatsList[0].chatUuid | ||||
|           }) | ||||
|           commit('addListRecordChats', listRecordChats) | ||||
|           commit('addListRecordChats', listRecord) | ||||
|         }) | ||||
|         .catch(error => { | ||||
|           console.warn(`Error getting List Chat: ${error.message}. Code: ${error.code}.`) | ||||
|  |  | |||
|  | @ -183,7 +183,7 @@ | |||
|                                   <el-collapse-transition> | ||||
|                                     <div v-show="(currentKey === key)"> | ||||
|                                       <span v-for="(list, index) in listLogs.changeLogs" :key="index"> | ||||
|                                         <p><b> {{ list.displayColumnName }} :</b> <strike> {{ list.oldDisplayValue }} </strike> {{ list.newDisplayValue }} </p> | ||||
|                                         <p><b> {{ list.displayColumnName }} :</b> <strike> <el-link type="danger"> {{ list.oldDisplayValue }} </el-link> </strike> <el-link type="success"> {{ list.newDisplayValue }} </el-link> </p> | ||||
|                                       </span> | ||||
|                                     </div> | ||||
|                                   </el-collapse-transition> | ||||
|  | @ -270,11 +270,11 @@ | |||
|                       > | ||||
|                         <span slot="label"><i class="el-icon-s-comment" /> {{ $t('window.containerInfo.notes') }} </span> | ||||
|                         <div | ||||
|                           v-if="getIsChat" | ||||
|                           v-if="!gettersLisRecordChats.epale" | ||||
|                         > | ||||
|                           <el-card class="box-card"> | ||||
|                             <div slot="header" class="clearfix"> | ||||
|                               <span>{{ $t('window.containerInfo.notes') }} {{ gettersLisRecordChats[0].description }} </span> | ||||
|                               <span>{{ $t('window.containerInfo.notes') }}</span> | ||||
|                             </div> | ||||
|                             <el-scrollbar wrap-class="scroll-window-log-chat"> | ||||
|                               <el-timeline> | ||||
|  | @ -295,14 +295,20 @@ | |||
|                             </el-scrollbar> | ||||
|                           </el-card> | ||||
|                         </div> | ||||
|                         <div | ||||
|                           v-else | ||||
|                           v-loading="true" | ||||
|                           :element-loading-text="$t('notifications.loading')" | ||||
|                           element-loading-spinner="el-icon-loading" | ||||
|                           element-loading-background="rgba(255, 255, 255, 0.8)" | ||||
|                           class="loading-window" | ||||
|                         <div> | ||||
|                           <el-card class="box-card"> | ||||
|                             <div slot="header" class="clearfix"> | ||||
|                               {{ $t('window.containerInfo.logWorkflow.addNote') }} | ||||
|                             </div> | ||||
|                             <el-input | ||||
|                               v-model="chatNote" | ||||
|                               type="chatNote" | ||||
|                               :rows="2" | ||||
|                               placeholder="Please input" | ||||
|                               @keyup.enter.native="sendComment(chatNote)" | ||||
|                             /> | ||||
|                           </el-card> | ||||
|                         </div> | ||||
|                       </el-tab-pane> | ||||
|                     </el-tabs> | ||||
|                   </el-card> | ||||
|  | @ -354,6 +360,7 @@ export default { | |||
|       isPanel: false, | ||||
|       activeInfo: 'listRecordLogs', | ||||
|       show: false, | ||||
|       chatNote: '', | ||||
|       typeAction: 0, | ||||
|       isLoadingFromServer: false, | ||||
|       listRecordNavigation: 0, | ||||
|  | @ -468,23 +475,20 @@ export default { | |||
|     getIsChangeLog() { | ||||
|       if (this.isEmptyValue(this.gettersListRecordLogs)) { | ||||
|         return false | ||||
|       } else { | ||||
|         return true | ||||
|       } | ||||
|       return true | ||||
|     }, | ||||
|     getIsWorkflowLog() { | ||||
|       if (this.isEmptyValue(this.gettersListWorkflow)) { | ||||
|         return false | ||||
|       } else { | ||||
|         return true | ||||
|       } | ||||
|       return true | ||||
|     }, | ||||
|     getIsChat() { | ||||
|       if (this.isEmptyValue(this.gettersLischat)) { | ||||
|       if (this.isEmptyValue(this.gettersLisRecordChats)) { | ||||
|         return false | ||||
|       } else { | ||||
|         return true | ||||
|       } | ||||
|       return true | ||||
|     }, | ||||
|     getTypeLogs() { | ||||
|       const groupLog = this.gettersListRecordLogs.reduce((groupLog, item) => { | ||||
|  | @ -506,7 +510,7 @@ export default { | |||
|       return this.$store.getters.getChatEntries.chatEntriesList | ||||
|     }, | ||||
|     gettersLisRecordChats() { | ||||
|       return this.$store.getters.getListRecordChats.recordChatsList | ||||
|       return this.$store.getters.getListRecordChats | ||||
|     }, | ||||
|     gettersListWorkflow() { | ||||
|       return this.$store.getters.getWorkflow | ||||
|  | @ -522,6 +526,12 @@ export default { | |||
|     } | ||||
|   }, | ||||
|   watch: { | ||||
|     $route(value) { | ||||
|       this.$store.dispatch('listChatEntries', { | ||||
|         tableName: value.params.tableName, | ||||
|         recordId: value.params.recordId | ||||
|       }) | ||||
|     }, | ||||
|     'this.$route.params'(newValue, oldValue) { | ||||
|       if (!this.isEmptyValue(newValue)) { | ||||
|         this.getIsRecordLocked() | ||||
|  | @ -532,6 +542,14 @@ export default { | |||
|     this.getWindow() | ||||
|   }, | ||||
|   methods: { | ||||
|     sendComment(comment) { | ||||
|       this.$store.dispatch('createChatEntry', { | ||||
|         tableName: this.$route.params.tableName, | ||||
|         recordId: this.$route.params.recordId, | ||||
|         comment: comment | ||||
|       }) | ||||
|       this.chatNote = '' | ||||
|     }, | ||||
|     showkey(key, index) { | ||||
|       if (key === this.currentKey && index === this.typeAction) { | ||||
|         this.currentKey = 1000 | ||||
|  | @ -566,17 +584,24 @@ export default { | |||
|       } | ||||
|     }, | ||||
|     handleClick(tab, event) { | ||||
|       if (tab.name === 'listChatEntries') { | ||||
|       this.$store.dispatch(tab.name, { | ||||
|         tableName: this.$route.params.tableName, | ||||
|         recordId: this.$route.params.recordId | ||||
|       }) | ||||
|       } else { | ||||
|         this.$store.dispatch(tab.name, { | ||||
|     }, | ||||
|     refres() { | ||||
|       this.$store.dispatch('listWorkflowLogs', { | ||||
|         tableName: this.$route.params.tableName, | ||||
|         recordId: this.$route.params.recordId | ||||
|       }) | ||||
|       this.$store.dispatch('listRecordLogs', { | ||||
|         tableName: this.$route.params.tableName, | ||||
|         recordId: this.$route.params.recordId | ||||
|       }) | ||||
|       this.$store.dispatch('listChatEntries', { | ||||
|         tableName: this.$route.params.tableName, | ||||
|         recordId: this.$route.params.recordId | ||||
|       }) | ||||
|       } | ||||
|     }, | ||||
|     // callback new size | ||||
|     onDrag(size) { | ||||
|  | @ -825,7 +850,7 @@ export default { | |||
|     max-height: 68vh !important; | ||||
|   } | ||||
|   .scroll-window-log-chat { | ||||
|     max-height: 68vh !important; | ||||
|     max-height: 45vh !important; | ||||
|   } | ||||
|   .el-card__header { | ||||
|     background: rgba(245, 247, 250, 0.75); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 elsiosanchez
						elsiosanchez