Commit 69a9dc8e by 吴佳

2022-02-23 wujia 智能审单跪着设置

parent 55b1e9f8
import Api from "~/service/Api"
import Pts from "../Common/Pts"
export default class ExamRule{
constructor () {
this.data = {
ruleDesc: "", // ctx的key
ruleInfo:"",
opndatfrom:"",
opndatto:"",
opndat:"",
ruleCreater:"",
edit:{
index:"",
ruleDesc: "", // ctx的key
ruleInfo:"",
opndat:"",
ruleCreater:"",
mod:"",
field:"",
},
rows:[],
}
}
}
\ No newline at end of file
......@@ -7,6 +7,10 @@ const Status = {
mode: 'normal',
highlights: [],
highlightChanges: [],
checkRuleData:[
"1\t此证不允许保兑\t{dedgrp.rec.bdflg}==Y\t2022-02-21\tzl",
"2\t单据必须自货物装运日后15日内提交,但不能晚于信用证有效期\t{doc.crtdate} - {didgrp.rec.shpdat} <=15 && {doc.crtdate} <= {didgrp.rec.expdate}\t2022-02-20\tmbf"
],
remark: '', //复核意见
homeStatus: { // 任务列表页状态
listConfig: undefined,
......@@ -40,6 +44,9 @@ const Status = {
setHighlights(state, value) {
state.highlights = value
},
setCheckRuleData(state, value) {
state.checkRuleData = value
},
setHighlightChanges (state, value) {
state.highlightChanges = value
},
......
......@@ -111,6 +111,7 @@ import Bftset from "./Bftset"
import Detdrv from "./Detdrv"
import Bftacc from "./Bftacc"
import Bftdcr from "./Bftdcr"
import ExamRule from "./ExamRule";
/**
* 带有name的才会被添加进顶部的标签页里
*/
......@@ -233,5 +234,6 @@ const BusRouter = [
{ path: 'detdrv', component: Detdrv, name: 'Detdrv', meta: { title: '卖方信用证收单' } },
{ path: 'bftacc', component: Bftacc, name: 'Bftacc', meta: { title: '卖方信用证单据承兑' } },
{ path: 'bftdcr', component: Bftdcr, name: 'Bftdcr', meta: { title: '卖方信用证单据电提不符点/开证行拒付' } },
{ path: 'examRule', component: ExamRule, name: 'ExamRule', meta: { title: '智能审单规则设置' } },
]
export default BusRouter
<template>
<div class="eibs-tab">
<!-- <c-infsearch-group @handleSearch="handleSearch" @handleReset="handleReset"> -->
<!-- 持续展示区 -->
<!-- <template slot="keepShow"> -->
<el-form
class="m-table-search-form"
ref="paramsForm"
:inline="true"
label-position="right"
label-width="110px"
size="small"
>
<c-row>
<c-col :span="24">
<c-col :span="8">
<el-form-item
label="审单规则"
prop="ruleInfo"
style="width: 100%"
>
<c-input
v-model="model.ruleInfo"
maxlength="50"
placeholder="请输入审单规则"
></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="创建时间"
prop="opndatfrom"
style="width: 100%"
>
<c-col :span="11">
<c-date-picker
type="date"
v-model="model.opndatfrom"
style="width: 100%"
placeholder="请选择"
></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.opndatto"
style="width: 100%"
placeholder="请选择"
></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="创建人" prop="ruleCreater" style="width: 100%">
<c-input
v-model="model.ruleCreater"
maxlength="40"
placeholder="请输入Name"
></c-input>
</el-form-item>
</c-col>
</c-col>
</c-row>
<!-- </template> -->
<c-col
:span="24"
style="text-align: right; height: 36.8px"
>
<el-button size="small" @click="handleReset">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="small"
@click="handleSearch"
>查询</el-button
>
</c-col>
</el-form>
<c-col :span="24">
<div style="border-bottom: 10px solid rgb(232, 232, 232)"></div>
</c-col>
<c-col style="margin-top: 10px">
<c-button class="medium_bcs" size="medium" type="primary" style="margin-left: 0 ; float :right" @click="ruleAdd()"
>+添加</c-button
>
</c-col>
<c-col :span="24">
<c-istream-table :list="stmData.data" :columns="stmData.columns">
<el-table-column fixed="right" prop="op" label="操作" width="200px">
<template slot-scope="scope">
<c-button
style="margin-left: 0"
size="small"
type="primary"
@click="ruleDetail(scope)"
>
详情
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
@click="ruleEdit(scope)"
>
编辑
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
@click="ruleDel(scope.$index)"
>
删除
</c-button>
</template>
</el-table-column>
</c-istream-table>
</c-col>
<el-dialog :visible.sync="showPanel" :title="opttitle" append-to-body :before-close="cancel">
<el-form
class="m-table-search-form"
ref="paramsForm"
:inline="true"
label-position="right"
label-width="110px"
size="small"
>
<c-row>
<c-col :span="24">
<c-col :span="24">
<c-input v-if="showIndex" style="visibility: hidden" v-model="model.edit.index" ></c-input>
<el-form-item
label="创建时间"
prop="edit.opndat"
style="width: 100%"
>
<c-col :span="24">
<c-date-picker
type="date"
v-model="model.edit.opndat"
style="width: 95%"
placeholder="请选择"
disabled
></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label="单据要求内容文本"
prop="edit.ruleDesc"
style="width: 100%"
>
<c-input
v-model="model.edit.ruleDesc"
placeholder="请输入RuleDesc"
type="textarea"
:rows="4"
maxlength="200"
show-word-limit
:disabled="isDetail"
style="width: 95%"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label="规则判定条件"
prop="edit.ruleInfo"
style="width: 100%"
>
<c-col :span="11">
<el-form-item
label="业务模型"
prop="edit.mod"
style="width: 100%"
>
<c-select
v-model="model.edit.mod"
style="width: 100%"
placeholder="请选择业务模型"
@change="changeMod()"
:disabled="isDetail"
>
<el-option
v-for="item in select01"
:key="item.id"
:label="item.value"
:value="item.value"
></el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item
label="单据模型"
prop="edit.field"
style="width: 98%"
>
<c-select
v-model="model.edit.field"
style="width: 100%"
placeholder="请选择收支类型"
@change="chooseField()"
:disabled="isDetail"
>
<el-option
v-for="item in select02"
:key="item.id"
:label="item.value"
:value="item.value"
></el-option>
</c-select>
</el-form-item>
</c-col>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label=" "
prop="edit.ruleInfo"
style="width: 100%"
>
<c-input
v-model="model.edit.ruleInfo"
placeholder="请输入RuleDesc"
type="textarea"
:rows="4"
maxlength="200"
show-word-limit
:disabled="isDetail"
style="width: 95%"
></c-input>
</el-form-item>
</c-col>
</c-col>
</c-row>
<c-col
:span="24"
style="text-align: center; height: 36.8px"
>
<el-button
type="primary"
size="small"
@click="submitData"
v-if="optType"
>提交</el-button
>
<el-button style="margin-left: 0" size="small" @click="cancel">
返回
</el-button>
</c-col>
</el-form>
</el-dialog>
</div>
</template>
<script>
import Api from "~/service/Api";
import CommonProcess from "~/mixin/CommonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Infcpd/Event";
export default {
inject: ["root"],
props: ["model"],
mixins: [CommonProcess],
components: {},
data() {
return {
showPanel: false,
opttitle:"",
optType:true,
dialogTableVisible: false,
isDetail:true,
showIndex:false,
nowDate:'',
select01: [
{
"id": 1,
"value": "doc",
"obj":[{
"id":101,
"value":".crtdate"
},
{
"id":102,
"value":".inv.opndate"
},
{
"id":103,
"value":".inv.original"
},
]
},
{
"id": 2,
"value": "didgrp",
"obj":[{
"id":201,
"value":".rec.shpdat"
},
{
"id":202,
"value":".rec.expdat"
},
{
"id":203,
"value":".rec.bdflg"
},
{
"id":204,
"value":".rec.nomtop"
},
{
"id":205,
"value":".rec.nomton"
},
{
"id":206,
"value":".rec.opndat"
},
]
},
{
"id": 3,
"value": "dedgrp",
"obj":[{
"id":301,
"value":".rec.shpdat"
},
{
"id":302,
"value":".rec.expdat"
},
{
"id":303,
"value":".rec.bdflg"
},
{
"id":304,
"value":".rec.nomtop"
},
{
"id":305,
"value":".rec.nomton"
},
{
"id":306,
"value":".rec.opndat"
},
]
}
],//获取的一级数组数据
select02: [],//获取的二级数组数据
indexNum:0,//定义一级菜单的下标
trnData: {
columns: [
'1 1 "附加条款内容文本" 300',
'2 2 "智能审单规则" 500',
],
data: [],
},
stmData: {
columns: [
'1 1 "附加条款内容文本" 400',
'2 2 "智能审单规则" 800'
],
data: [
],
},
};
},
methods: {
...Event,
ruleDetail(scope){
this.model.edit.opndat = scope.row['srcStr'].split('\t')[3];
this.model.edit.ruleInfo = scope.row['srcStr'].split('\t')[2];
this.model.edit.ruleDesc = scope.row['srcStr'].split('\t')[1];
this.model.edit.index = scope.row['srcStr'].split('\t')[0];
this.isDetail = true;
this.opttitle = "审单规则详情";
this.optType = false;
this.showPanel = true;
},
ruleEdit(scope){
this.model.edit.opndat = scope.row['srcStr'].split('\t')[3];
this.model.edit.ruleInfo = scope.row['srcStr'].split('\t')[2];
this.model.edit.ruleDesc = scope.row['srcStr'].split('\t')[1];
this.isDetail = false;
this.opttitle = "审单规则修改";
this.optType = true;
this.showPanel = true;
},
ruleAdd(){
this.model.edit.opndat = this.nowDate;
this.isDetail = false;
this.opttitle = "审单规则新增";
this.optType = true;
this.showPanel = true;
},
ruleDel(idx){
this.stmData.data.splice(idx,1);
},
changeMod(){
let i = 0;
for (i = 0;i<this.select01.length;i++) {
if (this.select01[i].value == this.model.edit.mod){
this.indexNum = i;
break
}
}
this.select02 = this.select01[this.indexNum].obj;
},
chooseField(){
this.model.edit.ruleInfo = this.model.edit.ruleInfo +'{' + this.model.edit.mod + this.model.edit.field +'}';
},
submitData(){
const length = this.stmData.data.length;
let btnStr = this.stmData.data;
let str ;
if(this.model.edit.index == ""){ //新增
let max = 0;
for(let i=0; i < length; i++){
//获取数组中每行的数据
let arr = btnStr[i].split("\t");
if(arr[0] > max) {
max = arr[0];
}
}
max++;
str = max +'\t' + this.model.edit.ruleDesc + '\t' + this.model.edit.ruleInfo + '\t' + this.model.edit.opndat + '\t' + 'mbf';
this.stmData.data.splice(length,0,str);
}else{ //修改
let num = 0;
for(let i=0; i < length; i++){
//获取数组中每行的数据
let arr = btnStr[i].split("\t");
if(arr[0] == this.model.edit.index ) {
str = arr[0]+'\t' + this.model.edit.ruleDesc + '\t' + this.model.edit.ruleInfo + '\t' + arr[3] + '\t' + arr[4];
num = i;
break;
}
}
this.stmData.data.splice(num,1,str);
}
this.$store.commit('setCheckRuleData', this.stmData.data)
this.model.edit.opndat = '';
this.model.edit.ruleInfo = '';
this.model.edit.ruleDesc = '';
this.model.edit.ruleInfo = '';
this.model.edit.mod = '';
this.model.edit.field = '';
this.model.edit.index='';
this.showPanel = false;
},
cancel(){
this.model.edit.opndat = '';
this.model.edit.ruleInfo = '';
this.model.edit.ruleDesc = '';
this.model.edit.mod = '';
this.model.edit.field = '';
this.model.edit.index='';
this.showPanel = false;
},
handleReset() {},
},
created: function () {
this.stmData.data = this.$store.state.Status.checkRuleData;
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
this.nowDate = year + '-' + month + '-' + day;
this.model.opndatfrom = this.nowDate;
this.model.opndatto = this.nowDate;
},
};
</script>
<style>
.el-dialog__body {
padding: 10px 5px 50px;
}
</style>
\ No newline at end of file
<template>
<div class="eContainer">
<el-form
:model="model"
ref="modelForm"
label-width="150px"
label-position="right"
size="small"
>
<m-infsea :model="model" />
</el-form>
</div>
</template>
<script>
import Utils from "~/utils/index";
import Api from "~/service/Api";
import CommonProcess from "~/mixin/CommonProcess";
import ExamRule from "~/model/ExamRule"
import Infsea from "./Infsea"
export default {
name: "exaRule",
components: {
"m-infsea": Infsea,
},
provide() {
return {
root: this,
};
},
mixins: [CommonProcess], // 里面包含了Default、Check等的公共处理
data() {
return {
model: new ExamRule().data,
};
},
methods: {},
created: async function () {
// console.log("进入ditsel交易");
// let rtnmsg = await Api.post("ditsel/init", { params: {} });
// if (rtnmsg.respCode == SUCCESS) {
// //TODO 处理数据逻辑
// Utils.copyValueFromVO(this.model, rtnmsg.data);
// } else {
// this.$notify.error({ title: "错误", message: "服务请求失败!" });
// }
},
};
</script>
<style>
.infcpdTab .el-tabs__content {
padding: 10px 0 10px 0;
}
.infcpdTab .infrow {
padding: 0 10px 0 10px;
}
.m-table-search-form {
position: flex;
flex-direction: row;
}
.m-table-search-form .el-form-item__content {
width: calc(100% - 110px);
}
</style>
......@@ -120,6 +120,8 @@ export default {
{ inifrm: "detopn", ininam: "信用证开立", pntmiu: "11" },
{ inifrm: "detame", ininam: "信用证修改", pntmiu: "11" },
{ inifrm: "detsel", ininam: "信用证查询", pntmiu: "11" },
{ inifrm: "12",ininam: "智能审单", pntmiu: "" },
{ inifrm: "examRule", ininam: "智能审单规则配置", pntmiu: "12" },
],
menus: [],
menusHeight: 0
......
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