Commit b7a99bf2 by 潘际乾

任务列表

parent e3ff1db5
......@@ -16,14 +16,8 @@ export default {
methods: {
/**
* 以英文为主
* 若 lang 为中文 zh ,则列 label 不变
* 若 lang 为英文 en ,则需将中文翻译为英文(得提前配置好表格头的国际化:中 --> 英)
*/
generateI18nLabel() {
const lang = this.$store.state.I18n.lang
if (lang === "zh") {
return this.label;
}
return this.$t(`custom.columns.${this.label}`)
}
}
......
import Utils from "~/utils"
/**
* Bopsel Check规则
*/
let checkObj = {
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
/**
* Bopsel Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
"dblstm" :Utils.defaultFunction,
"bopquep.frmdat" :Utils.defaultFunction,
"bopquep.boptyp" :Utils.defaultFunction,
"errsel.msgstm" :Utils.defaultFunction,
"bopquep.staflg" :Utils.defaultFunction,
"bopquep.tildat" :Utils.defaultFunction,
"bopquep.ownextkey" :Utils.defaultFunction,
}
//你可以添加自动default处理
import Api from "~/service/Api"
import Utils from "~/utils"
export default {
async onSerbut(){
let rtnmsg = await this.executeRule("serbut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onDtlbut(){
let rtnmsg = await this.executeRule("dtlbut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onAddbut(){
let rtnmsg = await this.executeRule("addbut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onAmebut(){
let rtnmsg = await this.executeRule("amebut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onDelbut(){
let rtnmsg = await this.executeRule("delbut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onPrtbut(){
let rtnmsg = await this.executeRule("prtbut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onExpbut(){
let rtnmsg = await this.executeRule("expbut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onExpbop(){
let rtnmsg = await this.executeRule("expbop")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onExi(){
let rtnmsg = await this.executeRule("exi")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onErrselSerbut(){
let rtnmsg = await this.executeRule("errsel.serbut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onErrselCorbut(){
let rtnmsg = await this.executeRule("errsel.corbut")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onExi(){
let rtnmsg = await this.executeRule("exi")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async selpHandleSearch() {
let res = await this.executeRule("serbut");
if(res.respCode == SUCCESS)
{
//TODO 处理数据逻辑
this.stmData.data = res.data.dblstm.rows;
if(res.data.dblstm.rows.length == 0){
this.$notify({
title: '成功',
message: '搜索完毕,无满足条件记录',
type: 'success'
});
}else{
this.$notify({
title: '成功',
message: '查询成功',
type: 'success'
});
}
}
else
{
let errorMsg = "";
if(res.fieldErrors){
let errorMsgkey = "";
let errorMsgVal = "";
for (const key in res.fieldErrors) {
errorMsgkey = key;
errorMsgVal = res.fieldErrors[key];
}
errorMsg = errorMsgkey+':'+errorMsgVal;
}else if(res.respMsg){
errorMsg = res.respMsg;
}
this.$notify.error({title: '错误',message: '查询失败!错误信息['+errorMsg+']'});
}
},
async selpHandleReset(){
this.model.bopquep.boptyp = "ALL";
this.model.bopquep.dattyp = "";
this.model.bopquep.frmdat = new Date();
this.model.bopquep.tildat = new Date();
this.model.bopquep.rptno = "";
this.model.bopquep.ownextkey = "";
this.model.bopquep.ptytyp = "";
this.model.bopquep.ptynam = "";
this.model.bopquep.medtyp = "";
this.model.bopquep.ownref = "";
this.model.bopquep.sum = "";
this.model.bopquep.staflg = "";
},
async errpHandleSearch() {
let res = await this.executeRule("errsel.serbut");
if(res.respCode == SUCCESS)
{
//TODO 处理数据逻辑
this.stmData.data = res.data.errsel_msgstm.rows;
if(res.data.errsel_msgstm.rows.length == 0){
this.$notify({
title: '成功',
message: '搜索完毕,无满足条件记录',
type: 'success'
});
}else{
this.$notify({
title: '成功',
message: '查询成功',
type: 'success'
});
}
}
else
{
let errorMsg = "";
if(res.fieldErrors){
let errorMsgkey = "";
let errorMsgVal = "";
for (const key in res.fieldErrors) {
errorMsgkey = key;
errorMsgVal = res.fieldErrors[key];
}
errorMsg = errorMsgkey+':'+errorMsgVal;
}else if(res.respMsg){
errorMsg = res.respMsg;
}
this.$notify.error({title: '错误',message: '查询失败!错误信息['+errorMsg+']'});
}
},
async errpHandleReset(){
this.model.errsel.rptno = "";
this.model.bopquep.ownextkey = "";
this.model.bopquep.frmdat = new Date();
this.model.bopquep.tildat = new Date();
}
}
\ No newline at end of file
export default {
"bopquep.frmdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"bopquep.tildat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"bopquep.staflg":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"bopquep.dattyp":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"bopquep.rptno":[
{type: "string", required: false, message: "必输项"},
{max: 22,message:"长度不能超过22"}
],
"bopquep.ptynam":[
{type: "string", required: false, message: "必输项"},
{max: 50,message:"长度不能超过50"}
],
"bopquep.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"bopquep.sum":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"dblstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"errsel.rptno":[
{type: "string", required: false, message: "必输项"},
{max: 22,message:"长度不能超过22"}
],
"bopquep.frmdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"bopquep.tildat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"errsel.msgstm":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
}
\ No newline at end of file
import Api from "~/service/Api"
import Pts from "../Common/Pts"
export default class Bopsel{
constructor () {
this.data = {
dblstm:"", // Selection .dblstm
bopquep:{
ownextkey:"", // Initial Code .bopquep.ownextkey
frmdat:"", // From .bopquep.frmdat
tildat:"", // Until .bopquep.tildat
boptyp:"", // 申报类型 .bopquep.boptyp
staflg:"", // 至 .bopquep.staflg
dattyp:"", // 查询日期类型 .bopquep.dattyp
medtyp:"", // 结算方式 .bopquep.medtyp
rptno:"", // 申报号码 .bopquep.rptno
ptytyp:"", // 客户类型 .bopquep.ptytyp
ptynam:"", // 客户名称 .bopquep.ptynam
ownref:"", // 业务编号 .bopquep.ownref
sum:"", // 笔数 .bopquep.sum
},
errsel:{
msgstm:"", // Select Error Message .errsel.msgstm
rptno:"", // 申报编号 .errsel.rptno
},
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
import Utils from "~/utils"
/**
* Diasel Check规则
*/
let checkObj = {
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
/**
* Diasel Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
"usfmod.flt" :Utils.defaultFunction,
"dspstm" :Utils.defaultFunction,
"usfmod.selusg" :Utils.defaultFunction,
"usfmod.selusgset" :Utils.defaultFunction,
"usfmod.usr.extkey" :Utils.defaultFunction,
"diatil" :Utils.defaultFunction,
"seasec" :Utils.defaultFunction,
"diafro" :Utils.defaultFunction,
"searef" :Utils.defaultFunction,
}
//你可以添加自动default处理
import Api from "~/service/Api"
import Utils from "~/utils"
export default {
async onUsfmodShwflt(){
let rtnmsg = await this.executeRule("usfmod.shwflt")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onButdet(){
let rtnmsg = await this.executeRule("butdet")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onButdia(){
let rtnmsg = await this.executeRule("butdia")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onButdel(){
let rtnmsg = await this.executeRule("butdel")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onButprt(){
let rtnmsg = await this.executeRule("butprt")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onButconsel(){
let rtnmsg = await this.executeRule("butconsel")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onButconcal(){
let rtnmsg = await this.executeRule("butconcal")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onButexi(){
let rtnmsg = await this.executeRule("butexi")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async handleSearch() {
this.executeDefault("dspstm").then(res => {
//TODO 处理数据逻辑
this.stmData.data = res.data.dspstm.rows;
this.$store.commit("setTaskList", {key: "diasel", val: this.stmData.data.length});
})
},
async handleReset(){
this.model.diafro = "";
this.model.diatil = "";
this.model.reasen = "";
this.model.searef = "";
this.model.seasec = "";
this.model.usfmod.flt = "";
}
}
\ No newline at end of file
export default {
"diafro":[
{type: "date", required: false, message: "输入正确的日期"}
],
"diatil":[
{type: "date", required: false, message: "输入正确的日期"}
],
"searef":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"usfmod.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"usfmod.usrget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"dspstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
}
\ No newline at end of file
import Api from "~/service/Api"
import Pts from "../Common/Pts"
export default class Diasel{
constructor () {
this.data = {
diafro:"", // Diary From date .diafro
diatil:"", // Diary Till date .diatil
usfmod:{
labtxt:"", // Text of Label .usfmod.labtxt
usftxt:"", // Text of Selection Text .usfmod.usftxt
flt:"", // Filter .usfmod.flt
selusg:"", // Selected User Group .usfmod.selusg
selusgset:"", // Selected User Group Set .usfmod.selusgset
usr:{
extkey:"", // User ID .usfmod.usr.extkey
},
usrget:{
sdamod:{
seainf:"", // .usfmod.usrget.sdamod.seainf
},
},
selusb:"", // Select user branch .usfmod.selusb
},
searef:"", // Selection Reference .searef
seasec:"", // Business Sector .seasec
dspstm:"", // Display Stream .dspstm
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
/**
* Sptsel Check规则
*/
export default {
}
/**
* Sptsel Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
"sptstm": defaultSptstm,
"dlaxq": defaultDlaxq,
"usfmod.labtxt": defaultUsfmodLabtxt,
"usfmod.flt": defaultUsfmodFlt,
"usfmod.shwflt": defaultUsfmodShwflt,
"dlmft": defaultDlmft,
"butimg": defaultButimg,
"dflg": defaultDflg,
"yptinf": defaultYptinf,
"usfmod.usr.extkey": defaultUsfmodUsrExtkey,
"chkinc": defaultCheckbox,
"chkdzt": defaultCheckbox,
"chkpen": defaultCheckbox,
"chkcor": defaultCheckbox,
"chkaut": defaultCheckbox,
"chkdel": defaultCheckbox,
"chktco": updateTable,
// "chkcan": updateTable,
}
function defaultSptstm() {
}
function defaultDlaxq() {
}
function defaultUsfmodLabtxt() {
}
function defaultUsfmodFlt() {
}
function defaultUsfmodShwflt() {
}
function defaultDlmft() {
}
function defaultButimg() {
}
async function defaultDflg() {
const that = this;
that.executeDefault("dflg").then(res => {
that.model.dflg = res.data.dflg;
})
}
async function defaultYptinf() {
const that = this;
that.executeDefault("yptinf").then(res => {
//TODO 处理数据逻辑
})
}
function defaultUsfmodUsrExtkey() {
}
function defaultCheckbox(rule, value, callback) {
const that = this;
if (that.model[rule.field] === "") {
return
}
if(that.model[rule.field] === false){
that.model[rule.field] = "";
}
that.executeDefault("sptstm").then(res => {
//TODO 处理数据逻辑
that.$refs.Menu.stmData.data = res.data.sptstm.rows;
})
}
function updateTable(rule, value, callback){
const that = this;
if (that.model[rule.field] === true && that.$refs.Menu.stmData.columns[3] === "7 6 \"Creation\" 101 20 DateTime 1") {
that.$refs.Menu.stmData.columns.splice(3, 0, "18 5 \"MT\" 100");
}
if (that.model[rule.field] === false && that.$refs.Menu.stmData.columns[3] === "18 5 \"MT\" 100") {
that.$refs.Menu.stmData.columns.splice(3, 1);
}
}
import { split } from "lodash";
import Api from "~/service/Api"
import Utils from "~/utils/index"
export default {
async onUsfmodShwflt() {
let rtnmsg = await this.executeRule("usfmod_shwflt")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onTake() {
let rtnmsg = await this.executeRule("take")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onDelete(idx,row) {
let params = {selDst:"sptstm",selIds:[idx+1]}
let rtnmsg = await this.executeRule("del",params)
if (rtnmsg.respCode == SUCCESS) {
this.stmData.data = rtnmsg.data.sptstm.rows;
this.$store.commit("setTaskList", {key: "sptbrk", val: this.stmData.data.length});
this.$notify({ title: '成功', message: '删除成功!' });
}
else {
this.$notify.error({ title: '错误', message: '删除失败!' });
}
},
async onRouting() {
let rtnmsg = await this.executeRule("routing")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onShowInc() {
let rtnmsg = await this.executeRule("show_inc")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async onDetails(idx, row) {
let viewurl = "business/sptpopup";
const selIds= [idx + 1];
const selDst= "sptstm";
let params = {selIds,selDst};
this.executeRule("sptstm,butspt",params).then((res) => {
if (res.respCode == SUCCESS) {
Utils.copyValueFromVO(this.model, res.data);
sessionStorage.setItem('Sptpopup', JSON.stringify(this.model));
this.$router.push({ path: viewurl, query: {}});
}else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
})
/* let rtnmsg = await this.executeRule("details")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
} */
},
async continueEdit(row) {
//let rtnmsg = await Api.post("getPendingData",{params:{'selsptinr':row[0]}})
//if (rtnmsg.respCode == SUCCESS) {
//var cacheFileName = rtnmsg.data.cacheFileName;
this.model.selsptinr = row['INR'];
let rtnmsg = await this.executeRule("tak")
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
let trnName = row.交易代码.toLowerCase();
// let viewurl = "/business/ditopn?selsptinr=" + row[0];
//let viewurl = "/business/"+trnName+"?selsptinr=" + row['INR'];
let viewurl = "/business/"+trnName;
this.$router.push(viewurl);
}
else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
//}
},
async handleReset() {
this.model.chkinc = "";
this.model.chkdzt = "";
this.model.chkpen = "";
this.model.chkcor = "";
this.model.chkaut = "";
this.model.chkdel = "";
this.model.chktco = "";
this.model.chkcan = "";
this.model.selobj = "";
this.model.seltxt = "";
this.model.usfmod.flt = "";
this.model.inidatfro = "";
this.model.inidattil = "";
this.model.dflg = "1";
this.model.chkypt = "";
this.model.yptinf = "";
},
async handleSearch() {
if(this.sourceModel.length===0){
this.sourceData.forEach(s => {
this.model[s.value] = 't';
})
}
const res = await this.executeDefault("sptstm")
//TODO 处理数据逻辑
this.stmData.data = res.data.sptstm.rows;
this.$store.commit("setTaskList", {key: "sptsel", val: this.stmData.data.length});
// if(res.data.sptstm.rows.length == 0){
// this.$notify({
// title: '成功',
// message: '搜索完毕,无满足条件记录',
// type: 'success'
// });
// }
},
async sptfndHandleReset() {
this.model.chkinc = "";
this.model.chkdzt = "";
this.model.chkpen = "";
this.model.chkcor = "";
this.model.chkaut = "";
this.model.chkdel = "";
this.model.chktco = "";
this.model.chkcan = "";
this.model.selobj = "";
this.model.seltxt = "";
this.model.usfmod.flt = "";
this.model.inidatfro = "";
this.model.inidattil = "";
this.model.dflg = "1";
this.model.chkypt = "";
this.model.yptinf = "";
},
async sptfndHandleSearch() {
this.model.chkpen = "t";
// this.executeDefault("sptstm").then(res => {
// //TODO 处理数据逻辑
// this.stmData.data = res.data.sptstm.rows;
// })
const res = await this.executeDefault("sptstm")
this.stmData.data = res.data.sptstm.rows;
this.$store.commit("setTaskList", {key: "sptbrk", val: this.stmData.data.length});
// if(res.data.sptstm.rows.length == 0){
// this.$notify({
// title: '成功',
// message: '搜索完毕,无满足条件记录',
// type: 'success'
// });
// }
},
async onSptpButord(){
let rtnmsg = await this.executeRule("sptp.butord")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onSptpButcls(){
let rtnmsg = await this.executeRule("sptp.butcls")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
}
\ No newline at end of file
export default {
"selobj":[
{type: "string", required: false, message: "必输项"},
{max: 32,message:"长度不能超过32"}
],
"seltxt":[
{type: "string", required: false, message: "必输项"},
{max: 32,message:"长度不能超过32"}
],
"inidatfro":[
{required: false, message: "输入正确的日期"}
],
"inidattil":[
{required: false, message: "输入正确的日期"}
],
"usfmod.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"usfmod.usrget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"sptstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"yptinf":[
{type: "string", required: false, message: "必输项"},
{max: 60,message:"长度不能超过60"}
],
"spt.objnam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"spt.inr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"spt.txt":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"spt.frm":[
{type: "string", required: false, message: "必输项"},
{max: 6,message:"长度不能超过6"}
],
"spt.ownusr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"spt.inftxt":[
{type: "string", required: true, message: "必输项"},
{max: 65,message:"长度不能超过65"}
],
"spt.usr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"spt.dattim":[
{type: "string", required: false, message: "必输项"},
{max: 15,message:"长度不能超过15"}
],
"spt.cretrn":[
{type: "string", required: false, message: "必输项"},
{max: 6,message:"长度不能超过6"}
],
"spt.tardattim":[
{type: "string", required: false, message: "必输项"},
{max: 15,message:"长度不能超过15"}
],
"sptp.smh.msgtyp":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"sptp.smh.sndkey":[
{type: "string", required: false, message: "必输项"},
{max: 50,message:"长度不能超过50"}
],
"sptp.smh.relcur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"sptp.smh.relamt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
}
\ No newline at end of file
import Api from "~/service/Api";
export default class Sptsel {
constructor() {
this.data = {
chkinc: "", // Incoming .chkinc
chkpen: "", // Pending .chkpen
chkcor: "", // Correction .chkcor
chkaut: "", // Automatic .chkaut
selobj: "", // Reference .selobj
seltxt: "", // Selection Name .seltxt
usfmod: {
labtxt: "", // Text of Label .usfmod.labtxt
usftxt: "", // Text of Selection Text .usfmod.usftxt
flt: "", // Filter .usfmod.flt
selusg: "", // Selected User Group .usfmod.selusg
selusgset: "", // Selected User Group Set .usfmod.selusgset
usr: {
extkey: "", // User ID .usfmod.usr.extkey
},
usrget: {
sdamod: {
seainf: "", // .usfmod.usrget.sdamod.seainf
},
},
selusb: "", // Select user branch .usfmod.selusb
},
chkdel: "", // Deleted .chkdel
sptstm: "", // List of SPT records .sptstm
yptinf: "", // 退回原因 .yptinf
chkypt: "", // 云平台 .chkypt
inidatfro: "", // Date of entry of Transaction .inidatfro
inidattil: "", // Date of entry of Transaction until .inidattil
routxt: "", // 已转报 .routxt
dflg: "", // 国内国际标志 .dflg
chktco: "", // 网银 .chktco
chkcan: "", // 归档 .chkcan
chkdzt: "", // E-Trade .chkdzt
pageId: "", // ctx的key
spt:{
sta:"", // Type .spt.sta
hldflg:"", // Hold Flag .spt.hldflg
objnam:"", // Reference .spt.objnam
inr:"", // Internal Unique ID of Pending Transaction .spt.inr
txt:"", // Name .spt.txt
frm:"", // Transaction .spt.frm
ownusr:"", // Responsible User .spt.ownusr
ownusg:"", // Responsible Group .spt.ownusg
inftxt:"", // Infotext .spt.inftxt
infdsp:"", // Infotext .spt.infdsp
usr:"", // Entered by .spt.usr
dattim:"", // Time of Creation .spt.dattim
cretrn:"", // Creating Transaction ID .spt.cretrn
tardattim:"", // Target for Completion .spt.tardattim
},
sptp:{
smh:{
msgtyp:"", // Message Type .sptp.smh.msgtyp
sndkey:"", // Receiver Key .sptp.smh.sndkey
relcur:"", // Relevant Amount .sptp.smh.relcur
relamt:"", // Relevant Amount Optional .sptp.smh.relamt
},
},
selsptinr:"",
pageId: "" // ctx的key
}
}
}
\ No newline at end of file
/**
* Trnrel Check规则
*/
export default {
"trn.inr" :[checkTrnInrN1500,],
"atpget.sdamod.dadsnd" :[checkAtpgetSdamodDadsndN100,],
"trn.inftxt" :[checkTrnInftxtN100,],
"recpan.atpget.sdamod.dadsnd" :[checkRecpanAtpgetSdamodDadsndN100,],
"recpan.recget.sdamod.dadsnd" :[checkRecpanRecgetSdamodDadsndN100,],
}
/**
* source:trnget.@0009.script
* recpan.recget
*/
function checkTrnInrN1500(rule, value, callback)
{
callback()
}
/**
* source:atpget.@0001.script
* atpget
*/
function checkAtpgetSdamodDadsndN100(rule, value, callback)
{
callback()
}
/**
* source:txmmod.@0009.script
* recpan.inftxt
*/
function checkTrnInftxtN100(rule, value, callback)
{
callback()
}
/**
* source:atpget.@0001.script
* recpan.atpget
*/
function checkRecpanAtpgetSdamodDadsndN100(rule, value, callback)
{
callback()
}
/**
* source:trnget.@0001.script
* recpan.recget
*/
function checkRecpanRecgetSdamodDadsndN100(rule, value, callback)
{
callback()
}
/**
* Trnrel Default规则
*/
import Api from "~/service/Api";
import Utils from "~/utils/index";
export default {
"relcor": defaultRelcor,
"recpan.butspt": defaultRecpanButspt,
"recpan.ackstm": defaultRecpanAckstm,
"seaown": defaultSeaown,
"trn.inftxt": defaultTrnInftxt,
"numtrn": defaultNumtrn,
"recpan.butord": defaultRecpanButord,
"recpan.inftxt.buttxmsel": defaultRecpanInftxtButtxmsel,
"trn.infdsp": defaultTrnInfdsp,
"recpan.incben": defaultRecpanIncben,
"usrcon": defaultUsrcon,
"imgmod.hisimg": defaultImgmodHisimg,
"recpan.con": defaultRecpanCon,
"seajbh": defaultSeajbh,
"recpan.det": defaultRecpanDet,
"trncorco.trnstm": defaultTrncorcoTrnstm,
"imgmod.newhisimg": defaultImgmodNewhisimg,
"recpan.cpltxt": defaultRecpanCpltxt,
"trncorco.dflg": defaultTrncorcoDflg,
"orddsp": defaultOrddsp,
"recpan.usr.extkey": defaultRecpanUsrExtkey,
"atptxt": defaultAtptxt,
"recpan.ackgrp.rec.sndref": defaultRecpanAckgrpRecSndref,
"syswrn.butshw": defaultSyswrnButshw,
"imgmod.newimg": defaultImgmodNewimg,
"recpan.inc": defaultRecpanInc,
"printe": defaultPrinte,
"trn.inr": defaultTrnInr,
"imgmod.image": defaultImgmodImage,
}
function defaultRelcor() {
}
function defaultRecpanButspt() {
}
function defaultRecpanAckstm() {
}
function defaultSeaown() {
}
function defaultTrnInftxt() {
}
function defaultNumtrn() {
}
function defaultRecpanButord() {
}
function defaultRecpanInftxtButtxmsel() {
}
function defaultTrnInfdsp() {
}
function defaultRecpanIncben() {
}
function defaultUsrcon(rule, value, callback) {
const that = this;
that.executeDefault("usrcon").then(res => {
this.model.usrcon = res.data.usrcon;
callback()
})
}
function defaultImgmodHisimg() {
}
function defaultRecpanCon() {
}
function defaultSeajbh() {
}
function defaultRecpanDet() {
}
function defaultTrncorcoTrnstm() {
}
function defaultImgmodNewhisimg() {
}
function defaultRecpanCpltxt() {
}
function defaultTrncorcoDflg(rule, value, callback) {
const that = this;
that.executeDefault("trncorco.dflg").then(res => {
that.model.trncorco.dflg = res.data.trncorco_dflg;
callback()
})
}
function defaultOrddsp() {
}
function defaultRecpanUsrExtkey() {
}
function defaultAtptxt(rule, value, callback) {
const that = this;
that.executeDefault("atptxt").then(res => {
that.model.atptxt = res.data.atptxt;
callback()
})
}
function defaultRecpanAckgrpRecSndref() {
}
function defaultSyswrnButshw() {
}
function defaultImgmodNewimg() {
}
function defaultRecpanInc() {
}
function defaultPrinte() {
}
function defaultTrnInr() {
}
function defaultImgmodImage() {
}
export default {
"trncorco.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"atpget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"atp.cod":[
{type: "string", required: false, message: "必输项"},
{max: 6,message:"长度不能超过6"}
],
"atpget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"trncorco.inidatfro":[
{required: false, message: "输入正确的日期"}
],
"trncorco.inidattil":[
{required: false, message: "输入正确的日期"}
],
"atptxt":[
{type: "string", required: false, message: "必输项"},
{max: 37,message:"长度不能超过37"}
],
"trncorco.trnstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"numtrn":[
{type: "string", required: false, message: "必输项"},
{max: 7,message:"长度不能超过7"}
],
"orddsp":[
{type: "string", required: false, message: "必输项"},
{max: 6,message:"长度不能超过6"}
],
"recpan.recget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"trn.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"recpan.con":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"trn.inr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"recpan.recget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"trn.objnam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"recpan.atpget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"recpan.atp.cod":[
{type: "string", required: false, message: "必输项"},
{max: 6,message:"长度不能超过6"}
],
"recpan.atpget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"trn.reloricur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"trn.reloriamt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"trn.usr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"trn.usg":[
{type: "string", required: false, message: "必输项"},
{max: 6,message:"长度不能超过6"}
],
"trn.relreq":[
{type: "string", required: false, message: "必输项"},
{max: 9,message:"长度不能超过9"}
],
"trn.relres":[
{type: "string", required: false, message: "必输项"},
{max: 9,message:"长度不能超过9"}
],
"trn.cortrninr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"trn.exedat":[
{required: false, message: "输入正确的日期"}
],
"recpan.cretrs.usr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"recpan.cretrs.dattim":[
{type: "string", required: false, message: "必输项"},
{max: 15,message:"长度不能超过15"}
],
"recpan.ackgrp.rec.sndref":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"recpan.smhstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"trn.inftxt":[
{type: "string", required: true, message: "必输项"},
{max: 65,message:"长度不能超过65"}
],
"recpan.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"recpan.usrget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"recpan.trsstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"wfmmod.wfs.objinr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"wfmmod.wfs.objnam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"recpan.wfestm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recpan.evthisstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recpan.evtstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recpan.ackstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recpan.trostm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recpan.prtgleblk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
"recpan.prtpanblk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
"docimm.prtswtpblk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
"docimm.xmldocblk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
"docimm.prtswtrpblk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
"docimm.docbol.prtpblk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
}
\ No newline at end of file
import Api from "~/service/Api";
export default class Trnrel {
constructor() {
this.data = {
trncorco: {
ownref: "", // Reference .trncorco.ownref
relflg: "", // Status .trncorco.relflg
inidatfro: "", // Date of entry of Transaction .trncorco.inidatfro
inidattil: "", // Date of entry of Transaction until .trncorco.inidattil
trnstm: "", // List of transaction sfor display .trncorco.trnstm
dflg: "", // 国内证标志 .trncorco.dflg
selinr: {},
},
atp: {
cod: "", // Transaction Type .atp.cod
},
atpget: {
sdamod: {
seainf: "", // .atpget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .atpget.sdamod.dadsnd
},
},
atptxt: "", // Transaction Text .atptxt
numtrn: "", // # of transactions .numtrn
orddsp: "", // >> .orddsp
bchcon: "", // Branch .bchcon
usrcon: "", // User .usrcon
recpan: {
cpltxt: "", // Completion text .recpan.cpltxt
spt: {
sta: "", // Status .recpan.spt.sta
},
ord: {
sta: "", // Status .recpan.ord.sta
},
recget: {
sdamod: {
seainf: "", // Ident No. .recpan.recget.sdamod.seainf
dadsnd: "", // Drag Drop Sender .recpan.recget.sdamod.dadsnd
},
},
atp: {
cod: "", // Transaction ID .recpan.atp.cod
},
atpget: {
sdamod: {
dadsnd: "", // Drag Drop Sender .recpan.atpget.sdamod.dadsnd
seainf: "", // Transaction .recpan.atpget.sdamod.seainf
},
},
smhstm: "", // Documents .recpan.smhstm
usr: {
extkey: "", // User ID .recpan.usr.extkey
},
usrget: {
sdamod: {
seainf: "", // .recpan.usrget.sdamod.seainf
},
},
trsstm: "", // Signatures .recpan.trsstm
con: "", // Reference .recpan.con
cretrs: {
usr: "", // Entered by .recpan.cretrs.usr
dattim: "", // Timestamp .recpan.cretrs.dattim
},
ackgrp: {
rec: {
sndref: "", // Send to SOP/CASmf reference .recpan.ackgrp.rec.sndref
},
},
wfestm: "", // WFEs for transaction for display .recpan.wfestm
evthisstm: "", // stream of history of transactions .recpan.evthisstm
evtstm: "", // stream of events .recpan.evtstm
ackstm: "", // ACKs for transaction .recpan.ackstm
trostm: "", // TROs for transaction for display .recpan.trostm
prtgleblk: "", // XMLPanel prtgle的内置block .recpan.prtgleblk
prtpanblk: "", // XMLPanel prtpan的内置block .recpan.prtpanblk
},
trn: {
ownref: "", // Reference .trn.ownref
inr: "", // Transaction Key .trn.inr
objnam: "", // External Readable Object Identification .trn.objnam
reloricur: "", // Relevant Amount .trn.reloricur
reloriamt: "", // Relevant Amount for Release in Original Currency .trn.reloriamt
relflg: "", // Release Status of Transaction .trn.relflg
usr: "", // Responsible .trn.usr
usg: "", // Responsible Group .trn.usg
relreq: "", // Signatures Required/Obtained .trn.relreq
relres: "", // Applied Signatures .trn.relres
cortrninr: "", // Based on Ident No. .trn.cortrninr
exedat: "", // Execution Date .trn.exedat
inftxt: "", // Infotext .trn.inftxt
infdsp: "", // Infoflag .trn.infdsp
},
wfmmod: {
wfs: {
objnam: "", // External Readable Object Identification .wfmmod.wfs.objnam
objtyp: "", // Table Used to Store Associated Object .wfmmod.wfs.objtyp
objinr: "", // Object .wfmmod.wfs.objinr
},
},
docimm: {
prtswtpblk: "", // XMLPanel prtswtp的内置block .docimm.prtswtpblk
xmldocblk: "", // XMLPanel xmldoc的内置block .docimm.xmldocblk
prtswtrpblk: "", // XMLPanel prtswtrp的内置block .docimm.prtswtrpblk
docbol: {
prtpblk: "", // XMLPanel prtp的内置block .docimm.docbol.prtpblk
},
},
pageId: "", // ctx的key
searchAllUsers: ""
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<!-- <c-list-search
@form-reset="errpHandleReset"
@form-search="errpHandleSearch"
>
<template v-slot="searchSlot"> -->
<el-form
class="m-table-search-form"
ref="paramsForm"
:inline="true"
label-position="right"
label-width="110px"
size="small"
>
<el-row>
<c-col :span="24" style="">
<c-col :span="8">
<el-form-item label="申报编号" prop="errsel.rptno" style="width: 100%">
<c-input
v-model="model.errsel.rptno"
maxlength="22"
placeholder="请输入申报编号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="起止日期" style="width: 100%">
<c-col :span="11">
<c-date-picker
type="date"
v-model="model.bopquep.frmdat"
value-format="yyyy-MM-dd"
style="width: 100%"
placeholder="请选择From"
></c-date-picker>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-date-picker
type="date"
v-model="model.bopquep.tildat"
value-format="yyyy-MM-dd"
style="width: 100%"
placeholder="请选择Until"
></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="业务所属行" prop="bopquep.ownextkey" style="width: 100%">
<c-select
v-model="model.bopquep.ownextkey"
style="width: 100%"
placeholder="请选择业务所属行"
>
</c-select>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24" style="text-align: right;height:36.8px">
<el-button size="small" @click="errpHandleReset">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="small"
@click="errpHandleSearch"
>查询</el-button
>
</c-col>
</el-row>
</el-form>
<!-- </template>
</c-list-search> -->
<c-col :span="24" style="">
<div style="border-bottom: 10px solid rgb(232, 232, 232)">
</div>
</c-col>
<el-row>
<c-col :span="24" style="">
<c-istream-table :list="stmData.data" :columns="stmData.columns" :showButtonFlg="true">
<el-table-column fixed="right" prop="op" label="操作" width="120px">
<template slot="header">
<c-col :span="11" style="text-align:left"><span>操作</span></c-col>
<!-- <c-col :span="12" style="text-align:right"><c-button icon="el-icon-s-tools"></c-button></c-col> -->
</template>
<template slot-scope="scope">
<a href="javascript:void(0)" @click="continueEdit(scope.row)"
>correct</a
>
</template>
</el-table-column>
</c-istream-table>
</c-col>
</el-row>
<!--
<c-col :span="12">
<el-form-item label="申报编号" prop="errsel.rptno">
<c-input v-model="model.errsel.rptno" maxlength="22" placeholder="请输入申报编号"></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="Initial Code" prop="bopquep.ownextkey">
<c-select v-model="model.bopquep.ownextkey" style="width:100%" placeholder="请选择Initial Code">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="From" prop="bopquep.frmdat">
<c-date-picker type="date" v-model="model.bopquep.frmdat" style="width:100%" placeholder="请选择From"></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="Until" prop="bopquep.tildat">
<c-date-picker type="date" v-model="model.bopquep.tildat" style="width:100%" placeholder="请选择Until"></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onErrselSerbut">
Search
</c-button>
</c-col>
<c-col :span="12">
<el-form-item label="Select Error Message" prop="errsel.msgstm">
<c-input v-model="model.errsel.msgstm" placeholder="请输入Select Error Message"></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" icon="el-icon-search" @click="onErrselCorbut">
Correct
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary" @click="onExi">
Exit
</c-button>
</c-col>
-->
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Bopsel/Event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
stmData: {
columns: [
'4 1 "申报编号" 0 ',
'5 2 "反馈日期" 0',
'7 3 "业务编号" 0',
'20 4 "错误信息" 0',
'21 5 "接口" 0',
],
data: [],
},
};
},
methods: { ...Event },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eContainer">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="150px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<!--PD000000 -->
<el-tab-pane label="申报信息" name="selp">
<m-selp :model="model" :codes="codes" ref="selp"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="差错反馈" name="errp">
<m-errp :model="model" :codes="codes" ref="errp"/>
</el-tab-pane>
</c-tabs>
</el-form>
</div>
</template>
<script>
import { getCodetable } from "~/service/business/codeTable"
import CodeTable from "~/config/CodeTable";
import Bopsel from "~/model/Bopsel";
import commonProcess from "~/mixin/commonProcess";
import Check from "~/model/Bopsel/Check";
import Default from "~/model/Bopsel/Default";
import Pattern from "~/model/Bopsel/Pattern";
import Utils from "~/utils/index"
import Selp from "./Selp";
import Errp from "./Errp";
export default {
name: "Bopsel",
components: {
"m-selp": Selp,
"m-errp": Errp,
},
provide() {
return {
root: this,
};
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "selp",
trnName: "bopsel",
model: new Bopsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
boptyp: [],
dattyp: [
{ label: "按收付汇日期", value: "A" },
{ label: "按经办日期", value: "B" },
],
ptytyp: [
{ label: "对公", value: "C" },
{ label: "对私中国居民", value: "D" },
{ label: "对私非中国居民", value: "F" },
],
medtyp:[
{label:"票汇",value:"D" },
{label:"信用证",value:"L" },
{label:"托收",value:"C" },
{label:"保函",value:"G" },
{label:"光票托收",value:"Y" },
{label:"其他",value:"O" },
{label:"电汇",value:"T" },
{label:"支票代收",value:"Z" },
{label:"信汇",value:"M" },
],
staflg:[
{label:"待确认",value:"P" },
{label:"待发送",value:"W" },
{label:"已发送",value:"S" },
{label:"已撤销",value:"D" },
{label:"已删除",value:"G" },
{label:"待修改",value:"E" },
],
},
};
},
methods: {
tabClick() {},
},
created: async function () {
console.log("进入bopsel交易");
// 查询码表
getCodetable({ tbl: "BOPTYP", lang: "EN" }).then((res) => {
if (res.respCode == SUCCESS) {
this.codes.boptyp = res.data;
}
});
// let rtnmsg = await this.init({});
// if (rtnmsg.respCode == SUCCESS) {
// //TODO 处理数据逻辑
// } else {
// this.$notify.error({ title: "错误", message: "服务请求失败!" });
// }
const that = this;
that.init(that.model).then((res) => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data);
//this.$refs.selp.selpHandleSearch();
//this.$refs.errp.errpHandleSearch();
});
},
};
</script>
<style>
.el-tabs .el-tabs__content {
/* background: #fff; */
padding: 5px;
}
</style>
<template>
<div class="eContainer">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="200px" size="small" :validate-on-rule-change="false">
<!-- <c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">-->
<!--PD000001 -->
<!-- <el-tab-pane label="Diary Selection" name="diaselp"> -->
<!-- <c-content> -->
<m-diaselp :model="model" :codes="codes" ref="diaselp"/>
<!-- </c-content> -->
<!-- </el-tab-pane>
</c-tabs> -->
</el-form>
</div>
</template>
<script>
import { getCodetable } from "~/service/business/codeTable"
import CodeTable from "~/config/CodeTable"
import Diasel from "~/model/Diasel"
import commonProcess from "~/mixin/commonProcess"
import Utils from "~/utils/index"
import Check from "~/model/Diasel/Check"
import Default from "~/model/Diasel/Default"
import Pattern from "~/model/Diasel/Pattern"
import Diaselp from "./Diaselp"
export default {
name: 'Diasel',
components:{
"m-diaselp" : Diaselp,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "diaselp",
trnName: "diasel",
model: new Diasel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
...CodeTable,
bustxt:[],
diatxt:[],
},
}
},
methods:{
tabClick(){
}
},
created:async function(){
console.log("进入diasel交易");
// 查询码表
getCodetable({ tbl:'DIATXT',lang:'EN' }).then((res) => {
if (res.respCode == SUCCESS) {
this.codes.diatxt = res.data;
}
});
getCodetable({ tbl:'BUSTXT',lang:'EN' }).then((res) => {
if (res.respCode == SUCCESS) {
this.codes.bustxt = res.data;
}
});
/* let rtnmsg = await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
this.$refs.diaselp.stmData.data = rtnmsg.data.dspstm.rows;
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
} */
const that = this;
that.init(that.model).then(res => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data)
this.$refs.diaselp.handleSearch();
})
}
}
</script>
<style>
</style>
<template>
<div class="eContainer">
<el-form :model="model" :rules="rules" ref="modelForm" tokenKey="modelForm" label-width="170px" size="small" :validate-on-rule-change="false">
<!-- <c-tabs :value="tabVal" ref="elment" type="card" @tab-click="tabClick"> -->
<!-- <el-tab-pane :value="tabVal" label="待办任务查询" name="menu"> -->
<!-- <c-content> -->
<m-menu :model="model" :codes="codes" ref="Menu"/>
<!-- </c-content> -->
<!-- </el-tab-pane> -->
<!-- </c-tabs> -->
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Sptsel from "~/model/Sptsel"
import commonProcess from "~/mixin/commonProcess.js"
import Pattern from "~/model/Sptsel/Pattern"
import Utils from "~/utils/index"
import Default from "~/model/Sptsel/Default";
import Check from "~/model/Sptsel/Check";
import Menu from "./Menu"
import Event from "~/model/Sptsel/Event"
export default {
name: 'Sptbrk',
components:{
"m-menu" : Menu,
},
provide() {
return {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "menu",
trnName:"sptsel",
model:new Sptsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules:null,
codes:{
flt:CodeTable.flt,
dflg:CodeTable.dflg
},
}
},
methods:{...Event},
mounted:async function(){
console.log("进入sptsel交易");
const that = this;
that.init(that.model).then(res => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data)
this.$refs.Menu.sptfndHandleSearch();
// that.$refs.Menu.stmData.columns = res.data.sptstm.rows;
})
},
computed: {
reload: function(){
return this.$store.state.Status.loading.freshPending;
}
},
watch:{
reload: function(val, oldVal){
if(val){
const that = this;
that.init(that.model).then((res) => {
that.model = Utils.copyValueFromVO(that.model, res.data);
//请求草稿箱数据
this.$refs.Menu.sptfndHandleSearch();
//刷新页面后重置刷新状态为不刷新
this.$store.commit("setLoadingFreshPending", false)
});
}
},
},
}
</script>
<style>
</style>
<template>
<div class="eContainer">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
tokenKey="modelForm"
label-width="140px"
size="small"
:validate-on-rule-change="false"
>
<!-- <c-tabs :value="tabVal" ref="elment" type="card" @tab-click="tabClick"> -->
<!-- <el-tab-pane :value="tabVal" label="待办任务查询" name="menu"> -->
<!-- <c-content> -->
<m-menu :model="model" :codes="codes" ref="Menu" />
<!-- </c-content> -->
<!-- </el-tab-pane> -->
<!-- </c-tabs> -->
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Sptsel from "~/model/Sptsel"
import commonProcess from "~/mixin/commonProcess.js"
import Pattern from "~/model/Sptsel/Pattern"
import Utils from "~/utils/index"
import Default from "~/model/Sptsel/Default";
import Check from "~/model/Sptsel/Check";
import Menu from "./Menu";
import Event from "~/model/Sptsel/Event";
export default {
name: "Sptsel",
components: {
"m-menu": Menu,
},
provide() {
return {
root: this,
};
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
computed: {},
data() {
return {
tabVal: "menu",
trnName: "sptsel",
model: new Sptsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
flt: CodeTable.flt,
dflg: CodeTable.dflg,
sptrelstatus: CodeTable.sptrelstatus,
},
};
},
methods: { ...Event },
mounted: async function () {
console.log("进入sptsel交易");
const that = this;
that.init(that.model).then((res) => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data);
// that.$refs.Menu.stmData.columns = res.data.sptstm.rows;
this.$refs.Menu.handleSearch();
});
},
};
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="XMLPanel prtgle的内置block">
<c-input type="textarea" v-model="model.recpan.prtgleblk" maxlength="200" show-word-limit placeholder="请输入XMLPanel prtgle的内置block" ></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="XMLPanel prtp的内置block">
<c-input type="textarea" v-model="model.docimm.docbol.prtpblk" maxlength="200" show-word-limit placeholder="请输入XMLPanel prtp的内置block" ></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="XMLPanel prtpan的内置block">
<c-input type="textarea" v-model="model.recpan.prtpanblk" maxlength="200" show-word-limit placeholder="请输入XMLPanel prtpan的内置block" ></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="XMLPanel prtswtp的内置block">
<c-input type="textarea" v-model="model.docimm.prtswtpblk" maxlength="200" show-word-limit placeholder="请输入XMLPanel prtswtp的内置block" ></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="XMLPanel prtswtrp的内置block">
<c-input type="textarea" v-model="model.docimm.prtswtrpblk" maxlength="200" show-word-limit placeholder="请输入XMLPanel prtswtrp的内置block" ></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<span>
<c-button type="button" size="mini" @click="showDocOrMsg">显示</c-button>
<el-dialog :title="title" :visible.sync="dialogOpen" width="95%">
<c-docshow :path="path"/>
</el-dialog>
</span>
</template>
<script>
import Api from "~/service/Api"
export default {
props:['path'],
data(){
return {
dialogOpen :false,
}
},
methods:{
async showDocOrMsg(){
this.dialogOpen = true
}
},
computed:{
isdoc(){
if(this.path.endsWith(".pdf"))
return true
else
return false
},
title(){
if(this.isdoc)
return "面函展示"
else
return "报文展示"
}
}
}
</script>
\ No newline at end of file
<template>
<div class="eContainer">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
tokenKey="modelForm"
:validate-on-rule-change="false"
label-width="150px"
size="small"
>
<!-- <el-tabs ref="elment" type="card" @tab-click="tabClick">
<el-tab-pane label="复核夹查询"> -->
<!-- <c-content> -->
<m-inftrnps :model="model" :codes="codes" ref="inftrnps" />
<!-- </c-content> -->
<!-- </el-tab-pane>
</el-tabs> -->
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Trnrel from "~/model/Trnrel";
import commonProcess from "~/mixin/commonProcess";
import Pattern from "~/model/Trnrel/Pattern";
import Default from "~/model/Trnrel/Default";
import Check from "~/model/Trnrel/Check";
import Inftrnps from "./Inftrnps";
import Utils from "~/utils/index";
// import * as poinMessage from '@/util/poin-common/messageManage.js'
import {
TabPane,
Col,
Table,
Form,
FormItem,
Upload,
TableColumn,
Card,
Input,
Button,
Dialog,
Select,
Tabs,
Option,
DatePicker,
Row,
} from "element-ui";
import Event from "~/model/Trnrel/Event";
export default {
name: "Trnfnd",
components: {
"m-inftrnps": Inftrnps,
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
computed: {},
provide() {
return {
root: this,
};
},
data() {
return {
trnName: "trnrel",
model: new Trnrel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
dflg: CodeTable.dflg,
bchtyp: CodeTable.bchtyp,
usrsort: CodeTable.usrsort,
},
};
},
methods: {},
mounted: async function () {
console.log("进入trnrel交易");
const that = this;
that.init(that.model).then((res) => {
//TODO 处理数据逻辑
if ((res.data.trncorco_relflg = "W")) {
res.data.trncorco_relflg = "R";
}
that.model = Utils.copyValueFromVO(that.model, res.data);
// that.$refs.inftrnps.stmData.columns=res.data.trncorco_trnstm.rows
this.$refs.inftrnps.trnfndhandleSearch();
});
},
};
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="ACKs for transaction">
<c-input v-model="model.recpan.ackstm" placeholder="请输入ACKs for transaction"></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="stream of history of transactions">
<c-input v-model="model.recpan.evthisstm" placeholder="请输入stream of history of transactions"></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="stream of events">
<c-input v-model="model.recpan.evtstm" placeholder="请输入stream of events"></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="TROs for transaction for display">
<c-input v-model="model.recpan.trostm" placeholder="请输入TROs for transaction for display"></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="Table Used to Store Associated Object">
<c-select v-model="model.wfmmod.wfs.objtyp" style="width:100%" placeholder="请选择Table Used to Store Associated Object">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="Object">
<c-input v-model="model.wfmmod.wfs.objinr" maxlength="8" placeholder="请输入Object"></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="External Readable Object Identification">
<c-input v-model="model.wfmmod.wfs.objnam" maxlength="40" placeholder="请输入External Readable Object Identification"></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="WFEs for transaction for display">
<c-input v-model="model.recpan.wfestm" placeholder="请输入WFEs for transaction for display"></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="XMLPanel xmldoc的内置block">
<c-input type="textarea" v-model="model.docimm.xmldocblk" maxlength="200" show-word-limit placeholder="请输入XMLPanel xmldoc的内置block" ></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Trnrel/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eContainer">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
tokenKey="modelForm"
:validate-on-rule-change="false"
label-width="150px"
size="small"
>
<!-- <el-tabs ref="elment" type="card" @tab-click="tabClick">
<el-tab-pane label="复核夹查询"> -->
<!-- <c-content> -->
<m-inftrnps :model="model" :codes="codes" ref="inftrnps" />
<!-- </c-content> -->
<!-- </el-tab-pane>
</el-tabs> -->
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Trnrel from "~/model/Trnrel";
import commonProcess from "~/mixin/commonProcess";
import Pattern from "~/model/Trnrel/Pattern";
import Default from "~/model/Trnrel/Default";
import Check from "~/model/Trnrel/Check";
import Inftrnps from "./Inftrnps";
import Trnp0 from "./Trnp0";
import Trnpwfm from "./Trnpwfm";
import Trnpevt from "./Trnpevt";
import Trnpack from "./Trnpack";
import Trnptro from "./Trnptro";
import Prtgle from "./Prtgle";
import Prtpan from "./Prtpan";
import Prtswtp from "./Prtswtp";
import Xmldoc from "./Xmldoc";
import Prtswtrp from "./Prtswtrp";
import Prtp from "./Prtp";
import Utils from "~/utils/index";
// import * as poinMessage from '@/util/poin-common/messageManage.js'
import {
TabPane,
Col,
Table,
Form,
FormItem,
Upload,
TableColumn,
Card,
Input,
Button,
Dialog,
Select,
Tabs,
Option,
DatePicker,
Row,
} from "element-ui";
import Event from "~/model/Trnrel/Event";
export default {
name: "Trnrel",
components: {
"m-inftrnps": Inftrnps,
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
// computed: {},
provide() {
return {
root: this,
};
},
data() {
return {
trnName: "trnrel",
model: new Trnrel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
dflg: CodeTable.dflg,
bchtyp: CodeTable.bchtyp,
usrsort: CodeTable.usrsort,
},
// reload:false,
};
},
created() {
const that = this;
that.init(that.model).then((res) => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data);
// that.$refs.inftrnps.stmData.columns=res.data.trncorco_trnstm.rows
this.$refs.inftrnps.handleSearch();
});
},
methods: {
},
computed: {
reload: function(){
return this.$store.state.Status.loading.freshReview;
}
},
watch:{
reload: function(val, oldVal){
if(val){
const that = this;
that.init(that.model).then((res) => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data);
// that.$refs.inftrnps.stmData.columns=res.data.trncorco_trnstm.rows
this.$refs.inftrnps.handleSearch();
//刷新页面后重置刷新状态为不刷新
this.$store.commit("setLoadingFreshReview", false)
});
}
},
},
};
</script>
<style>
</style>
......@@ -12,7 +12,7 @@
/>
</span>
<c-content :height="180">
<!-- <t-sptsel /> -->
<t-sptsel />
</c-content>
</el-tab-pane>
......@@ -26,13 +26,13 @@
/>
</span>
<c-content :height="180">
<!-- <t-trnrel /> -->
<t-trnrel />
</c-content>
</el-tab-pane>
<el-tab-pane label="已完成列表" name="trnfnd">
<c-content :height="180">
<!-- <t-trnfnd /> -->
<t-trnfnd />
</c-content>
</el-tab-pane>
<el-tab-pane label="待申报列表" name="bopsel">
......@@ -47,7 +47,7 @@
:max="99"
/>
</span>
<!-- <t-sptbrk /> -->
<t-sptbrk />
</el-tab-pane>
<el-tab-pane label="到期提示" name="diasel">
<span slot="label">
......@@ -59,7 +59,7 @@
/>
</span>
<c-content :height="180">
<!-- <t-diasel /> -->
<t-diasel />
</c-content>
</el-tab-pane>
</c-tabs>
......@@ -67,12 +67,12 @@
</template>
<script>
// import Sptsel from "~/views/Business/Sptsel";
// import Sptbrk from "~/views/Business/Sptsel/Sptbrk";
// import Trnrel from "~/views/Business/Trnrel";
// import Trnfnd from "~/views/Business/Trnrel/Trnfnd";
// import Diasel from "~/views/Business/Diasel";
// import Bopsel from "~/views/Business/Bopsel";
import Sptsel from "~/views/Business/Sptsel";
import Sptbrk from "~/views/Business/Sptsel/Sptbrk";
import Trnrel from "~/views/Business/Trnrel";
import Trnfnd from "~/views/Business/Trnrel/Trnfnd";
import Diasel from "~/views/Business/Diasel";
import Bopsel from "~/views/Business/Bopsel";
export default {
data() {
......@@ -96,12 +96,12 @@ export default {
},
},
components: {
// "t-sptsel": Sptsel,
// "t-sptbrk": Sptbrk,
// "t-trnrel": Trnrel,
// "t-trnfnd": Trnfnd,
// "t-diasel": Diasel,
// "t-bopsel": Bopsel,
"t-sptsel": Sptsel,
"t-sptbrk": Sptbrk,
"t-trnrel": Trnrel,
"t-trnfnd": Trnfnd,
"t-diasel": Diasel,
"t-bopsel": Bopsel,
},
};
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment