| | |
| | | <template> |
| | | <el-container> |
| | | <!-- 左侧菜单--> |
| | | <el-aside > |
| | | <el-aside> |
| | | <basic-container style="overflow:hidden;"> |
| | | <div> |
| | | <div> |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <div style="display: flex;"> |
| | | <el-button plain size="small" type="primary" @click="TreeAdd">添加</el-button> |
| | | <el-button plain size="small" type="primary" @click="TreeEdit">修改</el-button> |
| | | <el-button plain size="small" type="primary" @click="TreeDel">删除</el-button> |
| | | <el-button plain size="small" type="primary" @click="flushed">刷新</el-button> |
| | | <div> |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <div style="display: flex;"> |
| | | <el-button plain size="small" type="primary" @click="TreeAdd">添加</el-button> |
| | | <el-button plain size="small" type="primary" @click="TreeEdit">修改</el-button> |
| | | <el-button plain size="small" type="primary" @click="TreeDel">删除</el-button> |
| | | <el-button plain size="small" type="primary" @click="flushed">刷新</el-button> |
| | | </div> |
| | | <div style="display: flex; margin-top: 10px"> |
| | | <el-button plain size="small" type="primary" @click="Enable">启用</el-button> |
| | | <el-button plain size="small" type="primary" @click="Deactivate">停用</el-button> |
| | | <el-button plain size="small" type="primary" @click.native="ImportExcel">导入</el-button> |
| | | <el-button plain size="small" type="primary" @click="ExportExcel">导出</el-button> |
| | | </div> |
| | | </div> |
| | | <div style="display: flex; margin-top: 10px"> |
| | | <el-button plain size="small" type="primary" @click="Enable">启用</el-button> |
| | | <el-button plain size="small" type="primary" @click="Deactivate">停用</el-button> |
| | | <el-button plain size="small" type="primary" @click.native="ImportExcel">导入</el-button> |
| | | <el-button plain size="small" type="primary" @click="ExportExcel">导出</el-button> |
| | | <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px"> |
| | | </div> |
| | | </div> |
| | | <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px"> |
| | | </div> |
| | | </div> |
| | | <!-- 树节点添加对话框--> |
| | | <el-dialog :title="this.TreeFlag ? '添加分类' :'添加主题库'" :visible.sync="TreeAddFormVisible" v-loading="AddLoading" append-to-body |
| | | style="width: 1700px;margin: auto"> |
| | | <el-form :model="TreeAddform" :rules="rules"> |
| | | <el-form-item :label="this.TreeFlag ? '分类编号:' :'主题库编号:'" label-width="150px" style="display: inline-block" prop="id"> |
| | | <el-input v-model="TreeAddform.id" autocomplete="off" style="width: 170px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item :label="this.TreeFlag ? '分类名称:' :'主题库名称:'" label-width="110px" style="display: inline-block" prop="name"> |
| | | <el-input v-model="TreeAddform.name" autocomplete="off" style="width: 170px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="存储的业务类型:" label-width="150px" v-if="TreeFlagCode" prop="btmTypeName"> |
| | | <el-input v-model="TreeAddform.btmTypeName" autocomplete="off" style="width: 585px" @focus="btmFoucus"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="描述:" label-width="150px"> |
| | | <el-input v-model="TreeAddform.description" autocomplete="off" style="width: 585px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="编码规则:" label-width="150px"> |
| | | <el-input v-model="TreeAddform.codeRuleOidName" autocomplete="off" style="width: 585px" @focus="CodeFoucus"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="关键属性查询规则:" label-width="150px"> |
| | | <el-input v-model="TreeAddform.codeKeyAttrRepeatOidName" autocomplete="off" @focus="Keyfouce" |
| | | style="width: 585px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="相似查询规则:" label-width="150px"> |
| | | <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off" @focus="simFouce" |
| | | style="width: 585px"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="TreeAddFormVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="TreeAddHandler">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 修改对话框--> |
| | | <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="修改分类"> |
| | | <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="editTreeFLagCode" :nodeClickList="nodeClickList" @referTreeForm="referTreeForm" @flushed="flushed"></classifyTreeform> |
| | | </el-dialog> |
| | | <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false" |
| | | :option="Treeoption" |
| | | style="height: calc(100vh - 230px);" |
| | | @node-click="nodeClick" |
| | | class="classifyTree" |
| | | > |
| | | </avue-tree> |
| | | <!-- 树节点添加对话框--> |
| | | <el-dialog v-loading="AddLoading" :before-close="TreeEscHandler" |
| | | :title="this.TreeFlag ? '添加分类' :'添加主题库'" :visible.sync="TreeAddFormVisible" append-to-body |
| | | style="width: 1700px;margin: auto"> |
| | | <el-form ref="myForm" :model="TreeAddform" :rules="rules"> |
| | | <el-form-item :label="this.TreeFlag ? '分类编号:' :'主题库编号:'" label-width="150px" prop="id" |
| | | style="display: inline-block"> |
| | | <el-input v-model="TreeAddform.id" autocomplete="off" style="width: 170px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item :label="this.TreeFlag ? '分类名称:' :'主题库名称:'" label-width="110px" prop="name" |
| | | style="display: inline-block"> |
| | | <el-input v-model="TreeAddform.name" autocomplete="off" style="width: 170px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item v-if="TreeFlagCode" label="存储的业务类型:" label-width="150px" prop="btmTypeName"> |
| | | <el-input v-model="TreeAddform.btmTypeName" autocomplete="off" style="width: 585px" |
| | | @focus="btmFoucus"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="描述:" label-width="150px"> |
| | | <el-input v-model="TreeAddform.description" autocomplete="off" style="width: 585px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="编码规则:" label-width="150px"> |
| | | <el-input v-model="TreeAddform.codeRuleOidName" autocomplete="off" style="width: 585px" |
| | | @focus="CodeFoucus"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="关键属性查询规则:" label-width="150px"> |
| | | <el-input v-model="TreeAddform.codeKeyAttrRepeatOidName" autocomplete="off" style="width: 585px" |
| | | @focus="Keyfouce"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="相似查询规则:" label-width="150px"> |
| | | <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off" style="width: 585px" |
| | | @focus="simFouce"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="TreeEscHandler">取 消</el-button> |
| | | <el-button type="primary" @click="TreeAddHandler">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 修改对话框--> |
| | | <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="修改分类"> |
| | | <classifyTreeform ref="childForm" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="editTreeFLagCode" |
| | | :flag="'edit'" |
| | | :loneTreeNewForm="TreeList" :nodeClickList="nodeClickList" |
| | | :nodeList="nodeList" @MasterHandler="MasterHandler" @flushed="flushed" |
| | | @referTreeForm="referTreeForm"></classifyTreeform> |
| | | </el-dialog> |
| | | <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" |
| | | :defaultExpandAll="false" |
| | | :option="Treeoption" |
| | | class="classifyTree" |
| | | style="height: calc(100vh - 230px);" |
| | | @node-click="nodeClick" |
| | | > |
| | | </avue-tree> |
| | | </div> |
| | | </basic-container> |
| | | </el-aside> |
| | |
| | | <!-- 右侧表格--> |
| | | <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs> |
| | | <span v-if="type.prop==='tab1'"> |
| | | <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'" ></classifyTreeform> |
| | | <classifyTreeform ref="childForm" :flag="'renonly'" :loneTreeNewForm="TreeList" |
| | | :nodeList="nodeList"></classifyTreeform> |
| | | </span> |
| | | <span v-else-if="type.prop==='tab2'"> |
| | | <basic-container> |
| | | <avue-crud ref="textCrud" v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" :option="this.crudTreeOption" |
| | | <avue-crud ref="textCrud" v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" |
| | | :option="this.crudTreeOption" |
| | | @row-save="CrudRowSave" |
| | | @row-del="CrudRowDel" |
| | | @row-update="CrudRowUpdata" |
| | | @row-click="rowHandle" |
| | | > |
| | | <template slot="radio" slot-scope="{row}"> |
| | | <el-radio v-model="selectRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio> |
| | | <el-radio v-model="selectRow" :label="row.$index" |
| | | style="padding-left: 10px !important;">{{ '' }}</el-radio> |
| | | </template> |
| | | |
| | | <template slot="menuLeft"> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 模板克隆 --> |
| | | <el-dialog :visible.sync="CloneVisible" append-to-body title="克隆模板"> |
| | | <el-dialog :before-close="cloneClose" :visible.sync="CloneVisible" append-to-body title="克隆模板"> |
| | | <el-container> |
| | | <el-aside width="300px"> |
| | | <div style="margin-bottom: 5px"><el-tag>主题库分类</el-tag></div> |
| | | <!-- 克隆模板的树 沿用首页树的loading和option,但是data和v-model绑定的数据创建一个新的变量,另外点击方法也是重新获取来操作克隆模板的数据--> |
| | | <avue-tree v-model="TreeAvueform" v-loading="loading" :data="Treedata" |
| | | :defaultExpandAll="false" |
| | | :option="Treeoption" |
| | | style="height: 50.5vh;margin-right: 10px" |
| | | @node-click="ClonenodeClick" |
| | | <avue-tree ref="cloneTree" v-model="TreeAvueform" v-loading="loading" :data="Treedata" |
| | | :defaultExpandAll="false" |
| | | :option="Treeoption" |
| | | style="height: 50.5vh;margin-right: 10px" |
| | | @node-click="ClonenodeClick" |
| | | > |
| | | </avue-tree> |
| | | </el-aside> |
| | |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input v-model="CloneFind" size="small" style="width: 40%;margin-left: 15px" placeholder="输入值后按回车进行模糊查询"></el-input> |
| | | <el-button size="small" type="primary" plain style="margin-left: 10px" @click="CloneEnterFind" @keyup.enter.native="CloneEnterFind">查询</el-button> |
| | | <el-input v-model="CloneFind" placeholder="输入值后按回车进行模糊查询" size="small" |
| | | style="width: 40%;margin-left: 15px"></el-input> |
| | | <el-button plain size="small" style="margin-left: 10px" type="primary" |
| | | @click="CloneEnterFind" @keyup.enter.native="CloneEnterFind">查询</el-button> |
| | | </div> |
| | | <avue-crud v-model="ClonecrudForm" v-loading="FormLoing" :data="this.CloneFormlist" |
| | | :option="this.ClonecrudTreeOption" |
| | |
| | | </div> |
| | | </el-main> |
| | | </el-container> |
| | | </el-container > |
| | | <div style="display: flex; justify-content: flex-end; align-items: center;margin-top: 10px" > |
| | | </el-container> |
| | | <div style="display: flex; justify-content: flex-end; align-items: center;margin-top: 10px"> |
| | | <el-button size="small " type="primary" @click="Clonehandler">确定</el-button> |
| | | <el-button size="small" @click="CloneVisible=false" >取消</el-button> |
| | | <el-button size="small" @click="cloneClose">取消</el-button> |
| | | </div> |
| | | <el-dialog |
| | | width="30%" |
| | | title="克隆模板" |
| | | :visible.sync="CloneinnerVisible" |
| | | append-to-body> |
| | | append-to-body |
| | | title="克隆模板" |
| | | width="30%"> |
| | | <div> |
| | | <avue-form :option="CloneOption" @submit="Clonesubmit" v-model="CloneModel"></avue-form> |
| | | <avue-form v-model="CloneModel" :option="CloneOption" @submit="Clonesubmit"></avue-form> |
| | | </div> |
| | | </el-dialog> |
| | | </el-dialog> |
| | | </template> |
| | | <template #menu="{ size, row ,index}"> |
| | | <el-button type="text" |
| | | v-if="row.lcStatus == 'Editing'" |
| | | <el-button v-if="row.lcStatus == 'Editing'" |
| | | :size="size" |
| | | icon="el-icon-edit-outline " |
| | | :size="size" |
| | | type="text" |
| | | @click="$refs.textCrud.rowEdit(row)">编辑</el-button> |
| | | <el-button type="text" |
| | | v-if="row.lcStatus == 'Editing'" |
| | | icon="el-icon-delete" |
| | | <el-button v-if="row.lcStatus == 'Editing'" |
| | | :size="size" |
| | | icon="el-icon-delete" |
| | | type="text" |
| | | @click="$refs.textCrud.rowDel(row,index)">删除</el-button> |
| | | <el-button |
| | | v-show="row.lcStatus === 'Released'" |
| | | @click="upAndStopAndStart(row, 'upVersion')" |
| | | :loading="row.upVersionLoad" |
| | | :size="size" |
| | | icon="el-icon-upload2" |
| | | type="text" |
| | | :size="size" |
| | | @click="upAndStopAndStart(row, 'upVersion')" |
| | | >升版</el-button |
| | | > |
| | | <el-button |
| | | v-show="row.lcStatus === 'Released'" |
| | | @click="upAndStopAndStart(row, 'stopLose')" |
| | | :loading="row.stopLoseLoad" |
| | | :size="size" |
| | | icon="el-icon-circle-close" |
| | | type="text" |
| | | :size="size" |
| | | @click="upAndStopAndStart(row, 'stopLose')" |
| | | >停用/失效</el-button |
| | | > |
| | | <el-button |
| | | v-show="['Disabled', 'Editing'].includes(row.lcStatus)" |
| | | @click="upAndStopAndStart(row, 'startRelease')" |
| | | :loading="row.startReleaseLoad" |
| | | :size="size" |
| | | icon="el-icon-circle-check" |
| | | type="text" |
| | | :size="size" |
| | | @click="upAndStopAndStart(row, 'startRelease')" |
| | | >启用/发布</el-button |
| | | > |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | <templatePro :ProData="this.ProData" :rowIndex="this.selectRow" :crudOid="this.crudOid" :crudLCStatus="this.crudLCStatus" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro> |
| | | <templatePro :Formlist="this.Formlist" :ProData="this.ProData" :codeClassifyOid="this.codeClassifyOid" |
| | | :crudArray="this.crudArray" :crudLCStatus="this.crudLCStatus" :crudOid="this.crudOid" |
| | | :rowIndex="this.selectRow"></templatePro> |
| | | </span> |
| | | <!-- 编码规则--> |
| | | <el-dialog :visible.sync="MasterdialogVisible" title="为【编码规则】选取值" append-to-body> |
| | | <el-dialog :before-close="masterEscHandler" :visible.sync="MasterdialogVisible" append-to-body |
| | | title="为【编码规则】选取值"> |
| | | <template> |
| | | <el-select v-model="SelectValue" placeholder="请选择" style="width: 135px"> |
| | | <el-option |
| | |
| | | style="width: 150px"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input style="width: 260px;margin-left: 15px" placeholder="输入值后进行模糊查询" v-model="SelectFInd"></el-input> |
| | | <el-button size="small" type="primary" plain @click="SelectFindeHandler" style="margin-left: 20px">查询</el-button> |
| | | <el-input v-model="SelectFInd" placeholder="输入值后进行模糊查询" style="width: 260px;margin-left: 15px"></el-input> |
| | | <el-button plain size="small" style="margin-left: 20px" type="primary" @click="SelectFindeHandler">查询 |
| | | </el-button> |
| | | </template> |
| | | <avue-crud :data="masterData" :option="masterOption" @select="masterSelect"></avue-crud> |
| | | <avue-crud :data="masterData" :option="Option" @row-click="masterSelect"> |
| | | <template slot="radio" slot-scope="{row}"> |
| | | <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }} |
| | | </el-radio> |
| | | </template> |
| | | </avue-crud> |
| | | <div style="height: 30px"> |
| | | <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >已设置的值为:[{{this.TreeAddform.coderuleoidName ==''?'未设置值':this.TreeAddform.coderuleoidName}}]</div> |
| | | <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > |
| | | <el-button type="primary" size="small" @click="MasterHandlerClick">确定</el-button> |
| | | <el-button size="small" @click="MasterdialogVisible=false">取消</el-button> |
| | | <div |
| | | style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px "> |
| | | 已设置的值为:[{{ this.TreeAddform.coderuleoidName == '' ? '未设置值' : this.TreeAddform.coderuleoidName }}] |
| | | </div> |
| | | <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden"> |
| | | <el-button size="small" type="primary" @click="MasterHandlerClick">确定</el-button> |
| | | <el-button size="small" @click="masterEscHandler">取消</el-button> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 关键属性查询规则--> |
| | | <el-dialog :visible.sync="KeydialogVisible" title="为【关键属性查询规则】选取值" append-to-body> |
| | | <el-dialog :before-close="KeyEscHandler" :visible.sync="KeydialogVisible" append-to-body title="为【关键属性查询规则】选取值"> |
| | | <template> |
| | | <el-select v-model="SelectValue" placeholder="请选择" style="width: 135px"> |
| | | <el-option |
| | |
| | | style="width: 150px"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input style="width: 260px;margin-left: 15px" placeholder="输入值后进行模糊查询" v-model="SelectFInd"></el-input> |
| | | <el-button size="small" type="primary" plain @click="KeySelectFindeHandler" style="margin-left: 20px">查询</el-button> |
| | | <el-input v-model="SelectFInd" placeholder="输入值后进行模糊查询" style="width: 260px;margin-left: 15px"></el-input> |
| | | <el-button plain size="small" style="margin-left: 20px" type="primary" @click="KeySelectFindeHandler">查询 |
| | | </el-button> |
| | | </template> |
| | | <avue-crud :data="KeyData" :option="masterOption" @select="KeySelect"></avue-crud> |
| | | <avue-crud :data="KeyData" :option="Option" @row-click="KeySelect"> |
| | | <template slot="radio" slot-scope="{row}"> |
| | | <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }} |
| | | </el-radio> |
| | | </template> |
| | | </avue-crud> |
| | | <div style="height: 30px"> |
| | | <div style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px " >已设置的值为:[{{this.TreeAddform.codeKeyAttrRepeatOidName ==''?'未设置值':this.TreeAddform.codekeyattrrepeatoidName}}]</div> |
| | | <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > |
| | | <el-button type="primary" size="small" @click="KeyHandlerClick">确定</el-button> |
| | | <el-button size="small" @click="KeydialogVisible=false">取消</el-button> |
| | | <div |
| | | style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px "> |
| | | 已设置的值为:[{{ |
| | | this.TreeAddform.codeKeyAttrRepeatOidName == '' ? '未设置值' : this.TreeAddform.codekeyattrrepeatoidName |
| | | }}] |
| | | </div> |
| | | <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden"> |
| | | <el-button size="small" type="primary" @click="KeyHandlerClick">确定</el-button> |
| | | <el-button size="small" @click="KeyEscHandler">取消</el-button> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 相似项查询规则--> |
| | | <el-dialog :visible.sync="SimidialogVisible" title="为【相似项查询规则】选取值" append-to-body> |
| | | <el-dialog :before-close="simEscHandler" :visible.sync="SimidialogVisible" append-to-body title="为【相似项查询规则】选取值"> |
| | | <template> |
| | | <el-select v-model="SelectValue" placeholder="请选择" style="width: 135px"> |
| | | <el-option |
| | |
| | | style="width: 150px"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input style="width: 260px;margin-left: 15px" placeholder="输入值后进行模糊查询" v-model="SelectFInd"></el-input> |
| | | <el-button size="small" type="primary" plain @click="SimSelectFindeHandler" style="margin-left: 20px">查询</el-button> |
| | | <el-input v-model="SelectFInd" placeholder="输入值后进行模糊查询" style="width: 260px;margin-left: 15px"></el-input> |
| | | <el-button plain size="small" style="margin-left: 20px" type="primary" @click="SimSelectFindeHandler">查询 |
| | | </el-button> |
| | | </template> |
| | | <avue-crud :data="simData" :option="masterOption" @select="simSelect"></avue-crud> |
| | | <avue-crud :data="simData" :option="Option" @row-click="simSelect"> |
| | | <template slot="radio" slot-scope="{row}"> |
| | | <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }} |
| | | </el-radio> |
| | | </template> |
| | | </avue-crud> |
| | | <div style="height: 30px"> |
| | | <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >已设置的值为:[{{this.TreeAddform.codeResembleRuleOidName ==''?'未设置值':this.TreeAddform.codeResembleRuleOidName}}]</div> |
| | | <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > |
| | | <el-button type="primary" size="small" @click="simHandlerClick">确定</el-button> |
| | | <el-button size="small" @click="SimidialogVisible=false">取消</el-button> |
| | | <div |
| | | style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px "> |
| | | 已设置的值为:[{{ |
| | | this.TreeAddform.codeResembleRuleOidName == '' ? '未设置值' : this.TreeAddform.codeResembleRuleOidName |
| | | }}] |
| | | </div> |
| | | <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden"> |
| | | <el-button size="small" type="primary" @click="simHandlerClick">确定</el-button> |
| | | <el-button size="small" @click="simEscHandler">取消</el-button> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 业务类型--> |
| | | <el-dialog :visible.sync="BtmdialogVisible" title="为【业务类型规则】选取值" append-to-body> |
| | | <!-- 业务类型--> |
| | | <el-dialog :before-close="BtmEscHandler" :visible.sync="BtmdialogVisible" append-to-body title="为【业务类型规则】选取值"> |
| | | <template> |
| | | <el-select v-model="SelectValue" placeholder="请选择" style="width: 135px !important;"> |
| | | <el-option |
| | | v-for="item in SelectOption" |
| | | v-for="item in masterSelectOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | style="width: 130px"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input style="width: 260px;margin-left: 15px" placeholder="输入值后进行模糊查询" v-model="SelectFInd"></el-input> |
| | | <el-button size="small" type="primary" plain @click="BtmSelectFindeHandler" style="margin-left: 20px">查询</el-button> |
| | | <el-input v-model="SelectFInd" placeholder="输入值后进行模糊查询" style="width: 260px;margin-left: 15px"></el-input> |
| | | <el-button plain size="small" style="margin-left: 20px" type="primary" @click="BtmSelectFindeHandler">查询 |
| | | </el-button> |
| | | </template> |
| | | <avue-crud :data="BtmData" :option="masterOption" @select="btmSelect"></avue-crud> |
| | | <avue-crud :data="BtmData" :option="masterOption" @row-click="btmSelect"> |
| | | <template slot="radio" slot-scope="{row}"> |
| | | <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }} |
| | | </el-radio> |
| | | </template> |
| | | </avue-crud> |
| | | <div style="height: 30px"> |
| | | <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >已设置的值为:[{{this.TreeAddform.btmTypeName}}]</div> |
| | | <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > |
| | | <el-button type="primary" size="small" @click="btmHandlerClick">确定</el-button> |
| | | <el-button size="small" @click="BtmdialogVisible=false">取消</el-button> |
| | | <div |
| | | style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px "> |
| | | 已设置的值为:[{{ this.TreeAddform.btmTypeName }}] |
| | | </div> |
| | | <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden"> |
| | | <el-button size="small" type="primary" @click="btmHandlerClick">确定</el-button> |
| | | <el-button size="small" @click="BtmEscHandler">取消</el-button> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 导出--> |
| | | <ThemeImport :visible.sync="ThemeImportVisible" :codeClassifyOid="this.codeClassifyOid"></ThemeImport> |
| | | <!-- 导出--> |
| | | <ThemeImport :codeClassifyOid="this.codeClassifyOid" :visible.sync="ThemeImportVisible"></ThemeImport> |
| | | </basic-container> |
| | | </el-main> |
| | | </el-container> |
| | |
| | | startRelease, |
| | | exportClassify |
| | | } from "@/api/template/templateAttr"; |
| | | import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master' |
| | | import {defaultReferDataGrid, referDataGrid} from '@/api/MasterData/master' |
| | | import func from "@/util/func"; |
| | | |
| | | export default { |
| | | name: "classifyTrees.vue", |
| | | //使用inject接收参数 |
| | |
| | | inject: ["crudTreeData"], |
| | | data() { |
| | | return { |
| | | AddLoading:false, |
| | | masterRow: null, |
| | | AddLoading: false, |
| | | // 定义一个变量来保存树请求的数量 |
| | | requestCount:0, |
| | | requestCount: null, |
| | | //导入状态框 |
| | | ThemeImportVisible:false, |
| | | selectRow:'', |
| | | selectList:[], |
| | | ThemeImportVisible: false, |
| | | selectRow: '', |
| | | selectList: [], |
| | | //树节点显示隐藏 |
| | | TreeFlagCode:true, |
| | | TreeFlagCode: true, |
| | | //修改节点显示隐藏 |
| | | editTreeFLagCode:false, |
| | | editTreeFLagCode: false, |
| | | //编码规则 |
| | | MasterdialogVisible:false, |
| | | masterData:[], |
| | | masterSelectList:[], |
| | | masterName:"", |
| | | masterOid:"", |
| | | MasterdialogVisible: false, |
| | | masterData: [], |
| | | masterSelectList: [], |
| | | masterName: "", |
| | | masterOid: "", |
| | | //关键属性btmTypeId |
| | | KeydialogVisible:false, |
| | | KeyName:"", |
| | | KeyOid:"", |
| | | KeyData:[], |
| | | KeySelectLIst:[], |
| | | KeydialogVisible: false, |
| | | KeyName: "", |
| | | KeyOid: "", |
| | | KeyData: [], |
| | | KeySelectLIst: [], |
| | | //相似项 |
| | | simName:"", |
| | | simOid:"", |
| | | simData:[], |
| | | SimidialogVisible:false, |
| | | simSelectList:[], |
| | | simName: "", |
| | | simOid: "", |
| | | simData: [], |
| | | SimidialogVisible: false, |
| | | simSelectList: [], |
| | | //业务类型 |
| | | btmName:"", |
| | | btmOid:"", |
| | | BtmData:[], |
| | | BtmdialogVisible:false, |
| | | btmSelectList:[], |
| | | masterOption:{ |
| | | addBtn:false, |
| | | index:true, |
| | | border:true, |
| | | selection:true, |
| | | menu:false, |
| | | height:380, |
| | | column:[ |
| | | btmName: "", |
| | | btmOid: "", |
| | | BtmData: [], |
| | | BtmdialogVisible: false, |
| | | btmSelectList: [], |
| | | masterOption: { |
| | | addBtn: false, |
| | | index: true, |
| | | border: true, |
| | | menu: false, |
| | | height: 380, |
| | | column: [ |
| | | { |
| | | label:'英文名称', |
| | | prop:'id' |
| | | label: '', |
| | | prop: 'radio', |
| | | width: 60, |
| | | display: false |
| | | }, |
| | | { |
| | | label:'中文名称', |
| | | prop:'name' |
| | | label: '业务类型编号', |
| | | prop: 'id' |
| | | }, |
| | | { |
| | | label:'描述', |
| | | prop:'description' |
| | | label: '业务类型名称', |
| | | prop: 'name' |
| | | }, |
| | | { |
| | | label: '描述', |
| | | prop: 'description' |
| | | } |
| | | ] |
| | | }, |
| | | SelectOption:[ |
| | | Option: { |
| | | addBtn: false, |
| | | index: true, |
| | | border: true, |
| | | menu: false, |
| | | height: 380, |
| | | column: [ |
| | | { |
| | | label: '', |
| | | prop: 'radio', |
| | | width: 60, |
| | | display: false |
| | | }, |
| | | { |
| | | label: '英文名称', |
| | | prop: 'id' |
| | | }, |
| | | { |
| | | label: '中文名称', |
| | | prop: 'name' |
| | | }, |
| | | { |
| | | label: '描述', |
| | | prop: 'description' |
| | | } |
| | | ] |
| | | }, |
| | | SelectOption: [ |
| | | { |
| | | value: 'name', |
| | | label: '中文名称' |
| | |
| | | label: '英文名称' |
| | | } |
| | | ], |
| | | SelectValue:"", |
| | | SelectFInd:"", |
| | | addFlag:false, |
| | | masterSelectOption: [ |
| | | { |
| | | value: 'id', |
| | | label: '业务类型编号' |
| | | }, |
| | | { |
| | | value: 'name', |
| | | label: '业务类型名称' |
| | | }, |
| | | ], |
| | | SelectValue: "id", |
| | | SelectFInd: "", |
| | | addFlag: false, |
| | | // 表格当前行id |
| | | crudOid:"", |
| | | crudOid: "", |
| | | //当前选中模板状态 |
| | | crudLCStatus:'', |
| | | crudLCStatus: '', |
| | | //表格当前选择数组 |
| | | crudArray:[], |
| | | crudArray: [], |
| | | //模板属性展示内容 |
| | | ProData: [], |
| | | //回车键搜索绑定值 |
| | |
| | | searchCondition: 'id', |
| | | findText: "", |
| | | }, |
| | | |
| | | //高级查询对话框 |
| | | FindFormVisible: false, |
| | | //克隆模板对话框 |
| | | CloneVisible: false, |
| | | CloneinnerVisible:false, |
| | | CloneinnerVisible: false, |
| | | //高级查询下拉框 |
| | | FindSelect: { |
| | | id: "0", |
| | |
| | | TreeAddFormVisible: false, |
| | | //当前点击项 |
| | | nodeClickList: "", |
| | | ClonenodeClickList:"", |
| | | ClonenodeClickList: "", |
| | | //分类和主题库状态 |
| | | TreeFlag: false, |
| | | //树加载 |
| | |
| | | }, |
| | | rules: { |
| | | id: [ |
| | | { required: true, message: '请输入名称', trigger: 'blur' }, |
| | | {required: true, message: '请输入编号', trigger: 'blur'}, |
| | | ], |
| | | name:[ |
| | | { required: true, message: '请输入编号', trigger: 'blur' }, |
| | | name: [ |
| | | {required: true, message: '请输入名称', trigger: 'blur'}, |
| | | ], |
| | | btmTypeName:[ |
| | | { required: true, message: '请选择业务类型', trigger: 'blur' }, |
| | | btmTypeName: [ |
| | | {required: true, message: '请选择业务类型', trigger: 'blur'}, |
| | | ] |
| | | }, |
| | | //avue-tree数据,暂时没有作用,里面功能用element写了,只用avue的一个树组件不用内置表单了。 |
| | | TreeAvueform: {}, |
| | | //克隆树 |
| | | CloneTreeAvueform:{}, |
| | | CloneTreeAvueform: {}, |
| | | Treedata: [], |
| | | CloneTreedata:[], |
| | | CloneTreedata: [], |
| | | Treeoption: { |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | defaultExpandAll: false, |
| | | menu: false, |
| | | // //这个是多选 |
| | | // multiple: true, |
| | | }, |
| | | //模板管理form |
| | | crudForm: "", |
| | |
| | | //克隆模板下拉框value |
| | | Clonevalue: "0", |
| | | //克隆模板搜索输入框 |
| | | CloneFind:"", |
| | | CloneFind: "", |
| | | //克隆模板下拉框数据 |
| | | CloneSelectOptions: [{ |
| | | value: '0', |
| | |
| | | }, |
| | | ], |
| | | //克隆模板确认表单数据 |
| | | CloneOption:{ |
| | | column:[ |
| | | CloneOption: { |
| | | column: [ |
| | | { |
| | | label:'模板编号', |
| | | prop:'id', |
| | | label: '模板编号', |
| | | prop: 'id', |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入模板编号", |
| | | trigger: "blur" |
| | | }] |
| | | }, { |
| | | label:'模板名称', |
| | | prop:'name', |
| | | label: '模板名称', |
| | | prop: 'name', |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入模板名称", |
| | |
| | | }] |
| | | }, |
| | | { |
| | | label:'描述', |
| | | prop:'desc', |
| | | type:'textarea', |
| | | span:24 |
| | | label: '描述', |
| | | prop: 'desc', |
| | | type: 'textarea', |
| | | span: 24 |
| | | } |
| | | ] |
| | | }, |
| | | //克隆模板双向绑定数据 |
| | | CloneModel:[], |
| | | CloneSelect:[], |
| | | CloneModel: [], |
| | | CloneSelect: [], |
| | | //克隆模板option |
| | | ClonecrudTreeOption: { |
| | | index: true, |
| | |
| | | } |
| | | }, |
| | | //模板管理编辑 |
| | | showEditBtn:false, |
| | | showEditBtn: false, |
| | | } |
| | | }, |
| | | watch:{ |
| | | TreeFlagCode:{ |
| | | handler(newval,oldval){ |
| | | console.log('TreeFlagCode',newval) |
| | | } |
| | | } |
| | | }, |
| | | watch: {}, |
| | | //tab栏默认是表格 |
| | | mounted() { |
| | | this.type = this.tabOption.column[0]; |
| | |
| | | if (e.target.nodeName !== 'SPAN') { |
| | | this.$refs.tree.setCurrentKey(null) |
| | | this.nodeClickList = {} |
| | | this.TreeList=[] |
| | | this.TreeFlagCode=true; |
| | | this.TreeList = [] |
| | | this.TreeFlagCode = true; |
| | | } |
| | | }, true) |
| | | }, |
| | | computed:{ |
| | | crudTreeOption(){ |
| | | return{ |
| | | computed: { |
| | | crudTreeOption() { |
| | | return { |
| | | index: true, |
| | | border: true, |
| | | height:180, |
| | | addBtn:this.Formlist.length<=0 && this.nodeClickList != "", |
| | | editBtn:false, |
| | | delBtn:false, |
| | | height: 180, |
| | | addBtn: this.Formlist.length <= 0 && this.nodeClickList != "", |
| | | editBtn: false, |
| | | delBtn: false, |
| | | column: [ |
| | | { |
| | | label: '', |
| | |
| | | }, |
| | | { |
| | | label: "模板描述", |
| | | prop:"description" |
| | | prop: "description" |
| | | }, |
| | | { |
| | | label:"版本号", |
| | | prop:"revisionSeq", |
| | | display:false |
| | | label: "版本号", |
| | | prop: "revisionSeq", |
| | | display: false |
| | | }, |
| | | { |
| | | label:"状态", |
| | | prop:"lcStatusText", |
| | | display:false |
| | | label: "状态", |
| | | prop: "lcStatusText", |
| | | display: false |
| | | } |
| | | ], |
| | | batchImportData: { |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | //存储的业务类型关闭 |
| | | BtmEscHandler() { |
| | | this.SelectFInd = ''; |
| | | this.SelectValue = 'id'; |
| | | this.masterRow = null; |
| | | this.BtmdialogVisible = false; |
| | | }, |
| | | //相似项关闭 |
| | | simEscHandler() { |
| | | this.SelectFInd = ''; |
| | | this.SelectValue = 'id'; |
| | | this.masterRow = null; |
| | | this.SimidialogVisible = false; |
| | | }, |
| | | //关键属性关闭 |
| | | KeyEscHandler() { |
| | | this.SelectFInd = ''; |
| | | this.SelectValue = 'id'; |
| | | this.masterRow = null; |
| | | this.KeydialogVisible = false; |
| | | }, |
| | | //编码规则关闭 |
| | | masterEscHandler() { |
| | | this.SelectFInd = ''; |
| | | this.SelectValue = 'id'; |
| | | this.masterRow = null; |
| | | this.MasterdialogVisible = false; |
| | | }, |
| | | // 关闭弹窗 |
| | | /** 导入 */ |
| | | ImportExcel(){ |
| | | this.ThemeImportVisible=true; |
| | | ImportExcel() { |
| | | this.ThemeImportVisible = true; |
| | | }, |
| | | /** 导出 */ |
| | | ExportExcel(){ |
| | | if(this.nodeClickList){ |
| | | exportClassify({oid:this.nodeClickList.oid}).then(res=>{ |
| | | ExportExcel() { |
| | | if (this.nodeClickList) { |
| | | exportClassify({oid: this.nodeClickList.oid}).then(res => { |
| | | func.downloadFileByBlobHandler(res); |
| | | }) |
| | | }else { |
| | | } else { |
| | | this.$message.warning('请先选择要导出的主题库分类') |
| | | } |
| | | }, |
| | | //编码规则失焦 |
| | | CodeFoucus(){ |
| | | this.MasterdialogVisible=true; |
| | | CodeFoucus() { |
| | | this.MasterdialogVisible = true; |
| | | this.MasterdefaultRend() |
| | | }, |
| | | //编码多选 |
| | | masterSelect(row){ |
| | | if(row.length>0){ |
| | | this.masterSelectList=row; |
| | | this.masterName=row[0].name; |
| | | this.masterOid=row[0].oid; |
| | | } |
| | | masterSelect(row) { |
| | | this.masterRow = row.$index; |
| | | this.masterSelectList = row; |
| | | this.masterName = row.name; |
| | | this.masterOid = row.oid; |
| | | |
| | | }, |
| | | //编码规则查询 |
| | | SelectFindeHandler(){ |
| | | if(this.SelectValue == 'id'){ |
| | | const masterParameter={ |
| | | 'conditionMap[id]':this.SelectFInd |
| | | } |
| | | this.MasterdefaultRend(masterParameter); |
| | | this.SelectValue="" |
| | | this.SelectFInd="" |
| | | }else if(this.SelectValue == 'name'){ |
| | | const masterParameter={ |
| | | 'conditionMap[name]':this.SelectFInd |
| | | } |
| | | this.MasterdefaultRend(masterParameter) |
| | | this.SelectValue="" |
| | | this.SelectFInd="" |
| | | } |
| | | SelectFindeHandler() { |
| | | const masterParameter = {}; |
| | | masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`; |
| | | this.MasterdefaultRend(masterParameter) |
| | | }, |
| | | //编码规则确定 |
| | | MasterHandlerClick(){ |
| | | if(this.masterSelectList.length>1){ |
| | | MasterHandlerClick() { |
| | | if (this.masterSelectList.length > 1) { |
| | | this.$message.warning('只能选择一条数据') |
| | | }else if(this.masterSelectList.length<=0){ |
| | | } else if (this.masterSelectList.length <= 0) { |
| | | this.$message.warning('请选择一条数据') |
| | | }else { |
| | | this.MasterdialogVisible=false; |
| | | this.masterSelectList=[] |
| | | this.$set(this.TreeAddform,'codeRuleOidName',this.masterName) |
| | | this.$set(this.TreeAddform,'codeRuleOid',this.masterOid) |
| | | this.$emit('MasterHandler',this.loneTreeNewForm) |
| | | } else { |
| | | this.MasterdialogVisible = false; |
| | | this.masterSelectList = [] |
| | | this.$set(this.TreeAddform, 'codeRuleOidName', this.masterName) |
| | | this.$set(this.TreeAddform, 'codeRuleOid', this.masterOid) |
| | | this.$emit('MasterHandler', this.loneTreeNewForm) |
| | | } |
| | | }, |
| | | //编码接口 |
| | | MasterdefaultRend(){ |
| | | MasterdefaultRend(masterParameter) { |
| | | defaultReferDataGrid({ |
| | | referType:'coderule', |
| | | isMuti:'false', |
| | | 'conditionMap["lcstatus"]':'Released' |
| | | }).then(res=>{ |
| | | this.masterData=res.data.records; |
| | | referType: 'coderule', |
| | | isMuti: 'false', |
| | | 'conditionMap["lcstatus"]': 'Released', |
| | | 'limit':'-1', |
| | | ...masterParameter |
| | | }).then(res => { |
| | | this.masterData = res.data.records; |
| | | }) |
| | | }, |
| | | Keyfouce(){ |
| | | this.KeydialogVisible=true; |
| | | Keyfouce() { |
| | | this.KeydialogVisible = true; |
| | | this.KeydefaultRend() |
| | | }, |
| | | //关键属性确定 |
| | | KeyHandlerClick(){ |
| | | if(this.KeySelectLIst.length>1){ |
| | | KeyHandlerClick() { |
| | | if (this.KeySelectLIst.length > 1) { |
| | | this.$message.warning('只能选择一条数据') |
| | | }else if(this.KeySelectLIst.length<=0){ |
| | | } else if (this.KeySelectLIst.length <= 0) { |
| | | this.$message.warning('请选择一条数据') |
| | | }else { |
| | | this.KeydialogVisible=false; |
| | | this.KeySelectLIst=[] |
| | | this.$set(this.TreeAddform,'codeKeyAttrRepeatOidName',this.KeyName) |
| | | this.$set(this.TreeAddform,'codeKeyAttrRepeatOid',this.KeyOid) |
| | | } else { |
| | | this.KeydialogVisible = false; |
| | | this.KeySelectLIst = [] |
| | | this.$set(this.TreeAddform, 'codeKeyAttrRepeatOidName', this.KeyName) |
| | | this.$set(this.TreeAddform, 'codeKeyAttrRepeatOid', this.KeyOid) |
| | | } |
| | | }, |
| | | //关键属性查询 |
| | | KeySelectFindeHandler(){ |
| | | if(this.SelectValue == 'id'){ |
| | | const masterParameter={ |
| | | 'conditionMap[id]':this.SelectFInd |
| | | } |
| | | this.KeydefaultRend(masterParameter); |
| | | this.SelectValue=""; |
| | | this.SelectFInd=""; |
| | | }else if(this.SelectValue == 'name'){ |
| | | const masterParameter={ |
| | | 'conditionMap[name]':this.SelectFInd |
| | | } |
| | | this.KeydefaultRend(masterParameter) |
| | | this.SelectValue="" |
| | | this.SelectFInd="" |
| | | } |
| | | KeySelectFindeHandler() { |
| | | const masterParameter = {}; |
| | | masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`; |
| | | this.KeydefaultRend(masterParameter) |
| | | }, |
| | | //关键属性接口 |
| | | KeydefaultRend(){ |
| | | KeydefaultRend(masterParameter) { |
| | | defaultReferDataGrid({ |
| | | referType:'codekeyattrrepeat', |
| | | isMuti:'false', |
| | | 'conditionMap["lcstatus"]':'Enabled' |
| | | }).then(res=>{ |
| | | this.KeyData=res.data.records; |
| | | referType: 'codekeyattrrepeat', |
| | | isMuti: 'false', |
| | | 'conditionMap["lcstatus"]': 'Enabled', |
| | | 'limit':'-1', |
| | | ...masterParameter |
| | | }).then(res => { |
| | | this.KeyData = res.data.records; |
| | | }) |
| | | }, |
| | | // 关键多选 |
| | | KeySelect(row){ |
| | | this.KeySelectLIst=row; |
| | | this.KeyName=row[0].name; |
| | | this.KeyOid=row[0].oid; |
| | | KeySelect(row) { |
| | | this.masterRow = row.$index; |
| | | this.KeySelectLIst = row; |
| | | this.KeyName = row.name; |
| | | this.KeyOid = row.oid; |
| | | }, |
| | | //关键失焦 |
| | | simFouce(){ |
| | | this.SimidialogVisible=true; |
| | | simFouce() { |
| | | this.SimidialogVisible = true; |
| | | this.simdefaultRend() |
| | | }, |
| | | //相似项确定 |
| | | simHandlerClick(){ |
| | | if(this.simSelectList.length>1){ |
| | | simHandlerClick() { |
| | | if (this.simSelectList.length > 1) { |
| | | this.$message.warning('只能选择一条数据') |
| | | }else if(this.simSelectList.length<=0){ |
| | | } else if (this.simSelectList.length <= 0) { |
| | | this.$message.warning('请选择一条数据') |
| | | }else { |
| | | this.SimidialogVisible=false; |
| | | this.simSelectList=[] |
| | | this.$set(this.TreeAddform,'codeResembleRuleOidName',this.simName) |
| | | this.$set(this.TreeAddform,'codeResembleRuleOid',this.simOid) |
| | | this.$emit('MasterHandler',this.loneTreeNewForm) |
| | | } else { |
| | | this.SimidialogVisible = false; |
| | | this.simSelectList = [] |
| | | this.$set(this.TreeAddform, 'codeResembleRuleOidName', this.simName) |
| | | this.$set(this.TreeAddform, 'codeResembleRuleOid', this.simOid) |
| | | this.$emit('MasterHandler', this.loneTreeNewForm) |
| | | } |
| | | }, |
| | | //相似项查询 |
| | | SimSelectFindeHandler(){ |
| | | if(this.SelectValue == 'id'){ |
| | | const masterParameter={ |
| | | 'conditionMap[id]':this.SelectFInd |
| | | } |
| | | this.simdefaultRend(masterParameter); |
| | | this.SelectValue="" |
| | | this.SelectFInd="" |
| | | }else if(this.SelectValue == 'name'){ |
| | | const masterParameter={ |
| | | 'conditionMap[name]':this.SelectFInd |
| | | } |
| | | this.simdefaultRend(masterParameter) |
| | | this.SelectValue="" |
| | | this.SelectFInd="" |
| | | } |
| | | SimSelectFindeHandler() { |
| | | const masterParameter = {}; |
| | | masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`; |
| | | this.simdefaultRend(masterParameter) |
| | | }, |
| | | // 相似项多选 |
| | | simSelect(row){ |
| | | this.simSelectList=row; |
| | | this.simName=row[0].name; |
| | | this.simOid=row[0].oid; |
| | | simSelect(row) { |
| | | this.masterRow = row.$index; |
| | | this.simSelectList = row; |
| | | this.simName = row.name; |
| | | this.simOid = row.oid; |
| | | }, |
| | | //相似项项接口 |
| | | simdefaultRend(){ |
| | | simdefaultRend(masterParameter) { |
| | | defaultReferDataGrid({ |
| | | referType:'coderesemblerule', |
| | | isMuti:'false', |
| | | 'conditionMap["lcstatus"]':'Enabled' |
| | | }).then(res=>{ |
| | | this.simData=res.data.records; |
| | | referType: 'coderesemblerule', |
| | | isMuti: 'false', |
| | | 'conditionMap["lcstatus"]': 'Enabled', |
| | | 'limit':'-1', |
| | | ...masterParameter |
| | | }).then(res => { |
| | | this.simData = res.data.records; |
| | | }) |
| | | }, |
| | | //业务类型失焦 |
| | | btmFoucus(){ |
| | | this.BtmdialogVisible=true; |
| | | btmFoucus() { |
| | | this.BtmdialogVisible = true; |
| | | this.btmdefaultRend() |
| | | }, |
| | | //业务类型确定 |
| | | btmHandlerClick(){ |
| | | if(this.btmSelectList.length>1){ |
| | | btmHandlerClick() { |
| | | if (this.btmSelectList.length > 1) { |
| | | this.$message.warning('只能选择一条数据') |
| | | }else if(this.btmSelectList.length<=0){ |
| | | } else if (this.btmSelectList.length <= 0) { |
| | | this.$message.warning('请选择一条数据') |
| | | }else { |
| | | this.BtmdialogVisible=false; |
| | | this.btmSelectList=[] |
| | | this.$set(this.TreeAddform,'btmTypeName',this.btmName) |
| | | this.$set(this.TreeAddform,'btmTypeId',this.btmOid) |
| | | this.$emit('MasterHandler',this.loneTreeNewForm) |
| | | } else { |
| | | this.$refs.myForm.clearValidate(); |
| | | this.BtmdialogVisible = false; |
| | | this.btmSelectList = [] |
| | | this.$set(this.TreeAddform, 'btmTypeName', this.btmName) |
| | | this.$set(this.TreeAddform, 'btmTypeId', this.btmOid) |
| | | this.$emit('MasterHandler', this.loneTreeNewForm) |
| | | } |
| | | }, |
| | | //业务类型查询 |
| | | BtmSelectFindeHandler(){ |
| | | if(this.SelectValue == 'id'){ |
| | | const masterParameter={ |
| | | 'conditionMap[id]':this.SelectFInd |
| | | } |
| | | this.btmdefaultRend(masterParameter); |
| | | this.SelectValue="" |
| | | this.SelectFInd="" |
| | | }else if(this.SelectValue == 'name'){ |
| | | const masterParameter={ |
| | | 'conditionMap[name]':this.SelectFInd |
| | | } |
| | | this.btmdefaultRend(masterParameter); |
| | | this.SelectValue=""; |
| | | this.SelectFInd=""; |
| | | } |
| | | BtmSelectFindeHandler() { |
| | | const masterParameter = {}; |
| | | masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`; |
| | | this.btmdefaultRend(masterParameter); |
| | | }, |
| | | //业务类型多选 |
| | | btmSelect(row){ |
| | | this.btmSelectList=row; |
| | | this.btmName=row[0].name; |
| | | this.btmOid=row[0].id; |
| | | btmSelect(row) { |
| | | this.masterRow = row.$index; |
| | | this.btmSelectList = row; |
| | | this.btmName = row.name; |
| | | this.btmOid = row.id; |
| | | }, |
| | | //业务类型接口 |
| | | btmdefaultRend(masterParameter){ |
| | | referDataGrid({valueField:'id',isMuti:'false',...masterParameter}).then(res=>{ |
| | | this.BtmData=res.data.data.records |
| | | btmdefaultRend(masterParameter) { |
| | | referDataGrid({valueField: 'id', isMuti: 'false','limit':'-1', ...masterParameter}).then(res => { |
| | | this.BtmData = res.data.data.records |
| | | }) |
| | | }, |
| | | //子传父 |
| | | MasterHandler(val){ |
| | | this.TreeList=val; |
| | | MasterHandler(val) { |
| | | this.TreeList = val; |
| | | }, |
| | | rowHandle(row, column){ |
| | | this.selectRow=row.$index; |
| | | this.crudOid=row.oid; |
| | | this.crudLCStatus=row.lcStatus; |
| | | rowHandle(row, column) { |
| | | this.selectRow = row.$index; |
| | | this.crudOid = row.oid; |
| | | this.crudLCStatus = row.lcStatus; |
| | | this.crudArray.push(row); |
| | | this.gridCode() |
| | | }, |
| | |
| | | }) |
| | | //调用修改属性名方法 |
| | | this.ModifyProperties(this.CloneTreedata, 'name', 'label'); |
| | | console.log(this.CloneTreedata) |
| | | this.CloneTreedata = this.CloneTreedata.map(item => { |
| | | if (item.attributes.lcStatus === "Disabled") { |
| | | item.label += '【停用】'; |
| | | } |
| | | return item; |
| | | }); |
| | | }).catch(res => { |
| | | this.$message.error(res) |
| | | |
| | | }) |
| | | }, |
| | | //定义一个修改数据属性名的方法 |
| | |
| | | }); |
| | | try { |
| | | //新增表头名称 |
| | | this.TreeFlag=!this.nodeClickList |
| | | this.TreeFlag = !this.nodeClickList |
| | | await new Promise(resolve => setTimeout(resolve, 500)); |
| | | this.TreeAddFormVisible = true; |
| | | loading.close(); |
| | |
| | | loading.close(); |
| | | } |
| | | }, |
| | | //树节点取消事件 |
| | | TreeEscHandler() { |
| | | this.TreeAddform = {}; |
| | | this.TreeAddFormVisible = false; |
| | | // 关闭弹窗清空校验 |
| | | this.$refs.myForm.clearValidate(); |
| | | }, |
| | | //树节点添加事件 |
| | | TreeAddHandler() { |
| | | const data = this.TreeAddform; |
| | | // data.btmtypename= this.TreeList.btmtypename |
| | | this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid); |
| | | TreeSave(data) |
| | | .then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "添加成功!", |
| | | if ((!this.TreeAddform.id || !this.TreeAddform.name) || (this.TreeFlagCode && !this.TreeAddform.btmTypeName)) { |
| | | this.$message.warning('请输入内容!'); |
| | | } else { |
| | | const data = this.TreeAddform; |
| | | this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid); |
| | | TreeSave(data) |
| | | .then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "添加成功!", |
| | | }); |
| | | Object.keys(this.TreeAddform).forEach(key => { |
| | | this.TreeAddform[key] = ""; |
| | | }); |
| | | this.getAttr(); |
| | | this.TreeAddFormVisible = false; |
| | | //添加完成后右侧清空 |
| | | this.ProData = []; |
| | | this.Formlist = []; |
| | | }) |
| | | .catch((res) => { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: res, |
| | | }); |
| | | }); |
| | | Object.keys(this.TreeAddform).forEach(key => { |
| | | this.TreeAddform[key] = ""; |
| | | }); |
| | | this.getAttr(); |
| | | this.TreeAddFormVisible = false; |
| | | }) |
| | | .catch((res) => { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: res, |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | //树节点删除按钮 |
| | | TreeDel() { |
| | |
| | | }, |
| | | //修改回填 |
| | | TreeEdit() { |
| | | if ( Object.keys(this.nodeClickList).length<1) { |
| | | if (Object.keys(this.nodeClickList).length < 1) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请先从树上选择一条数据!' |
| | |
| | | //启用和停用都先判断状态 |
| | | //启用 |
| | | Enable() { |
| | | if(Object.keys(this.nodeClickList).length<1){ |
| | | if (Object.keys(this.nodeClickList).length < 1) { |
| | | this.$message.warning('请先从树上选择一条数据') |
| | | }else { |
| | | } else { |
| | | if (this.FlagObj.lcStatus == "Enabled") { |
| | | this.$message({ |
| | | type: 'warning', |
| | |
| | | }, |
| | | //停用 |
| | | Deactivate() { |
| | | if(Object.keys(this.nodeClickList).length<1){ |
| | | if (Object.keys(this.nodeClickList).length < 1) { |
| | | this.$message.warning('请先从树上选择一条数据') |
| | | }else { |
| | | } else { |
| | | if (this.FlagObj.lcStatus === "Disabled") { |
| | | this.$message({ |
| | | type: 'warning', |
| | |
| | | }); |
| | | } |
| | | } |
| | | |
| | | }, |
| | | //树点击事件 |
| | | async nodeClick(data) { |
| | |
| | | this.editTreeFLagCode = !data.parentId; |
| | | this.nodeClickList = data; |
| | | this.selectRow = 0; |
| | | this.crudArray = [] |
| | | try { |
| | | this.requestCount += 1; |
| | | const [res1, res2, res3] = await Promise.all([ |
| | | TreeObjcet(data.oid), |
| | | gridCodeClassifyTemplate({ 'conditionMap[codeclassifyoid]': data.oid }), |
| | | gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': data.oid}), |
| | | getObjectByOid(data.oid) |
| | | ]); |
| | | this.FlagObj = res1.data.data; |
| | |
| | | await this.gridCode(); |
| | | } else { |
| | | this.ProData = []; |
| | | this.crudOid = '' |
| | | } |
| | | this.TreeList = res3.data.data; |
| | | } catch (error) { |
| | |
| | | |
| | | async gridCode() { |
| | | try { |
| | | const res = await gridCodeClassifyTemplateAttr({ 'conditionMap[classifyTemplateOid]': this.Formlist[this.selectRow].oid, limit: -1 }); |
| | | const res = await gridCodeClassifyTemplateAttr({ |
| | | 'conditionMap[classifyTemplateOid]': this.Formlist[this.selectRow].oid, |
| | | limit: -1 |
| | | }); |
| | | this.ProData = res.data.data.map(item => { |
| | | if (item.classifyInvokeAttr !== '') { |
| | | if (!item.hasOwnProperty('classifyInvokeText')) { |
| | |
| | | console.log(e); |
| | | }, |
| | | //基本信息表单刷新 |
| | | referTreeForm(){ |
| | | getObjectByOid(this.nodeClickList.oid).then(res => { |
| | | referTreeForm() { |
| | | getObjectByOid(this.nodeClickList.oid).then(res => { |
| | | this.TreeList = res.data.data; |
| | | }).catch(res => { |
| | | this.$message.error(res) |
| | | }) |
| | | }, |
| | | //克隆模板树的点击切换数据 |
| | | async ClonenodeClick(data){ |
| | | this.ClonenodeClickList=data; |
| | | await gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': data.oid}).then(res=>{ |
| | | async ClonenodeClick(data) { |
| | | this.ClonenodeClickList = data; |
| | | await gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': data.oid}).then(res => { |
| | | this.CloneFormlist = res.data.data.filter(item => { |
| | | if (item.codeclassifyoid != "") { |
| | | this.codeClassifyOid = item.codeclassifyoid |
| | |
| | | }, |
| | | |
| | | //模板管理表格添加 |
| | | CrudRowSave(row,done) { |
| | | CrudRowSave(row, done) { |
| | | if (this.nodeClickList.length <= 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | |
| | | message: "添加成功!" |
| | | }); |
| | | done(row) |
| | | this.CrudRend() |
| | | this.TemRefresh(); |
| | | }).catch(res => { |
| | | this.$message({ |
| | | type: 'info', |
| | |
| | | } |
| | | }, |
| | | //模板管理修改 |
| | | CrudRowUpdata(row,index,done) { |
| | | CrudRowUpdata(row, index, done) { |
| | | editSave(row).then(() => { |
| | | this.CrudRend() |
| | | this.TemRefresh(); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | |
| | | }, |
| | | //模板管理删除 |
| | | CrudRowDel(row) { |
| | | deleteData(row).then(()=> { |
| | | this.CrudRend() |
| | | deleteData(row).then(() => { |
| | | this.TemRefresh(); |
| | | }).catch(res => { |
| | | this.$message({ |
| | | type: 'info', |
| | |
| | | }); |
| | | }) |
| | | }, |
| | | //克隆取消 |
| | | cloneClose() { |
| | | this.$refs.cloneTree.setCurrentKey(null) |
| | | this.ClonenodeClickList = {} |
| | | this.CloneFormlist = [] |
| | | this.CloneVisible = false; |
| | | }, |
| | | //克隆模板查询 |
| | | CloneEnterFind(){ |
| | | CloneEnterFind() { |
| | | gridCodeClassifyTemplate().then(res => { |
| | | this.CloneFormlist = res.data.data.filter(item => { |
| | | if(this.Clonevalue == 0){ |
| | | if (this.Clonevalue == 0) { |
| | | return item.id.includes(this.CloneFind) |
| | | }else if(this.Clonevalue == 1){ |
| | | } else if (this.Clonevalue == 1) { |
| | | return item.name.includes(this.CloneFind) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | // 查询 |
| | | FindeHanler(){ |
| | | if(this.nodeClickList != ""){ |
| | | this.FindFormVisible=true |
| | | }else { |
| | | FindeHanler() { |
| | | if (this.nodeClickList != "") { |
| | | this.FindFormVisible = true |
| | | } else { |
| | | this.$message.warning('请从树上选择一条数据') |
| | | } |
| | | }, |
| | | //克隆模板选择确定 |
| | | Clonehandler(){ |
| | | if(this.CloneSelect.length <= 0){ |
| | | Clonehandler() { |
| | | if (this.CloneSelect.length <= 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请选择要克隆的模板!' |
| | | }); |
| | | }else if(this.CloneSelect.length >1){ |
| | | } else if (this.CloneSelect.length > 1) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '只能选择一条数据!' |
| | | }); |
| | | } else { |
| | | this.CloneinnerVisible=true; |
| | | this.CloneinnerVisible = true; |
| | | } |
| | | }, |
| | | //点击从其它模板克隆 |
| | | CloneBtn(){ |
| | | if(this.nodeClickList.length <= 0){ |
| | | CloneBtn() { |
| | | if (this.nodeClickList.length <= 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请先从[主题库分类】树上选择一条数据!' |
| | | }); |
| | | }else { |
| | | this.CloneVisible=true; |
| | | } else { |
| | | this.CloneVisible = true; |
| | | } |
| | | }, |
| | | //克隆模板单选框改变 |
| | | selectionChange(row){ |
| | | this.CloneSelect=row; |
| | | //双向绑定,提交表单输入框回填上当前选择的数据 |
| | | this.CloneModel.id=row[0].id; |
| | | this.CloneModel.name=row[0].name; |
| | | //这里有点绕,CloneSelect是我选择框选择的数据。等于this.nodeClickList.oid是因为,克隆模板传递数据要把当前选择树的oid传递给后端。而不是当前要克隆模板的oid |
| | | this.CloneSelect[0].codeclassifyoid=this.nodeClickList.oid |
| | | selectionChange(row) { |
| | | this.CloneSelect = row; |
| | | const {id, name} = row[0]; |
| | | this.CloneModel = {id, name}; |
| | | this.CloneSelect[0].codeclassifyoid = this.nodeClickList.oid; |
| | | console.log('row', row) |
| | | console.log('CloneSelect', this.CloneSelect) |
| | | console.log('CloneModel', this.CloneModel) |
| | | }, |
| | | //克隆表单提交 |
| | | Clonesubmit(row,done){ |
| | | //重新赋值CloneSelect传递的数据为输入框可以修改的数据,CloneModel提交表单输入框双向绑定数据 |
| | | this.CloneSelect[0].id=this.CloneModel.id; |
| | | this.CloneSelect[0].name=this.CloneModel.name; |
| | | copy(this.CloneSelect[0]).then(()=>{ |
| | | //因为是嵌套弹窗所以手动关闭CloneinnerVisible,CloneVisible两个弹窗。 |
| | | this.CloneinnerVisible=false |
| | | this.CloneVisible=false |
| | | this.$message.success("复制成功") |
| | | this.CrudRend() |
| | | done(row) |
| | | }).catch(res=>{ |
| | | done(res) |
| | | }) |
| | | Clonesubmit(row, done) { |
| | | // 重新赋值CloneSelect传递的数据为输入框可以修改的数据,CloneModel提交表单输入框双向绑定数据 |
| | | Object.assign(this.CloneSelect[0], this.CloneModel); |
| | | // CloneSelect数组第一项 匹配CloneModel对象 |
| | | copy(this.CloneSelect[0]) |
| | | .then(() => { |
| | | // 因为是嵌套弹窗所以手动关闭CloneinnerVisible,CloneVisible两个弹窗。 |
| | | this.CloneinnerVisible = false; |
| | | this.CloneVisible = false; |
| | | this.$message.success("复制成功"); |
| | | this.TemRefresh(); |
| | | done(row); |
| | | }) |
| | | .catch((error) => { |
| | | done(error); |
| | | }); |
| | | }, |
| | | //刷新 |
| | | TemRefresh() { |
| | |
| | | this.Formlist = res.data.data.filter(item => { |
| | | return item.codeclassifyoid == this.nodeClickList.oid |
| | | }) |
| | | this.crudLCStatus=this.Formlist[this.selectRow].lcStatus; |
| | | this.crudLCStatus = this.Formlist[this.selectRow].lcStatus; |
| | | this.crudArray.push(this.Formlist[this.selectRow]); |
| | | gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': res.data.data[this.selectRow].oid,limit:-1}).then(res => { |
| | | gridCodeClassifyTemplateAttr({ |
| | | 'conditionMap[classifyTemplateOid]': res.data.data[this.selectRow].oid, |
| | | limit: -1 |
| | | }).then(res => { |
| | | this.ProData = res.data.data; |
| | | //分类注入数据格式 |
| | | this.ProData = res.data.data.map((item) => { |
| | | this.ProData = res.data.data.map((item) => { |
| | | //如果分类注入classifyInvokeAttr为空说明是初始状态 |
| | | if(item.classifyInvokeAttr !== ''){ |
| | | if (item.classifyInvokeAttr !== '') { |
| | | if (!item.hasOwnProperty('classifyInvokeText')) { // 检查classifyInvokeText属性是否存在 |
| | | item = { |
| | | ...item, |
| | |
| | | type: "warning", |
| | | }).then(() => { |
| | | this.$set(row, this.upAndStopAndStartData[type]["load"], true) |
| | | const { ts, oid } = row; |
| | | this.upAndStopAndStartData[type]['funAPi']({ ts, oid }).then((res) => { |
| | | const {ts, oid} = row; |
| | | this.upAndStopAndStartData[type]['funAPi']({ts, oid}).then((res) => { |
| | | if (res.data.code === 200) { |
| | | this.$set(row, this.upAndStopAndStartData[type]["load"], false) |
| | | this.TemRefresh(); |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .el-container{ |
| | | .el-container { |
| | | height: 100%; |
| | | } |
| | | |
| | | .el-aside { |
| | | height: calc(100% - 30px); |
| | | } |
| | | |
| | | .el-main { |
| | | height: calc(100% - 30px); |
| | | } |
| | | |
| | | .el-form { |
| | | display: flex; |
| | | flex-wrap: wrap; /* 设置可换行,以便在小屏幕设备上使用多行布局 */ |
| | |
| | | } |
| | | |
| | | </style> |
| | | /sa[pr |
| | | [ |
| | | syulep |