You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1629 lines
55 KiB
1629 lines
55 KiB
<template>
|
|
<div>
|
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList">
|
|
<el-form-item :label="'BU'">
|
|
<el-select v-model="searchData.bu" placeholder="请选择" clearable style="width: 130px">
|
|
<el-option
|
|
v-for = "i in userBuList"
|
|
:key = "i.buNo"
|
|
:label = "i.buDesc"
|
|
:value = "i.buNo">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="'审批规则编码'">
|
|
<el-input v-model="searchData.ruleNo" clearable style="width: 120px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'审批规则描述'">
|
|
<el-input v-model="searchData.ruleDesc" clearable style="width: 120px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="业务类型">
|
|
<!-- <el-input style="width: 135px;" v-model="saveAuditRuleData.recordTypeDb"></el-input>-->
|
|
<el-select v-model="searchData.recordType" clearable style="width: 120px;">
|
|
<el-option
|
|
v-for="(item,index) in businessTypeSelectList"
|
|
:key="index"
|
|
:label="item.roleDesc"
|
|
:value="item.roleItemNo">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="'状态'">
|
|
<el-select clearable v-model="searchData.active" style="width: 120px">
|
|
<el-option label="启用" value="Y"></el-option>
|
|
<el-option label="禁用" value="N"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="'优先级'">
|
|
<el-select clearable v-model="searchData.priority" style="width: 120px">
|
|
<el-option label="1" value = 1></el-option>
|
|
<el-option label="2" value = 2></el-option>
|
|
<el-option label="3" value = 3></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="' '">
|
|
<el-button @click="getDataList">查询</el-button>
|
|
<el-button type="primary" @click="addModal">新增</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
<el-table
|
|
:height="this.height - 300"
|
|
:data="dataList"
|
|
ref="mainTable"
|
|
highlight-current-row
|
|
@row-click="ruleClickRow"
|
|
@current-change="changeCurrentRow"
|
|
border
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
v-for="(item,index) in columnList" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed==''?false:item.fixed"
|
|
:min-width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
fixed="right"
|
|
header-align="center"
|
|
align="center"
|
|
width="160"
|
|
label="操作">
|
|
<template slot-scope="scope">
|
|
<el-link style="cursor: pointer" @click="updateModal(scope.row)">修改</el-link>
|
|
<el-link style="cursor: pointer" @click="delModal(scope.row)">删除</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
|
|
<!-- 分页栏 -->
|
|
<el-pagination
|
|
@size-change="sizeChangeHandle"
|
|
@current-change="currentChangeHandle"
|
|
:current-page="pageIndex"
|
|
:page-sizes="[20, 50, 100, 200, 500]"
|
|
:page-size="pageSize"
|
|
:total="totalPage"
|
|
layout="total, sizes, prev, pager, next, jumper">
|
|
</el-pagination>
|
|
|
|
<!-- 页签 -->
|
|
<el-tabs style="margin-top: 0px; width: 100%; height: 100%;" v-model="activeTable" class="customer-tab" type="border-card" @tab-click="tabClick">
|
|
<!-- 详情页签 -->
|
|
<el-tab-pane label="详情" name="auth_rule_details" style="height: 225px">
|
|
<el-form :inline="true" label-position="top" :model="ruleCurrentRow" @keyup.enter.native="getDataList">
|
|
<el-form-item :label="'BU'">
|
|
<el-input v-model="ruleCurrentRow.buDesc" clearable style="width: 140px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'审批规则编码'">
|
|
<el-input v-model="ruleCurrentRow.ruleNo" clearable style="width: 140px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'审批规则描述'">
|
|
<el-input v-model="ruleCurrentRow.ruleDesc" clearable style="width: 345px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'状态'">
|
|
<el-input v-model="ruleCurrentRow.active" clearable style="width: 140px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="ruleCurrentRow" @keyup.enter.native="getDataList">
|
|
<el-form-item :label="'最低金额'">
|
|
<el-input v-model="ruleCurrentRow.minValue" clearable style="width: 140px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'最高金额'">
|
|
<el-input v-model="ruleCurrentRow.maxValue" clearable style="width: 140px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'优先级'">
|
|
<el-input v-model="ruleCurrentRow.priority" clearable style="width: 180px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'启用日期'">
|
|
<el-input v-model="ruleCurrentRow.phaseInDate" clearable style="width: 150px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'停用日期'">
|
|
<el-input v-model="ruleCurrentRow.phaseOutDate" clearable style="width: 140px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="ruleCurrentRow" @keyup.enter.native="getDataList">
|
|
<el-form-item :label="'备注'">
|
|
<el-input v-model="ruleCurrentRow.remark" clearable style="width: 804px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="ruleCurrentRow" @keyup.enter.native="getDataList">
|
|
<el-form-item :label="'创建人'">
|
|
<el-input v-model="ruleCurrentRow.createBy" clearable style="width: 140px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'创建时间'">
|
|
<el-input v-model="ruleCurrentRow.createDate" clearable style="width: 242px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'更新人'">
|
|
<el-input v-model="ruleCurrentRow.updateBy" clearable style="width: 140px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'更新时间'">
|
|
<el-input v-model="ruleCurrentRow.updateDate" clearable style="width: 243px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-tab-pane>
|
|
<!-- 审批步骤页签 -->
|
|
<el-tab-pane label="审批步骤" name="auth_rule_step" style="height: 100%">
|
|
<el-button type="primary" @click="ruleStepAddModal" style="margin-top: -5px">新增</el-button>
|
|
<el-table
|
|
:height="this.height - 278"
|
|
:data="ruleStepDataList"
|
|
ref="ruleStepTable"
|
|
highlight-current-row
|
|
border
|
|
style="width: 100%; margin-top: 5px">
|
|
<el-table-column
|
|
v-for="(item,index) in ruleStepColumnList" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed==''?false:item.fixed"
|
|
:min-width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<div v-if="item.columnProp === 'active'">
|
|
<el-tag v-if="scope.row[item.columnProp] === 'Y'" type="success">启用</el-tag>
|
|
<el-tag v-if="scope.row[item.columnProp] === 'N'" type="danger">禁用</el-tag>
|
|
</div>
|
|
<div v-else>
|
|
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
|
|
</div>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
fixed="right"
|
|
header-align="center"
|
|
align="center"
|
|
width="160"
|
|
label="操作">
|
|
<template slot-scope="scope">
|
|
<el-link style="cursor: pointer" @click="ruleStepUpdateModal(scope.row)">修改</el-link>
|
|
<el-link style="cursor: pointer" @click="ruleStepDelModal(scope.row)">删除</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
|
|
<el-dialog :title="modalData.title" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="560px">
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="审批规则编码" prop="ruleNo" :rules="rules.ruleNo">
|
|
<el-input v-model="modalData.ruleNo" :disabled="modalDisableFlag" style="width: 110px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="审批规则描述" prop="ruleDesc" :rules="rules.ruleDesc">
|
|
<el-input v-model="modalData.ruleDesc" :disabled="modalDisableFlag" style="width: 315px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="BU" prop="bu" :rules="rules.bu">
|
|
<el-select v-model="modalData.bu" placeholder="请选择" :disabled="modalDisableFlag" style="width: 70px">
|
|
<el-option
|
|
v-for = "i in userBuList"
|
|
:key = "i.buNo"
|
|
:label = "i.buDesc"
|
|
:value = "i.buNo">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="最低金额" prop="minValue">
|
|
<el-input v-model="modalData.minValue" style="width: 110px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="最高金额" prop="maxValue">
|
|
<el-input v-model="modalData.maxValue" style="width: 110px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="优先级" prop="priority" :rules="rules.priority">
|
|
<el-select clearable v-model="modalData.priority" :disabled="!modalDisableFlag" style="width: 67px">
|
|
<el-option label="1" value = 1></el-option>
|
|
<el-option label="2" value = 2></el-option>
|
|
<el-option label="3" value = 3></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="业务类型" prop="recordType" :rules="rules.recordType">
|
|
<!-- <el-input style="width: 135px;" v-model="saveAuditRuleData.recordTypeDb"></el-input>-->
|
|
<el-select v-model="modalData.recordType" placeholder=
|
|
"请选择" style="width: 110px;">
|
|
<el-option
|
|
v-for="(item,index) in businessTypeSelectList"
|
|
:key="index"
|
|
:label="item.roleDesc"
|
|
:value="item.roleItemNo">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label=" ">
|
|
<el-checkbox v-model="modalData.isSimultaneous">是否同时
|
|
</el-checkbox>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="状态" prop="active" :rules="rules.active">
|
|
<el-select v-model="modalData.active" :disabled="!modalDisableFlag" style="width: 110px">
|
|
<el-option label="启用" value="Y"></el-option>
|
|
<el-option label="禁用" value="N"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="启用日期" prop="phaseInDate" :rules="rules.phaseInDate">
|
|
<el-date-picker v-model="modalData.phaseInDate" type="date" placeholder="选择日期" style="width: 150px"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="停用日期" prop="phaseOutDate">
|
|
<el-date-picker v-model="modalData.phaseOutDate" type="date" :disabled="!modalDisableFlag" placeholder="选择日期" style="width: 150px"></el-date-picker>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="备注">
|
|
<el-input v-model="modalData.remark" style="width: 439px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-footer style="height:30px;margin-top: 5px;text-align:center">
|
|
<el-button type="primary" @click="saveData">保存</el-button>
|
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
|
|
</el-footer>
|
|
</el-dialog>
|
|
|
|
<el-dialog :title="ruleStepModalData.title" :close-on-click-modal="false" v-drag :visible.sync="ruleStepModalFlag" width="476px">
|
|
<el-form :inline="true" label-position="top" :model="ruleStepModalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="规则编码" prop="ruleNo">
|
|
<el-input v-model="ruleStepModalData.ruleNo" :disabled="true" style="width: 110px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="规则描述" prop="ruleDesc">
|
|
<el-input v-model="ruleStepModalData.ruleDesc" :disabled="true" style="width: 315px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="ruleStepModalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="步骤号" prop="stepNo" :rules="rules.stepNo">
|
|
<el-input v-model="ruleStepModalData.stepNo" :disabled="ruleStepModalDisableFlag" style="width: 110px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="类型" prop="authTypeDb" :rules="rules.authTypeDb">
|
|
<el-select clearable v-model="ruleStepModalData.authTypeDb" style="width: 145px" @blur="clearRuleStepModalData">
|
|
<el-option label="审批人" value="U"></el-option>
|
|
<el-option label="审批组" value="G"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label=" " prop="firstStepFlag">
|
|
<el-checkbox v-model="ruleStepModalData.firstStepFlag" :disabled="this.ruleStepModalData.lastStepFlag === 'Y'" :true-label="'Y'" :false-label="'N'" style="width: 110px;margin-left: 35px">
|
|
首步骤
|
|
</el-checkbox>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="ruleStepModalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item prop="authUserNo" :rules="rules.authUserNo">
|
|
<span slot="label" style="" v-if="this.ruleStepModalData.authTypeDb !== 'G' && this.ruleStepModalData.authTypeDb !== '审批组'">
|
|
<a herf="#" @click="getBaseList(2003)">审批人</a>
|
|
</span>
|
|
<span slot="label" style="margin-left: -4px" v-if="this.ruleStepModalData.authTypeDb === 'G' || this.ruleStepModalData.authTypeDb === '审批组'">
|
|
审批人
|
|
</span>
|
|
<el-input v-model="ruleStepModalData.authUserNo" :disabled="this.ruleStepModalData.authTypeDb === 'G' || this.ruleStepModalData.authTypeDb === '审批组'" @blur="authUserNoBlur" style="width: 110px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="审批人姓名" prop="userDisplay" :rules="rules.userDisplay">
|
|
<el-input v-model="ruleStepModalData.userDisplay" disabled style="width: 145px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label=" " prop="lastStepFlag">
|
|
<el-checkbox v-model="ruleStepModalData.lastStepFlag" :disabled="this.ruleStepModalData.firstStepFlag === 'Y'" :true-label="'Y'" :false-label="'N'" style="width: 110px;margin-left: 35px">
|
|
末步骤
|
|
</el-checkbox>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="ruleStepModalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item prop="authGroupNo" :rules="rules.authGroupNo">
|
|
<span slot="label" style="" v-if="this.ruleStepModalData.authTypeDb !== 'U' && this.ruleStepModalData.authTypeDb !== '审批人'">
|
|
<a herf="#" @click="getBaseList(218)">审批组编码</a>
|
|
</span>
|
|
<span slot="label" style="margin-left: -4px" v-if="this.ruleStepModalData.authTypeDb === 'U' || this.ruleStepModalData.authTypeDb === '审批人'">
|
|
审批组编码
|
|
</span>
|
|
<el-input v-model="ruleStepModalData.authGroupNo" :disabled="this.ruleStepModalData.authTypeDb === 'U' || this.ruleStepModalData.authTypeDb === '审批人'" @blur="authGroupNoBlur" style="width: 110px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="审批组名称" prop="groupDesc" :rules="rules.groupDesc">
|
|
<el-input v-model="ruleStepModalData.groupDesc" disabled style="width: 315px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-footer style="height:30px;margin-top: 5px;text-align:center">
|
|
<el-button type="primary" @click="ruleStepSaveData">保存</el-button>
|
|
<el-button type="primary" @click="ruleStepModalFlag = false">关闭</el-button>
|
|
</el-footer>
|
|
</el-dialog>
|
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {getSiteAndBuByUserName} from "../../../api/qc/qc";
|
|
import {
|
|
authRuleSearch, // 审批规则信息列表查询
|
|
authRuleSave, // 审批规则信息新增
|
|
authRuleEdit, // 审批规则信息编辑
|
|
authRuleDelete, // 审批规则信息删除
|
|
authRuleStepSearch, // 审批规则步骤信息列表查询
|
|
authRuleStepSave, // 审批规则步骤信息新增
|
|
authRuleStepEdit, // 审批规则步骤信息编辑
|
|
authRuleStepDelete, // 审批规则步骤信息删除
|
|
getBusinessTypeList, // 业务类型列表查询
|
|
} from '@/api/auth/auth'
|
|
import Chooselist from '@/views/modules/common/Chooselist_eam'
|
|
import {authBusinessSearch, authGroupSearch} from "../../../api/auth/auth";
|
|
|
|
export default {
|
|
components: {
|
|
Chooselist
|
|
},
|
|
data() {
|
|
return {
|
|
// 导出
|
|
resultList: [],
|
|
userBuList: [],
|
|
// ======== 行高 ========
|
|
height: 200,
|
|
// ======== 分页 ========
|
|
pageIndex: 1,
|
|
pageSize: 20,
|
|
totalPage: 0,
|
|
authRuleMemberSaveDialog: false,
|
|
activeTable: 'auth_rule_details',
|
|
searchAuthBusinessData:{
|
|
site: this.$store.state.user.site,
|
|
userName: this.$store.state.user.name,
|
|
username:'',
|
|
userDisplay:'',
|
|
},
|
|
authBusinessList:[],
|
|
isAuthBusinessList:[],
|
|
allAuthBusinessList:[],
|
|
allAuthBusinessSelections:[],
|
|
isAuthBusinessSelections:[],
|
|
// ======== 选中的当前行数据 ========
|
|
ruleCurrentRow: {},
|
|
rowData:{},
|
|
// 条件查询
|
|
searchData: {
|
|
site: this.$store.state.user.site,
|
|
userName: this.$store.state.user.name,
|
|
bu: '',
|
|
buNo: '',
|
|
ruleNo: '',
|
|
ruleDesc: '',
|
|
active: '',
|
|
priority: '',
|
|
page: 1,
|
|
limit: 10
|
|
},
|
|
modalData: {
|
|
flag: '',
|
|
title: '',
|
|
bu: '',
|
|
site: this.$store.state.user.site,
|
|
userName: this.$store.state.user.name,
|
|
buNo: '',
|
|
recordType: '',
|
|
isSimultaneous: false,
|
|
authRuleId: '',
|
|
ruleNo: '',
|
|
ruleDesc: '',
|
|
priority: '',
|
|
phaseInDate: '',
|
|
phaseOutDate: '',
|
|
remark: '',
|
|
active: '',
|
|
createBy: '',
|
|
updateBy: '',
|
|
createDate: '',
|
|
updateDate: ''
|
|
},
|
|
ruleStepModalData: {
|
|
flag: '',
|
|
title: '',
|
|
bu: '',
|
|
site: this.$store.state.user.site,
|
|
userName: this.$store.state.user.name,
|
|
buNo: '',
|
|
authStepId: '',
|
|
authRuleId: '',
|
|
ruleNo: '',
|
|
ruleDesc: '',
|
|
stepNo: 0,
|
|
authTypeDb: '',
|
|
authUserNo: '',
|
|
userDisplay: '',
|
|
authGroupNo: '',
|
|
groupDesc: '',
|
|
firstStepFlag: '',
|
|
lastStepFlag: '',
|
|
createBy: '',
|
|
updateBy: '',
|
|
createDate: '',
|
|
updateDate: ''
|
|
},
|
|
// ======== 数据列表 ========
|
|
dataList: [],
|
|
ruleStepDataList: [],
|
|
// 展示列集
|
|
columnList: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1BU',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则信息表",
|
|
columnProp: 'buDesc',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: 'BU',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1RuleNo',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则信息表",
|
|
columnProp: 'ruleNo',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '审批规则编码',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1RuleDesc',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则表",
|
|
columnProp: 'ruleDesc',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '审批规则描述',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 180
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1RoleDesc',
|
|
tableId: '601005Table1',
|
|
tableName: '审批规则表',
|
|
columnProp: 'roleDesc',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '业务类型',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 170
|
|
},
|
|
{
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1Active',
|
|
tableId: '601005Table1',
|
|
tableName: '审批规则信息表',
|
|
columnProp: 'active',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '状态',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1MinValue',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则表",
|
|
columnProp: 'minValue',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '最低金额',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1MaxValue',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则表",
|
|
columnProp: 'maxValue',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '最高金额',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1Remark',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则表",
|
|
columnProp: 'priority',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '优先级',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1PhaseInDate',
|
|
tableId: '601005Table1',
|
|
tableName: '审批规则表',
|
|
columnProp: 'phaseInDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '启用日期',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 170
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1PhaseOutDate',
|
|
tableId: '601005Table1',
|
|
tableName: '审批规则表',
|
|
columnProp: 'phaseOutDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '停用日期',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 170
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1CreateDate',
|
|
tableId: '601005Table1',
|
|
tableName: '审批规则表',
|
|
columnProp: 'createDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 170
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1CreateBy',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则表",
|
|
columnProp: 'createBy',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '创建人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1UpdateDate',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则表",
|
|
columnProp: 'updateDate',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '更新时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 170
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table1UpdateBy',
|
|
tableId: "601005Table1",
|
|
tableName: "审批规则表",
|
|
columnProp: 'updateBy',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '更新人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
],
|
|
ruleStepColumnList: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2StepNo',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'stepNo',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '步骤号',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 60
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2AuthTypeDb',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'authTypeDb',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '类型',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 90
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2AuthUserNo',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'authUserNo',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '审批人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2UserDisplay',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'userDisplay',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '审批人姓名',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2AuthGroupNo',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'authGroupNo',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '审批组编码',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2GroupDesc',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'groupDesc',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '审批组名称',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2FirstStepFlag',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'firstStepFlag',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '首步骤',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 50
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2LastStepFlag',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'lastStepFlag',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '末步骤',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 50
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2CreateDate',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'createDate',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '创建时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 170
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2CreateBy',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'createBy',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '创建人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2UpdateDate',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'updateDate',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '更新时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 170
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 601005,
|
|
serialNumber: '601005Table2UpdateBy',
|
|
tableId: "601005Table2",
|
|
tableName: "审批规则步骤表",
|
|
columnProp: 'updateBy',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '更新人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
],
|
|
rules: {
|
|
bu: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur','change']
|
|
}
|
|
],
|
|
ruleNo:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
ruleDesc:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
active:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
priority:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
phaseInDate:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
stepNo:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
authTypeDb:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
authUserNo:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
recordType:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
userDisplay:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
authGroupNo:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
groupDesc:[
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
},
|
|
businessTypeSelectList: [],
|
|
// ======== 模态框开关控制 ========
|
|
authSearch: false,
|
|
authSave: false,
|
|
authUpdate: false,
|
|
authDelete: false,
|
|
modalFlag: false,
|
|
ruleStepModalFlag: false,
|
|
modalDisableFlag: false,
|
|
ruleStepModalDisableFlag: false,
|
|
menuId: this.$route.meta.menuId,
|
|
};
|
|
},
|
|
watch: {
|
|
searchData: {
|
|
deep: true,
|
|
handler: function (newV, oldV) {
|
|
this.searchData.ruleNo = this.searchData.ruleNo.toUpperCase()
|
|
}
|
|
},
|
|
modalData: {
|
|
deep: true,
|
|
handler: function (newV, oldV) {
|
|
this.modalData.ruleNo = this.modalData.ruleNo.toUpperCase()
|
|
}
|
|
},
|
|
ruleStepModalData: {
|
|
deep: true,
|
|
handler: function (newV, oldV) {
|
|
this.ruleStepModalData.authGroupNo = this.ruleStepModalData.authGroupNo.toUpperCase()
|
|
}
|
|
},
|
|
// 监听 modalData.recordType 的变化,动态设置 isSimultaneous
|
|
'modalData.recordType': function (newVal) {
|
|
if (this.modalData.flag === '1') {
|
|
// 根据 recordType 的值设置 isSimultaneous
|
|
this.modalData.isSimultaneous = newVal === 2 && newVal !== undefined;
|
|
}
|
|
}
|
|
},
|
|
mounted () {
|
|
this.$nextTick(() => {
|
|
this.height = window.innerHeight - 180
|
|
})
|
|
},
|
|
created() {
|
|
// 获取用户的 site 和 bu
|
|
this.getSiteAndBuByUserName();
|
|
// 获取数据列表
|
|
this.getDataList()
|
|
this.getBusinessRoleList()
|
|
},
|
|
methods: {
|
|
// 获取用户的bu
|
|
getSiteAndBuByUserName () {
|
|
let tempData = {
|
|
username: this.$store.state.user.name,
|
|
}
|
|
getSiteAndBuByUserName(tempData).then(({data}) => {
|
|
if (data.code === 0) {
|
|
this.userBuList = data.rows
|
|
}
|
|
})
|
|
},
|
|
// 每页数
|
|
sizeChangeHandle (val) {
|
|
this.pageSize = val
|
|
this.pageIndex = 1
|
|
this.getDataList()
|
|
},
|
|
|
|
// 当前页
|
|
currentChangeHandle (val) {
|
|
this.pageIndex = val
|
|
this.getDataList()
|
|
},
|
|
|
|
// 获取基础数据列表S
|
|
getBaseList (val,type) {
|
|
this.tagNo = val
|
|
this.$nextTick(() => {
|
|
let strVal = ''
|
|
let conSql = ''
|
|
if (val === 2003 ) {
|
|
strVal = this.ruleStepModalData.authUserNo
|
|
conSql = " and br.site = '" + this.$store.state.user.site + "'"
|
|
this.$refs.baseList.init(val, strVal, conSql)
|
|
}
|
|
if (val === 218 ) {
|
|
strVal = this.ruleStepModalData.authGroupNo
|
|
this.$refs.baseList.init(val, strVal)
|
|
}
|
|
})
|
|
},
|
|
|
|
/* 列表方法的回调 */
|
|
getBaseData (val) {
|
|
if (this.tagNo === 2003) {
|
|
this.ruleStepModalData.authUserNo = val.username
|
|
this.ruleStepModalData.userDisplay = val.user_display
|
|
}
|
|
if (this.tagNo === 218) {
|
|
this.ruleStepModalData.authGroupNo = val.group_no
|
|
this.ruleStepModalData.groupDesc = val.group_desc
|
|
}
|
|
},
|
|
|
|
// 获取数据列表
|
|
getDataList () {
|
|
if (this.searchData.bu != null && this.searchData.bu !== '') {
|
|
this.searchData.buNo = this.searchData.bu.split('_')[1]
|
|
}
|
|
this.searchData.limit = this.pageSize
|
|
this.searchData.page = this.pageIndex
|
|
authRuleSearch(this.searchData).then(({data}) => {
|
|
if (data.code === 0) {
|
|
this.dataList = data.page.list
|
|
this.pageIndex = data.page.currPage
|
|
this.pageSize = data.page.pageSize
|
|
this.totalPage = data.page.totalCount
|
|
// 遍历数据列表,将状态转换为中文
|
|
this.dataList.forEach(item => {
|
|
if (item.active === 'Y') {
|
|
item.active = '启用'
|
|
} else {
|
|
item.active = '禁用'
|
|
}
|
|
})
|
|
// 判断是否全部存在数据
|
|
if (this.totalPage > 0) {
|
|
// 设置选中行
|
|
this.$refs.mainTable.setCurrentRow(this.dataList[0])
|
|
// 加载当前的页签的table
|
|
this.refreshCurrentTabTable()
|
|
this.ruleClickRow(this.dataList[0])
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
// 获取数据列表
|
|
getRuleStepDataList () {
|
|
authRuleStepSearch(this.ruleCurrentRow).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.ruleStepDataList = data.list
|
|
// 设置选中行
|
|
this.$refs.ruleStepTable.setCurrentRow(this.ruleStepDataList[0])
|
|
for (let i = 0; i < this.ruleStepDataList.length; i++) {
|
|
if (this.ruleStepDataList[i].authTypeDb === 'U') {
|
|
this.ruleStepDataList[i].authTypeDb = '审批人'
|
|
} else {
|
|
this.ruleStepDataList[i].authTypeDb = '审批组'
|
|
}
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
addModal () {
|
|
this.modalData = {
|
|
flag: '1',
|
|
title: '审批规则新增',
|
|
bu: this.userBuList[0].buNo,
|
|
buNo: '',
|
|
ruleNo: '',
|
|
ruleDesc: '',
|
|
minValue: '',
|
|
maxValue: '',
|
|
priority: 1,
|
|
phaseInDate: new Date(),
|
|
active: 'Y',
|
|
isSimultaneous: false,
|
|
createBy: this.$store.state.user.name,
|
|
}
|
|
this.modalDisableFlag = false
|
|
this.modalFlag = true
|
|
},
|
|
|
|
ruleStepAddModal () {
|
|
this.ruleStepModalData = {
|
|
flag: '1',
|
|
title: '审批规则步骤新增',
|
|
bu: this.userBuList[0].buNo,
|
|
buNo: '',
|
|
authRuleId: this.ruleCurrentRow.authRuleId,
|
|
ruleNo: this.ruleCurrentRow.ruleNo,
|
|
ruleDesc: this.ruleCurrentRow.ruleDesc,
|
|
stepNo: 10,
|
|
authTypeDb: 'U',
|
|
authUserNo: '',
|
|
userDisplay: '',
|
|
authGroupNo: '',
|
|
groupDesc: '',
|
|
firstStepFlag: 'N',
|
|
lastStepFlag: 'N',
|
|
createBy: this.$store.state.user.name,
|
|
}
|
|
// 遍历数据列表,判断步骤号,每次新增步骤号+10
|
|
let stepNoList = []
|
|
for (let i = 0; i < this.ruleStepDataList.length; i++) {
|
|
stepNoList.push(this.ruleStepDataList[i].stepNo)
|
|
}
|
|
if (stepNoList.length > 0) {
|
|
this.ruleStepModalData.stepNo = Math.max.apply(null, stepNoList) + 10
|
|
}
|
|
this.ruleStepModalDisableFlag = false
|
|
this.ruleStepModalFlag = true
|
|
},
|
|
|
|
/**
|
|
* 审批规则信息编辑模态框
|
|
* @param row
|
|
*/
|
|
updateModal (row) {
|
|
this.modalData = {
|
|
flag: '2',
|
|
title: '审批规则编辑',
|
|
site: row.site,
|
|
authRuleId: row.authRuleId,
|
|
recordType: row.recordType,
|
|
bu: row.site + '_' + row.buNo,
|
|
buNo: row.buNo,
|
|
ruleNo: row.ruleNo,
|
|
ruleDesc: row.ruleDesc,
|
|
minValue: row.minValue,
|
|
maxValue: row.maxValue,
|
|
priority: row.priority,
|
|
phaseInDate: row.phaseInDate,
|
|
phaseOutDate: row.phaseOutDate,
|
|
remark: row.remark,
|
|
active: row.active,
|
|
isSimultaneous: row.isSimultaneous,
|
|
createBy: row.createBy,
|
|
createDate: row.createDate,
|
|
updateBy: this.$store.state.user.name,
|
|
updateDate: ''
|
|
}
|
|
// 将recordType转为INT
|
|
this.modalData.recordType = parseInt(row.recordType)
|
|
this.modalDisableFlag = true
|
|
this.modalFlag = true
|
|
},
|
|
|
|
/**
|
|
* 审批规则步骤信息编辑模态框
|
|
* @param row
|
|
*/
|
|
ruleStepUpdateModal (row) {
|
|
this.ruleStepModalData = {
|
|
flag: '2',
|
|
title: '审批规则步骤编辑',
|
|
site: row.site,
|
|
authStepId: row.authStepId,
|
|
authRuleId: row.authRuleId,
|
|
ruleNo: row.ruleNo,
|
|
ruleDesc: row.ruleDesc,
|
|
stepNo: row.stepNo,
|
|
authTypeDb: row.authTypeDb,
|
|
authUserNo: row.authUserNo,
|
|
userDisplay: row.userDisplay,
|
|
authGroupNo: row.authGroupNo,
|
|
groupDesc: row.groupDesc,
|
|
firstStepFlag: row.firstStepFlag,
|
|
lastStepFlag: row.lastStepFlag,
|
|
createBy: row.createBy,
|
|
createDate: row.createDate,
|
|
updateBy: this.$store.state.user.name,
|
|
updateDate: ''
|
|
}
|
|
this.ruleStepModalDisableFlag = true
|
|
this.ruleStepModalFlag = true
|
|
},
|
|
|
|
// ======== 新增/编辑/删除方法 ========
|
|
/**
|
|
* 审批规则信息新增/编辑
|
|
*/
|
|
saveData () {
|
|
if (this.modalData.bu === '' || this.modalData.bu == null) {
|
|
this.$message.warning('请选择BU!')
|
|
return
|
|
}
|
|
if (this.modalData.ruleNo === '' || this.modalData.ruleNo == null) {
|
|
this.$message.warning('请填写审批规则编码!')
|
|
return
|
|
}
|
|
if (this.modalData.ruleDesc === '' || this.modalData.ruleDesc == null) {
|
|
this.$message.warning('请填写审批规则描述!')
|
|
return
|
|
}
|
|
if (this.modalData.priority === '' || this.modalData.priority == null) {
|
|
this.$message.warning('请选择优先级!')
|
|
return
|
|
}
|
|
if (this.modalData.phaseInDate === '' || this.modalData.phaseInDate == null) {
|
|
this.$message.warning('请选择启用日期!')
|
|
return
|
|
}
|
|
if (this.modalData.active === '' || this.modalData.active == null) {
|
|
this.$message.warning('请选择状态!')
|
|
return
|
|
}
|
|
if (this.modalData.recordType === '' || this.modalData.recordType == null) {
|
|
this.$message.warning('请选择业务类型!')
|
|
return
|
|
}
|
|
if (this.modalData.flag === '1') {
|
|
this.modalData.buNo = this.modalData.bu.split('_')[1]
|
|
this.modalData.site = this.$store.state.user.site
|
|
authRuleSave(this.modalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getDataList()
|
|
this.modalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
} else {
|
|
if (this.modalData.active === 'N') {
|
|
if (this.modalData.phaseOutDate === '' || this.modalData.phaseOutDate == null) {
|
|
this.$alert('停用日期不能为空!', '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
return
|
|
}
|
|
}
|
|
authRuleEdit(this.modalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getDataList()
|
|
this.modalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 审批规则步骤信息新增/编辑
|
|
*/
|
|
ruleStepSaveData () {
|
|
if (this.ruleStepModalData.stepNo === '' || this.ruleStepModalData.stepNo == null) {
|
|
this.$message.warning('请填写步骤号!')
|
|
return
|
|
}
|
|
if (this.ruleStepModalData.authTypeDb === '' || this.ruleStepModalData.authTypeDb == null) {
|
|
this.$message.warning('请选择类型!')
|
|
return
|
|
}
|
|
if (this.ruleStepModalData.authTypeDb === 'U' || this.ruleStepModalData.authTypeDb === '审批人') {
|
|
if (this.ruleStepModalData.authUserNo === '' || this.ruleStepModalData.authUserNo == null) {
|
|
this.$message.warning('请填写审批人!')
|
|
return
|
|
}
|
|
if (this.ruleStepModalData.userDisplay === '' || this.ruleStepModalData.userDisplay == null) {
|
|
this.$alert('该审批人不存在,请重新输入审批人用户名!', '提示', {
|
|
confirmButtonText: '确定',
|
|
type: 'warning'
|
|
})
|
|
return;
|
|
}
|
|
} else {
|
|
if (this.ruleStepModalData.authGroupNo === '' || this.ruleStepModalData.authGroupNo == null) {
|
|
this.$message.warning('请填写审批组编码!')
|
|
return
|
|
}
|
|
if (this.ruleStepModalData.groupDesc === '' || this.ruleStepModalData.groupDesc == null) {
|
|
this.$alert('该审批组不存在,请重新输入审批组编码!', '提示', {
|
|
confirmButtonText: '确定',
|
|
type: 'warning'
|
|
})
|
|
return;
|
|
}
|
|
}
|
|
// 判断步骤号是否为整十的倍数
|
|
if (this.ruleStepModalData.stepNo % 10 !== 0) {
|
|
this.$alert('步骤号必须为整十的倍数(如10、20、30)!', '提示', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
return
|
|
}
|
|
if (this.ruleStepDataList != null && this.ruleStepDataList.length > 0) {
|
|
for (let i = 0; i < this.ruleStepDataList.length; i++) {
|
|
if (this.ruleStepModalData.stepNo !== this.ruleStepDataList[i].stepNo) {
|
|
if(this.ruleStepModalData.firstStepFlag === 'Y' && this.ruleStepDataList[i].firstStepFlag === 'Y') {
|
|
this.$alert('该审批步骤下已存在首步骤!', '提示', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
return
|
|
}
|
|
if(this.ruleStepModalData.lastStepFlag === 'Y' && this.ruleStepDataList[i].lastStepFlag === 'Y') {
|
|
this.$alert('该审批步骤下已存在末步骤!', '提示', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
return
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (this.ruleStepModalData.firstStepFlag === 'Y') {
|
|
this.ruleStepModalData.lastStepFlag = 'N'
|
|
} else if (this.ruleStepModalData.lastStepFlag === 'Y') {
|
|
this.ruleStepModalData.firstStepFlag = 'N'
|
|
} else {
|
|
this.ruleStepModalData.firstStepFlag = 'N'
|
|
this.ruleStepModalData.lastStepFlag = 'N'
|
|
}
|
|
if (this.ruleStepModalData.flag === '1') {
|
|
this.ruleStepModalData.buNo = this.ruleStepModalData.bu.split('_')[1]
|
|
this.ruleStepModalData.site = this.$store.state.user.site
|
|
authRuleStepSave(this.ruleStepModalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getRuleStepDataList()
|
|
this.ruleStepModalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
} else {
|
|
if (this.ruleStepModalData.authTypeDb === '审批人') {
|
|
this.ruleStepModalData.authTypeDb = 'U'
|
|
} else {
|
|
this.ruleStepModalData.authTypeDb = 'G'
|
|
}
|
|
authRuleStepEdit(this.ruleStepModalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getRuleStepDataList()
|
|
this.ruleStepModalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 审批规则信息删除
|
|
*/
|
|
delModal (row) {
|
|
this.$confirm(`是否删除这条审批规则信息?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
authRuleDelete(row).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getDataList()
|
|
this.partSelections = []
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 审批规则步骤信息删除
|
|
*/
|
|
ruleStepDelModal (row) {
|
|
this.$confirm(`是否删除这条审批规则步骤信息?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
authRuleStepDelete(row).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getRuleStepDataList()
|
|
this.partSelections = []
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
|
|
clearRuleStepModalData () {
|
|
this.ruleStepModalData.authUserNo = ''
|
|
this.ruleStepModalData.userDisplay = ''
|
|
this.ruleStepModalData.authGroupNo = ''
|
|
this.ruleStepModalData.groupDesc = ''
|
|
},
|
|
|
|
getBusinessRoleList() {
|
|
let queryData = {
|
|
active: 'Y'
|
|
}
|
|
this.businessTypeSelectList = []
|
|
getBusinessTypeList(queryData).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.businessTypeSelectList = data.rows
|
|
}
|
|
})
|
|
},
|
|
|
|
authUserNoBlur () {
|
|
let params = {
|
|
username: this.ruleStepModalData.authUserNo,
|
|
site: this.$store.state.user.site,
|
|
limit: 1,
|
|
page: 1
|
|
}
|
|
authBusinessSearch(params).then(({data}) => {
|
|
if (data.code === 0) {
|
|
this.ruleStepModalData.userDisplay = data.page.list[0].userDisplay
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
authGroupNoBlur () {
|
|
let params = {
|
|
site: this.$store.state.user.site,
|
|
groupNo: this.ruleStepModalData.authGroupNo,
|
|
active: 'Y',
|
|
limit: 1,
|
|
page: 1
|
|
}
|
|
authGroupSearch(params).then(({data}) => {
|
|
if (data.code === 0) {
|
|
this.ruleStepModalData.groupDesc = data.page.list[0].groupDesc
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
// ======== 列表操作方法 ========
|
|
/**
|
|
* 单机选中审批规则信息
|
|
* @param row
|
|
*/
|
|
ruleClickRow(row) {
|
|
this.ruleCurrentRow = JSON.parse(JSON.stringify(row))
|
|
},
|
|
|
|
changeCurrentRow (row, oldRow) {
|
|
// 判断是否是获取焦点的事件
|
|
if (row) {
|
|
this.ruleCurrentRow = JSON.parse(JSON.stringify(row))
|
|
//刷新当前页表
|
|
this.refreshCurrentTabTable()
|
|
}
|
|
},
|
|
|
|
// 列表表格选择替换
|
|
tabClick (tab, event) {
|
|
// 刷新列表数据
|
|
this.refreshCurrentTabTable()
|
|
},
|
|
|
|
refreshCurrentTabTable () {
|
|
if (this.activeTable == 'auth_rule_step') {
|
|
this.getRuleStepDataList()
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</script>
|