Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
@@ -5,6 +5,7 @@
    append-to-body
    @close="closeSubmitDialog"
    width="70%"
    style="height: 115vh;"
    >
        <el-form ref="form" :model="btmType" show-message="true" inline size="medium" label-suffix=":" class="btmTypeForm">
                
@@ -24,7 +25,8 @@
                </el-select>
            </el-form-item>
            <el-form-item label="版本规则" label-width="100px">
                <el-input v-model="btmType.revisionRuleId" :prefix-icon="icons.revisionRule" class="revisionRule">
                <el-input v-model="btmType.revisionRuleName" :prefix-icon="icons.revisionRule" class="revisionRule"
                @focus="openRevision" clearable @clear="clearRevision">
                    <i slot="suffix" class="el-input__icon el-icon-search"></i>
                </el-input>
            </el-form-item>
@@ -45,6 +47,7 @@
                <el-input v-model="btmType.description" 
                :prefix-icon="icons.desc" 
                class="descClass"
                id="descId"
                ></el-input>
            </el-form-item>
        </el-form>
@@ -63,11 +66,11 @@
            
        </avue-crud>
        <div slot="footer" class="dialog-footer">
            <el-button @click="submitBtmType">确定</el-button>
            <el-button type="primary" @click="submitBtmType">确定</el-button>
            <el-button @click="cancleSubmitBtmType">取消</el-button>
        </div>
<!-- 属性池的选择 -->
        <el-dialog title="属性池"
            :visible="attrRef.visible"
            append-to-body
@@ -91,6 +94,30 @@
                <el-button @click="cancleSelectAttr">取消</el-button>
            </div>
        </el-dialog>
<!-- 版本规则的参照 -->
        <el-dialog title="请选择版本规则"
            :visible.sync="revisionRef.visible"
            append-to-body
            width="80%">
            <avue-crud class="revisionRef"
             :option="revisionRef.option"
             :data="revisionRef.data"
             :page.sync="revisionRef.page"
             ref="revisionRef"
             @row-click="revisionClick">
                <template slot="radio"
                slot-scope="{row}">
                    <el-radio v-model="revisionRef.selectRow"
                        :label="row.$index">&nbsp;
                    </el-radio>
                </template>
            </avue-crud>
            <div slot="footer" class="dialog-footer">
                <el-button type="primary" @click="confirmRevision">确定</el-button>
                <el-button @click="cancelRevision">取消</el-button>
            </div>
        </el-dialog>
    </el-dialog>
