diff --git a/src/config/CodeTable/index.js b/src/config/CodeTable/index.js index ccfcbe5..19902b7 100644 --- a/src/config/CodeTable/index.js +++ b/src/config/CodeTable/index.js @@ -7719,32 +7719,32 @@ const CodeTable = { ], sndto: [], objtypcodetable: [ - { label: 'Party', value: 'PTY ' }, - { label: 'Account', value: 'ACT ' }, - { label: 'Export L/C', value: 'LED ' }, - { label: 'Imoprt L/C', value: 'LID ' }, - { label: 'Country', value: 'CTY ' }, - { label: 'Guarantee', value: 'GID ' }, - { label: 'Reimbursement', value: 'RMD ' }, - { label: 'Import Collection', value: 'BCD ' }, - { label: 'Export Collection', value: 'BOD ' }, - { label: 'Advance', value: 'BPD ' }, - { label: 'Clean Payment', value: 'CPD ' }, - { label: 'Export L/C (Ind.)', value: 'LED ' }, - { label: 'Transferable L/C', value: 'LTD ' }, - { label: 'Manual Contract', value: 'MCD ' }, - { label: 'Participation', value: 'PAD ' }, - { label: 'Loan', value: 'TRD ' }, - { label: 'Condition', value: 'FEC ' }, - { label: 'Export L/C Documents', value: 'BED ' }, - { label: 'Import L/C Documents', value: 'BRD ' }, - { label: 'Transfer Documents', value: 'BTD ' }, - { label: 'Export Doc. (Ind.)', value: 'DED ' }, - { label: 'Reimbursement Claim', value: 'RCD ' }, - { label: '', value: 'BDD ' }, - { label: '', value: 'CLD ' }, - { label: '', value: 'DID ' }, - { label: '', value: 'GCD ' }, + { label: 'Party', value: 'PTY' }, + { label: 'Account', value: 'ACT' }, + { label: 'Export L/C', value: 'LED' }, + { label: 'Imoprt L/C', value: 'LID' }, + { label: 'Country', value: 'CTY' }, + { label: 'Guarantee', value: 'GID' }, + { label: 'Reimbursement', value: 'RMD' }, + { label: 'Import Collection', value: 'BCD' }, + { label: 'Export Collection', value: 'BOD' }, + { label: 'Advance', value: 'BPD' }, + { label: 'Clean Payment', value: 'CPD' }, + { label: 'Export L/C (Ind.)', value: 'LED' }, + { label: 'Transferable L/C', value: 'LTD' }, + { label: 'Manual Contract', value: 'MCD' }, + { label: 'Participation', value: 'PAD' }, + { label: 'Loan', value: 'TRD' }, + { label: 'Condition', value: 'FEC' }, + { label: 'Export L/C Documents', value: 'BED' }, + { label: 'Import L/C Documents', value: 'BRD' }, + { label: 'Transfer Documents', value: 'BTD' }, + { label: 'Export Doc. (Ind.)', value: 'DED' }, + { label: 'Reimbursement Claim', value: 'RCD' }, + { label: '', value: 'BDD' }, + { label: '', value: 'CLD' }, + { label: '', value: 'DID' }, + { label: '', value: 'GCD' }, ], subtypcodetable: [ { label: 'General', value: 'INF' }, diff --git a/src/service/test/dia.js b/src/service/test/dia.js new file mode 100644 index 0000000..f1aae32 --- /dev/null +++ b/src/service/test/dia.js @@ -0,0 +1,25 @@ +import Api from "~/service/Api" + +export function queryByPage(data) { + return Api.post("/service/dia/queryByPage", data) +} + +export function queryById(data) { + return Api.post(`/service/dia/queryById`, data) +} + +export function queryDetailById(data) { + return Api.post(`/service/dia/queryDetailById`, data) +} + +export function add(data) { + return Api.post("/service/dia/add", data) +} + +export function edit(data) { + return Api.post("/service/dia/edit", data) +} + +export function deleteById(data) { + return Api.post(`/service/dia/deleteById`, data) +} \ No newline at end of file diff --git a/src/service/test/fec.js b/src/service/test/fec.js index 5a19bd8..44516cd 100644 --- a/src/service/test/fec.js +++ b/src/service/test/fec.js @@ -1,33 +1,33 @@ import Api from "~/service/Api" export function queryByPage(data) { - return Api.post("/manager/fec/queryByPage", data) + return Api.post("/service/fec/queryByPage", data) } export function queryDetailById(inr) { - return Api.post(`/manager/fec/queryDetailById?inr=${inr}`) + return Api.post(`/service/fec/queryDetailById?inr=${inr}`) } export function add(data) { - return Api.post("/manager/fec/add", data) + return Api.post("/service/fec/add", data) } export function edit(data) { - return Api.post("/manager/fec/edit", data) + return Api.post("/service/fec/edit", data) } export function deleteById(inr) { - return Api.post(`/manager/fec/deleteById?inr=${inr}`) + return Api.post(`/service/fec/deleteById?inr=${inr}`) } export function addFeeData(inr,data) { - return Api.post(`/manager/fec/addFeeData?inr=${inr}`, data) + return Api.post(`/service/fec/addFeeData?inr=${inr}`, data) } export function editFeeData(inr,data) { - return Api.post(`/manager/fec/editFeeData?inr=${inr}`, data) + return Api.post(`/service/fec/editFeeData?inr=${inr}`, data) } export function deleteFeeData(data) { - return Api.post(`/manager/fec/deleteFeeData`, data) + return Api.post(`/service/fec/deleteFeeData`, data) } \ No newline at end of file diff --git a/src/service/test/fee.js b/src/service/test/fee.js new file mode 100644 index 0000000..eb0db6f --- /dev/null +++ b/src/service/test/fee.js @@ -0,0 +1,21 @@ +import Api from "~/service/Api" + +export function queryByPage(data) { + return Api.post("/service/fee/queryByPage", data) +} + +export function queryById(inr) { + return Api.post(`/service/fee/queryById?inr=${inr}`) +} + +export function add(data) { + return Api.post("/service/fee/add", data) +} + +export function edit(data) { + return Api.post("/service/fee/edit", data) +} + +export function deleteById(inr) { + return Api.post(`/service/fee/deleteById?inr=${inr}`) +} diff --git a/src/service/test/gtx.js b/src/service/test/gtx.js index 848c3d0..5b955b1 100644 --- a/src/service/test/gtx.js +++ b/src/service/test/gtx.js @@ -1,21 +1,21 @@ import Api from "~/service/Api" export function queryByPage(data) { - return Api.post("/manager/gtx/queryByPage", data) + return Api.post("/service/gtx/queryByPage", data) } export function queryDetailById(inr) { - return Api.post(`/manager/gtx/queryDetailById?inr=${inr}`) + return Api.post(`/service/gtx/queryDetailById?inr=${inr}`) } export function add(data) { - return Api.post("/manager/gtx/add", data) + return Api.post("/service/gtx/add", data) } export function edit(data) { - return Api.post("/manager/gtx/edit", data) + return Api.post("/service/gtx/edit", data) } export function deleteById(inr) { - return Api.post(`/manager/gtx/deleteById?inr=${inr}`) + return Api.post(`/service/gtx/deleteById?inr=${inr}`) } diff --git a/src/service/test/lgb.js b/src/service/test/lgb.js new file mode 100644 index 0000000..bd3fa5a --- /dev/null +++ b/src/service/test/lgb.js @@ -0,0 +1,32 @@ +import Api from "~/service/Api" + +export function queryByPage(data) { + return Api.post("/service/lgb/queryByPage", data) +} + +export function queryDetailById(inr) { + return Api.post(`/service/lgb/queryDetailById?inr=${inr}`) +} + +export function queryPageByIdFromLgbAndLga(data) { + return Api.post("/service/lgb/queryPageByIdFromLgbAndLga", data) +} + +export function queryByIdFromLgbAndLga(inr) { + return Api.post(`/service/lgb/queryByIdFromLgbAndLga?inr=${inr}`) +} + +export function queryByIdFromLgo(inr) { + return Api.post(`/service/lgb/queryByIdFromLgo?inr=${inr}`) +} +export function add(data) { + return Api.post("/service/lgb/add", data) +} + +export function edit(data) { + return Api.post("/service/lgb/edit", data) +} + +export function deleteById(inr) { + return Api.post(`/service/lgb/deleteById?inr=${inr}`) +} diff --git a/src/service/test/ptm.js b/src/service/test/ptm.js new file mode 100644 index 0000000..40cd873 --- /dev/null +++ b/src/service/test/ptm.js @@ -0,0 +1,26 @@ +import Api from "~/service/Api"; + +export function queryByPage(data) { + return Api.post("/service/ptm/queryByPage", data); +} + +export function queryById(inr) { + return Api.post(`/service/ptm/queryById?inr=${inr}`) +} + + +export function queryDetailById(inr) { + return Api.post(`/service/ptm/queryDetailById?inr=${inr}`) +} + +export function add(data) { + return Api.post("/service/ptm/add", data); +} + +export function edit(data) { + return Api.post("/service/ptm/edit", data); +} + +export function deleteById(data) { + return Api.post(`/service/ptm/deleteById`, { data }); +} diff --git a/src/service/test/tdh.js b/src/service/test/tdh.js new file mode 100644 index 0000000..024fed7 --- /dev/null +++ b/src/service/test/tdh.js @@ -0,0 +1,33 @@ +import Api from "~/service/Api" + +export function queryByPage(data) { + return Api.post("/service/tdh/queryByPage", data) +} + +export function queryById(inr) { + return Api.post(`/service/tdh/queryById?inr=${inr}`) +} + +export function queryDetailById(data) { + return Api.post(`/service/tdh/queryDetailById`, data) +} + +export function add(data) { + return Api.post("/service/tdh/add", data) +} + +export function edit(data) { + return Api.post("/service/tdh/edit", data) +} + +export function deleteById(data) { + return Api.post(`/service/tdh/deleteById`, data) +} + +export function queryYearList(data) { + return Api.post(`/service/tdh/queryYearList`, data) +} + +export function queryCalList(data) { + return Api.post(`/service/tdh/queryCalList`, data) +} \ No newline at end of file diff --git a/src/service/test/ucl.js b/src/service/test/ucl.js new file mode 100644 index 0000000..4263d3f --- /dev/null +++ b/src/service/test/ucl.js @@ -0,0 +1,9 @@ +import Api from "~/service/Api" + +export function queryByPage(data) { + return Api.post("/manager/ucl/queryByPage", data) +} + +export function edit(data) { + return Api.post("/manager/ucl/edit", data) +} \ No newline at end of file diff --git a/src/service/test/usr.js b/src/service/test/usr.js index 52abd44..b167065 100644 --- a/src/service/test/usr.js +++ b/src/service/test/usr.js @@ -1,44 +1,44 @@ import Api from "~/service/Api" export function queryByPage(data) { - return Api.post("/manager/usr/queryByPage", data) + return Api.post("/service/usr/queryByPage", data) } export function queryDetailById(inr) { - return Api.post(`/manager/usr/queryDetailById?inr=${inr}`) + return Api.post(`/service/usr/queryDetailById?inr=${inr}`) } export function add(data) { - return Api.post("/manager/usr/add", data) + return Api.post("/service/usr/add", data) } export function edit(data) { - return Api.post("/manager/usr/edit", data) + return Api.post("/service/usr/edit", data) } export function deleteById(inr) { - return Api.post(`/manager/usr/deleteById?inr=${inr}`) + return Api.post(`/service/usr/deleteById?inr=${inr}`) } export function addUbrData(data) { - return Api.post(`/manager/usr/addUbrData`, data) + return Api.post(`/service/usr/addUbrData`, data) } export function updateUbrData(data) { - return Api.post(`/manager/usr/updateUbrData`, data) + return Api.post(`/service/usr/updateUbrData`, data) } export function deleteUbrData(inr) { - return Api.post(`/manager/usr/deleteUbrData?inr=${inr}`, inr) + return Api.post(`/service/usr/deleteUbrData?inr=${inr}`, inr) } export function addUclData(inr,data) { - return Api.post(`/manager/usr/addUclData?inr=${inr}`, data) + return Api.post(`/service/usr/addUclData?inr=${inr}`, data) } export function updateUclData(inr,data) { - return Api.post(`/manager/usr/updateUclData?inr=${inr}`, data) + return Api.post(`/service/usr/updateUclData?inr=${inr}`, data) } export function deleteUclData(usr, branchinr) { - return Api.post(`/manager/usr/deleteUclData?usr=${usr}&&branchinr=${branchinr}`, usr, branchinr) + return Api.post(`/service/usr/deleteUclData?usr=${usr}&&branchinr=${branchinr}`, usr, branchinr) } \ No newline at end of file diff --git a/src/views/Business/BusRouter.js b/src/views/Business/BusRouter.js index 78d1b7d..73a3f2f 100644 --- a/src/views/Business/BusRouter.js +++ b/src/views/Business/BusRouter.js @@ -98,12 +98,13 @@ import Infbpd from "./Infbpd" import Inftxm from "./Inftxm" import Bctdav from "./Bctdav" import Bctcan from "./Bctcan" -import Inffee from "./Inffee" import Infbcd from "./Infbcd" import Bdtcan from "./Bdtcan" import Fctcan from "./Fctcan" import Fctopn from "./Fctopn" + + import Bttcan from "./Bttcan" import Bttacc from "./Bttacc" import Cltdav from "./Cltdav" @@ -270,6 +271,11 @@ import Dbfdel from "./Dbfdel" import Dbfinf from "./Dbfinf" //添加静态交易路由 +import Infact from "~/views/Statics/Act/views/Infact"; +import Dbiact from "~/views/Statics/Act/views/Dbiact"; +import Dbaact from "~/views/Statics/Act/views/Dbaact"; +import Dbeact from "~/views/Statics/Act/views/Dbeact"; +import Dbdact from "~/views/Statics/Act/views/Dbdact"; import Infatp from "~/views/Statics/Atp/views/Infatp"; import Dbiatp from "~/views/Statics/Atp/views/Dbiatp"; @@ -295,23 +301,45 @@ import Dbaoit from "~/views/Statics/Oit/views/Dbaoit" import Dbdoit from "~/views/Statics/Oit/views/Dbdoit" import Dbeoit from "~/views/Statics/Oit/views/Dbeoit" +import Infptm from "~/views/Statics/Ptm/views/Infptm" +import Dbiptm from "~/views/Statics/Ptm/views/Dbiptm" +import Dbeptm from "~/views/Statics/Ptm/views/Dbeptm" + +import Inflgb from "~/views/Statics/Lgb/views/Inflgb" +import Dbilgb from "~/views/Statics/Lgb/views/Dbilgb" +import Dbalgb from "~/views/Statics/Lgb/views/Dbalgb" +import Dbdlgb from "~/views/Statics/Lgb/views/Dbdlgb" +import Dbelgb from "~/views/Statics/Lgb/views/Dbelgb" + import Infcur from "~/views/Statics/cur/views/Infcur"; import Dbacur from "~/views/Statics/cur/views/Dbacur"; import Dbicur from "~/views/Statics/cur/views/Dbicur"; import Dbecur from "~/views/Statics/cur/views/Dbecur"; import Dbdcur from "~/views/Statics/cur/views/Dbdcur"; -import Inffec from "~/views/Statics/Inffec"; -import Dbifec from "~/views/Statics/Dbifec"; -import Dbafec from "~/views/Statics/Dbafec"; -import Dbefec from "~/views/Statics/Dbefec"; -import Dbdfec from "~/views/Statics/Dbdfec"; - -import Infgtx from "~/views/Statics/Infgtx"; -import Dbigtx from "~/views/Statics/Dbigtx"; -import Dbagtx from "~/views/Statics/Dbagtx"; -import Dbegtx from "~/views/Statics/Dbegtx"; -import Dbdgtx from "~/views/Statics/Dbdgtx"; +import Inffee from "~/views/Statics/Fee/views/Inffee"; +import Dbifee from "~/views/Statics/Fee/views/Dbifee"; +import Dbafee from "~/views/Statics/Fee/views/Dbafee"; +import Dbefee from "~/views/Statics/Fee/views/Dbefee"; +import Dbdfee from "~/views/Statics/Fee/views/Dbdfee"; + +import Inffec from "~/views/Statics/Fec/views/Inffec"; +import Dbifec from "~/views/Statics/Fec/views/Dbifec"; +import Dbafec from "~/views/Statics/Fec/views/Dbafec"; +import Dbefec from "~/views/Statics/Fec/views/Dbefec"; +import Dbdfec from "~/views/Statics/Fec/views/Dbdfec"; + +import Infdia from "~/views/Statics/dia/views/Infdia" +import Dbidia from '~/views/Statics/dia/views/Dbidia' +import Dbadia from '~/views/Statics/dia/views/Dbadia' +import Dbedia from '~/views/Statics/dia/views/Dbedia' +import Dbddia from '~/views/Statics/dia/views/Dbddia' + +import Infgtx from "~/views/Statics/Gtx/views/Infgtx"; +import Dbigtx from "~/views/Statics/Gtx/views/Dbigtx"; +import Dbagtx from "~/views/Statics/Gtx/views/Dbagtx"; +import Dbegtx from "~/views/Statics/Gtx/views/Dbegtx"; +import Dbdgtx from "~/views/Statics/Gtx/views/Dbdgtx"; import Infpty from "~/views/Statics/Infpty"; import Dbipty from "~/views/Statics/Dbipty"; @@ -343,6 +371,12 @@ import Dbaxrt from "~/views/Statics/Xrt/views/Dbaxrt"; import Dbexrt from "~/views/Statics/Xrt/views/Dbexrt"; import Dbdxrt from "~/views/Statics/Xrt/views/Dbdxrt"; +import Dbatdh from "~/views/Statics/Tdh/views/Dbatdh"; +import Dbdtdh from "~/views/Statics/Tdh/views/Dbdtdh"; +import Dbetdh from "~/views/Statics/Tdh/views/Dbetdh"; +import Dbitdh from "~/views/Statics/Tdh/views/Dbitdh"; +import Inftdh from "~/views/Statics/Tdh/views/Inftdh"; + import Dbaswm from "~/views/Statics/Swm/views/Dbaswm"; import Dbdswm from "~/views/Statics/Swm/views/Dbdswm"; @@ -496,7 +530,6 @@ const BusRouter = [ { path: 'botcan', component: Botcan, name: 'Botcan', meta: { title: '出口托收闭卷' } }, { path: 'inffec', component: Botset, name: 'Inffec', meta: { title: '费用条件查询' } }, { path: 'inffee', component: Inffee, name: 'Inffee', meta: { title: '费用管理' } }, - { path: 'infptm', component: Botset, name: 'Infptm', meta: { title: '客户BIC查询' } }, { path: 'infbcd', component: Infbcd, name: 'Infbcd', meta: { title: '进口代收查询' } }, { path: 'bdtcan', component: Bdtcan, name: 'Bdtcan', meta: { title: '买方信用证单据注销' } }, { path: 'ditdla', component: Ditdla, name: 'Ditdla', meta: { title: '买方信用证减额接受' } }, @@ -636,11 +669,11 @@ const BusRouter = [ { path: 'dzsys/:path', name: 'DzSys', meta: { title: (tag) => { return '电证 - ' + tag.params.title } } }, - // { path: 'infact', component: Infact, name: 'StaticsInfact', meta: { title: '资金账户查询' } }, - // { path: 'dbaact', component: Dbaact, name: 'StaticsDbaact', meta: { title: '资金账户新增' } }, - // { path: 'dbiact/:inr', component: Dbiact, name: 'StaticsDbiact', meta: { title: (tag) => { return '资金账户详情: ' + tag.params.inr } } }, - // { path: 'dbeact/:inr', component: Dbeact, name: 'StaticsDbeact', meta: { title: (tag) => { return '资金账户修改: ' + tag.params.inr } } }, - // { path: 'dbdact/:inr', component: Dbdact, name: 'StaticsDbdact', meta: { title: (tag) => { return '资金账户删除: ' + tag.params.inr } } }, + { path: 'infact', component: Infact, name: 'StaticsInfact', meta: { title: '资金账户查询' } }, + { path: 'dbaact', component: Dbaact, name: 'StaticsDbaact', meta: { title: '资金账户新增' } }, + { path: 'dbiact/:inr', component: Dbiact, name: 'StaticsDbiact', meta: { title: (tag) => { return '资金账户详情: ' + tag.params.inr } } }, + { path: 'dbeact/:inr', component: Dbeact, name: 'StaticsDbeact', meta: { title: (tag) => { return '资金账户修改: ' + tag.params.inr } } }, + { path: 'dbdact/:inr', component: Dbdact, name: 'StaticsDbdact', meta: { title: (tag) => { return '资金账户删除: ' + tag.params.inr } } }, { path: 'infoit', component: Infoit, name: 'StaticsInfoit', meta: { title: '查询消息信息' } }, { path: 'dbaoit', component: Dbaoit, name: 'StaticsDbaoit', meta: { title: '新增消息信息' } }, @@ -648,6 +681,10 @@ const BusRouter = [ { path: 'dbeoit/:inr', component: Dbeoit, name: 'StaticsDbeoit', meta: { title: (tag) => { return '修改消息信息: ' + tag.params.inr } } }, { path: 'dbdoit/:inr', component: Dbdoit, name: 'StaticsDbdoit', meta: { title: (tag) => { return '删除消息信息: ' + tag.params.inr } } }, + { path: 'dbiptm/:inr', component:Dbiptm, name: 'StaticsDbiptm', meta: { title: (tag) => { return '客户详情: ' + tag.params.inr } } }, + { path: 'infptm', component:Infptm, name: 'StaticsInfptm', meta: { title: '银行密押查询' } }, + { path: 'dbeptm/:inr', component: Dbeptm, name: 'StaticsDbeptm', meta: { title: (tag) => { return '银行密押更新: ' + tag.params.inr } } }, + { path: 'infatp', component: Infatp, name: 'StaticsInfatp', meta: { title: '交易配置信息查询' } }, { path: 'dbaatp', component: Dbaatp, name: 'StaticsDbaatp', meta: { title: '交易配置信息新增' } }, @@ -673,6 +710,18 @@ const BusRouter = [ { path: 'dbecur/:inr', component: Dbecur, name: 'StaticsDbecur', meta: { title: (tag) => { return '币种修改: ' + tag.params.inr } } }, { path: 'dbdcur/:inr', component: Dbdcur, name: 'StaticsDbdcur', meta: { title: (tag) => { return '币种删除: ' + tag.params.inr } } }, + { path: 'infdia', component: Infdia, name: 'StaticsInfdia', meta: { title: '交易备忘录查询' } }, + { path: 'dbadia', component: Dbadia, name: 'StaticsDbadia', meta: { title: '交易备忘录新增' } }, + { path: 'dbidia/:inr', component: Dbidia, name: 'StaticsDbidia', meta: { title: (tag) => { return '交易备忘录详情: ' + tag.params.inr } } }, + { path: 'dbedia/:inr', component: Dbedia, name: 'StaticsDbedia', meta: { title: (tag) => { return '交易备忘录修改: ' + tag.params.inr } } }, + { path: 'dbddia/:inr', component: Dbddia, name: 'StaticsDbddia', meta: { title: (tag) => { return '交易备忘录删除: ' + tag.params.inr } } }, + + { path: 'inffee', component: Inffee, name: 'StaticsInffee', meta: { title: '费用代码查询' } }, + { path: 'dbafee', component: Dbafee, name: 'StaticsDbafee', meta: { title: '费用代码新增' } }, + { path: 'dbifee/:inr', component: Dbifee, name: 'StaticsDbifee', meta: { title: (tag) => { return '费用代码详情: ' + tag.params.inr } } }, + { path: 'dbefee/:inr', component: Dbefee, name: 'StaticsDbefee', meta: { title: (tag) => { return '费用代码修改: ' + tag.params.inr } } }, + { path: 'dbdfee/:inr', component: Dbdfee, name: 'StaticsDbdfee', meta: { title: (tag) => { return '费用代码删除: ' + tag.params.inr } } }, + { path: 'inffec', component: Inffec, name: 'StaticsInffec', meta: { title: '费率查询' } }, { path: 'dbafec', component: Dbafec, name: 'StaticsDbafec', meta: { title: '费率新增' } }, { path: 'dbifec/:inr', component: Dbifec, name: 'StaticsDbifec', meta: { title: (tag) => { return '费率详情: ' + tag.params.inr } } }, @@ -720,5 +769,18 @@ const BusRouter = [ { path: 'dbaxrt', component: Dbaxrt, name: 'StaticsDbaxrt', meta: { title: '牌价新增' } }, { path: 'dbexrt/:inr', component: Dbexrt, name: 'StaticsDbexrt', meta: { title: (tag) => { return '牌价修改: ' + tag.params.inr } } }, { path: 'dbdxrt/:inr', component: Dbdxrt, name: 'StaticsDbdxrt', meta: { title: (tag) => { return '牌价删除: ' + tag.params.inr } } }, + + { path: 'inflgb', component: Inflgb, name: 'StaticsInflgb', meta: { title: '查询保函额度信息' } }, + { path: 'dbalgb', component: Dbalgb, name: 'StaticsDbalgb', meta: { title: '新增保函额度信息' } }, + { path: 'dbilgb/:inr', component: Dbilgb, name: 'StaticsDbilgb', meta: { title: (tag) => { return '查看保函额度详情信息: ' + tag.params.inr } } }, + { path: 'dbelgb/:inr', component: Dbelgb, name: 'StaticsDbelgb', meta: { title: (tag) => { return '修改保函额度信息: ' + tag.params.inr } } }, + { path: 'dbdlgb/:inr', component: Dbdlgb, name: 'StaticsDbdlgb', meta: { title: (tag) => { return '删除保函额度信息: ' + tag.params.inr } } }, + + + { path: 'inftdh', component: Inftdh, name: 'StaticsInftdh', meta: { title: '节假日信息查询' } }, + { path: 'dbitdh/:inr', component: Dbitdh, name: 'StaticsDbitdh', meta: { title: (tag) => { return '节假日信息详情: ' + tag.params.inr } } }, + { path: 'dbatdh', component: Dbatdh, name: 'StaticsDbatdh', meta: { title: '节假日新增' } }, + { path: 'dbetdh/:inr', component: Dbetdh, name: 'StaticsDbetdh', meta: { title: (tag) => { return '节假日修改: ' + tag.params.inr } } }, + { path: 'dbdtdh/:inr', component: Dbdtdh, name: 'StaticsDbdtdh', meta: { title: (tag) => { return '节假日删除: ' + tag.params.inr } } }, ] export default BusRouter \ No newline at end of file diff --git a/src/views/Layout/SideMenu.vue b/src/views/Layout/SideMenu.vue index a788a95..4fe6696 100644 --- a/src/views/Layout/SideMenu.vue +++ b/src/views/Layout/SideMenu.vue @@ -194,6 +194,7 @@ export default { { inifrm: "infatp", ininam: "交易模式配置查询", pntmiu: "10" }, { inifrm: "infbch", ininam: "机构信息查询", pntmiu: "10" }, { inifrm: 'infoit', ininam: '消息信息查询OIT', pntmiu: '10' }, + { inifrm: 'infptm', ininam: '银行密押查询', pntmiu: '10' }, { inifrm: "infcty", ininam: "国别信息查询", pntmiu: "10" }, { inifrm: "infcur", ininam: "币种信息查询", pntmiu: "10" }, { inifrm: "inffec", ininam: "费率信息查询", pntmiu: "10" }, @@ -201,6 +202,7 @@ export default { { inifrm: "infpty", ininam: "客户信息查询", pntmiu: "10" }, { inifrm: "inftrl", ininam: "交易权限查询", pntmiu: "10" }, { inifrm: "infusr", ininam: "柜员信息查询", pntmiu: "10" }, + { inifrm: "infdia", ininam: "交易备忘录查询", pntmiu: "10" }, // { inifrm: "gitset", ininam: "进口保函赔付", pntmiu: "13" }, // { inifrm: "gitcrq", ininam: "进口保函索赔登记", pntmiu: "13" }, { inifrm: "14", ininam: "服务管理", pntmiu: "" }, diff --git a/src/views/Statics/Act/model/Act.js b/src/views/Statics/Act/model/Act.js new file mode 100644 index 0000000..29f8689 --- /dev/null +++ b/src/views/Statics/Act/model/Act.js @@ -0,0 +1,184 @@ +export default class Act { + constructor() { + this.data = { + inr: "", + pri: "", + cur: "", + extkey: "", + seracc: "", + sernam: "", + serptytyp: "", + serptyinr: "", + holacc: "", + holnam: "", + holptytyp: "", + holptyinr: "", + cvrflg: "", + rmbflg: "", + delflg: "", + ver: "", + dirflg: "", + othbnkflg: "", + othptynam: "", + othownflg: "", + othbic6: "", + iban: "", + etgextkey: "", + nam: "", + exttyp: "", + typ: "", + extact: "", + trmtyp: "", + acctyp: "", + zmqacc: "", + actpro: "", + ptyExtkey:"", + ptyInr:"", + holPtyExtkey:"", + serPtyExtkey:"", + } + } + } + +export const Pattern = { + "inr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "pri": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "cur": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "extkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 34, "message": "最大长度34个字符", "trigger": "blur" } + ], + "seracc": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 34, "message": "最大长度34个字符", "trigger": "blur" } + ], + "sernam": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 40, "message": "最大长度40个字符", "trigger": "blur" } + ], + "serptytyp": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "serptyinr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "holacc": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 34, "message": "最大长度34个字符", "trigger": "blur" } + ], + "holnam": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 40, "message": "最大长度40个字符", "trigger": "blur" } + ], + "holptytyp": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "holptyinr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "cvrflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "rmbflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "delflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "ver": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 4, "message": "最大长度4个字符", "trigger": "blur" } + ], + "dirflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "othbnkflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "othptynam": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 40, "message": "最大长度40个字符", "trigger": "blur" } + ], + "othownflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "othbic6": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符", "trigger": "blur" } + ], + "iban": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 34, "message": "最大长度34个字符", "trigger": "blur" } + ], + "etgextkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "nam": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 40, "message": "最大长度40个字符", "trigger": "blur" } + ], + "exttyp": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "typ": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "extact": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "trmtyp": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符", "trigger": "blur" } + ], + "acctyp": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "zmqacc": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 35, "message": "最大长度35个字符", "trigger": "blur" } + ], + "actpro": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 4, "message": "最大长度4个字符", "trigger": "blur" } + ], + "ptyInr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "holPtyExtkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 24, "message": "最大长度24个字符", "trigger": "blur" } + ], + "serPtyExtkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 24, "message": "最大长度24个字符", "trigger": "blur" } + ], + "ptyExtkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 24, "message": "最大长度24个字符", "trigger": "blur" } + ], +} \ No newline at end of file diff --git a/src/views/Statics/Act/views/Dbaact/index.vue b/src/views/Statics/Act/views/Dbaact/index.vue new file mode 100644 index 0000000..107e384 --- /dev/null +++ b/src/views/Statics/Act/views/Dbaact/index.vue @@ -0,0 +1,22 @@ +<template> + <m-act title="dbaact" type="add"></m-act> +</template> + +<script> +import Dbiact from "~/views/Statics/Act/views/Dbiact"; + +export default { + name: "StaticsDbaact", + components: { + "m-act": Dbiact + }, + data() { + return {}; + }, + mounted() { + } +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Act/views/Dbdact/index.vue b/src/views/Statics/Act/views/Dbdact/index.vue new file mode 100644 index 0000000..dcfb536 --- /dev/null +++ b/src/views/Statics/Act/views/Dbdact/index.vue @@ -0,0 +1,20 @@ +<template> + <m-act title="dbdact" type="delete"></m-act> +</template> + +<script> +import Dbiact from "~/views/Statics/Act/views/Dbiact"; + +export default { + name: "StaticsDbdact", + components: { + "m-act": Dbiact + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Act/views/Dbeact/index.vue b/src/views/Statics/Act/views/Dbeact/index.vue new file mode 100644 index 0000000..ec196cc --- /dev/null +++ b/src/views/Statics/Act/views/Dbeact/index.vue @@ -0,0 +1,20 @@ +<template> + <m-act title="dbeact" type="edit"></m-act> +</template> + +<script> +import Dbiact from "~/views/Statics/Act/views/Dbiact"; + +export default { + name: "StaticsDbeact", + components: { + "m-act": Dbiact + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Act/views/Dbiact/ActInfo.vue b/src/views/Statics/Act/views/Dbiact/ActInfo.vue new file mode 100644 index 0000000..ef06646 --- /dev/null +++ b/src/views/Statics/Act/views/Dbiact/ActInfo.vue @@ -0,0 +1,243 @@ +<template> + <div class="eibs-tab"> + <!-- =============================================左边=========================================== --> + + <c-col :span="12" class="col-left"> + <!-- <c-col :span="24"> + <el-form-item label="inr" prop="inr"> + <c-input + v-model="model.inr" + placeholder="请输入inr" + > + </c-input> + </el-form-item> + </c-col> --> + <c-col :span="24" v-if="model.serPtyExtkey=='' || model.serPtyExtkey==null" disabled> + <el-form-item label="holPtyExtkey" prop="holPtyExtkey"> + <c-input v-model="model.holPtyExtkey" placeholder=""> </c-input> + </el-form-item> + </c-col> + <c-col :span="24" v-if="model.holPtyExtkey==''|| model.holPtyExtkey==null" disabled> + <el-form-item label="serPtyExtkey" prop="serPtyExtkey"> + <c-input v-model="model.serPtyExtkey" placeholder=""> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号优先级" prop="pri"> + <c-select style="width: 100%" + v-model="model.pri" + placeholder="请选择账号优先级" + :code="getCodesByKey('pri')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号币种" prop="cur"> + <c-select v-model="model.cur" style="width: 100%" placeholder="请选择账号币种" :code="getCodesByKey('curtxt')"> </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号" prop="extkey"> + <c-input v-model="model.extkey" placeholder="请输入账号" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号提供机构的账号" prop="seracc"> + <c-input v-model="model.seracc" placeholder="请输入账号提供机构的账号" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号提供机构名称" prop="sernam"> + <c-input v-model="model.sernam" placeholder="请输入账号提供机构名称" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号提供机构种类" prop="serptytyp"> + <c-select v-model="model.serptytyp" style="width: 100%" placeholder="请选择账号提供机构种类" :code="getCodesByKey('ptytyp')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号提供机构INR号" prop="serptyinr"> + <c-input v-model="model.serptyinr" placeholder="请输入serptyinr" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号开户机构的账号" prop="holacc"> + <c-input v-model="model.holacc" placeholder="请输入账号开户机构的账号" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号开户机构名称" prop="holnam"> + <c-input v-model="model.holnam" placeholder="请输入账号开户机构名称" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号开户机构类型" prop="holptytyp"> + <c-select v-model="model.holptytyp" style="width: 100%" placeholder="请选择账号开户机构类型" :code="getCodesByKey('ptytyp')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号开户机构INR号" prop="holptyinr"> + <c-input v-model="model.holptyinr" placeholder="请输入holptyinr" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="头寸账户标志" prop="cvrflg"> + <c-input v-model="model.cvrflg" placeholder="请输入头寸账户标志" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="偿付账户标志" prop="rmbflg"> + <c-input v-model="model.rmbflg" placeholder="请输入偿付账户标志" > </c-input> + </el-form-item> + </c-col> + <!-- <c-col :span="24"> + <el-form-item label="版本文本" prop="ver"> + <c-input v-model="model.ver" placeholder="请输入ver" > </c-input> + </el-form-item> + </c-col> --> + </c-col> + <!-- =============================================右边=========================================== --> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="借贷标志" prop="dirflg"> + <c-select v-model="model.dirflg" style="width: 100%" placeholder="请输入借贷标志" > + <el-option + v-for="item in dirflg" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="是否账户行账号标志" prop="othbnkflg"> + <c-input v-model="model.othbnkflg" placeholder="请输入othbnkflg" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账户行名称" prop="othptynam"> + <c-input v-model="model.othptynam" placeholder="请输入账户行名称" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="是否我方账户行标志" prop="othownflg"> + <c-input v-model="model.othownflg" placeholder="请输入othownflg" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账户行的6位BIC" prop="othbic6"> + <c-input v-model="model.othbic6" placeholder="请输入账户行的6位BIC" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="国际银行账户号" prop="iban"> + <c-input v-model="model.iban" placeholder="请输入国际银行账户号" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="实体组" prop="etgextkey"> + <c-input v-model="model.etgextkey" placeholder="请输入实体组" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号名称" prop="nam"> + <c-input v-model="model.nam" placeholder="请输入账号名称" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="外部账号类型" prop="exttyp"> + <c-input v-model="model.exttyp" placeholder="请输入外部账号类型" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号类型" prop="typ"> + <c-select style="width: 100%" + v-model="model.typ" + placeholder="请选择账号类型" + :code="getCodesByKey('acttyp')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="外部账号" prop="extact"> + <c-input v-model="model.extact" placeholder="请输入外部账号" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="科目代码" prop="trmtyp"> + <c-input v-model="model.trmtyp" placeholder="请输入科目代码" > + </c-input> + <!-- :code="getCodesByKey('trmmix')" td上看码表--> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账户类型" prop="acctyp"> + <c-select v-model="model.acctyp" style="width: 100%" placeholder="请选择账户类型" > + <el-option + v-for="item in acctyp" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="zmqacc" prop="zmqacc"> + <c-input v-model="model.zmqacc" placeholder="请输入zmqacc" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="actpro" prop="actpro"> + <c-input v-model="model.actpro" placeholder="请输入actpro" > </c-input> + </el-form-item> + </c-col> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; +export default { + name: '', + props: ['model'], + data() { + return { + acctyp: [ + { label: "客户分户账", value: "C" }, + { label: "内部分户账", value: "O" }, + ], + dirflg: [ + { label: "可以借记或贷记", value: " " }, + { label: "只能贷记", value: "C" }, + { label: "只能借记", value: "D" }, + ], + } + }, + + mounted() {}, + + methods: { + getCodesByKey(key) { + return codes[key] ?? []; + }, + }, +} +</script> + +<style></style> diff --git a/src/views/Statics/Act/views/Dbiact/index.vue b/src/views/Statics/Act/views/Dbiact/index.vue new file mode 100644 index 0000000..b34e3a1 --- /dev/null +++ b/src/views/Statics/Act/views/Dbiact/index.vue @@ -0,0 +1,172 @@ +<template> + <div class="eContainer"> + <c-page :title="title"> + <el-form + ref="modelForm" + label-width="150px" + size="small" + label-position="right" + :model="model" + :rules="rules" + :validate-on-rule-change="false" + :disabled="isDisabled" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="基本信息" name="act"> + <c-content> + <m-act-info :model="model" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + <div style="text-align: center"> + <c-button + type="primary" + style="margin-right: 10px" + @click="commitAdd" + v-if="type === 'add'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitEdit" + v-if="type === 'edit'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitDelete" + v-if="type === 'delete'" + >删 除</c-button + > + <c-button type="primary" @click="goBack">返 回</c-button> + </div> + </c-page> + </div> +</template> + +<script> +import Utils from "~/utils"; + +import Act, { Pattern } from "../../model/Act.js"; + +import ActInfo from "./ActInfo.vue"; + +import { queryDetailById, add, edit, deleteById } from "~/service/test/act.js"; + +export default { + name: "StaticsDbiact", + components: { + "m-act-info": ActInfo, + }, + provide() { + return { + root: this, + }; + }, + props: { + type: { + type: String, + default: "info" + }, + title: { + type: String, + default: "dbiact" + } + }, + data() { + return { + model: new Act().data, + tabVal: "act", + rules: Pattern, + }; + }, + computed: { + isDisabled() { + return this.type === "info" || this.type === "delete"; + }, + }, + created() { + if (this.type !== "add") { + const inr = this.$route.params.inr; + queryDetailById(inr).then((res) => { + if (res.inr) { + this.model = res; + } else { + this.$message.error("资金账户不存在") + } + }); + } + }, + methods: { + commitAdd() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + add(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitEdit() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + edit(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack() + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitDelete() { + this.$confirm("是否确认删除?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + deleteById(this.model.inr) + .then((res) => { + this.$message.success("删除成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("删除失败!"); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + }); + }, + /** + * update 是否更新infpty的查询列表 + */ + goBack(update) { + this.$store.dispatch("TagsView/delView", this.$route); + this.$router.push({ name: "StaticsInfact", params: { update } }); + }, + + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Act/views/Infact/Infsea.vue b/src/views/Statics/Act/views/Infact/Infsea.vue new file mode 100644 index 0000000..929909d --- /dev/null +++ b/src/views/Statics/Act/views/Infact/Infsea.vue @@ -0,0 +1,235 @@ +<template> + <div class="eibs-tab"> + <!-- 参照TD上infxxx,如infpty/infact交易的search panel面板,对应布局查询条件字段 --> + <!-- ----------左 ----------> + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <!-- Account No. --> + <el-form-item label="资金账号" prop="extkey"> + <c-input + v-model="model.extkey" + placeholder="请输入资金账号" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <!-- Holding Party --> + <el-form-item label="客户账户" prop="ptyExtkey"> + <c-input + v-model="model.ptyExtkey" + placeholder="请输入客户账户" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="账号类型" prop="typ"> + <c-select + v-model="model.typ" + placeholder="请选择账号类型" + style="width: 100%" + :code="getCodesByKey('recgrptyp')" + ></c-select> + </el-form-item> + </c-col> + </c-col> + <!-- =========================------------- 右 ----------======================= --> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="账号名称" prop="nam"> + <c-input + v-model="model.nam" + placeholder="请输入账号名称" + ></c-input> + </el-form-item> + </c-col> + + <c-col :span="24"> + <el-form-item label="国际银行账户号 " prop="iban"> + <c-input + v-model="model.iban" + maxlength="34" + placeholder="请输入国际银行账户号" + ></c-input> + </el-form-item> + </c-col> + + <c-col :span="24"> + <el-form-item label="账号币种" prop="cur"> + <c-select + v-model="model.cur" + style="width: 100%" + placeholder="请选择账号币种" + :code="getCodesByKey('infled_Cur')" + > + </c-select> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="24"> + <c-col :span="12" style="text-align: left"> + <el-button type="primary" size="small" @click="actAdd">新增</el-button> + </c-col> + <c-col :span="12" style="text-align: right"> + <el-button size="small" @click="handleReset">重置</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="small" + @click="onSearch()" + >查询 + </el-button> + </c-col> + </c-col> + <c-col :span="24"> + <c-paging-table + :data="actData" + :columns="actColumns" + :pageNumber="model.pageNum" + :pageSize="model.pageSize" + :total="model.total" + v-on:queryFunc="queryFunc" + :border="true" + > + <c-table-column fixed="right" prop="op" label="操作" width="240px"> + <template slot-scope="{ scope }"> + <c-button + style="margin-left: 0" + size="small" + @click="actInfo(scope.$index, scope.row)" + >详情</c-button + > + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="actEdit(scope.$index, scope.row)" + >修改</c-button + > + <c-button + size="small" + style="margin-left: 5px" + @click="actDelete(scope.$index, scope.row)" + >删除</c-button + > + <el-popover placement="top-start" width="50" trigger="click"> + <ul class="table-button-item-list"> + <li> + <c-button size="small" style="margin-left: 0">指派</c-button> + </li> + <li> + <c-button size="small" style="margin-left: 0">删除</c-button> + </li> + </ul> + <a + slot="reference" + href="javascript:void(0)" + style="margin-left: 5px" + > + <i class="el-icon-more"></i> + </a> + </el-popover> + </template> + </c-table-column> + </c-paging-table> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; + +import { queryByPage } from "~/service/test/act.js"; + +export default { + name: "", + props: ["model"], + inject: ["root"], + data() { + return { + actData: [], + actColumns: [ + { label: 'HolPtyExtkey', prop: 'holPtyExtkey', width: '200' }, + { label: 'SerPtyExtkey', prop: 'serPtyExtkey', width: '200' }, + { label: '账号名称', prop: 'nam', width: '200' }, + { label: '账号类型', prop: 'typ', width: '100' }, + { label: '账号币种', prop: 'cur', width: '100' }, + { label: '资金账号', prop: 'extkey', width: '200' }, + { label: '账号开户机构的账号', prop: 'holacc', width: '200' }, + { label: '账号提供机构的账号', prop: 'seracc', width: '200' }, + { label: '客户账户', prop: 'serPtyExtkey', width: '200' }, + { label: '国际银行账户号', prop: 'iban', width: '200' }, + ], + }; + }, + computed: { + }, + activated() { + const { update } = this.$route.params + if (update) { + this.onInfactSearch() + } + }, + methods: { + handleReset() { + this.root.$refs.modelForm.resetFields(); + }, + onSearch(){ + this.model.pageNum = 1; + this.model.pageSize = 5; + this.onInfactSearch(); + + }, + onInfactSearch() { + queryByPage(this.model).then(res => { + /** + * pageNumber: 0 + * pageSize: 0 + * total: 69 + * totalPage: 0 + */ + const list = res.list + this.actData = list + this.model.pageNum = res.pageNumber + this.model.pageSize = res.pageSize + this.model.total = res.total + }) + }, + queryFunc(pageNumber, pageSize) { + this.model.pageNum = pageNumber + this.model.pageSize = pageSize + this.onInfactSearch() + }, + getCodesByKey(key) { + return codes[key] ?? []; + }, + actAdd() { + this.$router.push(`/statics/dbaact`) + }, + actInfo(index, row) { + this.$router.push(`/statics/dbiact/${row.inr}`) + }, + actEdit(index, row) { + this.$router.push(`/statics/dbeact/${row.inr}`) + }, + actDelete(index, row) { + this.$router.push(`/statics/dbdact/${row.inr}`) + }, + }, +}; +</script> + +<style scoped> +.table-button-item-list { + padding: 0; + margin: 0; +} +.table-button-item-list li { + list-style: none; + padding: 5px 0; + text-align: center; + color: #606266; + cursor: pointer; +}</style> diff --git a/src/views/Statics/Act/views/Infact/index.vue b/src/views/Statics/Act/views/Infact/index.vue new file mode 100644 index 0000000..0b7fd05 --- /dev/null +++ b/src/views/Statics/Act/views/Infact/index.vue @@ -0,0 +1,57 @@ +<template> + <div class="eContainer"> + <c-page title="资金账户信息查询"> + <el-form + :model="model" + ref="modelForm" + label-width="120px" + label-position="right" + size="small" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <!--PD000039 --> + <el-tab-pane label="资金账户查询" name="infsea"> + <c-content> + <m-infsea :model="model" ref="infsea" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + </c-page> + </div> +</template> + +<script> +import Infsea from "./Infsea"; + +export default { + name: "StaticsInfact", + components: { + "m-infsea": Infsea, + }, + provide() { + return { + root: this, + }; + }, + data() { + return { + tabVal: "infsea", + model: { + // act,查询条件的字段 + extkey: "", + nam: "", + iban: "", + typ: "", + cur: "", + ptyExtkey:"", + pageNum: 1, + pageSize: 5, + total: 0 + }, + }; + }, +}; +</script> + +<style></style> diff --git a/src/views/Statics/Apf/model/Apf.js b/src/views/Statics/Apf/model/Apf.js new file mode 100644 index 0000000..b3d2223 --- /dev/null +++ b/src/views/Statics/Apf/model/Apf.js @@ -0,0 +1,47 @@ +export default class Apf { + constructor() { + this.data = { + inr: "", + cod: "", + typ: "", + cnt: "", + edtflg: "", + tef: "", + pri: "", + ver: "", + } + } +} + +export const Pattern = { + "inr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "cod": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符", "trigger": "blur" } + ], + "typ": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "cnt": [ + { "required": true, "message": "必输项", "trigger": "blur" }, + { "pattern": /^-?\d{0,4}$/, "message": "整数不能超过4位", "trigger": "blur" } + ], + "edtflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "tef": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "pri": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 2, "message": "最大长度2个字符", "trigger": "blur" } + ] +} + + diff --git a/src/views/Statics/Apf/views/Dbaapf/index.vue b/src/views/Statics/Apf/views/Dbaapf/index.vue new file mode 100644 index 0000000..c59fc43 --- /dev/null +++ b/src/views/Statics/Apf/views/Dbaapf/index.vue @@ -0,0 +1,20 @@ +<template> + <m-apf ref="apf" title="dbaapf" type="add"></m-apf> +</template> + +<script> +import Dbiapf from "~/views/Statics/Apf/views/Dbiapf"; + +export default { + name: "StaticsDbaapf", + components: { + "m-apf": Dbiapf + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Apf/views/Dbdapf/index.vue b/src/views/Statics/Apf/views/Dbdapf/index.vue new file mode 100644 index 0000000..36a1386 --- /dev/null +++ b/src/views/Statics/Apf/views/Dbdapf/index.vue @@ -0,0 +1,20 @@ +<template> + <m-apf title="dbdapf" type="delete"></m-apf> +</template> + +<script> +import Dbiapf from "~/views/Statics/Apf/views/Dbiapf"; + +export default { + name: "StaticsDbdapf", + components: { + "m-apf": Dbiapf + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Apf/views/Dbeapf/index.vue b/src/views/Statics/Apf/views/Dbeapf/index.vue new file mode 100644 index 0000000..13ebfc4 --- /dev/null +++ b/src/views/Statics/Apf/views/Dbeapf/index.vue @@ -0,0 +1,20 @@ +<template> + <m-apf title="dbeapf" type="edit"></m-apf> +</template> + +<script> +import Dbiapf from "~/views/Statics/Apf/views/Dbiapf"; + +export default { + name: "StaticsDbeapf", + components: { + "m-apf": Dbiapf + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Apf/views/Dbiapf/ApfInfo.vue b/src/views/Statics/Apf/views/Dbiapf/ApfInfo.vue new file mode 100644 index 0000000..72b7275 --- /dev/null +++ b/src/views/Statics/Apf/views/Dbiapf/ApfInfo.vue @@ -0,0 +1,57 @@ +<template> + <div class="eibs-tab"> + <c-col :span="12" style="padding-right: 20px;"> + <c-col :span="24"> + <el-form-item label="样式设置" prop="cod"> + <c-input v-model="model.cod" placeholder="请输入样式设置"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="类型" prop="typ"> + <c-input v-model="model.typ" placeholder="请输入类型"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="数量" prop="cnt"> + <c-input v-model="model.cnt" placeholder="请输入数量"> </c-input> + </el-form-item> + </c-col> + </c-col> + <c-col :span="12" style="padding-left: 20px;"> + <c-col :span="24"> + <el-form-item label="编辑标志" prop="edtflg"> + <c-input v-model="model.edtflg" placeholder="请输入编辑标志"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="所用纸张类型" prop="tef"> + <c-input v-model="model.tef" placeholder="请输入所用纸张类型"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="优先级" prop="pri"> + <c-input v-model="model.pri" placeholder="请输入优先级"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="版本号" prop="ver"> + <c-input v-model="model.ver" placeholder="请输入版本号"> </c-input> + </el-form-item> + </c-col> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; +export default { + name: "", + props: ["model"], + data() { + return {}; + }, +}; +</script> + + <style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Apf/views/Dbiapf/index.vue b/src/views/Statics/Apf/views/Dbiapf/index.vue new file mode 100644 index 0000000..3f163e7 --- /dev/null +++ b/src/views/Statics/Apf/views/Dbiapf/index.vue @@ -0,0 +1,172 @@ +<template> + <div class="eContainer"> + <c-page :title="title"> + <el-form + ref="modelForm" + label-width="160px" + size="small" + label-position="right" + :model="model" + :rules="rules" + :validate-on-rule-change="false" + :disabled="isDisabled" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="基本信息" name="apf"> + <c-content> + <m-apf-info :model="model" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + <div style="text-align: center"> + <c-button + type="primary" + style="margin-right: 10px" + @click="commitAdd" + v-if="type === 'add'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitEdit" + v-if="type === 'edit'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitDelete" + v-if="type === 'delete'" + >提 交</c-button + > + <c-button type="primary" @click="goBack">返 回</c-button> + </div> + </c-page> + </div> +</template> + + <script> +import Utils from "~/utils"; +import Apf, { Pattern } from "../../model/Apf.js"; + +import ApfInfo from "./ApfInfo.vue"; + +import { queryById, add, edit, deleteById } from "~/service/test/apf.js"; + +export default { + name: "StaticsDbiapf", + components: { + "m-apf-info": ApfInfo, + }, + provide() { + return { + root: this, + }; + }, + props: { + type: { + type: String, + default: "info", + }, + title: { + type: String, + default: "dbiapf", + }, + }, + data() { + return { + model: new Apf().data, + tabVal: "apf", + rules: Pattern, + }; + }, + computed: { + isDisabled() { + return this.type === "info" || this.type === "delete"; + }, + }, + created() { + if (this.type !== "add") { + const inr = this.$route.params.inr; + const data = { inr: inr }; + queryById(data).then((res) => { + if (res.inr) { + this.model = res; + } else { + this.$message.error("客户不存在"); + } + }); + } + }, + methods: { + commitAdd() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + add(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true); + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields); + } + }); + }, + commitEdit() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + edit(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(); + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields); + } + }); + }, + commitDelete() { + this.$confirm("是否确认删除?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + const data = { inr: this.model.inr }; + deleteById(data) + .then((res) => { + this.$message.success("删除成功!"); + this.goBack(true); + }) + .catch((err) => { + this.$message.error("删除失败!"); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + }); + }, + /** + * update 是否更新infapf的查询列表 + */ + goBack(update) { + this.$store.dispatch("TagsView/delView", this.$route); + this.$router.push({ name: "StaticsDblapf", params: { update } }); + }, + }, +}; +</script> + + <style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Dbifec/Fec.js b/src/views/Statics/Fec/model/Fec.js similarity index 100% rename from src/views/Statics/Dbifec/Fec.js rename to src/views/Statics/Fec/model/Fec.js diff --git a/src/views/Statics/Dbafec/index.vue b/src/views/Statics/Fec/views/Dbafec/index.vue similarity index 94% rename from src/views/Statics/Dbafec/index.vue rename to src/views/Statics/Fec/views/Dbafec/index.vue index f4c9e16..7245827 100644 --- a/src/views/Statics/Dbafec/index.vue +++ b/src/views/Statics/Fec/views/Dbafec/index.vue @@ -3,7 +3,7 @@ </template> <script> -import Dbifec from "~/views/Statics/Dbifec"; +import Dbifec from "~/views/Statics/Fec/views/Dbifec"; export default { name: "StaticsDbafec", diff --git a/src/views/Statics/Dbdfec/index.vue b/src/views/Statics/Fec/views/Dbdfec/index.vue similarity index 94% rename from src/views/Statics/Dbdfec/index.vue rename to src/views/Statics/Fec/views/Dbdfec/index.vue index 6cccd15..2e31269 100644 --- a/src/views/Statics/Dbdfec/index.vue +++ b/src/views/Statics/Fec/views/Dbdfec/index.vue @@ -3,7 +3,7 @@ </template> <script> -import Dbifec from "~/views/Statics/Dbifec"; +import Dbifec from "~/views/Statics/Fec/views/Dbifec"; export default { name: "StaticsDbdfec", diff --git a/src/views/Statics/Dbefec/index.vue b/src/views/Statics/Fec/views/Dbefec/index.vue similarity index 94% rename from src/views/Statics/Dbefec/index.vue rename to src/views/Statics/Fec/views/Dbefec/index.vue index bb460cd..0d02822 100644 --- a/src/views/Statics/Dbefec/index.vue +++ b/src/views/Statics/Fec/views/Dbefec/index.vue @@ -3,7 +3,7 @@ </template> <script> -import Dbifec from "~/views/Statics/Dbifec"; +import Dbifec from "~/views/Statics/Fec/views/Dbifec"; export default { name: "StaticsDbefec", diff --git a/src/views/Statics/Dbifec/FecInfo.vue b/src/views/Statics/Fec/views/Dbifec/FecInfo.vue similarity index 100% rename from src/views/Statics/Dbifec/FecInfo.vue rename to src/views/Statics/Fec/views/Dbifec/FecInfo.vue diff --git a/src/views/Statics/Dbifec/FeeInfo.vue b/src/views/Statics/Fec/views/Dbifec/FeeInfo.vue similarity index 100% rename from src/views/Statics/Dbifec/FeeInfo.vue rename to src/views/Statics/Fec/views/Dbifec/FeeInfo.vue diff --git a/src/views/Statics/Dbifec/index.vue b/src/views/Statics/Fec/views/Dbifec/index.vue similarity index 99% rename from src/views/Statics/Dbifec/index.vue rename to src/views/Statics/Fec/views/Dbifec/index.vue index 3812dd7..61462f7 100644 --- a/src/views/Statics/Dbifec/index.vue +++ b/src/views/Statics/Fec/views/Dbifec/index.vue @@ -54,7 +54,7 @@ <script> import Utils from "~/utils"; -import Fec, { Pattern } from "./Fec.js"; +import Fec, { Pattern } from "~/views/Statics/Fec/model/Fec.js"; import FecInfo from "./FecInfo.vue"; import FeeInfo from "./FeeInfo.vue"; diff --git a/src/views/Statics/Inffec/Infsea.vue b/src/views/Statics/Fec/views/Inffec/Infsea.vue similarity index 100% rename from src/views/Statics/Inffec/Infsea.vue rename to src/views/Statics/Fec/views/Inffec/Infsea.vue diff --git a/src/views/Statics/Inffec/index.vue b/src/views/Statics/Fec/views/Inffec/index.vue similarity index 100% rename from src/views/Statics/Inffec/index.vue rename to src/views/Statics/Fec/views/Inffec/index.vue diff --git a/src/views/Statics/Fee/model/Fee.js b/src/views/Statics/Fee/model/Fee.js new file mode 100644 index 0000000..d8d7c73 --- /dev/null +++ b/src/views/Statics/Fee/model/Fee.js @@ -0,0 +1,112 @@ +export default class Pty { + constructor() { + this.data = { + inr :"", + cod :"", + sftcod :"", + rol :"", + incflg :"", + staflg :"", + vatflg :"", + acc :"", + accacr :"", + eno :"", + reltir :"", + grpcod :"", + ver :"", + dscmodflg :"", + reltrn :"", + begdat :"", + enddat :"", + dtacod :"", + etgextkey :"", + taxacc :"", + taxflg :"" + } + } +} + +export const Pattern = { + "inr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "cod": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符","trigger": "blur" } + ], + "sftcod": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 4, "message": "最大长度4个字符","trigger": "blur" } + ], + "rol": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符","trigger": "blur" } + ], + "incflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "staflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "vatflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "vatflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "acc": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 34, "message": "最大长度34个字符", "trigger": "blur" } + ], + "accacr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 34, "message": "最大长度34个字符", "trigger": "blur" } + ], + "eno": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "reltir": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符", "trigger": "blur" } + ], + "grpcod": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "trigger": "blur" } + ], + "ver": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 4, "message": "最大长度4个字符", "trigger": "blur" } + ], + "dscmodflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "reltrn": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 40, "message": "最大长度40个字符", "trigger": "blur" } + ], + "dtacod": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "trigger": "blur" } + ], + "etgextkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度40个字符", "trigger": "blur" } + ], + "taxacc": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 34, "message": "最大长度40个字符", "trigger": "blur" } + ], + "taxflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 4, "message": "最大长度40个字符", "trigger": "blur" } + ] +} + + diff --git a/src/views/Statics/Fee/views/Dbafee/index.vue b/src/views/Statics/Fee/views/Dbafee/index.vue new file mode 100644 index 0000000..cfc8a1a --- /dev/null +++ b/src/views/Statics/Fee/views/Dbafee/index.vue @@ -0,0 +1,23 @@ +<template> + <m-fee ref="fee" title="dbafee" type="add"></m-fee> +</template> + +<script> +import Dbifee from "../Dbifee"; + +export default { + name: "StaticsDbafee", + components: { + "m-fee": Dbifee + }, + data() { + return {}; + }, + mounted() { + + } +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Fee/views/Dbdfee/index.vue b/src/views/Statics/Fee/views/Dbdfee/index.vue new file mode 100644 index 0000000..711fb89 --- /dev/null +++ b/src/views/Statics/Fee/views/Dbdfee/index.vue @@ -0,0 +1,20 @@ +<template> + <m-fee title="dbdfee" type="delete"></m-fee> +</template> + +<script> +import Dbifee from "../Dbifee"; + +export default { + name: "StaticsDbdfee", + components: { + "m-fee": Dbifee + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Fee/views/Dbefee/index.vue b/src/views/Statics/Fee/views/Dbefee/index.vue new file mode 100644 index 0000000..f87bf71 --- /dev/null +++ b/src/views/Statics/Fee/views/Dbefee/index.vue @@ -0,0 +1,20 @@ +<template> + <m-fee title="dbefee" type="edit"></m-fee> +</template> + +<script> +import Dbifee from "../Dbifee"; + +export default { + name: "StaticsDbefee", + components: { + "m-fee": Dbifee + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Fee/views/Dbifee/FeeInfo.vue b/src/views/Statics/Fee/views/Dbifee/FeeInfo.vue new file mode 100644 index 0000000..0adc932 --- /dev/null +++ b/src/views/Statics/Fee/views/Dbifee/FeeInfo.vue @@ -0,0 +1,166 @@ +<template> + <div class="eibs-tab"> + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="费用代码" prop="cod"> + <!-- <c-select + style="width: 100%" + v-model="model.cod" + placeholder="请选择费用代码" + :code="getCodesByKey('feecod3')" + > + </c-select> --> + <c-input v-model="model.cod" placeholder="请输入费用代码"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="计算费用相关的金额类型" prop="reltir"> + <c-select + style="width: 100%" + v-model="model.reltir" + placeholder="请选择计算费用相关的金额类型" + :code="getCodesByKey('calcbs')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="SWIFT报文费用代码" prop="sftcod"> + <c-select + style="width: 100%" + v-model="model.sftcod" + placeholder="请选择SWIFT报文费用代码" + :code="getCodesByKey('swtcod')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="DTA报文中的费用代码" prop="dtacod"> + <c-select + style="width: 100%" + v-model="model.dtacod" + placeholder="请选择DTA报文中的费用代码" + :code="getCodesByKey('dtacod')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="统计标志" prop="staflg"> + <c-select + style="width: 100%" + v-model="model.staflg" + placeholder="请选择统计标志" + :code="getCodesByKey('staflgFee')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="是否计入收费标志" prop="incflgFee"> + <c-select style="width: 100%" + v-model="model.incflg" + :code="getCodesByKey('incflgFee')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="默认付费角色" prop="rol"> + <c-select + style="width: 100%" + v-model="model.rol" + placeholder="请选择默认付费角色" + :code="getCodesByKey('rol')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="费用账号" prop="acc"> + <c-input v-model="model.acc" placeholder="请输入费用账号"> </c-input> + </el-form-item> + </c-col> + </c-col> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="费用描述是否允许修改" prop="dscmodflg"> + <c-select style="width: 100%" + v-model="model.dscmodflg" + :code="getCodesByKey('dscmodflg')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="计提摊销账号" prop="accacr"> + <c-input v-model="model.accacr" placeholder="请输入计提摊销账号"> + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="相关的交易名称或者业务品种" prop="reltrn"> + <c-input v-model="model.reltrn" maxlength="40" placeholder="请输入相关的交易名称或者业务品种"></c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="费用生效日期" prop="begdat"> + <c-date-picker type="date" v-model="model.begdat" style="width:100%" placeholder="请选择开始日期"></c-date-picker> + </el-form-item> + </c-col> + + <c-col :span="24"> + <el-form-item label="费用失效日期" prop="enddat"> + <c-date-picker type="date" v-model="model.enddat" style="width:100%" placeholder="请选择结束日期"></c-date-picker> + </el-form-item> + </c-col> + + <c-col :span="24"> + <el-form-item label="费用组代码" prop="grpcod"> + <c-select + v-model="model.grpcod" + style="width:100%" + placeholder="请选择费用组代码" + :code="getCodesByKey('grpcod')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="价税分离标志" prop="taxflg" placeholder="是/否"> + <c-select + style="width: 100%" + v-model="model.taxflg" + :code="getCodesByKey('taxflg')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="税则账号" prop="taxacc"> + <c-input v-model="model.taxacc" maxlength="34" placeholder="请输入税则账号"></c-input> + </el-form-item> + </c-col> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; +export default { + name: "", + props: ["model"], + data() { + return {}; + }, + methods: { + getCodesByKey(key) { + return codes[key] ?? []; + }, + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Fee/views/Dbifee/index.vue b/src/views/Statics/Fee/views/Dbifee/index.vue new file mode 100644 index 0000000..2926683 --- /dev/null +++ b/src/views/Statics/Fee/views/Dbifee/index.vue @@ -0,0 +1,187 @@ +<template> + <div class="eContainer"> + <c-page :title="title"> + + + <el-form + ref="modelForm" + label-width="160px" + size="small" + label-position="right" + :model="model" + :rules="rules" + :validate-on-rule-change="false" + :disabled="isDisabled" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="基本信息" name="fee"> + <c-content> + <m-fee-info :model="model" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + + + <div style="text-align: center"> + <c-button + type="primary" + style="margin-right: 10px" + @click="commitAdd" + v-if="type === 'add'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitEdit" + v-if="type === 'edit'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitDelete" + v-if="type === 'delete'" + >提 交</c-button + > + <c-button type="primary" @click="goBack">返 回</c-button> + </div> + </c-page> + </div> +</template> + +<script> +import Utils from "~/utils"; +import Fee, { Pattern } from "~/views/Statics/Fee/model/Fee.js"; + +import FeeInfo from "./FeeInfo.vue" + +// import PtyInfo from "./PtyInfo.vue"; +// import AdrList from "./AdrList.vue"; +// import ActInfo from "./ActInfo.vue"; +// import PtcInfo from "./PtcInfo.vue"; +// import RatInfo from "./RatInfo.vue"; + +import { queryById, add, edit, deleteById } from "~/service/test/fee.js"; + +export default { + name: "StaticsDbifee", + components: { + "m-fee-info": FeeInfo, + // "m-adr-list": AdrList, + // "m-act-info": ActInfo, + // "m-ptc-info": PtcInfo, + // "m-rat-info": RatInfo, + }, + provide() { + return { + root: this, + }; + }, + props: { + type: { + type: String, + default: "info" + }, + title: { + type: String, + default: "dbifee" + } + }, + data() { + return { + model: new Fee().data, + tabVal: "fee", + rules: Pattern, + }; + }, + computed: { + isDisabled() { + return this.type === "info" || this.type === "delete"; + }, + }, + created() { + if (this.type !== "add") { + const inr = this.$route.params.inr; + const data = {"inr":inr} + queryById(data).then((res) => { + if (res.inr) { + this.model = res; + } else { + this.$message.error("客户不存在") + } + }); + } + }, + methods: { + commitAdd() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + add(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitEdit() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + edit(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitDelete() { + this.$confirm("是否确认删除?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + const data = {"inr":this.model.inr} + deleteById(data) + .then((res) => { + this.$message.success("删除成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("删除失败!"); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + }); + }, + /** + * update 是否更新inffee的查询列表 + */ + goBack(update) { + this.$store.dispatch("TagsView/delView", this.$route); + this.$router.push({ name: "StaticsInffee", params: { update } }); + }, + + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Fee/views/Inffee/Infsea.vue b/src/views/Statics/Fee/views/Inffee/Infsea.vue new file mode 100644 index 0000000..947e11b --- /dev/null +++ b/src/views/Statics/Fee/views/Inffee/Infsea.vue @@ -0,0 +1,221 @@ +<template> + <div class="eibs-tab"> + + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="费用代码" prop="cod"> + <c-input + v-model="model.cod" + placeholder="请输入费用代码" + style="width: 100%" + > + </c-input> + </el-form-item> + </c-col> + </c-col> + + + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="名称" prop="nam"> + <c-input + v-model="model.nam" + placeholder="请输入名称" + style="width: 100%" + > + </c-input> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="24"> + <c-col :span="12" style="text-align: left"> + <el-button type="primary" size="small" @click="feeAdd">新增</el-button> + </c-col> + <c-col :span="12" style="text-align: right"> + <el-button size="small" @click="handleReset">重置</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="small" + @click="onSearch()" + >查询 + </el-button> + </c-col> + </c-col> + <c-col :span="24"> + <c-paging-table + :data="feeData" + :columns="feeColumns" + :pageNumber="model.pageNum" + :pageSize="model.pageSize" + :total="model.total" + v-on:queryFunc="queryFunc" + :border="true" + > + <c-table-column fixed="right" prop="op" label="操作" width="240px"> + <template slot-scope="{ scope }"> + <c-button + style="margin-left: 0" + size="small" + @click="feeInfo(scope.$index, scope.row)" + >详情</c-button + > + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="feeEdit(scope.$index, scope.row)" + >修改</c-button + > + <c-button + size="small" + style="margin-left: 5px" + @click="feeDelete(scope.$index, scope.row)" + >删除</c-button + > + <el-popover placement="top-start" width="50" trigger="click"> + <ul class="table-button-item-list"> + <li> + <c-button size="small" style="margin-left: 0">指派</c-button> + </li> + <li> + <c-button size="small" style="margin-left: 0">删除</c-button> + </li> + </ul> + <a + slot="reference" + href="javascript:void(0)" + style="margin-left: 5px" + > + <i class="el-icon-more"></i> + </a> + </el-popover> + </template> + </c-table-column> + </c-paging-table> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; + +import { queryByPage } from "~/service/test/fee.js"; + +export default { + name: "", + props: ["model"], + inject: ["root"], + data() { + return { + feeData: [], + feeColumns: [ + { label: '费用代码', prop: 'cod', width: '120' }, + { label: '名称', prop: 'descrp', width: '120' }, + { label: '计算费用相关的金额类型', prop: 'reltir', width: '190' }, + { label: 'SWIFT报文费用代码', prop: 'sftcod', width: '170' }, + { label: 'DTA报文中的费用代码', prop: 'dtacod', width: '170' }, + { label: '统计标志', prop: 'staflg', width: '120' }, + { label: '默认付费角色', prop: 'rol', width: '170' }, + { label: '费用账号', prop: 'acc', width: '120' } + ], + }; + }, + computed: { + }, + activated() { + const { update } = this.$route.params + if (update) { + this.onInffeeSearch() + } + }, + methods: { + handleReset() { + this.root.$refs.modelForm.resetFields(); + }, + onSearch(){ + this.model.pageNum = 1; + this.model.pageSize = 5; + this.onInffeeSearch(); + }, + onInffeeSearch() { + var objectArr = codes['fepfeecod']; + var map = new Map(); + for(let i =0;i<objectArr.length;i++){ + map.set(objectArr[i].value,objectArr[i].label); + } + var feeList = []; + if(!this.model.cod&&this.model.nam){ + for(var fee of map){ + if(fee[1].includes(this.model.nam)){ + feeList.push(fee[0]) + } + } + } + if(this.model.cod&&this.model.nam){ + for(var fee of map){ + if(fee[0].includes(this.model.cod)&&fee[1].includes(this.model.nam)){ + feeList.push(fee[0]) + } + } + } + this.model.feelist = feeList; + this.model.etgextkey = 'CEBGRP'; + queryByPage(this.model).then(res => { + /** + * pageNumber: 0 + * pageSize: 0 + * total: 69 + * totalPage: 0 + */ + const list = res.list; + this.feeData = list; + for(let i =0;i<list.length;i++){ + this.feeData[i].descrp = map.get(this.feeData[i].cod) + } + this.model.pageNum = res.pageNumber + this.model.pageSize = res.pageSize + this.model.total = res.total + this.model.feelist=[]; + }) + }, + queryFunc(pageNumber, pageSize) { + this.model.pageNum = pageNumber + this.model.pageSize = pageSize + this.onInffeeSearch() + }, + feetypeChange(val) { + this.model.feetyp = val; + }, + getCodesByKey(key) { + return codes[key] ?? []; + }, + feeAdd() { + this.$router.push(`/statics/dbafee`) + }, + feeInfo(index, row) { + this.$router.push(`/statics/dbifee/${row.inr}`) + }, + feeEdit(index, row) { + this.$router.push(`/statics/dbefee/${row.inr}`) + }, + feeDelete(index, row) { + this.$router.push(`/statics/dbdfee/${row.inr}`) + }, + }, +}; +</script> + +<style scoped> +.table-button-item-list { + padding: 0; + margin: 0; +} +.table-button-item-list li { + list-style: none; + padding: 5px 0; + text-align: center; + color: #606266; + cursor: pointer; +}</style> diff --git a/src/views/Statics/Fee/views/Inffee/index.vue b/src/views/Statics/Fee/views/Inffee/index.vue new file mode 100644 index 0000000..d6f4aa8 --- /dev/null +++ b/src/views/Statics/Fee/views/Inffee/index.vue @@ -0,0 +1,52 @@ +<template> + <div class="eContainer"> + <c-page title="费用代码信息查询"> + <el-form + :model="model" + ref="modelForm" + label-width="120px" + label-position="right" + size="small" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <!--PD000039 --> + <el-tab-pane label="费用查询" name="infsea"> + <c-content> + <m-infsea :model="model" ref="infsea" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + </c-page> + </div> +</template> + +<script> +import Infsea from "./Infsea"; + +export default { + name: "StaticsInffee", + components: { + "m-infsea": Infsea, + }, + provide() { + return { + root: this, + }; + }, + data() { + return { + tabVal: "infsea", + model: { + cod:"", + nam:"", + pageNum: 1, + pageSize: 5, + total: 0 + }, + }; + }, +}; +</script> + +<style></style> diff --git a/src/views/Statics/Dbigtx/Gtx.js b/src/views/Statics/Gtx/model/Gtx.js similarity index 100% rename from src/views/Statics/Dbigtx/Gtx.js rename to src/views/Statics/Gtx/model/Gtx.js diff --git a/src/views/Statics/Dbagtx/index.vue b/src/views/Statics/Gtx/views/Dbagtx/index.vue similarity index 94% rename from src/views/Statics/Dbagtx/index.vue rename to src/views/Statics/Gtx/views/Dbagtx/index.vue index 5c6a4b0..d6f5fed 100644 --- a/src/views/Statics/Dbagtx/index.vue +++ b/src/views/Statics/Gtx/views/Dbagtx/index.vue @@ -3,7 +3,7 @@ </template> <script> -import Dbigtx from "~/views/Statics/Dbigtx"; +import Dbigtx from "../Dbigtx"; export default { name: "StaticsDbagtx", diff --git a/src/views/Statics/Dbdgtx/index.vue b/src/views/Statics/Gtx/views/Dbdgtx/index.vue similarity index 94% rename from src/views/Statics/Dbdgtx/index.vue rename to src/views/Statics/Gtx/views/Dbdgtx/index.vue index 2627bba..ea2c9cc 100644 --- a/src/views/Statics/Dbdgtx/index.vue +++ b/src/views/Statics/Gtx/views/Dbdgtx/index.vue @@ -3,7 +3,7 @@ </template> <script> -import Dbigtx from "~/views/Statics/Dbigtx"; +import Dbigtx from "../Dbigtx"; export default { name: "StaticsDbdgtx", diff --git a/src/views/Statics/Dbegtx/index.vue b/src/views/Statics/Gtx/views/Dbegtx/index.vue similarity index 94% rename from src/views/Statics/Dbegtx/index.vue rename to src/views/Statics/Gtx/views/Dbegtx/index.vue index 1847b29..1b8985a 100644 --- a/src/views/Statics/Dbegtx/index.vue +++ b/src/views/Statics/Gtx/views/Dbegtx/index.vue @@ -3,7 +3,7 @@ </template> <script> -import Dbigtx from "~/views/Statics/Dbigtx"; +import Dbigtx from "../Dbigtx"; export default { name: "StaticsDbegtx", diff --git a/src/views/Statics/Dbigtx/GtxInfo.vue b/src/views/Statics/Gtx/views/Dbigtx/GtxInfo.vue similarity index 100% rename from src/views/Statics/Dbigtx/GtxInfo.vue rename to src/views/Statics/Gtx/views/Dbigtx/GtxInfo.vue diff --git a/src/views/Statics/Dbigtx/index.vue b/src/views/Statics/Gtx/views/Dbigtx/index.vue similarity index 99% rename from src/views/Statics/Dbigtx/index.vue rename to src/views/Statics/Gtx/views/Dbigtx/index.vue index b85c650..eb019c2 100644 --- a/src/views/Statics/Dbigtx/index.vue +++ b/src/views/Statics/Gtx/views/Dbigtx/index.vue @@ -49,7 +49,7 @@ <script> import Utils from "~/utils"; -import Gtx, { Pattern } from "./Gtx.js"; +import Gtx, { Pattern } from "~/views/Statics/Gtx/model/Gtx.js"; import GtxInfo from "./GtxInfo.vue"; diff --git a/src/views/Statics/Infgtx/Infsea.vue b/src/views/Statics/Gtx/views/Infgtx/Infsea.vue similarity index 100% rename from src/views/Statics/Infgtx/Infsea.vue rename to src/views/Statics/Gtx/views/Infgtx/Infsea.vue diff --git a/src/views/Statics/Infgtx/index.vue b/src/views/Statics/Gtx/views/Infgtx/index.vue similarity index 100% rename from src/views/Statics/Infgtx/index.vue rename to src/views/Statics/Gtx/views/Infgtx/index.vue diff --git a/src/views/Statics/Lgb/model/Lgb.js b/src/views/Statics/Lgb/model/Lgb.js new file mode 100644 index 0000000..ea2bd43 --- /dev/null +++ b/src/views/Statics/Lgb/model/Lgb.js @@ -0,0 +1,74 @@ +export default class Lgb { + constructor() { + this.data = { + inr: "", + extkey: "", + nam: "", + typ: "", + cur: "", + amt: "", + sta: "", + expdat: "", + usecur: "", + useamt: "", + naccur: "", + nacamt: "", + + } + } +} + +export const Pattern = { + //pty + "extkey": [ + { "type": "string", "trigger": "blur" }, + { "max": 24, "message": "最大长度24个字符", "trigger": "blur" } + ], + "nam": [ + { "type": "string", "trigger": "blur" }, + { "max": 44, "message": "最大长度44个字符", "trigger": "blur" } + ], + "inr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + //lgb + "cur": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "amt": [ + { "required": true, "message": "必输项", "trigger": "blur" }, + { "pattern": /^-?\d{0,18}(\.\d{1,3})?$/, "message": "整数不能超过18位,小数不能超过3位", "trigger": "blur" } + ], + "sta": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "expdat": [ + { "type": "string", "trigger": "blur" } + ], + "typ": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + //lga + "usecur": [ + { "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "useamt": [ + { "trigger": "blur" }, + { "pattern": /^-?\d{0,18}(\.\d{1,3})?$/, "message": "整数不能超过18位,小数不能超过3位", "trigger": "blur" } + ], + "naccur": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "nacamt": [ + { "trigger": "blur" }, + { "pattern": /^-?\d{0,18}(\.\d{1,3})?$/, "message": "整数不能超过18位,小数不能超过3位", "trigger": "blur" } + ] +} + + diff --git a/src/views/Statics/Lgb/views/Dbalgb/index.vue b/src/views/Statics/Lgb/views/Dbalgb/index.vue new file mode 100644 index 0000000..ce8964e --- /dev/null +++ b/src/views/Statics/Lgb/views/Dbalgb/index.vue @@ -0,0 +1,22 @@ +<template> + <m-lgb title="dbalgb" type="add"></m-lgb> +</template> + +<script> +import Dbilgb from "../Dbilgb"; + +export default { + name: "StaticsDbalgb", + components: { + "m-lgb": Dbilgb + }, + data() { + return {}; + }, + mounted() { + } +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Lgb/views/Dbdlgb/index.vue b/src/views/Statics/Lgb/views/Dbdlgb/index.vue new file mode 100644 index 0000000..27af3b9 --- /dev/null +++ b/src/views/Statics/Lgb/views/Dbdlgb/index.vue @@ -0,0 +1,22 @@ +<template> + <m-lgb title="dbalgb" type="delete"></m-lgb> +</template> + +<script> +import Dbilgb from "../Dbilgb"; + +export default { + name: "StaticsDbdlgb", + components: { + "m-lgb": Dbilgb + }, + data() { + return {}; + }, + mounted() { + } +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Lgb/views/Dbelgb/index.vue b/src/views/Statics/Lgb/views/Dbelgb/index.vue new file mode 100644 index 0000000..54ecaa0 --- /dev/null +++ b/src/views/Statics/Lgb/views/Dbelgb/index.vue @@ -0,0 +1,22 @@ +<template> + <m-lgb title="dbalgb" type="edit"></m-lgb> +</template> + +<script> +import Dbilgb from "../Dbilgb"; + +export default { + name: "StaticsDbelgb", + components: { + "m-lgb": Dbilgb + }, + data() { + return {}; + }, + mounted() { + } +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Lgb/views/Dbilgb/LgbInfo.vue b/src/views/Statics/Lgb/views/Dbilgb/LgbInfo.vue new file mode 100644 index 0000000..34bca8d --- /dev/null +++ b/src/views/Statics/Lgb/views/Dbilgb/LgbInfo.vue @@ -0,0 +1,250 @@ +<template> + <div class="eibs-tab"> + <c-row> + <c-col :span="12" style="padding-right: 20px;"> + <c-col :span="24"> + <el-form-item label="保函额度品种" prop="sealsntyp"> + <c-select style="width: 100%" + v-model="model.sealsntyp" + placeholder="请选择保函额度品种" + :code="getCodesByKey('sealsntyp')" + > + </c-select> + </el-form-item> + </c-col> + </c-col> + </c-row> + <c-row> + <c-col :span="12" style="padding-right: 20px;"> + <c-col :span="24"> + <el-form-item + label="客户号" + prop="extkey" + style="width: 100%" + > + <c-input + v-model="model.extkey" + maxlength="40" + placeholder="请输入客户号" + disabled + ></c-input> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="12" style="padding-left: 20px;"> + <c-col :span="24"> + <c-form-item label="客户名称" prop="nam"> + <c-input + v-model="model.nam" + maxlength="40" + placeholder="请输入客户名称" + + ></c-input> + </c-form-item> + </c-col> + </c-col> + </c-row> + + <!---------------左-------------------> + <c-row> + <c-col :span="12" style="padding-right: 20px;"> + <c-col :span="24"> + <c-form-item label="总额度类型" prop="typ"> + <c-select + v-model="model.typ" + maxlength="40" + placeholder="请输入总额度类型" + :code="getCodesByKey('lgbtyp')" + ></c-select> + </c-form-item> + </c-col> + <c-col :span="24"> + <c-form-item label="总额度状态" prop="sta"> + <c-select + v-model="model.sta" + maxlength="40" + placeholder="请输入总额度状态" + :code="getCodesByKey('lgbsta')" + ></c-select> + </c-form-item> + </c-col> + <c-col :span="24"> + <c-form-item label="总额度到期时间" prop="expdat"> + <c-date-picker + v-model="model.expdat" + maxlength="40" + placeholder="请输入总额度到期时间" + + ></c-date-picker> + </c-form-item> + </c-col> + </c-col> + +<!-------------------右 ---------------------> + <c-col :span="12" style="padding-left: 20px;"> + <c-col :span="24"> + <c-col :span="12"> + <el-form-item label="总额度" prop="cur"> + <c-select + v-model="model.cur" + maxlength="3" + style="width: 100%" + placeholder="请输入总额度币种" + :code="getCodesByKey('curtxt1')" + ></c-select> + </el-form-item> + </c-col> + <c-col :span="12"> + <el-form-item style="text-align: left; margin-left: 5px" + label-width="0px" + prop="amt" + > + <c-input-currency + v-model="model.amt" + style="text-align: left; width: 90%" + placeholder="请输入总额度金额" + + ></c-input-currency> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="24"> + <c-col :span="12"> + <el-form-item label="已使用额度" prop="usecur"> + <c-input + v-model="model.usecur" + maxlength="3" + style="width: 100%" + placeholder="请输入已使用额度币种" + + ></c-input> + </el-form-item> + </c-col> + <c-col :span="12"> + <el-form-item style="text-align: left; margin-left: 5px" + label-width="0px" + prop="useamt" + > + <c-input-currency + v-model="model.useamt" + style="text-align: left; width: 90%" + placeholder="请输入已使用额度金额" + + ></c-input-currency> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="24"> + <c-col :span="12"> + <el-form-item label="可使用额度" prop="opncur"> + <c-input + v-model="model.opncur" + maxlength="3" + style="width: 100%" + placeholder="请输入可使用额度币种" + + ></c-input> + </el-form-item> + </c-col> + <c-col :span="12"> + <el-form-item style="text-align: left; margin-left: 5px" + label-width="0px" + prop="opnamt" + > + <c-input-currency + v-model="model.opnamt" + style="text-align: left; width: 90%" + placeholder="请输入可使用额度金额" + + ></c-input-currency> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="24"> + <c-col :span="12"> + <el-form-item label="待复核额度" prop="naccur"> + <c-input + v-model="model.naccur" + maxlength="3" + style="width: 100%" + placeholder="请输入待复核额度币种" + + ></c-input> + </el-form-item> + </c-col> + <c-col :span="12"> + <el-form-item style="text-align: left; margin-left: 5px" + label-width="0px" + prop="nacamt" + > + <c-input-currency + v-model="model.nacamt" + style="text-align: left; width: 90%" + placeholder="请输入待复核额度金额" + + ></c-input-currency> + </el-form-item> + </c-col> + </c-col> + </c-col> + </c-row> + <!-- lgo表查询结果展示区域 --> + <c-col :span="24"> + <c-paging-table + :data="lgoVoData1" + :columns="lgoVoColumns" + :pageNumber="model.pageNum" + :pageSize="model.pageSize" + :total="model.total" + v-on:queryFunc="queryFunc" + :border="true" + > + + </c-paging-table> + </c-col> + </div> +</template> + +<script> +import codes from "@/config/CodeTable"; + +export default { + name: "", + inject: ["root"], + props: { + model:Object, + lgoVoData:Array + }, + data() { + return { + lgoVoColumns: [ + { label: 'ownref', prop: 'ownref', width: 'auto' }, + { label: 'objtyp', prop: 'objtyp', width: 'auto' }, + { label: 'objinr', prop: 'objinr', width: 'auto' }, + { label: 'cur', prop: 'cur', width: 'auto' }, + { label: 'amt', prop: 'amt', width: 'auto' }, + { label: 'xrfcur', prop: 'xrfcur', width: 'auto' }, + { label: 'xrfamt', prop: 'xrfamt', width: 'auto' }, + { label: 'rate', prop: 'rate', width: 'auto' }, + { label: 'pending', prop: 'pending', width: 'auto' }, + ], + }; + }, + methods: { + getCodesByKey(key) { + // console.log(this.lgoVoData) + this.lgoVoData1=this.lgoVoData + // console.log(this.lgoVoData1) + return codes[key] ?? []; + }, + queryFunc(){} + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Lgb/views/Dbilgb/index.vue b/src/views/Statics/Lgb/views/Dbilgb/index.vue new file mode 100644 index 0000000..fea3172 --- /dev/null +++ b/src/views/Statics/Lgb/views/Dbilgb/index.vue @@ -0,0 +1,185 @@ +<template> + <div class="eContainer"> + <c-page :title="title"> + <el-form + ref="modelForm" + label-width="150px" + size="small" + label-position="right" + :model="model" + :rules="rules" + :validate-on-rule-change="false" + :disabled="isDisabled" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="基本信息" name="lgb"> + <c-content> + <m-lgb-info :model="model" :lgoVoData="lgoVoData"/> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + <div style="text-align: center"> + <c-button + type="primary" + style="margin-right: 10px" + @click="commitAdd" + v-if="type === 'add'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitEdit" + v-if="type === 'edit'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitDelete" + v-if="type === 'delete'" + >提 交</c-button + > + <c-button type="primary" @click="goBack">返 回</c-button> + </div> + </c-page> + </div> +</template> + +<script> +import Utils from "~/utils"; +import Lgb, { Pattern } from "~/views/Statics/Lgb/model/Lgb.js"; + +import LgbInfo from "./LgbInfo.vue"; + + +import { queryByIdFromLgbAndLga,queryByIdFromLgo,add, edit, deleteById } from "~/service/test/lgb.js"; + +export default { + name: "StaticsDbilgb", + components: { + "m-lgb-info": LgbInfo, + }, + provide() { + return { + root: this, + }; + }, + props: { + type: { + type: String, + default: "info" + }, + title: { + type: String, + default: "dbilgb" + } + }, + data() { + return { + model: new Lgb().data, + tabVal: "lgb", + rules: Pattern, + lgoVoData:[] + + }; + }, + computed: { + isDisabled() { + return this.type === "info" || this.type === "delete"; + }, + }, + created() { + if (this.type !== "add") { + const inr = this.$route.params.inr; + console.log(inr) + queryByIdFromLgo(inr).then((res) => { + const list = res + this.lgoVoData = list + console.log(this.lgoVoData ) + }); + queryByIdFromLgbAndLga(inr).then((res) => { + + const list = res + + this.model = list; + + }); + + } + if(this.type === "add"){ + this.model.extkey= "EVERCNBJXXX" + this.model.nam="CHINA EVERBRIGHT BANK" + } + }, + methods: { + commitAdd() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + add(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitEdit() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + edit(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitDelete() { + this.$confirm("是否确认删除?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + deleteById(this.model.inr) + .then((res) => { + this.$message.success("删除成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("删除失败!"); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + }); + }, + /** + * update 是否更新infpty的查询列表 + */ + goBack(update) { + this.$store.dispatch("TagsView/delView", this.$route); + this.$router.push({ name: "StaticsInflgb", params: { update } }); + }, + + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Lgb/views/Inflgb/Infsea.vue b/src/views/Statics/Lgb/views/Inflgb/Infsea.vue new file mode 100644 index 0000000..22a5b3c --- /dev/null +++ b/src/views/Statics/Lgb/views/Inflgb/Infsea.vue @@ -0,0 +1,344 @@ +<template> + <div class="eibs-tab"> + + <c-row> + <c-col :span="12" style="padding-right: 20px;"> + <c-col :span="24"> + <el-form-item label="保函额度品种" prop="sealsntyp"> + <c-select style="width: 100%" + v-model="model.sealsntyp" + placeholder="请选择保函额度品种" + :code="getCodesByKey('sealsntyp')" + > + </c-select> + </el-form-item> + </c-col> + </c-col> + </c-row> + + <c-row> + <c-col :span="12" style="padding-right: 20px;"> + <c-col :span="24"> + <el-form-item + label="客户号" + prop="extkey" + style="width: 100%" + > + <c-fullbox> + <c-input + v-model="model.extkey" + maxlength="8" + placeholder="请输入客户号" + :disabled="true" + ></c-input> + <template slot="footer"> + <c-button + style="margin-left: 10px; padding: 0 12px" + size="small" + type="primary" + @click="onSeainf" + > + <i class="el-icon-info" style="font-size:15px"></i> + </c-button> + </template> + </c-fullbox> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="12" style="padding-left: 20px;"> + <c-col :span="24"> + <c-form-item label="客户名称" prop="nam"> + <c-input + v-model="model.nam" + maxlength="40" + placeholder="请输入客户名称" + disabled + ></c-input> + </c-form-item> + </c-col> + </c-col> + + </c-row> + + <!-- ----------左 -------- + <c-col :span="12" class="col-left"> + + <c-col :span="24"> + <el-form-item label="保函文本用途" prop="atxcod"> + <c-select style="width: 100%" + v-model="model.atxcod" + placeholder="请选择保函文本用途" + :code="getCodesByKey('atxcod')" + > + </c-select> + </el-form-item> + </c-col> + </c-col> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="保函文本名" prop="nam"> + <c-input + v-model="model.nam" + placeholder="请输入保函文本名" + > + </c-input> + </el-form-item> + </c-col> + + </c-col> + + + <c-col :span="12" v-if="(this.model.atxcod==`1`)" class="col-left"> + <c-col :span="24"> + <el-form-item label="出具目的" prop="gtxpurpos"> + <c-select style="width: 100%" + v-model="model.gtxpurpos" + placeholder="请选择出具目的" + :code="getCodesByKey('gtxpurpos') " + > + </c-select> + </el-form-item> + </c-col> + + <c-col :span="24"> + <el-form-item label="保函包含类型" prop="gtxgartyp"> + <c-select style="width: 100%" + v-model="model.gtxgartyp" + placeholder="请选择保函包含类型" + :code="getCodesByKey('gtxgartyp')" + > + </c-select> + </el-form-item> + </c-col> + + <c-col :span="24"> + <el-form-item label="保函格式" prop="gtxlegfrm"> + <c-select style="width: 100%" + v-model="model.sealegfrm" + placeholder="请选择保函格式" + :code="getCodesByKey('gtxlegfrm')" + > + </c-select> + </el-form-item> + </c-col> +</c-col> + +右 --> +<!-- <c-col :span="12" v-if="(this.model.atxcod==`1`)" class="col-right"> + <c-col :span="24"> + <el-form-item label="语言" prop="gtxuil"> + <c-select style="width: 100%" + v-model="model.gtxuil" + placeholder="请选择语言" + :code="getCodesByKey('gtxuil')" + > + </c-select> + </el-form-item> + </c-col> + + <c-col :span="24"> + <el-form-item label="保函无责任担保标志" prop="gtxexpflg"> + <c-select style="width: 100%" + v-model="model.gtxexpflg" + placeholder="请选择保函无责任担保标志" + :code="getCodesByKey('gtxexpflg')" + > + </c-select> + </el-form-item> + </c-col> +</c-col> +<c-col :span="12" v-if="(this.model.atxcod==`2`)" class="col-left"> + <c-col :span="24"> --> + <!-- --> + <!-- </c-col> +</c-col> +<c-col :span="12" v-if="(this.model.atxcod==`2`)" class="col-right"> + <c-col :span="24"> --> + <!-- --> + <!-- </c-col> +</c-col> --> + + <!-- 条件输入框下面的按钮 --> + <c-col :span="24"> + <c-col :span="12" style="text-align: left"> + <el-button type="primary" size="small" @click="lgbAdd">新增</el-button> + </c-col> + <c-col :span="12" style="text-align: right"> + <el-button size="small" @click="handleReset">重置</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="small" + @click="onSearch()" + >查询 + </el-button> + </c-col> + </c-col> + + <!-- 查询结果展示区域 --> + <c-col :span="24"> + <c-paging-table + :data="lgbPageVoData" + :columns="lgbPageVoColumns" + :pageNumber="model.pageNum" + :pageSize="model.pageSize" + :total="model.total" + v-on:queryFunc="queryFunc" + :border="true" + > + <c-table-column fixed="right" prop="op" label="操作" width="240px"> + <template slot-scope="{ scope }"> + <c-button + style="margin-left: 0" + size="small" + @click="lgbInfo(scope.$index, scope.row)" + >详情</c-button + > + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="lgbEdit(scope.$index, scope.row)" + >修改</c-button + > + <c-button + size="small" + style="margin-left: 5px" + @click="lgbDelete(scope.$index, scope.row)" + >删除</c-button + > + <!-- <el-popover placement="top-start" width="50" trigger="click"> + <ul class="table-button-item-list"> + <li> + <c-button size="small" style="margin-left: 0">指派</c-button> + </li> + <li> + <c-button size="small" style="margin-left: 0">删除</c-button> + </li> + </ul> + <a + slot="reference" + href="javascript:void(0)" + style="margin-left: 5px" + > + <i class="el-icon-more"></i> + </a> + </el-popover> --> + </template> + </c-table-column> + </c-paging-table> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; + +import { queryByPage } from "~/service/test/lgb.js"; + +export default { + name: "", + props: ["model","codes"], + inject: ["root"], + data() { + return { + lgbPageVoData: [], + lgbPageVoColumns: [ + //查出结果的种类 + //{ label: 'typ', prop: 'typ', width: 'auto' }, + { label: '总额度类型', prop: 'typ', width: 'auto' }, + //{ label: 'cur', prop: 'cur', width: 'auto' }, + { label: '总额度币种', prop: 'cur', width: 'auto' }, + //{ label: 'amt', prop: 'amt', width: 'auto' }, + { label: '总额度金额', prop: 'amt', width: 'auto' }, + //{ label: 'sta', prop: 'sta', width: 'auto' }, + { label: '总额度状态', prop: 'sta', width: 'auto' }, + //{ label: 'expdat', prop: 'expdat', width: 'auto' }, + { label: '总额度到期时间', prop: 'expdat', width: 'auto' }, + //{ label: 'usecur', prop: 'usecur', width: 'auto' }, + { label: '已使用额度币种', prop: 'usecur', width: 'auto' }, + //{ label: 'useamt', prop: 'useamt', width: 'auto' }, + { label: '已使用额度金额', prop: 'useamt', width: 'auto' }, + //{ label: 'naccur', prop: 'naccur', width: 'auto' }, + { label: '待复核额度币种', prop: 'naccur', width: 'auto' }, + //{ label: 'nacamt', prop: 'nacamt', width: 'auto' }, + { label: '待复核额度金额', prop: 'nacamt', width: 'auto' } + ], + }; + }, + computed: { + }, + + activated() { + const { update } = this.$route.params + if (update) { + this.onInflgbSearch() + } + }, + methods: { + handleReset() { + this.root.$refs.modelForm.resetFields(); + }, + onSearch() { + this.model.pageSize = 5; + this.model.pageNum = 1; + this.onInflgbSearch(); + }, + onInflgbSearch() { + queryByPage(this.model).then(res => { + /** + * pageNumber: 0 + * pageSize: 0 + * total: 69 + * totalPage: 0 + */ + const list = res.list + // console.log(res) + // console.log(list) + this.lgbPageVoData = list + // console.log(lgbPageVoData) + this.model.pageNum = res.pageNumber + this.model.pageSize = res.pageSize + this.model.total = res.total + }) + }, + queryFunc(pageNumber, pageSize) { + this.model.pageNum = pageNumber + this.model.pageSize = pageSize + this.onInflgbSearch() + }, + // atxtypeChange(val) { + // this.model.atxtyp = val; + // }, + getCodesByKey(key) { + return codes[key] ?? []; + }, + lgbAdd() { + this.$router.push(`/statics/dbalgb`) + }, + lgbInfo(index, row) { + this.$router.push(`/statics/dbilgb/${row.inr}`) + }, + lgbEdit(index, row) { + this.$router.push(`/statics/dbelgb/${row.inr}`) + }, + lgbDelete(index, row) { + this.$router.push(`/statics/dbdlgb/${row.inr}`) + }, + }, +}; +</script> + +<style scoped> +.table-button-item-list { + padding: 0; + margin: 0; +} +.table-button-item-list li { + list-style: none; + padding: 5px 0; + text-align: center; + color: #606266; + cursor: pointer; +}</style> diff --git a/src/views/Statics/Lgb/views/Inflgb/index.vue b/src/views/Statics/Lgb/views/Inflgb/index.vue new file mode 100644 index 0000000..a5592fa --- /dev/null +++ b/src/views/Statics/Lgb/views/Inflgb/index.vue @@ -0,0 +1,57 @@ +<template> + <div class="eContainer"> + <c-page title="保函额度查询"> + <el-form + :model="model" + ref="modelForm" + label-width="140px" + label-position="right" + size="small" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <!--PD000039 --> + <el-tab-pane label="保函额度查询" name="infsea"> + <c-content> + <m-infsea :model="model" ref="infsea" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + </c-page> + </div> +</template> + +<script> +import Infsea from "./Infsea"; + +export default { + name: "StaticsInflgb", + components: { + "m-infsea": Infsea, + }, + provide() { + return { + root: this, + }; + }, + data() { + return { + tabVal: "infsea", + model: { + // 保函额度品种 + sealsntyp: "", + //客户号 + extkey: "", + //客户名称 + nam: "", + // paging + pageNum: 1, + pageSize: 5, + total: 0 + }, + }; + }, +}; +</script> + +<style></style> diff --git a/src/views/Statics/Oit/views/Dbioit/index.vue b/src/views/Statics/Oit/views/Dbioit/index.vue index a393c3d..4d7efc6 100644 --- a/src/views/Statics/Oit/views/Dbioit/index.vue +++ b/src/views/Statics/Oit/views/Dbioit/index.vue @@ -49,7 +49,7 @@ <script> import Utils from '~/utils' -import Oit, { Pattern } from '../../model/Oit.js' +import Oit, { Pattern } from '../../model/Oit' // import Bchp0 from "./Bchp0.vue"; import OitInfo from './OitInfo.vue' diff --git a/src/views/Statics/Oit/views/Infoit/infsea.vue b/src/views/Statics/Oit/views/Infoit/infsea.vue index a6cd537..01e038c 100644 --- a/src/views/Statics/Oit/views/Infoit/infsea.vue +++ b/src/views/Statics/Oit/views/Infoit/infsea.vue @@ -169,10 +169,7 @@ export default { * total: 69 * totalPage: 0 */ - console.log(res) const list = res.list - console.log("============") - console.log(list) // Object.keys(list).forEach((item) => { // let obj = list[item] // let typArr = codes['objtypcodetable'] @@ -185,9 +182,6 @@ export default { let objtypArr = codes['objtypcodetable'].filter((i) => { return i.value == obj.objtyp }) - console.log(obj) - console.log(">>>>>>>>>") - console.log(objtypArr) obj.objtypCn = objtypArr[0].label let subtypArr = codes['subtypcodetable'].filter((i) => { return i.value == obj.subtyp diff --git a/src/views/Statics/Ptm/model/ptm.js b/src/views/Statics/Ptm/model/ptm.js new file mode 100644 index 0000000..ffc7787 --- /dev/null +++ b/src/views/Statics/Ptm/model/ptm.js @@ -0,0 +1,48 @@ +export default class Ptm { + constructor() { + this.data = { + inr: "", + ptainr: "", + cortyp: "", + coradr: "", + autflg: "", + autdet: "", + ver: "", + etyextkey: "", + + } + } +} + +export const Pattern = { + + "inr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "ptainr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "cortyp": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "coradr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 80, "message": "最大长度80个字符", "trigger": "blur" } + ], + "autflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "autdet": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 40, "message": "最大长度40个字符", "trigger": "blur" } + ], + "ver": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 4, "message": "最大长度4个字符", "trigger": "blur" } + ], + } + \ No newline at end of file diff --git a/src/views/Statics/Ptm/views/Dbaptm/index.vue b/src/views/Statics/Ptm/views/Dbaptm/index.vue new file mode 100644 index 0000000..aacb6da --- /dev/null +++ b/src/views/Statics/Ptm/views/Dbaptm/index.vue @@ -0,0 +1,19 @@ +<template> + <m-ptm title="dbaptm" type="add"></m-ptm> +</template> + +<script> +import Dbiptm from '~/views/Statics/Ptm/views/Dbiptm' + +export default { + name: 'StaticsDbdptm', + components: { + 'm-ptm': Dbiptm, + }, + data() { + return {} + }, +} +</script> + +<style></style> \ No newline at end of file diff --git a/src/views/Statics/Ptm/views/Dbdptm/index.vue b/src/views/Statics/Ptm/views/Dbdptm/index.vue new file mode 100644 index 0000000..ec306f2 --- /dev/null +++ b/src/views/Statics/Ptm/views/Dbdptm/index.vue @@ -0,0 +1,19 @@ +<template> + <m-ptm title="dbdptm" type="delete"></m-ptm> +</template> + +<script> +import Dbiptm from '~/views/Statics/Ptm/views/Dbiptm' + +export default { + name: 'StaticsDbdptm', + components: { + 'm-ptm': Dbiptm, + }, + data() { + return {} + }, +} +</script> + +<style></style> diff --git a/src/views/Statics/Ptm/views/Dbeptm/index.vue b/src/views/Statics/Ptm/views/Dbeptm/index.vue new file mode 100644 index 0000000..337e1cd --- /dev/null +++ b/src/views/Statics/Ptm/views/Dbeptm/index.vue @@ -0,0 +1,22 @@ +<template> + <m-ptm ref="ptm" title="dbeptm" type="edit"></m-ptm> +</template> + +<script> +import Dbiptm from "~/views/Statics/Ptm/views/Dbiptm"; + +export default { + name: "StaticsDbeptm", + components: { + "m-ptm": Dbiptm + }, + data() { + return { + rules:{required:false} + }; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Ptm/views/Dbiptm/PtmInfo.vue b/src/views/Statics/Ptm/views/Dbiptm/PtmInfo.vue new file mode 100644 index 0000000..daa38a2 --- /dev/null +++ b/src/views/Statics/Ptm/views/Dbiptm/PtmInfo.vue @@ -0,0 +1,68 @@ +<template> + <div class="eibs-tab"> + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="ID号" prop="inr"> + <c-input v-model="model.inr" placeholder="请输入ID号"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="关联地址" prop="ptainr"> + <c-input v-model="model.ptainr" placeholder="请输入关联地址"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="类型" prop="cortyp"> + <c-input v-model="model.cortyp" placeholder="请输入类型"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="BIC" prop="coradr"> + <c-input v-model="model.coradr" placeholder="请输入BIC"> </c-input> + </el-form-item> + </c-col> + </c-col> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="验证标志" prop="autflg"> + <c-input v-model="model.autflg" placeholder="请输入验证标志"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="可选的验证关键字" prop="autdet"> + <c-input v-model="model.autdet" placeholder="请输入可选的验证关键字"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="版本控制" prop="ver"> + <c-input v-model="model.ver" placeholder="请输入版本控制"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="关联实体拥有的PTM" prop="etyextkey"> + <c-input v-model="model.etyextkey" placeholder="请输入关联实体拥有的PTM"> + </c-input> + </el-form-item> + </c-col> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; +export default { + name: "", + props: ["model"], + data() { + return {}; + }, + methods: { + getCodesByKey(key) { + return codes[key] ?? []; + }, + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Ptm/views/Dbiptm/index.vue b/src/views/Statics/Ptm/views/Dbiptm/index.vue new file mode 100644 index 0000000..200d9c7 --- /dev/null +++ b/src/views/Statics/Ptm/views/Dbiptm/index.vue @@ -0,0 +1,175 @@ +<template> + <div class="eContainer"> + <c-page :title="title"> + <el-form + ref="modelForm" + label-width="160px" + size="small" + label-position="right" + :model="model" + :rules="rules" + :validate-on-rule-change="false" + :disabled="isDisabled" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="基本信息" name="ptm"> + <c-content> + <m-ptm-info :model="model" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + <div style="text-align: center"> + <c-button + type="primary" + style="margin-right: 10px" + @click="commitAdd" + v-if="type === 'add'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitEdit" + v-if="type === 'edit'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitDelete" + v-if="type === 'delete'" + >提 交</c-button + > + <c-button type="primary" @click="goBack">返 回</c-button> + </div> + </c-page> + </div> +</template> + +<script> +import Utils from "~/utils"; +import Ptm, { Pattern } from "../../model/ptm.js"; + +import PtmInfo from "./PtmInfo.vue"; + +import { add, edit, deleteById, queryDetailById,queryById} from "~/service/test/ptm.js"; + + +export default { + name: "StaticsDbiptm", + components: { + "m-ptm-info": PtmInfo, + }, + provide() { + return { + root: this, + }; + }, + props: { + type: { + type: String, + default: "info" + }, + title: { + type: String, + default: "dbiptm" + } + }, + data() { + return { + model: new Ptm().data, + tabVal: "ptm", + rules: Pattern, + }; + }, + computed: { + isDisabled() { + return this.type === "info" || this.type === "delete"; + }, + }, + created() { + if (this.type !== "add") { + const inr = this.$route.params.inr; + // this.model.inr = this.$route.params.inr; + console.log(inr); + queryById(inr).then((res) => { + debugger + if (res.inr) { + this.model = res; + } else { + this.$message.error("不存在") + } + }); + } +}, + methods: { + commitAdd() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + add(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitEdit() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + edit(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack() + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitDelete() { + this.$confirm("是否确认删除?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + deleteById(this.model.inr) + .then((res) => { + this.$message.success("删除成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("删除失败!"); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + }); + }, + /** + * update 是否更新infptm的查询列表 + */ + goBack(update) { + this.$store.dispatch("TagsView/delView", this.$route); + this.$router.push({ name: "StaticsInfptm", params: { update } }); + }, + + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Ptm/views/Infptm/Infsea.vue b/src/views/Statics/Ptm/views/Infptm/Infsea.vue new file mode 100644 index 0000000..2eadb7e --- /dev/null +++ b/src/views/Statics/Ptm/views/Infptm/Infsea.vue @@ -0,0 +1,210 @@ +<template> + <div class="eibs-tab"> + <!-- 查询条件 --> + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="ID号" prop="inr"> + <c-input v-model="model.inr" placeholder="请输入ID号"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="关联地址" prop="ptainr"> + <c-input v-model="model.ptainr" placeholder="请输入关联地址"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="类型" prop="cortyp"> + <c-input v-model="model.cortyp" placeholder="请输入类型"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="BIC" prop="coradr"> + <c-input v-model="model.coradr" placeholder="请输入BIC"> </c-input> + </el-form-item> + </c-col> + </c-col> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="验证标志" prop="autflg"> + <c-input v-model="model.autflg" placeholder="请输入验证标志"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="可选的验证关键字" prop="autdet"> + <c-input v-model="model.autdet" placeholder="请输入可选的验证关键字"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="版本控制" prop="ver"> + <c-input v-model="model.ver" placeholder="请输入版本控制"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="关联实体拥有的PTM" prop="etyextkey"> + <c-input v-model="model.etyextkey" placeholder="请输入关联实体拥有的PTM"> + </c-input> + </el-form-item> + </c-col> + </c-col> + + <!-- 操作按钮 --> + <c-col :span="24"> + <c-col :span="12" style="text-align: left"> + <el-button type="primary" size="small" @click="ptmAdd">新增</el-button> + </c-col> + <c-col :span="12" style="text-align: right"> + <el-button size="small" @click="handleReset">重置</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="small" + @click="onSearch" + >查询 + </el-button> + </c-col> + </c-col> + <!-- 查询结果 --> + <c-col :span="24"> + <c-paging-table + :data="ptmData" + :columns="ptmColumns" + :pageNumber="model.pageNum" + :pageSize="model.pageSize" + :total="model.total" + v-on:queryFunc="queryFunc" + :border="true" + > + <c-table-column fixed="right" prop="op" label="操作" width="240px"> + <template slot-scope="{ scope }"> + <c-button + style="margin-left: 0" + size="small" + @click="ptmInfo(scope.$index, scope.row)" + >详情</c-button + > + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="ptmEdit(scope.$index, scope.row)" + >更新</c-button + > + <!-- + <c-button + size="small" + style="margin-left: 5px" + @click="ptmDelete(scope.$index, scope.row)" + >删除</c-button + > --> + <!-- <el-popover placement="top-start" width="50" trigger="click"> + <ul class="table-button-item-list"> + <li> + <c-button size="small" style="margin-left: 0">指派</c-button> + </li> + <li> + <c-button size="small" style="margin-left: 0">删除</c-button> + </li> + </ul> + <a + slot="reference" + href="javascript:void(0)" + style="margin-left: 5px" + > + <i class="el-icon-more"></i> + </a> + </el-popover> --> + </template> + </c-table-column> + </c-paging-table> + </c-col> + </div> +</template> + +<script> +import { queryByPage } from "~/service/test/ptm.js"; +import CodeTable from "~/config/CodeTable"; + +export default { + name: "", + props: ["model"], + inject: ["root"], + data() { + return { + entyGrp: [], + lang: CodeTable["uiltxt"], + ptmData: [], + ptmColumns: [ + { label: "ID号", prop: "inr", width: "120" }, + { label: "关联地址", prop: "ptainr", width: "120" }, + { label: "类型", prop: "cortyp", width: "120" }, + { label: "BIC", prop: "coradr", width: "120" }, + { label: "验证标志", prop: "autflg", width: "120" }, + { label: "可选的验证关键字", prop: "autdet", width: "150" }, + { label: "版本控制", prop: "ver", width: "120" }, + { label: "关联实体拥有的PTM", prop: "etyextkey", width: "170" }, + ], + }; + }, + activated() { + const { update } = this.$route.params; + if (update) { + this.onInfptmSearch(); + } + }, + methods: { + handleReset() { + this.root.$refs.modelForm.resetFields(); + }, + onSearch() { + this.model.pageSize = 5; + this.model.pageNum = 1; + this.onInfptmSearch(); + }, + langValue(key) { + return this.lang.filter((item) => item.value === key)[0]?.label; + }, + onInfptmSearch() { + queryByPage(this.model).then((res) => { + const list = res.list ?? []; + list.map((item) => (item.uil = this.langValue(item.uil) ?? item.uil)); + this.ptmData = list; + this.model.pageNum = res.pageNumber; + this.model.pageSize = res.pageSize; + this.model.total = res.total; + }); + }, + queryFunc(pageNumber, pageSize) { + this.model.pageNum = pageNumber; + this.model.pageSize = pageSize; + this.onInfptmSearch(); + }, + ptmAdd() { + this.$router.push(`/statics/dbaptm`); + }, + ptmInfo(index, row) { + this.$router.push(`/statics/dbiptm/${row.inr}`); + }, + ptmEdit(index, row) { + this.$router.push(`/statics/dbeptm/${row.inr}`); + }, + ptmDelete(index, row) { + this.$router.push(`/statics/dbdptm/${row.inr}`); + }, + }, +}; +</script> + +<style scoped> +.table-button-item-list { + padding: 0; + margin: 0; +} + +.table-button-item-list li { + list-style: none; + padding: 5px 0; + text-align: center; + color: #606266; + cursor: pointer; +} +</style> diff --git a/src/views/Statics/Ptm/views/Infptm/index.vue b/src/views/Statics/Ptm/views/Infptm/index.vue new file mode 100644 index 0000000..9c3e59b --- /dev/null +++ b/src/views/Statics/Ptm/views/Infptm/index.vue @@ -0,0 +1,48 @@ +<template> + <div class="eContainer"> + <c-page title="固定格式文本查询"> + <el-form :model="model" ref="modelForm" label-width="120px" label-position="right" size="small"> + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="固定格式文本查询" name="infsea"> + <c-content> + <m-infsea :model="model" ref="infsea" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + </c-page> + </div> +</template> + +<script> +import Infsea from "./Infsea"; + +export default { + name: "StaticsInfptm", + components: { + "m-infsea": Infsea, + }, + provide() { + return { + root: this, + }; + }, + data() { + return { + tabVal: "infsea", + model: { + etgextkey: "", + nam: "", + uil: "", + pageSize: 5, + pageNum: 1, + total: 0, + }, + }; + }, +}; +</script> + +<style> + +</style> diff --git a/src/views/Statics/StaticsRouter.js b/src/views/Statics/StaticsRouter.js index 3cceed5..b8772fd 100644 --- a/src/views/Statics/StaticsRouter.js +++ b/src/views/Statics/StaticsRouter.js @@ -14,18 +14,34 @@ import Dbiusr from "./Dbiusr"; import Dbeusr from "./Dbeusr"; import Dbdusr from "./Dbdusr"; +import Dbatdh from "./Tdh/views/Dbatdh"; +import Dbdtdh from "./Tdh/views/Dbdtdh"; +import Dbetdh from "./Tdh/views/Dbetdh"; +import Dbitdh from "./Tdh/views/Dbitdh"; +import Inftdh from "./Tdh/views/Inftdh"; + import Infcty from "./cty/views/Infcty"; import Dbicty from "./cty/views/Dbicty"; import Dbacty from "./cty/views/Dbacty"; import Dbecty from "./cty/views/Dbecty"; import Dbdcty from "./cty/views/Dbdcty"; +import Infdia from "./dia/views/Infdia"; +import Dbidia from "./dia/views/Dbidia"; +import Dbadia from "./dia/views/Dbadia"; +import Dbedia from "./dia/views/Dbedia"; +import Dbddia from "./dia/views/Dbddia"; + import Infoit from "./Oit/views/Infoit" import Dbioit from "./Oit/views/Dbioit" import Dbaoit from "./Oit/views/Dbaoit" import Dbdoit from "./Oit/views/Dbdoit" import Dbeoit from "./Oit/views/Dbeoit" +import Infptm from "./Ptm/views/Infptm" +import Dbiptm from "./Ptm/views/Dbiptm" +import Dbeptm from "./Ptm/views/Dbeptm" + import Dbaswm from "./Swm/views/Dbaswm"; import Dbdswm from "./Swm/views/Dbdswm"; import Dbeswm from "./Swm/views/Dbeswm"; @@ -33,26 +49,34 @@ import Dbiswm from "./Swm/views/Dbiswm"; import Infswm from "./Swm/views/Infswm"; +import Inflgb from "./Lgb/views/Inflgb" +import Dbilgb from "./Lgb/views/Dbilgb" +import Dbalgb from "./Lgb/views/Dbalgb" +import Dbdlgb from "./Lgb/views/Dbdlgb" +import Dbelgb from "./Lgb/views/Dbelgb" - - +import Inffee from "./Fee/views/Inffee"; +import Dbifee from "./Fee/views/Dbifee"; +import Dbafee from "./Fee/views/Dbafee"; +import Dbefee from "./Fee/views/Dbefee"; +import Dbdfee from "./Fee/views/Dbdfee"; // import Infcty from "./Infcty"; // import Dbicty from "./Dbicty"; // import Dbacty from "./Dbacty"; // import Dbecty from "./Dbecty"; // import Dbdcty from "./Dbdcty"; -import Inffec from "./Inffec"; -import Dbifec from "./Dbifec"; -import Dbafec from "./Dbafec"; -import Dbefec from "./Dbefec"; -import Dbdfec from "./Dbdfec"; +import Inffec from "./Fec/views/Inffec"; +import Dbifec from "./Fec/views/Dbifec"; +import Dbafec from "./Fec/views/Dbafec"; +import Dbefec from "./Fec/views/Dbefec"; +import Dbdfec from "./Fec/views/Dbdfec"; -import Infgtx from "./Infgtx"; -import Dbigtx from "./Dbigtx"; -import Dbagtx from "./Dbagtx"; -import Dbegtx from "./Dbegtx"; -import Dbdgtx from "./Dbdgtx"; +import Infgtx from "./Gtx/views/Infgtx"; +import Dbigtx from "./Gtx/views/Dbigtx"; +import Dbagtx from "./Gtx/views/Dbagtx"; +import Dbegtx from "./Gtx/views/Dbegtx"; +import Dbdgtx from "./Gtx/views/Dbdgtx"; import Infcur from "./cur/views/Infcur"; import Dbacur from "./cur/views/Dbacur"; @@ -66,6 +90,12 @@ import Dbabch from "./Dbabch"; import Dbebch from "./Dbebch"; import Dbdbch from "./Dbdbch"; +import Infact from "./Act/views/Infact"; +import Dbaact from "./Act/views/Dbaact"; +import Dbiact from "./Act/views/Dbiact"; +import Dbeact from "./Act/views/Dbeact"; +import Dbdact from "./Act/views/Dbdact"; + import Infatp from "./Atp/views/Infatp"; import Dbiatp from "./Atp/views/Dbiatp"; import Dbaatp from "./Atp/views/Dbaatp"; @@ -151,11 +181,11 @@ const StaticsRouter = [ { path: 'dbdatp/:inr', component: Dbdatp, name: 'StaticsDbdatp', meta: { title: (tag) => { return '客户删除: ' + tag.params.inr } } }, { path: 'dbiatp/:inr', component: Dbiatp, name: 'StaticsDbiatp', meta: { title: (tag) => { return '交易配置信息详情: ' + tag.params.inr } } }, - // { path: 'infact', component: Infact, name: 'StaticsInfact', meta: { title: '资金账户查询' } }, - // { path: 'dbaact', component: Dbaact, name: 'StaticsDbaact', meta: { title: '资金账户新增' } }, - // { path: 'dbiact/:inr', component: Dbiact, name: 'StaticsDbiact', meta: { title: (tag) => { return '资金账户详情: ' + tag.params.inr } } }, - // { path: 'dbeact/:inr', component: Dbeact, name: 'StaticsDbeact', meta: { title: (tag) => { return '资金账户修改: ' + tag.params.inr } } }, - // { path: 'dbdact/:inr', component: Dbdact, name: 'StaticsDbdact', meta: { title: (tag) => { return '资金账户删除: ' + tag.params.inr } } }, + { path: 'infact', component: Infact, name: 'StaticsInfact', meta: { title: '资金账户查询' } }, + { path: 'dbaact', component: Dbaact, name: 'StaticsDbaact', meta: { title: '资金账户新增' } }, + { path: 'dbiact/:inr', component: Dbiact, name: 'StaticsDbiact', meta: { title: (tag) => { return '资金账户详情: ' + tag.params.inr } } }, + { path: 'dbeact/:inr', component: Dbeact, name: 'StaticsDbeact', meta: { title: (tag) => { return '资金账户修改: ' + tag.params.inr } } }, + { path: 'dbdact/:inr', component: Dbdact, name: 'StaticsDbdact', meta: { title: (tag) => { return '资金账户删除: ' + tag.params.inr } } }, { path: 'infatx', component: Infatx, name: 'StaticsInfatx', meta: { title: '保函文本查询' } }, { path: 'dbaatx', component: Dbaatx, name: 'StaticsDbaatx', meta: { title: '保函文本新增' } }, @@ -175,12 +205,61 @@ const StaticsRouter = [ { path: 'dbeoit/:inr', component: Dbeoit, name: 'StaticsDbeoit', meta: { title: (tag) => { return '修改消息信息: ' + tag.params.inr } } }, { path: 'dbdoit/:inr', component: Dbdoit, name: 'StaticsDbdoit', meta: { title: (tag) => { return '删除消息信息: ' + tag.params.inr } } }, + { path: 'inffee', component: Inffee, name: 'StaticsInffee', meta: { title: '费用代码查询' } }, + { path: 'dbafee', component: Dbafee, name: 'StaticsDbafee', meta: { title: '费用代码新增' } }, + { path: 'dbifee/:inr', component: Dbifee, name: 'StaticsDbifee', meta: { title: (tag) => { return '费用代码详情: ' + tag.params.inr } } }, + { path: 'dbefee/:inr', component: Dbefee, name: 'StaticsDbefee', meta: { title: (tag) => { return '费用代码修改: ' + tag.params.inr } } }, + { path: 'dbdfee/:inr', component: Dbdfee, name: 'StaticsDbdfee', meta: { title: (tag) => { return '费用代码删除: ' + tag.params.inr } } }, + + + { path: 'infxrt', component: Infxrt, name: 'StaticsInfxrt', meta: { title: '牌价查询' } }, + { path: 'dblxrt/:inr', component: Dblxrt, name: 'StaticsDblxrt', meta: { title: (tag) => { return '牌价详情: ' + tag.params.inr } } }, + { path: 'dbaxrt', component: Dbaxrt, name: 'StaticsDbaxrt', meta: { title: '牌价新增' } }, + { path: 'dbexrt/:inr', component: Dbexrt, name: 'StaticsDbexrt', meta: { title: (tag) => { return '牌价修改: ' + tag.params.inr } } }, + { path: 'dbdxrt/:inr', component: Dbdxrt, name: 'StaticsDbdxrt', meta: { title: (tag) => { return '牌价删除: ' + tag.params.inr } } }, + + { path: 'dbiptm/:inr', component:Dbiptm, name: 'StaticsDbiptm', meta: { title: (tag) => { return '客户详情: ' + tag.params.inr } } }, + { path: 'infptm', component:Infptm, name: 'StaticsInfptm', meta: { title: '银行密押查询' } }, + { path: 'dbeptm/:inr', component: Dbeptm, name: 'StaticsDbeptm', meta: { title: (tag) => { return '银行密押更新: ' + tag.params.inr } } }, + + { path: 'inffec', component: Inffec, name: 'StaticsInffec', meta: { title: '费率查询' } }, + { path: 'dbafec', component: Dbafec, name: 'StaticsDbafec', meta: { title: '费率新增' } }, + { path: 'dbifec/:inr', component: Dbifec, name: 'StaticsDbifec', meta: { title: (tag) => { return '费率详情: ' + tag.params.inr } } }, + { path: 'dbefec/:inr', component: Dbefec, name: 'StaticsDbefec', meta: { title: (tag) => { return '费率修改: ' + tag.params.inr } } }, + { path: 'dbdfec/:inr', component: Dbdfec, name: 'StaticsDbdfec', meta: { title: (tag) => { return '费率删除: ' + tag.params.inr } } }, + + { path: 'infdia', component: Infdia, name: 'StaticsInfdia', meta: { title: '交易备忘录查询' } }, + { path: 'dbadia', component: Dbadia, name: 'StaticsDbadia', meta: { title: '交易备忘录新增' } }, + { path: 'dbidia/:inr', component: Dbidia, name: 'StaticsDbidia', meta: { title: (tag) => { return '交易备忘录详情: ' + tag.params.inr } } }, + { path: 'dbedia/:inr', component: Dbedia, name: 'StaticsDbedia', meta: { title: (tag) => { return '交易备忘录修改: ' + tag.params.inr } } }, + { path: 'dbddia/:inr', component: Dbddia, name: 'StaticsDbddia', meta: { title: (tag) => { return '交易备忘录删除: ' + tag.params.inr } } }, + + { path: 'infxrt', component: Infxrt, name: 'StaticsInfxrt', meta: { title: '牌价查询' } }, { path: 'dblxrt/:inr', component: Dblxrt, name: 'StaticsDblxrt', meta: { title: (tag) => { return '牌价详情: ' + tag.params.inr } } }, { path: 'dbaxrt', component: Dbaxrt, name: 'StaticsDbaxrt', meta: { title: '牌价新增' } }, { path: 'dbexrt/:inr', component: Dbexrt, name: 'StaticsDbexrt', meta: { title: (tag) => { return '牌价修改: ' + tag.params.inr } } }, { path: 'dbdxrt/:inr', component: Dbdxrt, name: 'StaticsDbdxrt', meta: { title: (tag) => { return '牌价删除: ' + tag.params.inr } } }, + + { path: 'inffec', component: Inffec, name: 'StaticsInffec', meta: { title: '费率查询' } }, + { path: 'dbafec', component: Dbafec, name: 'StaticsDbafec', meta: { title: '费率新增' } }, + { path: 'dbifec/:inr', component: Dbifec, name: 'StaticsDbifec', meta: { title: (tag) => { return '费率详情: ' + tag.params.inr } } }, + { path: 'dbefec/:inr', component: Dbefec, name: 'StaticsDbefec', meta: { title: (tag) => { return '费率修改: ' + tag.params.inr } } }, + { path: 'dbdfec/:inr', component: Dbdfec, name: 'StaticsDbdfec', meta: { title: (tag) => { return '费率删除: ' + tag.params.inr } } }, + + { path: 'inflgb', component: Inflgb, name: 'StaticsInflgb', meta: { title: '查询保函额度信息' } }, + { path: 'dbalgb', component: Dbalgb, name: 'StaticsDbalgb', meta: { title: '新增保函额度信息' } }, + { path: 'dbilgb/:inr', component: Dbilgb, name: 'StaticsDbilgb', meta: { title: (tag) => { return '查看保函额度详情信息: ' + tag.params.inr } } }, + { path: 'dbelgb/:inr', component: Dbelgb, name: 'StaticsDbelgb', meta: { title: (tag) => { return '修改保函额度信息: ' + tag.params.inr } } }, + { path: 'dbdlgb/:inr', component: Dbdlgb, name: 'StaticsDbdlgb', meta: { title: (tag) => { return '删除保函额度信息: ' + tag.params.inr } } }, + + + { path: 'inftdh', component: Inftdh, name: 'StaticsInftdh', meta: { title: '节假日信息查询' } }, + { path: 'dbitdh/:inr', component: Dbitdh, name: 'StaticsDbitdh', meta: { title: (tag) => { return '节假日信息详情: ' + tag.params.inr } } }, + { path: 'dbatdh', component: Dbatdh, name: 'StaticsDbatdh', meta: { title: '节假日新增' } }, + { path: 'dbetdh/:inr', component: Dbetdh, name: 'StaticsDbetdh', meta: { title: (tag) => { return '节假日修改: ' + tag.params.inr } } }, + { path: 'dbdtdh/:inr', component: Dbdtdh, name: 'StaticsDbdtdh', meta: { title: (tag) => { return '节假日删除: ' + tag.params.inr } } }, ] export default StaticsRouter diff --git a/src/views/Statics/Tdh/model/Tdh.js b/src/views/Statics/Tdh/model/Tdh.js new file mode 100644 index 0000000..b83dd3a --- /dev/null +++ b/src/views/Statics/Tdh/model/Tdh.js @@ -0,0 +1,28 @@ +export default class Tdh { + constructor() { + this.data = { + inr: "", + calyear: "", + calendarName: "", + calendar: "", + ver: "", + dat: "", + dateday: "", + } + } +} + +export const Pattern = { + "dat": [ + { "required": true, "message": "必输项", "type": "date", "trigger": "blur" }, + ], + "calendar": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + ], + "dateday": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + ], + "calendarname": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + ], +} diff --git a/src/views/Statics/Tdh/views/Dbatdh/index.vue b/src/views/Statics/Tdh/views/Dbatdh/index.vue new file mode 100644 index 0000000..506b54c --- /dev/null +++ b/src/views/Statics/Tdh/views/Dbatdh/index.vue @@ -0,0 +1,22 @@ +<template> + <m-tdh title="dbatdh" type="add"></m-tdh> +</template> + +<script> +import Dbitdh from "~/views/Statics/Tdh/views/Dbitdh"; + +export default { + name: "StaticsDbatdh", + components: { + "m-tdh": Dbitdh + }, + data() { + return {}; + }, + mounted() { + } +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Tdh/views/Dbdtdh/index.vue b/src/views/Statics/Tdh/views/Dbdtdh/index.vue new file mode 100644 index 0000000..1e6acf8 --- /dev/null +++ b/src/views/Statics/Tdh/views/Dbdtdh/index.vue @@ -0,0 +1,20 @@ +<template> + <m-tdh title="dbdtdh" type="delete"></m-tdh> +</template> + +<script> +import Dbitdh from "~/views/Statics/Tdh/views/Dbitdh"; + +export default { + name: "StaticsDbdtdh", + components: { + "m-tdh": Dbitdh + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Tdh/views/Dbetdh/index.vue b/src/views/Statics/Tdh/views/Dbetdh/index.vue new file mode 100644 index 0000000..094ca81 --- /dev/null +++ b/src/views/Statics/Tdh/views/Dbetdh/index.vue @@ -0,0 +1,20 @@ +<template> + <m-tdh title="dbetdh" type="edit"></m-tdh> +</template> + +<script> +import Dbitdh from "~/views/Statics/Tdh/views/Dbitdh"; + +export default { + name: "StaticsDbetdh", + components: { + "m-tdh": Dbitdh + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Tdh/views/Dbitdh/TdhInfo.vue b/src/views/Statics/Tdh/views/Dbitdh/TdhInfo.vue new file mode 100644 index 0000000..946ae79 --- /dev/null +++ b/src/views/Statics/Tdh/views/Dbitdh/TdhInfo.vue @@ -0,0 +1,54 @@ +<template> + <div class="eibs-tab"> + <!-- =============================================左边=========================================== --> + + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="日期" prop="dat"> + <c-date-picker type="date" v-model="model.dat" style="width:100%" placeholder="请选择日期"></c-date-picker> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="日历代码" prop="calendar"> + <c-input :disabled="type === 'edit'" v-model="model.calendar" placeholder="请输入日历代码" style="width: 100%"> + </c-input> + </el-form-item> + </c-col> + </c-col> + <!-- =============================================右边=========================================== --> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="节日名" prop="dateday"> + <c-input v-model="model.dateday" style="width: 100%" placeholder="请输入节日名"> </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="日历名称" prop="calendarname"> + <c-input :disabled="type === 'edit'" v-model="model.calendarname" style="width: 100%" placeholder="请输入日历名称"> </c-input> + </el-form-item> + </c-col> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; +export default { + name: '', + props: ['model', 'type'], + data() { + return { + } + }, + + mounted() {}, + + methods: { + getCodesByKey(key) { + return codes[key] ?? []; + }, + }, +} +</script> + +<style></style> diff --git a/src/views/Statics/Tdh/views/Dbitdh/index.vue b/src/views/Statics/Tdh/views/Dbitdh/index.vue new file mode 100644 index 0000000..77239a2 --- /dev/null +++ b/src/views/Statics/Tdh/views/Dbitdh/index.vue @@ -0,0 +1,172 @@ +<template> + <div class="eContainer"> + <c-page :title="title"> + <el-form + ref="modelForm" + label-width="120px" + size="small" + label-position="right" + :model="model" + :rules="rules" + :validate-on-rule-change="false" + :disabled="isDisabled" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="节假日查询" name="tdh"> + <c-content> + <m-tdh-info :model="model" :type="type" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + <div style="text-align: center"> + <c-button + type="primary" + style="margin-right: 10px" + @click="commitAdd" + v-if="type === 'add'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitEdit" + v-if="type === 'edit'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitDelete" + v-if="type === 'delete'" + >提 交</c-button + > + <c-button type="primary" @click="goBack">返 回</c-button> + </div> + </c-page> + </div> + </template> + + <script> + import Utils from "~/utils"; + import Tdh, { Pattern } from "~/views/Statics/Tdh/model/Tdh.js"; + + import TdhInfo from "./TdhInfo.vue"; + + import { queryById, add, edit, deleteById, queryDetailById } from "~/service/test/tdh.js"; + + export default { + name: "StaticsDbitdh", + components: { + "m-tdh-info": TdhInfo, + }, + provide() { + return { + root: this, + }; + }, + props: { + type: { + type: String, + default: "info" + }, + title: { + type: String, + default: "dbitdh" + } + }, + data() { + return { + model: new Tdh().data, + tabVal: "tdh", + rules: Pattern, + }; + }, + computed: { + isDisabled() { + return this.type === "info" || this.type === "delete"; + }, + }, + created() { + if (this.type !== "add") { + const inr = this.$route.params.inr; + queryById(inr).then((res) => { + if (res.inr) { + this.model = res; + } else { + this.$message.error("数据不存在") + } + }); + } + }, + methods: { + commitAdd() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + add(this.model) + .then((res) => { + this.$message.success("保存成功!") + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitEdit() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + edit(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitDelete() { + this.$confirm("是否确认删除?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + let data = {"inr":this.model.inr} + deleteById(data) + .then((res) => { + this.$message.success("删除成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("删除失败!"); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + }); + }, + /** + * update 是否更新inftdh的查询列表 + */ + goBack(update) { + this.$store.dispatch("TagsView/delView", this.$route); + this.$router.push({ name: "StaticsInftdh", params: { update } }); + }, + + }, + }; + </script> + + <style> + </style> \ No newline at end of file diff --git a/src/views/Statics/Tdh/views/Inftdh/Infsea.vue b/src/views/Statics/Tdh/views/Inftdh/Infsea.vue new file mode 100644 index 0000000..8129288 --- /dev/null +++ b/src/views/Statics/Tdh/views/Inftdh/Infsea.vue @@ -0,0 +1,168 @@ +<template> + <div class="eibs-tab"> + + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="日历名称" prop="calendarname"> + <c-select v-model="model.calendarname" placeholder="请选择日历名称" @change="getTdhYearList"> + <el-option v-for="item in tdhCalList" :key="item.lable" :label="item.lable" :value="item.value"></el-option> + </c-select> + </el-form-item> + </c-col> + </c-col> + <!------------- 右 ----------> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="年份" prop="calyear"> + <c-select v-model="model.calyear" placeholder="请选择年份"> + <el-option v-for="item in tdhYearList" :key="item.lable" :label="item.lable" + :value="item.value"></el-option> + </c-select> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="24"> + <c-col :span="12" style="text-align: left"> + <el-button type="primary" size="small" @click="tdhAdd">新增</el-button> + </c-col> + <c-col :span="12" style="text-align: right"> + <el-button size="small" @click="handleReset">重置</el-button> + <el-button type="primary" icon="el-icon-search" size="small" @click="onSearch()">查询 + </el-button> + </c-col> + </c-col> + <c-col :span="24"> + <c-paging-table :data="tdhData" :columns="tdhColumns" :pageNumber="model.pageNum" :pageSize="model.pageSize" + :total="model.total" v-on:queryFunc="queryFunc" :border="true"> + <c-table-column fixed="right" prop="op" label="操作" width="240px"> + <template slot-scope="{ scope }"> + <c-button style="margin-left: 0" size="small" @click="tdhInfo(scope.$index, scope.row)">详情</c-button> + <c-button style="margin-left: 5px" size="small" type="primary" + @click="tdhEdit(scope.$index, scope.row)">修改</c-button> + <c-button size="small" style="margin-left: 5px" @click="tdhDelete(scope.$index, scope.row)">删除</c-button> + <el-popover placement="top-start" width="50" trigger="click"> + <ul class="table-button-item-list"> + <li> + <c-button size="small" style="margin-left: 0">指派</c-button> + </li> + <li> + <c-button size="small" style="margin-left: 0">删除</c-button> + </li> + </ul> + <a slot="reference" href="javascript:void(0)" style="margin-left: 5px"> + <i class="el-icon-more"></i> + </a> + </el-popover> + </template> + </c-table-column> + </c-paging-table> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; + +import { queryByPage, queryYearList, queryCalList } from "~/service/test/tdh.js"; + +export default { + name: "", + props: ["model"], + inject: ["root"], + data() { + return { + tdhData: [], + tdhColumns: [ + { label: '日期', prop: 'datStr', width: 'auto' }, + { label: '节日名', prop: 'dateday', width: 'auto' } + ], + tdhYearList: [], + tdhCalList: [], + }; + }, + computed: { + }, + created() { + this.getTdhCalList() + }, + activated() { + this.getTdhCalList() + const { update } = this.$route.params + if (update) { + this.onInftdhSearch() + } + }, + methods: { + getTdhCalList() { + queryCalList(this.model).then(res => { + this.tdhCalList = res.list + }) + }, + getTdhYearList() { + this.model.calyear ? this.model.calyear = '' : '' + queryYearList(this.model).then(res => { + this.tdhYearList = res.list + }) + }, + getCodesByKey(key) { + return codes[key] ?? []; + }, + handleReset() { + this.root.$refs.modelForm.resetFields(); + }, + onSearch() { + this.model.pageSize = 5; + this.model.pageNum = 1; + this.onInftdhSearch(); + }, + onInftdhSearch() { + queryByPage(this.model).then(res => { + const list = res.list + this.tdhData = list + this.model.pageNum = res.pageNumber + this.model.pageSize = res.pageSize + this.model.total = res.total + }) + }, + queryFunc(pageNumber, pageSize) { + this.model.pageNum = pageNumber + this.model.pageSize = pageSize + this.onInftdhSearch() + }, + tdhtypeChange(val) { + this.model.fectyp = val; + }, + tdhCodesByKey(key) { + return codes[key] ?? []; + }, + tdhAdd() { + this.$router.push(`/statics/dbatdh`) + }, + tdhInfo(index, row) { + this.$router.push(`/statics/dbitdh/${row.inr}`) + }, + tdhEdit(index, row) { + this.$router.push(`/statics/dbetdh/${row.inr}`) + }, + tdhDelete(index, row) { + this.$router.push(`/statics/dbdtdh/${row.inr}`) + }, + }, +}; +</script> + +<style scoped> +.table-button-item-list { + padding: 0; + margin: 0; +} + +.table-button-item-list li { + list-style: none; + padding: 5px 0; + text-align: center; + color: #606266; + cursor: pointer; +} +</style> diff --git a/src/views/Statics/Tdh/views/Inftdh/index.vue b/src/views/Statics/Tdh/views/Inftdh/index.vue new file mode 100644 index 0000000..9f82fc3 --- /dev/null +++ b/src/views/Statics/Tdh/views/Inftdh/index.vue @@ -0,0 +1,49 @@ +<template> + <div class="eContainer"> + <c-page title="节假日查询"> + <el-form :model="model" ref="modelForm" label-width="120px" label-position="right" size="small"> + <c-tabs v-model="tabVal" ref="elment" type="card"> + <!--PD000039 --> + <el-tab-pane label="查询面板" name="infsea"> + <c-content> + <m-infsea :model="model" ref="infsea" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + </c-page> + </div> + </template> + + <script> + import Infsea from "./Infsea"; + + export default { + name: "StaticsInftdh", + components: { + "m-infsea": Infsea, + }, + provide() { + return { + root: this, + }; + }, + data() { + return { + tabVal: "infsea", + model: { + cod: "", + pageSize:5, + pageNum:1, + total:0 + + }, + }; + }, + }; + </script> + + <style> + + </style> + \ No newline at end of file diff --git a/src/views/Statics/Usr/model/Ubr.js b/src/views/Statics/Usr/model/Ubr.js new file mode 100644 index 0000000..cb76b7b --- /dev/null +++ b/src/views/Statics/Usr/model/Ubr.js @@ -0,0 +1,61 @@ +export default class Ubr { + constructor() { + this.data = { + usrinr: "", + bussec: "", + relcur: "", + relamt: "", + relamt2nd: "", + relgrp: "", + trncod: "", + branchinr: "", + autcur: "", + autamt: "", + } + } +} + +export const Pattern = { + "inr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "usrinr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "bussec": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 2, "message": "最大长度2个字符", "trigger": "blur" } + ], + "relcur": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "relamt": [ + { "required": true, "message": "必输项", "trigger": "blur" }, + { "pattern": /^-?\d{0,18}(\.\d{1,3})?$/, "message": "整数不能超过18位,小数不能超过3位", "trigger": "blur" } + ], + "relamt2nd": [ + { "required": true, "message": "必输项", "trigger": "blur" }, + { "pattern": /^-?\d{0,18}(\.\d{1,3})?$/, "message": "整数不能超过18位,小数不能超过3位", "trigger": "blur" } + ], + "relgrp": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "trncod": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符", "trigger": "blur" } + ], + "branchinr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "autcur": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "autamt": [ + ], +} \ No newline at end of file diff --git a/src/views/Statics/Usr/model/Ucl.js b/src/views/Statics/Usr/model/Ucl.js new file mode 100644 index 0000000..e5170f9 --- /dev/null +++ b/src/views/Statics/Usr/model/Ucl.js @@ -0,0 +1,35 @@ +export default class Ucl { + constructor() { + this.data = { + usrdef: "", + usr: "", + mannam: "", + branchinr: "", + objlst: "", + assignflg: "", + } + } +} + +export const Pattern = { + "usrdef": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "usr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "mannam": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 40, "message": "最大长度40个字符", "trigger": "blur" } + ], + "branchinr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "objlst": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 80, "message": "最大长度80个字符", "trigger": "blur" } + ], +} \ No newline at end of file diff --git a/src/views/Statics/Usr/model/Usr.js b/src/views/Statics/Usr/model/Usr.js new file mode 100644 index 0000000..6591d24 --- /dev/null +++ b/src/views/Statics/Usr/model/Usr.js @@ -0,0 +1,131 @@ +export default class Pty { + constructor() { + this.data = { + "inr": "", + "extkey": "", + "nam": "", + "lgiflg": "", + "ssnbegdattim": "", + "ssninr": "", + "ver": "", + "pri": "", + "ety": "", + "usg": "", + "lstdiadat": "", + "relcur": "", + "relamt": "", + "relamt2nd": "", + "relgrp": "", + "tel": "", + "fax": "", + "eml": "", + "quepow": "", + "etyextkey": "", + "oenr": "", + "etaextkey": "", + "resusrflg": "", + "secsta": "", + "letoenr": "", + "ubrList": [], + "uclList": [], + } + } +} + +export const Pattern = { + "inr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "extkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "nam": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 40, "message": "最大长度40个字符", "trigger": "blur" } + ], + "lgiflg": [ + { "required": false, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "ssnbegdattim": [ {"required": true,"type": "string"} + ], + "ssninr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "ver": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 4, "message": "最大长度4个字符", "trigger": "blur" } + ], + "pri": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "ety": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "usg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符", "trigger": "blur" } + ], + "lstdiadat": [ + { "required": true,"type": "string"} + ], + "relcur": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "relamt": [ + { "required": true, "message": "必输项", "trigger": "blur" }, + { "pattern": /^-?\d{0,18}(\.\d{1,3})?$/, "message": "整数不能超过18位,小数不能超过3位", "trigger": "blur" } + ], + "relamt2nd": [ + { "required": true, "message": "必输项", "trigger": "blur" }, + { "pattern": /^-?\d{0,18}(\.\d{1,3})?$/, "message": "整数不能超过18位,小数不能超过3位", "trigger": "blur" } + ], + "relgrp": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "tel": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 30, "message": "最大长度30个字符", "trigger": "blur" } + ], + "fax": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 30, "message": "最大长度30个字符", "trigger": "blur" } + ], + "eml": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 80, "message": "最大长度80个字符", "trigger": "blur" } + ], + "quepow": [ + { "required": true, "message": "必输项", "trigger": "blur" }, + { "pattern": /^-?\d{0,6}(\.\d{1,2})?$/, "message": "整数不能超过6位,小数不能超过2位", "trigger": "blur" } + ], + "etyextkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "oenr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 4, "message": "最大长度4个字符", "trigger": "blur" } + ], + "etaextkey": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "resusrflg": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], + "secsta": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 1, "message": "最大长度1个字符", "trigger": "blur" } + ], +} + + diff --git a/src/views/Statics/Usr/views/Dbausr/index.vue b/src/views/Statics/Usr/views/Dbausr/index.vue new file mode 100644 index 0000000..9f0c188 --- /dev/null +++ b/src/views/Statics/Usr/views/Dbausr/index.vue @@ -0,0 +1,25 @@ +<template> + <m-usr ref="usr" title="dbausr" type="add"></m-usr> +</template> + +<script> +import DbiUsr from "../Dbiusr"; + +export default { + name: "StaticsDbausr", + components: { + "m-usr": DbiUsr + }, + data() { + return {}; + }, + mounted() { + // this.$refs.usr.rules['ptaList'] = [ + // { type: 'array', required: true, min: 1, message: '地址信息栏不能为空' } + // ] + } +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Usr/views/Dbdusr/index.vue b/src/views/Statics/Usr/views/Dbdusr/index.vue new file mode 100644 index 0000000..f27b698 --- /dev/null +++ b/src/views/Statics/Usr/views/Dbdusr/index.vue @@ -0,0 +1,20 @@ +<template> + <m-usr title="dbdusr" type="delete"></m-usr> +</template> + +<script> +import DbiUsr from "../Dbiusr"; + +export default { + name: "StaticsDbdusr", + components: { + "m-usr": DbiUsr + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Usr/views/Dbeusr/index.vue b/src/views/Statics/Usr/views/Dbeusr/index.vue new file mode 100644 index 0000000..b061fe2 --- /dev/null +++ b/src/views/Statics/Usr/views/Dbeusr/index.vue @@ -0,0 +1,20 @@ +<template> + <m-usr title="dbeusr" type="edit"></m-usr> +</template> + +<script> +import DbiUsr from "../Dbiusr"; + +export default { + name: "StaticsDbeusr", + components: { + "m-usr": DbiUsr + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Usr/views/Dbiusr/UbrInfo.vue b/src/views/Statics/Usr/views/Dbiusr/UbrInfo.vue new file mode 100644 index 0000000..eeb57df --- /dev/null +++ b/src/views/Statics/Usr/views/Dbiusr/UbrInfo.vue @@ -0,0 +1,115 @@ +<template> + <div class="eibs"> + <el-form + ref="modelForm" + label-width="120px" + size="small" + label-position="right" + :model="ubr" + :rules="rules" + :validate-on-rule-change="false" + :disabled="operate === 'details'" + > + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="交易名" prop="bussec"> + <c-input + v-model="ubr.bussec" + placeholder="请输入交易名" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="授权币种" prop="relcur"> + <c-select v-model="ubr.relcur" style="width: 100%" placeholder="请选择授权币种" :code="getCodesByKey('curtxt')"> </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="授权金额" prop="relamt"> + <c-input-currency class="input-currency-left" + v-model="ubr.relamt" + placeholder="请输入授权金额" + > + </c-input-currency> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="第二授权金额" prop="relamt2nd"> + <c-input-currency class="input-currency-left" + v-model="ubr.relamt2nd" + placeholder="请输入第二授权金额" + > + </c-input-currency> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="授权状态" prop="relgrp"> + <c-select v-model="ubr.relgrp" style="width: 100%" placeholder="请选择授权状态" :code="getCodesByKey('relgrp')"> </c-select> + </el-form-item> + </c-col> + </c-col> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="交易代码" prop="trncod"> + <c-input + v-model="ubr.trncod" + placeholder="请输入交易代码" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="交易所属机构" prop="branchinr"> + <c-input + v-model="ubr.branchinr" + placeholder="请输入交易所属机构" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="一次性授权" prop="autcur"> + <c-input + v-model="ubr.autcur" + placeholder="请输入一次性授权" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="一次性释放授权" prop="autamt"> + <c-input-currency class="input-currency-left" + v-model="ubr.autamt" + placeholder="请输入一次性释放授权" + > + </c-input-currency> + </el-form-item> + </c-col> + </c-col> + </el-form> + </div> +</template> + +<script> +import { Pattern } from "../../model/Ubr"; +import codes from "~/config/CodeTable"; + +export default { + name: "", + props: ['ubr', 'operate'], + data() { + return { + rules: Pattern, + }; + }, + methods:{ + getCodesByKey(key) { + return codes[key] ?? []; + }, + }, +}; +</script> + +<style> +</style> diff --git a/src/views/Statics/Usr/views/Dbiusr/UbrList.vue b/src/views/Statics/Usr/views/Dbiusr/UbrList.vue new file mode 100644 index 0000000..c94c7d8 --- /dev/null +++ b/src/views/Statics/Usr/views/Dbiusr/UbrList.vue @@ -0,0 +1,230 @@ +<template> + <div class="eibs-tab"> + <div style="text-align: right"> + <c-button size="small" type="primary" @click="ubrAdd()" :disabled="false"> 新增 </c-button> + </div> + <el-form-item label="" label-width="0" prop="ubrList"> + <c-table :columnsConfig="columns" :list="model.ubrList"> + <c-table-column fixed="right" prop="op" label="操作" width="200px"> + <template slot-scope="{ scope }"> + <button + class="el-button el-button--default el-button--small" + style="margin-left: 0" + size="small" + :disabled="false" + @click.prevent="ubrInfo(scope.$index, scope.row)" + > + <span>详情</span> + </button> + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="ubrEdit(scope.$index, scope.row)" + > + 修改 + </c-button> + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="ubrDelete(scope.$index, scope.row)" + > + 删除 + </c-button> + </template> + </c-table-column> + </c-table> + </el-form-item> + + <el-dialog + :title=" + '柜员权限信息:' + + (operate === 'details' ? '详情' : operate === 'edit' ? '修改' : '新增') + " + :visible.sync="ubrDialog" + top="10vh" + width="80%" + :destroy-on-close="true" + :before-close="handleClose" + > + <m-ubr-inf ref="ubr" :ubr="ubr" :operate="operate"></m-ubr-inf> + <span slot="footer" class="dialog-footer"> + <button + class="el-button el-button--default el-button--small" + style="margin-left: 0" + size="small" + :disabled="false" + @click.prevent="cancel" + > + <span>取 消</span> + </button> + <c-button type="primary" @click="cancel" v-if="operate === 'details'" + >确 定</c-button + > + <c-button type="primary" @click="editUbr" v-if="operate === 'edit'" + >保 存</c-button + > + <c-button type="primary" @click="saveUbr" v-if="operate === 'add'" + >保 存</c-button + > + </span> + </el-dialog> + </div> +</template> + +<script> +import Ubr from "../../model/Ubr"; +import UbrInfo from "./UbrInfo"; + +import { + addUbrData, + updateUbrData, + deleteUbrData, +} from "~/service/test/usr"; + +export default { + name: "UbrList", + props: ["model"], + inject: ["root"], + components: { + "m-ubr-inf": UbrInfo, + }, + data() { + return { + ubrDialog: false, + ubr: null, + operate: "", + operateIdx: 0, + columns: [ + // 表结构说明: + // { label: '唯一ID', prop: 'inr', width: 'auto' }, + { label: '用户ID', prop: 'usrinr', width: 'auto' }, + { label: '交易名', prop: 'bussec', width: 'auto' }, + { label: '授权币种', prop: 'relcur', width: 'auto' }, + { label: '授权金额', prop: 'relamt', width: 'auto' }, + { label: '第二授权金额', prop: 'relamt2nd', width: 'auto' }, + { label: '授权状态', prop: 'relgrp', width: 'auto' }, + { label: '交易代码', prop: 'trncod', width: 'auto' }, + { label: '交易所属机构', prop: 'branchinr', width: 'auto' }, + { label: '一次性授权', prop: 'autcur', width: 'auto' }, + { label: '一次性释放授权', prop: 'autamt', width: 'auto' }, + ], + }; + }, + + methods: { + /** + * 详情 + */ + ubrInfo(index, row) { + this.ubr = { ...row }; + this.operate = "details"; + this.operateIdx = index; + this.ubrDialog = true; + }, + /** + * 新增 + */ + ubrAdd() { + this.ubr = new Ubr().data; + this.ubr.usrinr=this.model.inr; + this.operate = "add"; + this.ubrDialog = true; + }, + /** + * 修改 + */ + ubrEdit(index, row) { + this.ubr = { ...row }; + this.operate = "edit"; + this.operateIdx = index; + this.ubrDialog = true; + }, + /** + * 删除 + */ + ubrDelete(index, row) { + this.$confirm("是否真的删除?", "提示", { + confirmButtonText: "确认", + cancelButtonText: "取消", + type: "warning", + }).then((res) => { + deleteUbrData(row.inr).then((res) => { + if (res) { + this.model.ubrList.splice(index, 1); + this.$message.success("删除成功!"); + } else { + this.$message.error("删除失败!"); + } + }); + }); + }, + cancel() { + this.handleClose(); + }, + editUbr() { + this.$refs.ubr.$refs.modelForm.validate((validated) => { + if (validated) { + updateUbrData(this.ubr) + .then((res) => { + if (res) { + this.$message.success("修改柜员权限信息成功!"); + //TODO model.uclList回填 + this.model.ubrList = res.ubrList; + this.handleClose(); + } + }) + .catch((error) => { + this.$message.error("修改柜员权限信息失败!"); + }); + } + }); + }, + + saveUbr() { + for (const key in this.ubr) { + if (Object.hasOwnProperty.call(this.ubr, key)) { + const v = this.ubr[key]; + if (typeof v === 'string' && v === '') { + this.ubr[key] = " " + } + } + } + if (this.root.type === "add") { + this.model.ubrList.push(this.ubr); + this.handleClose(); + } else { + this.$refs.ubr.$refs.modelForm.validate((validated) => { + if (validated) { + // this.ubr.inr = this.model.inr + addUbrData(this.ubr) + .then((res) => { + if (res) { + this.$message.success("保存柜员权限信息成功!"); + //TODO model.uclList回填 + // this.model.ubrList = res.ubrList; + this.model.ubrList = res.ubrList; + this.handleClose(); + } + }) + .catch((error) => { + this.$message.error("保存柜员权限信息失败!"); + }); + } + }); + } + }, + + handleClose(done) { + this.ubrDialog = false; + if (done && typeof done === "function") { + done(); + } + }, + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Usr/views/Dbiusr/UclInfo.vue b/src/views/Statics/Usr/views/Dbiusr/UclInfo.vue new file mode 100644 index 0000000..7a2d4d2 --- /dev/null +++ b/src/views/Statics/Usr/views/Dbiusr/UclInfo.vue @@ -0,0 +1,92 @@ +<template> + <div class="eibs"> + <el-form + ref="modelForm" + label-width="160px" + size="small" + label-position="right" + :model="ucl" + :rules="rules" + :validate-on-rule-change="false" + :disabled="operate === 'details'" + > + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="默认的机构标志" prop="usrdef"> + <c-input + v-model="ucl.usrdef" + placeholder="请输入默认的机构标志" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="用户ID" prop="usr"> + <c-input + v-model="ucl.usr" + placeholder="请输入用户ID" + disabled=true + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="用户所在机构和用户名称" prop="mannam"> + <c-input + v-model="ucl.mannam" + placeholder="请输入用户所在机构和用户名称" + > + </c-input> + </el-form-item> + </c-col> + </c-col> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="机构INR" prop="branchinr"> + <c-input + v-model="ucl.branchinr" + placeholder="请输入机构INR" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="用户可作业务的列表" prop="objlst"> + <c-input + v-model="ucl.objlst" + placeholder="请输入用户可作业务的列表" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="是否参与任务分配" prop="assignflg"> + <c-input + v-model="ucl.assignflg" + placeholder="是否参与任务分配" + > + </c-input> + </el-form-item> + </c-col> + </c-col> + + </el-form> + </div> +</template> + +<script> +import { Pattern } from "../../model/Ucl"; + +export default { + name: "", + props: ['ucl', 'operate'], + data() { + return { + rules: Pattern, + }; + } +} +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Usr/views/Dbiusr/UclList.vue b/src/views/Statics/Usr/views/Dbiusr/UclList.vue new file mode 100644 index 0000000..3ad8a2b --- /dev/null +++ b/src/views/Statics/Usr/views/Dbiusr/UclList.vue @@ -0,0 +1,223 @@ +<template> + <div class="eibs-tab"> + <div style="text-align: right"> + <c-button size="small" type="primary" @click="uclAdd()"> 新增 </c-button> + </div> + + <el-form-item label="" label-width="0" prop="uclList"> + <c-table :columnsConfig="columns" :list="model.uclList"> + <c-table-column fixed="right" prop="op" label="操作" width="200px"> + <template slot-scope="{ scope }"> + <button + class="el-button el-button--default el-button--small" + style="margin-left: 0" + size="small" + :disabled="false" + @click.prevent="uclInfo(scope.$index, scope.row)" + > + <span>详情</span> + </button> + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="uclEdit(scope.$index, scope.row)" + > + 修改 + </c-button> + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="uclDelete(scope.$index, scope.row)" + > + 删除 + </c-button> + </template> + </c-table-column> + </c-table> + </el-form-item> + + <el-dialog + :title=" + '柜员组信息:' + + (operate === 'details' ? '详情' : operate === 'edit' ? '修改' : '新增') + " + :visible.sync="uclDialog" + top="10vh" + width="80%" + :destroy-on-close="true" + :before-close="handleClose" + > + <m-ucl-inf ref="ucl" :ucl="ucl" :operate="operate"></m-ucl-inf> + <span slot="footer" class="dialog-footer"> + <button + class="el-button el-button--default el-button--small" + style="margin-left: 0" + size="small" + :disabled="false" + @click.prevent="cancel" + > + <span>取 消</span> + </button> + <c-button type="primary" @click="cancel" v-if="operate === 'details'" + >确 定</c-button + > + <c-button type="primary" @click="editUcl" v-if="operate === 'edit'" + >保 存</c-button + > + <c-button type="primary" @click="saveUcl" v-if="operate === 'add'" + >保 存</c-button + > + </span> + </el-dialog> + </div> +</template> + +<script> +import UclInfo from "./UclInfo"; +import Ucl from "../../model/Ucl"; + +import { + addUclData, + updateUclData, + deleteUclData, +} from "@/service/test/usr"; + +export default { + name: "UclList", + inject: ["root"], + props: ["model"], + components: { + "m-ucl-inf": UclInfo, + }, + data() { + return { + uclDialog: false, + ucl: null, + operate: "", + operateIdx: 0, + columns: [ + { label: '默认的机构标志', prop: 'usrdef', width: 'auto' }, + { label: '用户ID', prop: 'usr', width: 'auto' }, + { label: '用户所在机构和用户名称', prop: 'mannam', width: 'auto' }, + { label: '机构INR', prop: 'branchinr', width: 'auto' }, + { label: '用户可作业务的列表', prop: 'objlst', width: 'auto' }, + { label: '是否参与任务分配', prop: 'assignflg', width: 'auto' }, + ], + }; + }, + methods: { + /** + * 信息详情 + */ + uclInfo(index, row) { + this.ucl = { ...row }; + this.operate = "details"; + this.operateIdx = index; + this.uclDialog = true; + }, + /** + * 新增 + */ + uclAdd() { + this.ucl = new Ucl().data; + this.ucl.usr=this.model.extkey; + this.operate = "add"; + this.uclDialog = true; + }, + /** + * 修改 + */ + uclEdit(index, row) { + this.ucl = { ...row }; + this.operate = "edit"; + this.operateIdx = index; + this.uclDialog = true; + }, + /** + * 删除 + */ + uclDelete(index, row) { + this.$confirm("是否真的删除?", "提示", { + confirmButtonText: "确认", + cancelButtonText: "取消", + type: "warning", + }).then((res) => { + console.log(row.branchinr) + deleteUclData(row.usr, row.branchinr).then((res) => { + if (res) { + this.model.uclList.splice(index, 1); + this.$message.success("删除成功!"); + } else { + this.$message.error("删除失败!"); + } + }); + }); + }, + cancel() { + this.handleClose(); + }, + editUcl() { + this.$refs.ucl.$refs.modelForm.validate((validated) => { + if (validated) { + updateUclData(this.model.inr,this.ucl) + .then((res) => { + if (res) { + this.$message.success("修改柜员组信息成功!"); + //TODO model.uclList回填 + this.model.uclList = res.uclList; + this.handleClose(); + } + }) + .catch((error) => { + this.$message.error("修改柜员组信息失败!"); + }); + } + }); + }, + + saveUcl() { + for (const key in this.ucl) { + if (Object.hasOwnProperty.call(this.ucl, key)) { + const v = this.ucl[key]; + if (typeof v === 'string' && v === '') { + this.ucl[key] = " " + } + } + } + if (this.root.type === "add") { + this.model.uclList.push(this.ucl); + this.handleClose(); + } else { + this.$refs.ucl.$refs.modelForm.validate((validated) => { + if (validated) { + addUclData(this.model.inr,this.ucl) + .then((res) => { + if (res) { + this.$message.success("保存柜员组信息成功!"); + //TODO model.uclList回填 + this.model.uclList = res.uclList; + this.handleClose(); + } + }) + .catch((error) => { + this.$message.error("保存柜员组信息失败!"); + }); + } + }); + } + }, + + handleClose(done) { + this.uclDialog = false; + if (done && typeof done === "function") { + done(); + } + }, + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Usr/views/Dbiusr/UsrInfo.vue b/src/views/Statics/Usr/views/Dbiusr/UsrInfo.vue new file mode 100644 index 0000000..6db3dfb --- /dev/null +++ b/src/views/Statics/Usr/views/Dbiusr/UsrInfo.vue @@ -0,0 +1,252 @@ +<template> + <div class="eibs-tab"> + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="用户ID" prop="extkey"> + <c-input + v-model="model.extkey" + placeholder="请输入用户ID" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="用户名" prop="nam"> + <c-input + v-model="model.nam" + placeholder="请输入用户名" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="禁止登录" prop="lgiflg"> + <c-select style="width: 100%" + v-model="model.lgiflg" + placeholder="请选择禁止登录标识" + :code="getCodesByKey('lgiflg')" + > + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="最近登录时间" prop="ssnbegdattim"> + <c-date-picker + style="width: 100%" + v-model="model.ssnbegdattim" + placeholder="请选择最近登录时间" + > + </c-date-picker> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="SSN ID" prop="ssninr"> + <c-input + v-model="model.ssninr" + placeholder="请输入SSN ID" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="实体标志" prop="pri"> + <c-input + v-model="model.pri" + placeholder="请输入实体标志" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="实体" prop="ety"> + <c-input + v-model="model.ety" + placeholder="请输入实体" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="用户组" prop="usg"> + <c-input + v-model="model.usg" + placeholder="请输入用户组" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="最近DIA查看时间" prop="lstdiadat"> + <c-date-picker + style="width: 100%" + v-model="model.lstdiadat" + placeholder="请选择最近DIA查看时间" + > + </c-date-picker> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="授权币种" prop="relcur"> + <c-select v-model="model.relcur" style="width: 100%" placeholder="请选择账号币种" :code="getCodesByKey('curtxt')"> </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="授权金额" prop="relamt"> + <c-input-currency class="input-currency-left" + v-model="model.relamt" + placeholder="请输入授权金额" + > + </c-input-currency> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="第二授权金额" prop="relamt2nd"> + <c-input-currency class="input-currency-left" + v-model="model.relamt2nd" + placeholder="请输入第二授权金额" + > + </c-input-currency> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="授权组" prop="relgrp"> + <c-input + v-model="model.relgrp" + placeholder="请输入授权组" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="电话" prop="tel"> + <c-input + v-model="model.tel" + placeholder="请输入电话" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="传真" prop ="fax"> + <c-input + v-model="model.fax" + placeholder="请输入传真" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="电子邮箱" prop="eml"> + <c-input + v-model="model.eml" + placeholder="请输入电子邮箱" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="可用时间" prop="quepow"> + <c-input-currency class="input-currency-left" + v-model="model.quepow" + placeholder="请输入可用时间" + > + </c-input-currency> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="实体名称" prop="etyextkey"> + <c-input + v-model="model.etyextkey" + placeholder="请输入实体名称" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="组织" prop="oenr"> + <c-input + v-model="model.oenr" + placeholder="请输入组织" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="实体地址" prop="etaextkey"> + <c-input + v-model="model.etaextkey" + placeholder="请输入实体地址" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="客户经理" prop="resusrflg"> + <c-input + v-model="model.resusrflg" + placeholder="请输入客户经理" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="用户状态" prop="secsta"> + <c-input + v-model="model.secsta" + placeholder="请输入用户状态" + > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="信件的组织单位" prop="letoenr"> + <c-input + v-model="model.letoenr" + placeholder="请输入信件的组织单位" + > + </c-input> + </el-form-item> + </c-col> +<!-- <c-col :span="24">--> +<!-- <el-form-item label="ubrList" prop="ubrList">--> +<!-- <c-input--> +<!-- v-model="model.ubrList"--> +<!-- placeholder="请输入ubrList"--> +<!-- >--> +<!-- </c-input>--> +<!-- </el-form-item>--> +<!-- </c-col>--> +<!-- <c-col :span="24">--> +<!-- <el-form-item label="uclList" prop="uclList">--> +<!-- <c-input--> +<!-- v-model="model.uclList"--> +<!-- placeholder="请输入uclList"--> +<!-- >--> +<!-- </c-input>--> +<!-- </el-form-item>--> +<!-- </c-col>--> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; +export default { + name: "", + props: ["model"], + data() { + return {}; + }, + methods: { + getCodesByKey(key) { + return codes[key] ?? []; + }, + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Usr/views/Dbiusr/index.vue b/src/views/Statics/Usr/views/Dbiusr/index.vue new file mode 100644 index 0000000..64e2b67 --- /dev/null +++ b/src/views/Statics/Usr/views/Dbiusr/index.vue @@ -0,0 +1,196 @@ +<template> + <div class="eContainer"> + <c-page :title="title"> + <el-form + ref="modelForm" + label-width="120px" + size="small" + label-position="right" + :model="model" + :rules="rules" + :validate-on-rule-change="false" + :disabled="isDisabled" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="基本信息" name="usr"> + <c-content> + <m-usr-info :model="model" /> + </c-content> + </el-tab-pane> + <el-tab-pane label="柜员权限信息" name="ubr"> + <c-content> + <m-ubr-list :model="model" /> + </c-content> + </el-tab-pane> + <el-tab-pane label="柜员组" name="ucl"> + <c-content> + <m-ucl-list :model="model" /> + </c-content> + </el-tab-pane> +<!-- <el-tab-pane label="联系人信息" name="ptc">--> +<!-- <c-content>--> +<!-- <m-ptc-info :model="model" />--> +<!-- </c-content>--> +<!-- </el-tab-pane>--> +<!-- <el-tab-pane label="汇率/费率信息" name="ptyrat,fec,fee">--> +<!-- <c-content>--> +<!-- <m-rat-info :model="model" />--> +<!-- </c-content>--> +<!-- </el-tab-pane>--> + </c-tabs> + </el-form> + <div style="text-align: center"> + <c-button + type="primary" + style="margin-right: 10px" + @click="commitAdd" + v-if="type === 'add'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitEdit" + v-if="type === 'edit'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitDelete" + v-if="type === 'delete'" + >提 交</c-button + > + <c-button type="primary" @click="goBack">返 回</c-button> + </div> + </c-page> + </div> +</template> + +<script> +import Utils from "~/utils"; +import Usr, { Pattern } from "../../model/Usr.js"; +import UsrInfo from "./UsrInfo"; +import UBrInfo from "./UbrList"; +import UclInfo from "./UclList"; + +import { add, edit, deleteById, queryDetailById } from "~/service/test/usr"; + +export default { + name: "StaticsDbiusr", + components: { + "m-usr-info": UsrInfo, + "m-ubr-list": UBrInfo, + "m-ucl-list": UclInfo, + }, + provide() { + return { + root: this, + }; + }, + props: { + type: { + type: String, + default: "info" + }, + title: { + type: String, + default: "dbiusr" + } + }, + data() { + return { + model: new Usr().data, + tabVal: "usr", + rules: Pattern, + }; + }, + computed: { + isDisabled() { + return this.type === "info" || this.type === "delete"; + }, + }, + created() { + if (this.type !== "add") { + const inr = this.$route.params.inr; + // this.model.inr = this.$route.params.inr; + console.log(inr); + queryDetailById(inr).then((res) => { + if (res.inr) { + this.model = res; + } else { + this.$message.error("柜员不存在") + } + }); + } + }, + methods: { + commitAdd() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + add(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitEdit() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + edit(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack() + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitDelete() { + this.$confirm("是否确认删除?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + deleteById(this.model.inr) + .then((res) => { + this.$message.success("删除成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("删除失败!"); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + }); + }, + /** + * update 是否更新infusr的查询列表 + */ + goBack(update) { + this.$store.dispatch("TagsView/delView", this.$route); + this.$router.push({ name: "StaticsInfusr", params: { update } }); + }, + + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/Usr/views/Infusr/Infsea.vue b/src/views/Statics/Usr/views/Infusr/Infsea.vue new file mode 100644 index 0000000..16f05d2 --- /dev/null +++ b/src/views/Statics/Usr/views/Infusr/Infsea.vue @@ -0,0 +1,228 @@ +<template> + <div class="eibs-tab"> + <!-- ----------左 ----------> + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="用户ID" prop="extkey"> + <c-input + v-model="model.extkey" + placeholder="请输入user-id" + ></c-input> + </el-form-item> + </c-col> + </c-col> + <!------------- 右 ----------> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="用户名" prop="name"> + <c-input + v-model="model.nam" + placeholder="请输入name" + ></c-input> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="24"> + <c-col :span="12" style="text-align: left"> + <el-button type="primary" size="small" @click="usrAdd">新增</el-button> + </c-col> + <c-col :span="12" style="text-align: right"> + <el-button size="small" @click="handleReset">重置</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="small" + @click="onSearch()" + >查询 + </el-button> + </c-col> + </c-col> + + + <c-col :span="24"> + <c-paging-table + :data="usrData" + :columns="usrColumns" + :pageNumber="model.pageNum" + :pageSize="model.pageSize" + :total="model.total" + v-on:queryFunc="queryFunc" + :border="true" + > + <c-table-column fixed="right" prop="op" label="操作" width="320px"> + <template slot-scope="{ scope }"> + <c-button + style="margin-left: 0" + size="small" + @click="usrInfo(scope.$index, scope.row)" + >详情</c-button + > + <c-button + style="margin-left: 5px" + size="small" + type="primary" + @click="usrEdit(scope.$index, scope.row)" + >修改</c-button + > + <c-button + size="small" + style="margin-left: 5px" + @click="usrDelete(scope.$index, scope.row)" + >删除</c-button + > + <c-button id="useButton" size="small" style="margin-left: 5px" :disabled="useButtonVisible" @click="use(scope.row)">使用</c-button> +<!-- <el-popover placement="top-start" width="50" trigger="click">--> +<!-- <ul class="table-button-item-list">--> +<!-- <li>--> +<!-- <c-button size="small" style="margin-left: 0">指派</c-button>--> +<!-- </li>--> +<!-- <li>--> +<!-- <c-button size="small" style="margin-left: 0">删除</c-button>--> +<!-- </li>--> +<!-- </ul>--> +<!-- <a--> +<!-- slot="reference"--> +<!-- href="javascript:void(0)"--> +<!-- style="margin-left: 5px"--> +<!-- >--> +<!-- <i class="el-icon-more"></i>--> +<!-- </a>--> +<!-- </el-popover>--> + </template> + </c-table-column> + </c-paging-table> + </c-col> + </div> +</template> + +<script> +import { queryByPage } from "~/service/test/usr.js"; + +export default { + name: "infsea", + props: ["model"], + inject: ["root"], + data() { + return { + usrData: [], + usrColumns: [ + // { label: 'inr', prop: 'inr', width: 'auto' }, + { label: '用户ID', prop: 'extkey', width: 'auto' }, + { label: '用户名称', prop: 'nam', width: 'auto' }, + // { label: '禁止登录', prop: 'lgiflg', width: 'auto' }, + // { label: '最近登录时间', prop: 'ssnbegdattim', width: 'auto' }, + // { label: 'SSN ID', prop: 'ssninr', width: 'auto' }, + // { label: '版本号', prop: 'ver', width: 'auto' }, + // { label: '实体标志', prop: 'pri', width: 'auto' }, + // { label: '实体', prop: 'ety', width: 'auto' }, + { label: '用户组', prop: 'usg', width: 'auto' }, + // { label: ' + // ', prop: 'lstdiadat', width: 'auto' }, + { label: '授权币种', prop: 'relcur', width: 'auto' }, + { label: '授权金额', prop: 'relamt', width: 'auto' }, + // { label: '第二授权金额', prop: 'relamt2nd', width: 'auto' }, + // { label: '授权组', prop: 'relgrp', width: 'auto' }, + // { label: '电话', prop: 'tel', width: 'auto' }, + // { label: '传真', prop: 'fax', width: 'auto' }, + // { label: '电子信箱', prop: 'eml', width: 'auto' }, + // { label: '可用时间', prop: 'quepow', width: 'auto' }, + // { label: '实体名称', prop: 'etyextkey', width: 'auto' }, + // { label: '组织', prop: 'oenr', width: 'auto' }, + { label: '实体地址', prop: 'etaextkey', width: 'auto' }, + { label: '客户经理', prop: 'resusrflg', width: 'auto' }, + // { label: 'secsta', prop: 'secsta', width: 'auto' }, + // { label: 'letoenr', prop: 'letoenr', width: 'auto' }, + // { label: 'ubrList', prop: 'ubrList', width: 'auto' }, + // { label: 'uclList', prop: 'uclList', width: 'auto' }, + ], + useButtonVisible: true + }; + }, + // activated:已进入页面便可触发 + activated() { + const { update } = this.$route.params + if (update) { + this.onInfusrSearch() + } + }, + created() { + const { from } = this.$route.params + if (from != undefined && from != null) { + this.useButtonVisible = false + } + }, + methods: { + use(row) { + const extkey = row.extkey + const { from } = this.$route.params + this.$store.dispatch("TagsView/delView", this.$route) + this.$router.push({ + name: from, + params: { + extkey: extkey + } + }) + }, + handleReset() { + this.root.$refs.modelForm.resetFields(); + }, + onSearch(){ + this.model.pageNum = 1; + this.model.pageSize = 5; + this.onInfusrSearch(); + }, + onInfusrSearch() { + queryByPage(this.model).then(res => { + /** + * pageNumber: 0 + * pageSize: 0 + * total: + * totalPage: 0 + */ + const list = res.list + this.usrData = list + this.model.pageNum = res.pageNumber + this.model.pageSize = res.pageSize + this.model.total = res.total + }) + }, + queryFunc(pageNumber, pageSize) { + this.model.pageNum = pageNumber + this.model.pageSize = pageSize + this.onInfusrSearch() + }, + // ptytypeChange(val) { + // this.model.ptytyp = val; + // }, + // getCodesByKey(key) { + // return codes[key] ?? []; + // }, + usrAdd() { + this.$router.push(`/statics/dbausr`) + }, + usrInfo(index, row) { + this.$router.push(`/statics/dbiusr/${row.inr}`) + }, + usrEdit(index, row) { + this.$router.push(`/statics/dbeusr/${row.inr}`) + }, + usrDelete(index, row) { + this.$router.push(`/statics/dbdusr/${row.inr}`) + }, + }, +}; +</script> + +<style scoped> +.table-button-item-list { + padding: 0; + margin: 0; +} +.table-button-item-list li { + list-style: none; + padding: 5px 0; + text-align: center; + color: #606266; + cursor: pointer; +}</style> diff --git a/src/views/Statics/Usr/views/Infusr/index.vue b/src/views/Statics/Usr/views/Infusr/index.vue new file mode 100644 index 0000000..d3f621c --- /dev/null +++ b/src/views/Statics/Usr/views/Infusr/index.vue @@ -0,0 +1,54 @@ +<template> + <div class="eContainer"> + <c-page title="柜员信息查询"> + <el-form + :model="model" + ref="modelForm" + label-width="120px" + label-position="right" + size="small" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <!--PD000039 --> + <el-tab-pane label="柜员查询" name="infsea"> + <c-content> + <m-infsea :model="model" ref="infsea"/> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + </c-page> + </div> +</template> + +<script> +import Infsea from "./Infsea"; + +export default { + name: "StaticsInfusr", + components: { + "m-infsea": Infsea, + }, + provide() { + return { + root: this, + }; + }, + data() { + return { + tabVal: "infsea", + model: { + // condition + nam: "", + extkey: "", + // paging + pageNum: 1, + pageSize: 5, + total: 0 + }, + }; + }, +}; +</script> + +<style></style> diff --git a/src/views/Statics/dia/model/Dia.js b/src/views/Statics/dia/model/Dia.js new file mode 100644 index 0000000..407c548 --- /dev/null +++ b/src/views/Statics/dia/model/Dia.js @@ -0,0 +1,40 @@ +export default class Dia { + constructor() { + this.data = { + inr: "", + bchkey: "", + trn: "", + relcur: "", + relamt: "", + ver: "", + relflg: "", + } + } +} + +export const Pattern = { + "cod": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 3, "message": "最大长度3个字符", "trigger": "blur" } + ], + "objref": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 16, "message": "最大长度16个字符", "trigger": "blur" } + ], + "ownusr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], + "ownusg": [ + { "required": true, "message": "必输项", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符", "trigger": "blur" } + ], + "frm": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 6, "message": "最大长度6个字符", "trigger": "blur" } + ], + "usr": [ + { "required": true, "message": "必输项", "type": "string", "trigger": "blur" }, + { "max": 8, "message": "最大长度8个字符", "trigger": "blur" } + ], +} diff --git a/src/views/Statics/dia/views/Dbadia/index.vue b/src/views/Statics/dia/views/Dbadia/index.vue new file mode 100644 index 0000000..9aeecd8 --- /dev/null +++ b/src/views/Statics/dia/views/Dbadia/index.vue @@ -0,0 +1,22 @@ +<template> + <m-dia title="dbadia" type="add"></m-dia> +</template> + +<script> +import Dbidia from "~/views/Statics/dia/views/Dbidia"; + +export default { + name: "StaticsDbadia", + components: { + "m-dia": Dbidia + }, + data() { + return {}; + }, + mounted() { + } +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/dia/views/Dbddia/index.vue b/src/views/Statics/dia/views/Dbddia/index.vue new file mode 100644 index 0000000..cb2da08 --- /dev/null +++ b/src/views/Statics/dia/views/Dbddia/index.vue @@ -0,0 +1,20 @@ +<template> + <m-dia title="dbddia" type="delete"></m-dia> +</template> + +<script> +import Dbidia from "~/views/Statics/dia/views/Dbidia"; + +export default { + name: "StaticsDbddia", + components: { + "m-dia": Dbidia + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/dia/views/Dbedia/index.vue b/src/views/Statics/dia/views/Dbedia/index.vue new file mode 100644 index 0000000..ae9b504 --- /dev/null +++ b/src/views/Statics/dia/views/Dbedia/index.vue @@ -0,0 +1,20 @@ +<template> + <m-dia title="dbedia" type="edit"></m-dia> +</template> + +<script> +import Dbidia from "~/views/Statics/dia/views/Dbidia"; + +export default { + name: "StaticsDbedia", + components: { + "m-dia": Dbidia + }, + data() { + return {}; + }, +}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/views/Statics/dia/views/Dbidia/DiaInfo.vue b/src/views/Statics/dia/views/Dbidia/DiaInfo.vue new file mode 100644 index 0000000..86296ab --- /dev/null +++ b/src/views/Statics/dia/views/Dbidia/DiaInfo.vue @@ -0,0 +1,163 @@ +<template> + <div class="eibs-tab"> + <!-- =============================================左边=========================================== --> + + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="Business Sector" prop="subObjTyp"> + <c-select :disabled="type === 'edit'" style="width: 100%" v-model="model.subObjTyp" placeholder="请选择Business Sector" :code="getCodesByKey('dia_bustxt')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="参考号" prop="objref"> + <c-fullbox> + <c-input :disabled="false" v-model="model.objref" placeholder="请输入参考号"> </c-input> + <template slot="footer"> + <c-button + :disabled="type === 'edit'" + style="margin-left: 10px; padding: 0 12px" + size="small" + type="primary" + @click="onSeainf" + icon="el-icon-info" + > + </c-button> + </template> + </c-fullbox> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="参考号描述" prop="ownrefDesc"> + <c-input :disabled="type === 'edit'" v-model="model.ownrefDesc" style="width: 100%" placeholder="请输入参考号描述"> </c-input> + </el-form-item> + </c-col> + <!-- <c-col :span="24"> + <el-form-item label="交易名" prop="frm"> + <c-select style="width: 100%" v-model="model.frm" placeholder="请选择交易名"> + </c-select> + </el-form-item> + </c-col> --> + <c-col :span="24"> + <el-form-item label="交易" prop="frm"> + <c-select style="width: 100%" v-model="model.frm" placeholder="请选择交易" :code="getCodesByKey('atptxt')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="备忘录名称" prop="nam"> + <c-input v-model="model.nam" style="width: 100%" placeholder="请输入备忘录名称"> + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="明细信息" prop="inftxt"> + <c-input v-model="model.inftxt" placeholder="请输入明细信息" > </c-input> + </el-form-item> + </c-col> + <div v-if="model.cod == 'RAM'"> + <c-col :span="24"> + <el-form-item label="客户号" prop="ptyextkey"> + <c-input v-model="model.ptyextkey" placeholder="请输入客户号" > </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="客户名称" prop="ptynam"> + <c-input v-model="model.ptynam" placeholder="请输入客户名称" > </c-input> + </el-form-item> + </c-col> + </div> + </c-col> + <!-- =============================================右边=========================================== --> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="经办用户" prop="ownusr"> + <c-fullbox> + <c-input :disabled="false" v-model="model.ownusr" placeholder="请输入经办用户" > </c-input> + <template slot="footer"> + <c-button + :disabled="type === 'edit'" + style="margin-left: 10px; padding: 0 12px" + size="small" + type="primary" + @click="onSeainf" + icon="el-icon-info" + > + </c-button> + </template> + </c-fullbox> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="经办用户组" prop="ownusg"> + <c-select style="width: 100%" v-model="model.ownusg" placeholder="请选择经办用户组" :code="getCodesByKey('usgtxt')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="创建/修改人" prop="usr"> + <c-input :disabled="type === 'edit'" v-model="model.usr" placeholder="请输入创建/修改人" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="是否完成" prop="donflg"> + <c-select style="width: 100%" v-model="model.donflg" placeholder="请选择是否完成" :code="getCodesByKey('dia_donflg')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="类型" prop="cod"> + <c-select :disabled="type === 'edit'" style="width: 100%" v-model="model.cod" placeholder="请选择类型" :code="getCodesByKey('diatxt')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="日期" prop="dat"> + <c-date-picker type="date" v-model="model.dat" style="width:100%" placeholder="请选择日期"></c-date-picker> + </el-form-item> + </c-col> + <div v-if="model.cod == 'RAM'"> + <c-col :span="24"> + <el-form-item label="付款币种" prop="paycur"> + <c-input v-model="model.paycur" placeholder="请输入付款币种" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="付款金额" prop="payamt"> + <c-input v-model="model.payamt" placeholder="请输入付款金额" > + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="预计核验日期" prop="prechkdat"> + <c-date-picker type="date" v-model="model.prechkdat" style="width:100%" placeholder="请选择预计核验日期"></c-date-picker> + </el-form-item> + </c-col> + </div> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; +export default { + name: '', + props: ['model', 'type'], + data() { + return { + } + }, + + mounted() {}, + + methods: { + getCodesByKey(key) { + return codes[key] ?? []; + }, + }, +} +</script> + +<style></style> diff --git a/src/views/Statics/dia/views/Dbidia/index.vue b/src/views/Statics/dia/views/Dbidia/index.vue new file mode 100644 index 0000000..66c7b8b --- /dev/null +++ b/src/views/Statics/dia/views/Dbidia/index.vue @@ -0,0 +1,177 @@ +<template> + <div class="eContainer"> + <c-page :title="title"> + <el-form + ref="modelForm" + label-width="120px" + size="small" + label-position="right" + :model="model" + :rules="rules" + :validate-on-rule-change="false" + :disabled="isDisabled" + > + <c-tabs v-model="tabVal" ref="elment" type="card"> + <el-tab-pane label="交易备忘录查询" name="dia"> + <c-content> + <m-dia-info :model="model" :type="type" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + <div style="text-align: center"> + <c-button + type="primary" + style="margin-right: 10px" + @click="commitAdd" + v-if="type === 'add'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitEdit" + v-if="type === 'edit'" + >提 交</c-button + > + <c-button + type="primary" + style="margin-right: 10px" + @click="commitDelete" + v-if="type === 'delete'" + >提 交</c-button + > + <c-button type="primary" @click="goBack">返 回</c-button> + </div> + </c-page> + </div> + </template> + + <script> + import Utils from "~/utils"; + import Dia, { Pattern } from "../../model/Dia.js"; + + import DiaInfo from "./DiaInfo.vue"; + + import { queryById, add, edit, deleteById, queryDetailById } from "~/service/test/dia.js"; + + export default { + name: "StaticsDbidia", + components: { + "m-dia-info": DiaInfo, + }, + provide() { + return { + root: this, + }; + }, + props: { + type: { + type: String, + default: "info" + }, + title: { + type: String, + default: "dbidia" + } + }, + data() { + return { + model: new Dia().data, + tabVal: "dia", + rules: Pattern, + }; + }, + computed: { + isDisabled() { + return this.type === "info" || this.type === "delete"; + }, + }, + created() { + if (this.type !== "add") { + const data = {"inr":this.$route.params.inr}; + queryDetailById(data).then((res) => { + if (res.inr) { + this.model = res; + } else { + this.$message.error("数据不存在") + } + }); + } + }, + methods: { + commitAdd() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + add(this.model) + .then((res) => { + console.log('返回结果'+res.messsage); + if (res.messsage !== null && Object.keys(res.messsage).length > 0) { + this.$message.error(res.messsage) + } else { + this.$message.success("保存成功!") + this.goBack(true) + } + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitEdit() { + this.$refs.modelForm.validate((validated) => { + if (validated) { + edit(this.model) + .then((res) => { + this.$message.success("保存成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("保存失败!"); + }); + } else { + Utils.formValidateTips(this.$refs.modelForm.fields) + } + }); + }, + commitDelete() { + this.$confirm("是否确认删除?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + let data = {"inr":this.model.inr} + deleteById(data) + .then((res) => { + this.$message.success("删除成功!"); + this.goBack(true) + }) + .catch((err) => { + this.$message.error("删除失败!"); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + }); + }, + /** + * update 是否更新infdia的查询列表 + */ + goBack(update) { + this.$store.dispatch("TagsView/delView", this.$route); + this.$router.push({ name: "StaticsInfdia", params: { update } }); + }, + + }, + }; + </script> + + <style> + </style> \ No newline at end of file diff --git a/src/views/Statics/dia/views/Infdia/Infsea.vue b/src/views/Statics/dia/views/Infdia/Infsea.vue new file mode 100644 index 0000000..35676a3 --- /dev/null +++ b/src/views/Statics/dia/views/Infdia/Infsea.vue @@ -0,0 +1,227 @@ +<template> + <div class="eibs-tab"> + + <c-col :span="12" class="col-left"> + <c-col :span="24"> + <el-form-item label="类型" prop="cod"> + <c-select style="width: 100%" v-model="model.cod" placeholder="请选择类型" :code="getCodesByKey('diatxt')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="参考号" prop="objref"> + <c-input v-model="model.objref" placeholder="请输入参考号" style="width: 100%"> + </c-input> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="经办用户" prop="ownusr"> + <c-fullbox> + <c-input :disabled="true" v-model="model.ownusr" placeholder="请输入经办用户" style="width: 100%"></c-input> + <template slot="footer"> + <c-button :disabled="type === 'edit'" style="margin-left: 10px; padding: 0 12px" size="small" + type="primary" @click="queryOwnusr()" icon="el-icon-info" /> + </template> + </c-fullbox> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="是否完成标志" prop="donflg"> + <c-select style="width: 100%" v-model="model.donflg" placeholder="请选择是否完成标志" + :code="getCodesByKey('dia_donflg')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="经办用户组" prop="ownusg"> + <c-select style="width: 100%" v-model="model.ownusg" placeholder="请选择经办用户组" :code="getCodesByKey('usgtxt')"> + </c-select> + </el-form-item> + </c-col> + </c-col> + <!------------- 右 ----------> + <c-col :span="12" class="col-right"> + <c-col :span="24"> + <el-form-item label="开始日期" prop="datFrom"> + <c-date-picker type="date" v-model="model.datFrom" style="width:100%" placeholder="请选择开始日期"></c-date-picker> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="截止日期" prop="datTo"> + <c-date-picker type="date" v-model="model.datTo" style="width:100%" placeholder="请选择截止日期"></c-date-picker> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="交易名" prop="frm"> + <c-select style="width: 100%" v-model="model.frm" placeholder="请选择交易名" :code="getCodesByKey('atptxt')"> + </c-select> + </el-form-item> + </c-col> + <c-col :span="24"> + <el-form-item label="创建/修改人" prop="usr"> + <c-fullbox> + <c-input :disabled="true" v-model="model.usr" placeholder="请输入创建/修改人" style="width: 100%"></c-input> + <template slot="footer"> + <c-button :disabled="type === 'edit'" style="margin-left: 10px; padding: 0 12px" size="small" + type="primary" @click="onSeainf" icon="el-icon-info" /> + </template> + </c-fullbox> + </el-form-item> + </c-col> + </c-col> + + <c-col :span="24"> + <c-col :span="12" style="text-align: left"> + <el-button type="primary" size="small" @click="diaAdd">新增</el-button> + </c-col> + <c-col :span="12" style="text-align: right"> + <el-button size="small" @click="handleReset">重置</el-button> + <el-button type="primary" icon="el-icon-search" size="small" @click="onSearch()">查询 + </el-button> + </c-col> + </c-col> + <c-col :span="24"> + <c-paging-table :data="diaData" :columns="diaColumns" :pageNumber="model.pageNum" :pageSize="model.pageSize" + :total="model.total" v-on:queryFunc="queryFunc" :border="true"> + <c-table-column fixed="right" prop="op" label="操作" width="240px"> + <template slot-scope="{ scope }"> + <c-button style="margin-left: 0" size="small" @click="diaInfo(scope.$index, scope.row)">详情</c-button> + <c-button style="margin-left: 5px" size="small" type="primary" + @click="diaEdit(scope.$index, scope.row)">修改</c-button> + <c-button size="small" style="margin-left: 5px" @click="diaDelete(scope.$index, scope.row)">删除</c-button> + </template> + </c-table-column> + </c-paging-table> + </c-col> + </div> +</template> + +<script> +import codes from "~/config/CodeTable"; + +import { queryByPage } from "~/service/test/dia.js"; + +export default { + name: "", + props: ["model"], + inject: ["root"], + data() { + return { + diaData: [], + diaColumns: [ + { label: '日期', prop: 'dat', width: 'auto' }, + { label: '类型', prop: 'cod', width: 'auto' }, + { label: '参考号', prop: 'objref', width: 'auto' }, + { label: '备忘录名称', prop: 'nam', width: 'auto' }, + { label: '交易名', prop: 'frm', width: 'auto' }, + { label: '经办用户', prop: 'ownusr', width: 'auto' }, + { label: '经办用户组', prop: 'ownusg', width: 'auto' }, + { label: '是否完成', prop: 'donflg', width: 'auto' }, + ], + dialogFormVisible: false, + }; + }, + computed: { + }, + activated() { + this.$forceUpdate() + // 填充ownusr查询条件 + const { extkey } = this.$route.params + if (extkey != undefined && extkey != null) { + this.model.ownusr = extkey + } + // 查询数据 + const { update } = this.$route.params + if (update) { + this.onInfdiaSearch() + } + + }, + methods: { + getCodesByKey(key) { + return codes[key] ?? []; + }, + handleReset() { + this.root.$refs.modelForm.resetFields(); + }, + onSearch() { + this.model.pageSize = 5; + this.model.pageNum = 1; + this.onInfdiaSearch(); + }, + onInfdiaSearch() { + queryByPage(this.model).then(res => { + const list = res.list + // Object.keys(list).forEach((item) => { + // let obj = list[item] + // let codArr = codes['diatxt'].filter((i) => { + // return i.value == obj.cod + // }) + // obj.codCn = codArr[0].label + // let donflgArr = codes['dia_donflg'].filter((i) => { + // return i.value == obj.donflg + // }) + // obj.donflgCn = donflgArr[0].label + // }) + this.diaData = list + this.model.pageNum = res.pageNumber + this.model.pageSize = res.pageSize + this.model.total = res.total + }) + }, + queryFunc(pageNumber, pageSize) { + this.model.pageNum = pageNumber + this.model.pageSize = pageSize + this.onInfdiaSearch() + }, + diatypeChange(val) { + this.model.fectyp = val; + }, + diaCodesByKey(key) { + return codes[key] ?? []; + }, + diaAdd() { + this.$router.push(`/statics/dbadia`) + }, + diaInfo(index, row) { + this.$router.push(`/statics/dbidia/${row.inr}`) + }, + diaEdit(index, row) { + this.$router.push(`/statics/dbedia/${row.inr}`) + }, + diaDelete(index, row) { + this.$router.push(`/statics/dbddia/${row.inr}`) + }, + queryOwnusr() { + this.$router.push({ + name: 'StaticsInfusr', + params: { + from: "StaticsInfdia" + } + }) + }, + // 通过user页面的返回信息填充查询条件 + fillOwnusrByRoute() { + const { extkey } = this.$route.params + if (extkey != undefined && extkey != null) { + this.model.ownusr = extkey + } + }, + }, +}; +</script> + +<style scoped> +.table-button-item-list { + padding: 0; + margin: 0; +} + +.table-button-item-list li { + list-style: none; + padding: 5px 0; + text-align: center; + color: #606266; + cursor: pointer; +} +</style> diff --git a/src/views/Statics/dia/views/Infdia/index.vue b/src/views/Statics/dia/views/Infdia/index.vue new file mode 100644 index 0000000..a19b133 --- /dev/null +++ b/src/views/Statics/dia/views/Infdia/index.vue @@ -0,0 +1,49 @@ +<template> + <div class="eContainer"> + <c-page title="交易备忘录查询"> + <el-form :model="model" ref="modelForm" label-width="120px" label-position="right" size="small"> + <c-tabs v-model="tabVal" ref="elment" type="card"> + <!--PD000039 --> + <el-tab-pane label="查询面板" name="infsea"> + <c-content> + <m-infsea :model="model" ref="infsea" /> + </c-content> + </el-tab-pane> + </c-tabs> + </el-form> + </c-page> + </div> + </template> + + <script> + import Infsea from "./Infsea"; + + export default { + name: "StaticsInfdia", + components: { + "m-infsea": Infsea, + }, + provide() { + return { + root: this, + }; + }, + data() { + return { + tabVal: "infsea", + model: { + cod: "", + pageSize:5, + pageNum:1, + total:0 + + }, + }; + }, + }; + </script> + + <style> + + </style> + \ No newline at end of file