diff --git a/src/assets/img/goods/境外汇款申请书.jpg b/src/assets/img/goods/境外汇款申请书.jpg new file mode 100644 index 0000000..30060e5 Binary files /dev/null and b/src/assets/img/goods/境外汇款申请书.jpg differ diff --git a/src/assets/img/goods/境外汇款申请书.png b/src/assets/img/goods/境外汇款申请书.png new file mode 100644 index 0000000..30060e5 Binary files /dev/null and b/src/assets/img/goods/境外汇款申请书.png differ diff --git a/src/assets/img/goods/银行承兑汇票.png b/src/assets/img/goods/银行承兑汇票.png index 288e0c3..25e14fb 100644 Binary files a/src/assets/img/goods/银行承兑汇票.png and b/src/assets/img/goods/银行承兑汇票.png differ diff --git a/src/assets/img/tooltip/cpl.png b/src/assets/img/tooltip/cpl.png index 0395bde..8ff48ed 100644 Binary files a/src/assets/img/tooltip/cpl.png and b/src/assets/img/tooltip/cpl.png differ diff --git a/src/assets/img/tooltip/data.png b/src/assets/img/tooltip/data.png index 6c3692c..e5a0fa7 100644 Binary files a/src/assets/img/tooltip/data.png and b/src/assets/img/tooltip/data.png differ diff --git a/src/assets/img/tooltip/dataxx.png b/src/assets/img/tooltip/dataxx.png new file mode 100644 index 0000000..6c3692c Binary files /dev/null and b/src/assets/img/tooltip/dataxx.png differ diff --git a/src/assets/img/tooltip/dyj.png b/src/assets/img/tooltip/dyj.png index ebc276d..7afc06a 100644 Binary files a/src/assets/img/tooltip/dyj.png and b/src/assets/img/tooltip/dyj.png differ diff --git a/src/assets/img/tooltip/dyjxx.png b/src/assets/img/tooltip/dyjxx.png new file mode 100644 index 0000000..ebc276d Binary files /dev/null and b/src/assets/img/tooltip/dyjxx.png differ diff --git a/src/assets/img/tooltip/mmq.png b/src/assets/img/tooltip/mmq.png index 5a2662a..7fd66e9 100644 Binary files a/src/assets/img/tooltip/mmq.png and b/src/assets/img/tooltip/mmq.png differ diff --git a/src/assets/img/tooltip/mmqxx.png b/src/assets/img/tooltip/mmqxx.png new file mode 100644 index 0000000..5a2662a Binary files /dev/null and b/src/assets/img/tooltip/mmqxx.png differ diff --git a/src/assets/img/tooltip/ptpzx.png b/src/assets/img/tooltip/ptpzx.png index 63d17f2..7b2bd4c 100644 Binary files a/src/assets/img/tooltip/ptpzx.png and b/src/assets/img/tooltip/ptpzx.png differ diff --git a/src/assets/img/tooltip/ptpzxxx.png b/src/assets/img/tooltip/ptpzxxx.png new file mode 100644 index 0000000..63d17f2 Binary files /dev/null and b/src/assets/img/tooltip/ptpzxxx.png differ diff --git a/src/assets/img/tooltip/qx.png b/src/assets/img/tooltip/qx.png index a88e61e..b8d4667 100644 Binary files a/src/assets/img/tooltip/qx.png and b/src/assets/img/tooltip/qx.png differ diff --git a/src/assets/img/tooltip/qxxx.png b/src/assets/img/tooltip/qxxx.png new file mode 100644 index 0000000..a88e61e Binary files /dev/null and b/src/assets/img/tooltip/qxxx.png differ diff --git a/src/assets/img/tooltip/sfz.png b/src/assets/img/tooltip/sfz.png index de53934..6076f25 100644 Binary files a/src/assets/img/tooltip/sfz.png and b/src/assets/img/tooltip/sfz.png differ diff --git a/src/assets/img/tooltip/sfzxx.png b/src/assets/img/tooltip/sfzxx.png new file mode 100644 index 0000000..de53934 Binary files /dev/null and b/src/assets/img/tooltip/sfzxx.png differ diff --git a/src/assets/img/tooltip/skj.png b/src/assets/img/tooltip/skj.png index 9c467c8..98c36c1 100644 Binary files a/src/assets/img/tooltip/skj.png and b/src/assets/img/tooltip/skj.png differ diff --git a/src/assets/img/tooltip/skjxx.png b/src/assets/img/tooltip/skjxx.png new file mode 100644 index 0000000..9c467c8 Binary files /dev/null and b/src/assets/img/tooltip/skjxx.png differ diff --git a/src/assets/img/tooltip/system.png b/src/assets/img/tooltip/system.png index 4e45724..cff6ed2 100644 Binary files a/src/assets/img/tooltip/system.png and b/src/assets/img/tooltip/system.png differ diff --git a/src/assets/img/tooltip/systemxx.png b/src/assets/img/tooltip/systemxx.png new file mode 100644 index 0000000..4e45724 Binary files /dev/null and b/src/assets/img/tooltip/systemxx.png differ diff --git a/src/assets/img/tooltip/ycj.png b/src/assets/img/tooltip/ycj.png index b979ded..92e080f 100644 Binary files a/src/assets/img/tooltip/ycj.png and b/src/assets/img/tooltip/ycj.png differ diff --git a/src/assets/img/tooltip/ycjxx.png b/src/assets/img/tooltip/ycjxx.png new file mode 100644 index 0000000..b979ded Binary files /dev/null and b/src/assets/img/tooltip/ycjxx.png differ diff --git a/src/assets/img/tooltip/yzh.png b/src/assets/img/tooltip/yzh.png index 27de7c4..5cf799a 100644 Binary files a/src/assets/img/tooltip/yzh.png and b/src/assets/img/tooltip/yzh.png differ diff --git a/src/assets/img/tooltip/yzhxx.png b/src/assets/img/tooltip/yzhxx.png new file mode 100644 index 0000000..27de7c4 Binary files /dev/null and b/src/assets/img/tooltip/yzhxx.png differ diff --git a/src/assets/img/tooltip/zk.png b/src/assets/img/tooltip/zk.png index 630cf95..391094d 100644 Binary files a/src/assets/img/tooltip/zk.png and b/src/assets/img/tooltip/zk.png differ diff --git a/src/assets/img/tooltip/zkxx.png b/src/assets/img/tooltip/zkxx.png new file mode 100644 index 0000000..630cf95 Binary files /dev/null and b/src/assets/img/tooltip/zkxx.png differ diff --git a/src/components/case/index.vue b/src/components/case/index.vue index 164e0c2..81464f0 100644 --- a/src/components/case/index.vue +++ b/src/components/case/index.vue @@ -240,9 +240,9 @@ export default { } }, created() { - - let assessmentId = this.getQueryVariable('assessmentId') - sessionStorage.setItem('assessmentId',assessmentId) + + let assessmentId = this.getQueryVariable('assessmentId') + sessionStorage.setItem('assessmentId',assessmentId) this.assessmentId = assessmentId if(assessmentId == '' || assessmentId == null || assessmentId == 'null') { diff --git a/src/components/checkPhoto/index.vue b/src/components/checkPhoto/index.vue index c94ace3..21cef9f 100644 --- a/src/components/checkPhoto/index.vue +++ b/src/components/checkPhoto/index.vue @@ -211,9 +211,16 @@ export default { dataFlow: 'system/dataFlow' }), getNowYear() { - console.log(this.dataFlow) return (index) => { - return this.nowDate.split('-')[index] + // 看该业务是否指定日期 + const { assignDate } = this.dataFlow + + if(!assignDate) { + return this.nowDate.split('-')[index] + }else { + return assignDate.split('-')[index] + } + } }, // 业务需求将钱币显示为大写,比如 千 -> 仟 这个方法可以做到 这里是要连起来的 具体看用在哪 diff --git a/src/pages/counter/list/index.vue b/src/pages/counter/list/index.vue index 1be3f05..c907686 100644 --- a/src/pages/counter/list/index.vue +++ b/src/pages/counter/list/index.vue @@ -120,6 +120,7 @@

资料

+
@@ -437,12 +438,12 @@ center>
-
客户对话中
+
客户对话中

请选择以下一个业务进行办理

@@ -614,6 +615,8 @@ export default { {name:'1角', src:require('@/assets/img/cash/1角.png'), id:4405, num: ''}, ], popArr:[/* 弹窗展示的物品 */ + {name:'预留印鉴卡(二)',src:require('@/assets/img/goods/预留印鉴卡.png'),id:470}, + {name:'预留印鉴卡(三)',src:require('@/assets/img/goods/预留印鉴卡.png'),id:471}, {name:'二类银行卡',src:require('@/assets/img/goods/bankCard.png'),id:563}, {name:'银行卡',src:require('@/assets/img/goods/bankCard.png'),id:16,cardNub:'1865 3549 5675 5589'}, {name:'定期存单',src:require('@/assets/img/seal/paid.png'),id:428}, @@ -1215,6 +1218,7 @@ export default { if(evt.originalEvent.pageYtargetDom.top){ /* oldindex识别是拖拽了哪个文件 */ that.checkList.push(that.importanceArr[evt.oldIndex].name) + // 如果拖拽后拖拽目标中有东西,则判断东西中是否有拖拽的东西,如果没有就加入,如果有就不加入 if(that.goodsShelfTotalData.length > 0){ for(var i=0;i{ }) } - }else if (this.nbm == 1){ //传票栏 + }else if (this.nbm == 1){ // nbm为1时,传票栏 if(this.goodState.length === 0) { this.setTipsOperate('传票栏中未放入物品!') return @@ -1993,10 +2003,21 @@ export default { }else if (this.nbm == 3){ //重要空白凭证箱 let clickList=this.importantChecked this.pushThingsGoods([...clickList]) + if(clickList.findIndex(item => item === 439) !== -1) { + console.log('xxx') + this.pushThingsGoods([470, 471]) + console.log(this.goodsShelfTotalData) + } + + if(clickList.length===0) return this.setTipsOperate(`请选择物品后再确定!`) + + let projectId = sessionStorage.getItem('projectId') let startTime = sessionStorage.getItem('startTime') let formList = [] + + // 这个可以缓存判分信息 比如先拿1后拿2 判分点要求拿1和2 这样也算对 const proofImportantBox = JSON.parse(sessionStorage.getItem('proofImportantBox')) if(proofImportantBox) { formList.push(...proofImportantBox) @@ -2194,7 +2215,7 @@ export default { this.setTipsOperate('刷卡成功!') }).catch((error)=>{ }) - }else if (this.nbm == 11){ //身份证扫描仪 + }else if (this.nbm == 11){ //身份证扫描仪 一般进来要先验证身份证 let projectId = sessionStorage.getItem('projectId') let startTime = sessionStorage.getItem('startTime') for (var i=0;i \ No newline at end of file diff --git a/src/pages/manage/list/ImportantCash/controlCash/cashTransferInto.vue b/src/pages/manage/list/ImportantCash/controlCash/cashTransferInto.vue index 7d3327c..40d8fa7 100644 --- a/src/pages/manage/list/ImportantCash/controlCash/cashTransferInto.vue +++ b/src/pages/manage/list/ImportantCash/controlCash/cashTransferInto.vue @@ -59,7 +59,7 @@ @@ -108,7 +108,7 @@ diff --git a/src/pages/manage/list/cityWide/cityWideOut.vue b/src/pages/manage/list/cityWide/cityWideOut.vue index 5d1ccae..e7b8328 100644 --- a/src/pages/manage/list/cityWide/cityWideOut.vue +++ b/src/pages/manage/list/cityWide/cityWideOut.vue @@ -313,6 +313,8 @@ export default { }, this.$refs)); }, submitForm2() { + const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,29,345,346' + autoPlay(parentId, this.form, this.myTable2, this.myTable) let projectId = sessionStorage.getItem('projectId') let startTime = sessionStorage.getItem('startTime') const formList = [] diff --git a/src/pages/manage/list/personal/currentAccount/accountCancellation.vue b/src/pages/manage/list/personal/currentAccount/accountCancellation.vue index c2c7461..0897876 100644 --- a/src/pages/manage/list/personal/currentAccount/accountCancellation.vue +++ b/src/pages/manage/list/personal/currentAccount/accountCancellation.vue @@ -120,26 +120,31 @@ export default{ this.form.drawPassword = sessionStorage.getItem('nomCurrentCancellPassword') } - if(this.isNeedBefore) { - if(sessionStorage.getItem('nomCurrentCancellCard2')) { - this.idNumberJudge = true - const tmpId = this.dataFlow.idNumber || '441421198656412356' - this.form.idNumber = tmpId - } + // if(this.isNeedBefore) { + // if(sessionStorage.getItem('nomCurrentCancellCard2')) { + // this.idNumberJudge = true + // const tmpId = this.dataFlow.idNumber || '441421198656412356' + // this.form.idNumber = tmpId + // } - return + // return + // } + console.log(this.dataFlow.isSettle) + if(this.dataFlow.isSettle) { + const { voucherNumber, userName } = this.dataFlow + this.form.cardNumber = voucherNumber + this.form.userName = userName } - - const { voucherNumber, userName } = this.dataFlow - this.form.cardNumber = voucherNumber - this.form.userName = userName + + if(sessionStorage.getItem('nomCurrentCancellCard2')) { this.idNumberJudge = true const { idNumber } = this.dataFlow this.form.idNumber = idNumber } - + const tmpId = this.dataFlow.idNumber + this.form.idNumber = tmpId const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,67' diff --git a/src/pages/manage/list/personal/currentAccount/settle.vue b/src/pages/manage/list/personal/currentAccount/settle.vue index 74a3b2a..d5de101 100644 --- a/src/pages/manage/list/personal/currentAccount/settle.vue +++ b/src/pages/manage/list/personal/currentAccount/settle.vue @@ -217,6 +217,8 @@ export default{ if(sessionStorage.getItem('nomCurrentSettlePassword')) { this.form.drawPassword = sessionStorage.getItem('nomCurrentSettlePassword') } + + } autoPlay2(parentId, this.form, this.myTable2, this.myTable, cardArr, callback) }, @@ -265,9 +267,7 @@ export default{ ] const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,66' autoPlay(parentId, this.form, this.myTable2, this.myTable, cards) - this.setNeedsModule(moduleName) - const { cardNumber, userName } = this.form - this.setDataFlow({ voucherNumber: cardNumber, userName }) + this.setDataFlow({ isSettle: true }) }, popUp(text) { // this.$store.commit('system/changePop',{show:true,text, id: 66}) diff --git a/src/pages/manage/list/servicesAccount/relieveLost.vue b/src/pages/manage/list/servicesAccount/relieveLost.vue index 226330c..9c61db2 100644 --- a/src/pages/manage/list/servicesAccount/relieveLost.vue +++ b/src/pages/manage/list/servicesAccount/relieveLost.vue @@ -239,6 +239,8 @@ export default{ const cards = { } + + // 回调函数 可以将这个函数传入到方法中,这样就可以改变this指向这里的this,然后完成想做的事情 const callback = () => { if(this.form.idNumber) { this.idNumberJudge = true diff --git a/src/pages/manage/navbar/index.vue b/src/pages/manage/navbar/index.vue index 4c51307..00fa89f 100644 --- a/src/pages/manage/navbar/index.vue +++ b/src/pages/manage/navbar/index.vue @@ -162,7 +162,7 @@ export default { children:[ { index:"/counter/list/manage/acceptanceDraft-invoice", - title:'商业承兑汇票开票' + title:'承兑汇票开票' } ] }, diff --git a/src/plugins/drag/index.js b/src/plugins/drag/index.js index ae6ac6e..02c14cc 100644 --- a/src/plugins/drag/index.js +++ b/src/plugins/drag/index.js @@ -6,6 +6,7 @@ export default { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.querySelector('.dia-header') + const dragDom = el dialogHeaderEl.style.cursor = 'move' diff --git a/src/store/modules/system.js b/src/store/modules/system.js index 4d28521..efe85f8 100644 --- a/src/store/modules/system.js +++ b/src/store/modules/system.js @@ -2,8 +2,11 @@ -/* 所有物品名字 */ +/* 所有物品名字 这里能将东西查找出来并渲染上物品栏 */ const allGoods = { + 470: {name:'预留印鉴卡(二)',src:require('@/assets/img/goods/预留印鉴卡.png'),id:470}, + 471: {name:'预留印鉴卡(三)',src:require('@/assets/img/goods/预留印鉴卡.png'),id:471}, + 563: {name:'二类银行卡',src:require('@/assets/img/goods/bankCard.png'),id:563}, 16: {name:'银行卡',src:require('@/assets/img/goods/bankCard.png'),id:16}, 428: {name:'定期存单',src:require('@/assets/img/goods/储蓄存单.png'),id:428}, @@ -99,6 +102,9 @@ const phone = '13222223122' const staticPhone = '0755-88281987' const mailNumber = '518052' const eMailAddress = '666@qq.com' +const drawerUsername = '12802851701099' // 出票人账号 + +// 银行卡号码随机 const voucherNumber = (() => { const $chars = '1234567890'; const maxPos = $chars.length; @@ -116,7 +122,7 @@ const sex = 2 // 1为男,2为女。 */ -// 因为要求是在任何业务中,电脑中所有其他业务的信息也要正常显示, +// 因为要求是在任何业务中,电脑中所有其他业务的信息也要正常显示,所以所有信息都在这里,然后如果业务有区分的则写进dataFlow const allDataFlow = { peopleNumber, userName, @@ -155,6 +161,9 @@ const allDataFlow = { staticPhone, mailNumber, eMailAddress, + drawerUsername, + // 这个属性确认销户前是否结清 + isSettle: false, 'corporateClient': false, } @@ -1226,10 +1235,68 @@ const myInitState = { dataFlow: { } }, -} + '业务三十': { // 同城提出 + id: 567, + name: '同城提出', + data: [ 15, 13, 23, 411 ], // + needs: [ ], + isStamp: { + // '业务专用章': [ 411 ] + }, + backPeople: [], + // backPeople: [ ], + cultureArr: [ ], + + moneyBox: [ ], // 钱箱 + needBackMoney: false, // 需要钱箱取钱 + peopleSign: [ ], // 客户签字 + cultureIn: [], // 传票栏 + sealBox: [], // 印章盒 + currencyDetector: [], // 验钞机 + printer: [], // 打印机 + resource: [], // 资料 + importanceArr: [], // 重要空白凭证箱 + commonArr: [], // 普通凭证箱 + dataFlow: { + collectingCompany: '康恩备集团', + transMoney: 200000, + assignDate: '2022-12-29' + } + }, + '业务三十一': { // 同城提入 + id: 576, + name: '同城提入', + data: [ 15, 13, 23, 411 ], // + needs: [ ], + isStamp: { + // '业务专用章': [ 411 ] + }, + backPeople: [], + // backPeople: [ ], + cultureArr: [ ], + + moneyBox: [ ], // 钱箱 + needBackMoney: false, // 需要钱箱取钱 + peopleSign: [ ], // 客户签字 + cultureIn: [], // 传票栏 + sealBox: [], // 印章盒 + currencyDetector: [], // 验钞机 + printer: [], // 打印机 + resource: [], // 资料 + + importanceArr: [], // 重要空白凭证箱 + commonArr: [], // 普通凭证箱 + dataFlow: { + collectingCompany: '开卷教育有限公司', + transMoney: 200000, + assignDate: '2022-12-29' + } + }, +} +// 有些地方需要盖两个章,而后端判分是按照顺序判断的,比如 '收讫章','私章'给分,'私章','收讫章'就不给分,然后前端这就只能调整顺序再提交。 const sealArray = [/* 印章盒物品默认排序 */ '收讫章', '销户章','私章','附件章','付讫章','业务专用章', '转讫章' ] @@ -1246,12 +1313,12 @@ export default { popText:'', fullScreen:false,// 银行系统是否全屏 showGoods: false, // 物品栏的展开和关闭 - // 业务选择表: (要保存的) + // 当前的业务选择 businessKey: '', // 业务选择表是否展示: showBusiness: false, - // 下拉框的数据: + // 下拉框的数据,在电脑中的下拉框有许多相同的,不用每次都请求服务器,可以在这里拿数据: selectList: { currencySelectList: [], goldLogoSelectList: [], @@ -1262,7 +1329,7 @@ export default { idTypeList: [] // 身份证选项 }, - // (要保存的) + // (要保存的业务数据): businessSelect: { '业务一': { id: 489, @@ -1298,6 +1365,8 @@ export default { }, // dataFlowGo: 0, dataFlow: { + // 这里后面会通过Object.assign(allDataFlow, 这个dataFlow)的方式,用来将当前业务信息和其他业务信息覆盖掉。这样当前信息就是该业务独有的信息。 + // 后面如果业务案例有变化,直接在这里改就行了。其他许多依赖的组件的数据都是从这里拿的。 peopleNumber, userName,//用户名字 idType: '身份证', @@ -2329,6 +2398,64 @@ export default { dataFlow: { } }, + '业务三十': { // 同城提出 + id: 567, + name: '同城提出', + data: [ 15, 13, 23, 411 ], // + needs: [ ], + isStamp: { + // '业务专用章': [ 411 ] + }, + backPeople: [], + // backPeople: [ ], + cultureArr: [ ], + + moneyBox: [ ], // 钱箱 + needBackMoney: false, // 需要钱箱取钱 + peopleSign: [ ], // 客户签字 + cultureIn: [], // 传票栏 + sealBox: [], // 印章盒 + currencyDetector: [], // 验钞机 + printer: [], // 打印机 + resource: [], // 资料 + + importanceArr: [], // 重要空白凭证箱 + commonArr: [], // 普通凭证箱 + dataFlow: { + collectingCompany: '康恩备集团', + transMoney: 200000, + assignDate: '2022-12-29' + } + }, + '业务三十一': { // 同城提入 + id: 576, + name: '同城提入', + data: [ 15, 13, 23, 411 ], // + needs: [ ], + isStamp: { + // '业务专用章': [ 411 ] + }, + backPeople: [], + // backPeople: [ ], + cultureArr: [ ], + + moneyBox: [ ], // 钱箱 + needBackMoney: false, // 需要钱箱取钱 + peopleSign: [ ], // 客户签字 + cultureIn: [], // 传票栏 + sealBox: [], // 印章盒 + currencyDetector: [], // 验钞机 + printer: [], // 打印机 + resource: [], // 资料 + + importanceArr: [], // 重要空白凭证箱 + commonArr: [], // 普通凭证箱 + dataFlow: { + collectingCompany: '开卷教育有限公司', + transMoney: 200000, + assignDate: '2022-12-29' + } + }, }, goods:[// 物品栏的物品 { @@ -2365,9 +2492,12 @@ export default { ], }, mutations: { + // 设置tipDialog组件提示的信息。这个组件是根据UI设计的。 setTipsOperate(state, tipsOperate) { state.tipsOperate = tipsOperate }, + + // 页面开始的时候请求电脑录入的下拉框的数据 以供电脑中的下拉框使用 startPlay(state) { // 开始时调用,获取下拉框的东西。 @@ -2436,29 +2566,20 @@ export default { setPopId(state, id) { state.id = id }, + + // 改变所需模块的状态,完成前面的模块,后面的模块就不会提示。 setNeedsModule(state, name) { state.businessSelect[state.businessKey].needsModule[name] = true }, + // 数据流动,当前面模块的信息被后面的模块需要时,用这个方法可以将前面模块的数据存到后面去,毕竟服务器接口少。比如模块1 -> 模块2 模块1完成的数据可以流到模块2 setDataFlow(state, obj) { for(let key in obj) { state.businessSelect[state.businessKey].dataFlow[key] = obj[key] } }, + // 重置业务状态中的数据,用于重新开始。 initState(state) { state.businessSelect = JSON.parse(JSON.stringify(myInitState)) - // function deepClone(obj) { - // let objClone = Array.isArray(obj)? []: {} - // if(obj && typeof obj === 'object') { - // for(let key in obj) { - // if(obj[key] && typeof obj[key] === object) { - // objClone[key] = deepClone(obj[key]) - // }else { - // objClone[key] = obj[key] - // } - // } - // } - // return objClone - // } state.businessKey = '' }, setShowBusiness(state, isShow) { @@ -2508,7 +2629,6 @@ export default { } }, outThings2(state, { name, index}) { - // 神奇地解决了bug if(state.businessSelect[state.businessKey][name].length > index) { state.businessSelect[state.businessKey][name].splice(index, 1) } @@ -2642,6 +2762,7 @@ export default { } }else if(seal === '私章') { if(id === 439) { + stampSuccess = '454' } }