</template>
@@ -99,6 +126,7 @@
import { add,update } from '@/api/omd/btmType';
import { queryPage } from '@/api/omd/OmdAttribute';
import { getPage } from '@/api/omd/revisionRule';
export default {
    name: 'BusinessAdd',
    props: {
@@ -125,6 +153,7 @@
                rowKey: 'id',
                tabs: true,
                menu: false,
                addBtn:false,
                highlightCurrentRow: true,
                column: [
                    {
@@ -146,14 +175,12 @@
                    {
                        label: "默认值",
                        prop: "defaultValue",
                        cell: 'true',
                        align: 'center',
                        cell: true
                    },
                    {
                        label: "说明",
                        prop: "description",
                        cell: 'true',
                        align: 'center',
                        cell:true
                    }
@@ -176,6 +203,7 @@
                    border: true,
                    reserveSelection: true,
                    searchMenuSpan:8,
                    highlightCurrentRow: true,
                    column: [
                        {
                        label: '英文名称',
@@ -223,13 +251,77 @@
                },
                data: [],
                queryNotIn: null
            }
            },
            revisionRef: {
                visible: false,
                page: {
                    currentPage:1,
                    pageSize: 10
                },
                selectRow:'',
                searchKey: null,
                option:{
                    height: 360,
                    addBtn: false,
                    refreshBtn: false,
                    columnBtn: false,
                    menu: false,
                    border: true,
                    reserveSelection: true,
                    searchMenuSpan:8,
                    searchShowBtn: false,
                    highlightCurrentRow: true,
                    column:[{
                        label: '选择',
                        prop: 'radio',
                        width: 60,
                        hide: false
                    },
                        {
                            label:'英文名称',
                            prop: 'id',
                            search:true
                        },
                        {
                            label:"中文名称",
                            prop:"name",
                            search:true,
                        },
                        {
                            label:"跳跃字符",
                            prop: "skipCode"
                        },
                        {
                            label: "初始值",
                            prop:"startCode"
                        },
                        {
                            label: "步长",
                            prop: "serialStep"
                        },
                        {
                            label: "前缀",
                            prop:"prefixCode"
                        },
                        {
                            label: "后缀",
                            prop: "suffixCode"
                        },
                        {
                            label: "描述",
                            prop:"description",
                            type:"textarea"
                        }
                    ]
                },
            },
        }
    },
    created() {
    },
    methods: {
        // 关闭组件弹窗
        closeSubmitDialog(){
            this.showSubmitDialog = false;
            this.btmType.attributes = [];
@@ -237,13 +329,16 @@
            this.attrRef.selectData = [];
            this.attrRef.queryNotIn = null;
        },
        // 关闭属性池查询弹窗
        closeAttrDialog(){
            this.attrRef.visible = false;
        },
        // 添加
        rowAdd(){
            this.attrRef.visible = true;
            this.attrRefOnLoad();
        },
        // 属性池加载
        attrRefOnLoad(){
            queryPage(this.attrRef.key,this.attrRef.queryNotIn,this.attrRef.page.currentPage, this.attrRef.page.pageSize).then(res => {
                const data = res.data.data;
@@ -254,22 +349,25 @@
                this.$refs.attrRef.refreshTable();
            });
        },
        // 属性池检索
        attrRefSearch(form,done){
            this.attrRef.key = form.key;
            this.attrRefOnLoad();
            done();
            this.attrRef.key = null;
        },
        // 属性池勾选事件
        selectionChange(list){
            this.attrRef.selectData = list;
        },
        // 确认属性池勾选
        confirmSelectAttr(){
            this.btmType.attributes = [];
            this.attrRef.queryNotIn = "";
            this.attrRef.selectData.forEach(item => {
                this.btmType.attributes.push({
                    id: item.key,
                    name: item.label,
                    id: item.id,
                    name: item.name,
                    typeValue: item.typeValue,
                    typeKey: item.typeValue,
                    attrDataType : item.typeValue,
@@ -277,14 +375,16 @@
                    description: item.description,
                    attributeLength: item.maxLength
                });
                this.attrRef.queryNotIn += (item.key + ",")
                this.attrRef.queryNotIn += (item.id + ",")
            });
            this.closeAttrDialog();
        },
        // 取消属性池勾选
        cancleSelectAttr(){
            this.attrRef.selectData = [];
            this.closeAttrDialog();
        },
        // 添加业务类型
        submitBtmType(){
            console.log(this.btmType);
            add(this.btmType,true).then(res => {
@@ -294,28 +394,78 @@
                this.$emit('refreshTable');
            })
        },
        // 取消添加业务类型
        cancleSubmitBtmType(){
            this.btmType = {};
            this.btmType.attributes = [];
            this.showSubmitDialog = false;
        },
        // 刷新属性列表
        refreshAttrTable(){
            this.$nextTick( () => {
                this.$refs.attrTable.refreshTable();
            })
        },
        //
        viewChange(){
        },
        // 列表编辑
        cellEditClick(cell){
            cell.$cellEdit = true;
        },
        // 列表编辑保存
        cellEditSave(row){
            this.btmType.attributes[row.$index].name = row.name
            this.btmType.attributes[row.$index].defaultValue = row.defaultValue;
            this.btmType.attributes[row.$index].description = row.description;
            row.$cellEdit = false;
        }
        },
        // 打开版本规则参照
        async openRevision(){
            await getPage().then(res => {
                this.revisionRef.data = res.data.data.records;
            });
            this.revisionRef.visible = true;
        },
       // 关闭版本规则参照弹窗
       closeRevisionDialog(){
            this.revisionRef.visible = false;
       },
       // 版本规则参照列表检索
       revisionRefSearch(){
       },
       // 版本规则选中事件
       revisionChange(){},
       // 确认选中版本规则
       confirmRevision(){
            this.btmType.revisionFlag = true;
            this.btmType.revisionRuleId = this.revisionRef.selectData.id;
            this.btmType.revisionRuleName = this.revisionRef.selectData.name;
            this.btmType.inputRevisionFlag = false;
            this.cancelRevision();
       },
       // 取消选中版本规则
       cancelRevision(){
            this.revisionRef.selectRow  = '';
            this.revisionRef.selectData = {};
            this.closeRevisionDialog();
       },
       // 版本规则单选
       revisionClick(row){
            this.revisionRef.selectRow = row.$index;
            this.revisionRef.selectData = {
                id: row.id,
                name: row.name,
            };
       },
       clearRevision(){
            this.$delete(this.btmType,'revisionFlag');
            this.$delete(this.btmType,'revisionRuleId');
            this.$delete(this.btmType,'revisionRuleName');
            this.$delete(this.btmType,'inputRevisionFlag');
       }
    }
}
</script>
@@ -323,6 +473,10 @@
<style>
/* 属性池参照列表 */
.attrRef > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu{
    display: none !important;
}
.revisionRef > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu{
    display: none !important;
}
@@ -337,4 +491,8 @@
.descClass > .el-input__inner {
    width: 57vw
}
#descId {
    width: 57vw;
}
</style>