| | |
| | | @selection-change="selectChangeHandler" |
| | | @row-click="rowClickHandler"> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">创建</el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">修改</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">删除</el-button> |
| | | <el-button v-if="permissionChildrenList.UiTabAddBtn" class="button-custom-icon" size="small" type="primary" @click="addHandler"> |
| | | <icon-show :name="permissionChildrenList.UiTabAddBtn.source"></icon-show> |
| | | 创建 |
| | | </el-button> |
| | | <!--<el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">修改</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">删除</el-button>--> |
| | | </template> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">编辑 |
| | | <el-button v-if="permissionChildrenList.UiTabEditBtn" size="small" type="text" |
| | | @click="rowEditBtnClick(scope.row)"> |
| | | <icon-show :name="permissionChildrenList.UiTabEditBtn.source"></icon-show> |
| | | 编辑 |
| | | </el-button> |
| | | <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">删除 |
| | | <el-button v-if="permissionChildrenList.UiTabDelBtn" size="small" type="text" @click="rowDeleteHandler(scope.row)"> |
| | | <icon-show :name="permissionChildrenList.UiTabDelBtn.source"></icon-show> |
| | | 删除 |
| | | </el-button> |
| | | <el-button v-if="permissionChildrenList.UiTabCloneBtn" size="small" type="text" @click="rowCloneHandler(scope.row)"> |
| | | <icon-show :name="permissionChildrenList.UiTabCloneBtn.source"></icon-show> |
| | | 克隆 |
| | | </el-button> |
| | | </template> |
| | | <template slot="plIsOpen" slot-scope="{row}"> |
| | |
| | | <el-tag v-else type="danger">未启用</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <bottom-table :height="'280px'" :sourceData="selectList[0]" style="margin-top: 15px;"></bottom-table> |
| | | <bottom-table :sourceData="selectList[0]" :height="'280px'" style="margin-top: 15px;"></bottom-table> |
| | | <!-- 创建编辑自定义对话框 --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="dialogLoading" |
| | | :close-on-click-modal="false" |
| | | :title="dialogType === 'add' ? ' 创建 页签' : '编辑 页签'" |
| | | :visible.sync="dialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | :close-on-click-modal="false" |
| | | width="800px" |
| | | @close="dialogClose" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px" size="small"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px" size="small" style="margin-bottom: 30px;"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="页面编码:" prop="plCode"> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="序号:" prop="plSeq"> |
| | | <el-input v-model="form.plSeq"></el-input> |
| | | <el-input-number v-model="form.plSeq" :max="9999" :min="1" |
| | | controls-position="right"></el-input-number > |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="是否启用" prop="plIsOpen"> |
| | | <el-switch v-model="form.plIsOpen" :active-value="1" :inactive-value="0" active-color="#13ce66" |
| | | inactive-color="#ff4949"></el-switch> |
| | | <el-switch v-model="form.plIsOpen" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#ff4949"></el-switch> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="显示表达式:" prop="plOpenExpression"> |
| | | <el-input v-model="form.plOpenExpression" :rows="3" type="textarea"></el-input> |
| | | <el-input type="textarea" :rows="3" v-model="form.plOpenExpression"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="国际化标准:" prop="plLabel"> |
| | | <el-input v-model="form.plLabel" :rows="1" type="textarea"></el-input> |
| | | <el-input type="textarea" :rows="1" v-model="form.plLabel"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="描述:" prop="plDesc"> |
| | | <el-input v-model="form.plDesc" :rows="1" type="textarea"></el-input> |
| | | <el-input type="textarea" :rows="1" v-model="form.plDesc"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="UI解析类:" prop="plUIParser"> |
| | | <el-input v-model="form.plUIParser" :rows="2" type="textarea"></el-input> |
| | | <el-input type="textarea" :rows="2" v-model="form.plUIParser"></el-input> |
| | | </el-form-item> |
| | | <div class="tip"> |
| | | <div style="color: #D40000">示例:java_cs:xxx;java_bs:xxx;net_cs:xxx;net_bs:xxx;mobile_cs:xxx;mobile_bs:xxx; |
| | | </div> |
| | | <div style="color: #D40000">示例:java_cs:xxx;java_bs:xxx;net_cs:xxx;net_bs:xxx;mobile_cs:xxx;mobile_bs:xxx;</div> |
| | | <div>1、用英文半角分号;分隔各组值。</div> |
| | | <div>2、每组用英文半角冒号:分隔单一拓展属性名称及属性值。</div> |
| | | <div>3、其中的xxx是各种解析类的完整类型名称(完全限定名)。</div> |
| | | <div>4、输入时,不要敲回车换行。</div> |
| | | </div> |
| | | <el-form-item label="拓展属性:" prop="plExtAttr"> |
| | | <el-input v-model="form.plExtAttr" :rows="2" type="textarea"></el-input> |
| | | <el-input type="textarea" :rows="2" v-model="form.plExtAttr"></el-input> |
| | | </el-form-item> |
| | | <div class="tip"> |
| | | <div style="color: #D40000">示例:ext1:xx;ext2:xx;ext3:xxx;ext4:xxx;extn:xxx</div> |
| | |
| | | <div>4、输入时,不要敲回车换行。</div> |
| | | </div> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogClose">取 消</el-button> |
| | | <el-button type="primary" @click="saveHandler">确 定</el-button> |
| | | <span slot="footer" class="dialog-footer avue-dialog__footer"> |
| | | <el-button size="small" type="primary" @click="saveHandler">保 存</el-button> |
| | | <el-button size="small" @click="dialogClose">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <clone-dialog ref="cloneDialog" :fromOid="fromOid" :sourceOId="sourceOId" type="tabPage" paramsType="ui"></clone-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } from "@/api/UI/uiDefine"; |
| | | import func from "@/util/func"; |
| | | import bottomTable from "./bottomTable/index"; |
| | | import cloneDialog from "@/views/modelingMenu/ui/uiDefine/rightRegion/cloneDialog"; |
| | | import {mapGetters} from "vuex"; |
| | | |
| | | export default { |
| | | name: "plShow", |
| | | name: "plShow", |
| | | props: { |
| | | uiDefineData: { |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | }, |
| | | components: {bottomTable}, |
| | | components:{bottomTable,cloneDialog}, |
| | | data() { |
| | | return { |
| | | uiDefineOid: '', |
| | | fromOid:'', |
| | | sourceOId:'', |
| | | uiDefineOid:'', |
| | | areaType: '', |
| | | tableLoading: false, |
| | | selectList: [], |
| | | option: { |
| | | ...basicOption, |
| | | height: '300px', |
| | | height:'300px', |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | index: false, |
| | | menuWidth: 160, |
| | | align: 'left', |
| | | index:false, |
| | | menuWidth:220, |
| | | align:'left', |
| | | column: [{ |
| | | label: '序号', |
| | | prop: 'plSeq', |
| | | width: 60 |
| | | width:50 |
| | | }, { |
| | | label: '编码', |
| | | prop: 'plCode', |
| | | width: 180 |
| | | width:180 |
| | | }, { |
| | | label: '名称', |
| | | prop: 'plName', |
| | | width: 200 |
| | | width:200 |
| | | }, { |
| | | label: '是否启用', |
| | | prop: 'plIsOpen', |
| | | align: 'center', |
| | | align:'center', |
| | | width: 90 |
| | | }, { |
| | | label: '显示表达式', |
| | | prop: 'plOpenExpression', |
| | | overHidden: true, |
| | | width: 300 |
| | | overHidden:true, |
| | | width:300 |
| | | }, { |
| | | label: 'UI解析类', |
| | | prop: 'plUIParser' |
| | |
| | | prop: 'plExtAttr' |
| | | }, { |
| | | label: '描述', |
| | | prop: 'plDesc' |
| | | prop: 'plDesc', |
| | | overHidden: true |
| | | }] |
| | | }, |
| | | data: [], |
| | |
| | | plSeq: '', |
| | | plCode: '', |
| | | plName: '', |
| | | plIsOpen: 0, |
| | | plOpenExpression: '', |
| | | plLabel: '', |
| | | plUIParser: '', |
| | | plExtAttr: '', |
| | | plDesc: '' |
| | | plIsOpen:0, |
| | | plOpenExpression:'', |
| | | plLabel:'', |
| | | plUIParser:'', |
| | | plExtAttr:'', |
| | | plDesc:'' |
| | | }, |
| | | rules: { |
| | | plName: [{ |
| | |
| | | }, |
| | | } |
| | | }, |
| | | computed:{ |
| | | ...mapGetters(["permission"]), |
| | | permissionChildrenList() { |
| | | return { |
| | | UiTabAddBtn: this.vaildData(this.permission[this.$route.query.id].ADD2, false), |
| | | UiTabEditBtn: this.vaildData(this.permission[this.$route.query.id].EDIT2, false), |
| | | UiTabDelBtn: this.vaildData(this.permission[this.$route.query.id].DELETE2, false), |
| | | UiTabCloneBtn: this.vaildData(this.permission[this.$route.query.id].CLONE, false), |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | | uiDefineData: { |
| | | uiDefineData:{ |
| | | handler(val) { |
| | | if (val && val.plOId) { |
| | | if(val && val.plOId) { |
| | | if (val.plIsShowNavigator) { |
| | | this.areaType = '1'; |
| | | } else if (val.plIsShowForm) { |
| | | }else if(val.plIsShowForm){ |
| | | this.areaType = '2' |
| | | } else { |
| | | }else{ |
| | | this.areaType = '3' |
| | | } |
| | | this.getTableList() |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep: true |
| | | deep:true |
| | | } |
| | | }, |
| | | created() { |
| | | this.uiDefineOid = this.$route.params.uiDefineOid; |
| | | this.uiDefineOid=this.$route.params.uiDefineOid; |
| | | }, |
| | | methods: { |
| | | handleClick(tab, event) { |
| | | this.getTableList() |
| | | }, |
| | | getTableList() { |
| | | getTableList(){ |
| | | const params = { |
| | | contextId: this.uiDefineData.plOId, |
| | | areaType: this.areaType |
| | | contextId:this.uiDefineData.plOId, |
| | | areaType:this.areaType |
| | | } |
| | | getTabByContextIdAndType(params).then(res => { |
| | | this.data = res.data.data; |
| | | this.selectList = []; |
| | | getTabByContextIdAndType( params).then(res => { |
| | | this.$refs.crud.clearSelection(); |
| | | this.data = res.data.data; |
| | | this.selectList=[]; |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | |
| | | this.lastIndex = newIndex; |
| | | }, |
| | | () => { |
| | | this.selectList = []; |
| | | this.selectList = [row]; |
| | | } |
| | | ); |
| | | }, |
| | | //创建 |
| | | addHandler() { |
| | | this.form = { |
| | | addHandler(){ |
| | | this.form={ |
| | | plSeq: '', |
| | | plCode: '', |
| | | plName: '', |
| | | plIsOpen: 0, |
| | | plOpenExpression: '', |
| | | plLabel: '', |
| | | plUIParser: '', |
| | | plExtAttr: '', |
| | | plDesc: '' |
| | | plIsOpen:0, |
| | | plOpenExpression:'', |
| | | plLabel:'', |
| | | plUIParser:'', |
| | | plExtAttr:'', |
| | | plDesc:'' |
| | | }; |
| | | this.dialogType = 'add'; |
| | | this.dialogVisible = true; |
| | | }, |
| | | editHandler() { |
| | | if (this.selectList.length != 0) { |
| | | editHandler(){ |
| | | if(this.selectList.length!=0){ |
| | | this.rowEditBtnClick(this.selectList[0]); |
| | | } else { |
| | | }else { |
| | | this.$message.error('请选择一条数据进行编辑'); |
| | | } |
| | | }, |
| | | delHandler() { |
| | | delHandler(){ |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.error('请至少选择一条数据'); |
| | | return; |
| | |
| | | }, |
| | | // 编辑按钮 |
| | | rowEditBtnClick(row) { |
| | | this.form = row; |
| | | this.form=JSON.parse(JSON.stringify(row)); |
| | | this.dialogType = 'edit'; |
| | | this.dialogVisible = true; |
| | | }, |
| | |
| | | this.form = { |
| | | plName: '', |
| | | plCode: '', |
| | | plDesc: '', |
| | | plDesc:'', |
| | | plIsShow: [], |
| | | } |
| | | }, |
| | | // 保存页签 |
| | | saveHandler() { |
| | | this.$refs.form.validate((valid, done) => { |
| | | this.$refs.form.validate((valid,done) => { |
| | | if (valid) { |
| | | const params = { |
| | | plAreaType: parseInt(this.areaType), |
| | | plContextOId: this.uiDefineData.plOId, |
| | | plAreaType:parseInt(this.areaType), |
| | | plContextOId:this.uiDefineData.plOId, |
| | | ...this.form |
| | | } |
| | | if (this.dialogType === 'add') { |
| | |
| | | } else { |
| | | return false; |
| | | } |
| | | done(); |
| | | }); |
| | | }, |
| | | rowCloneHandler(row) { |
| | | this.fromOid = this.uiDefineData.plOId; |
| | | this.sourceOId = row.plOId; |
| | | this.$refs.cloneDialog.openDialog(row); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .tip { |
| | | .tip{ |
| | | font-size: 12px; |
| | | color: #909399; |
| | | margin: -13px 0 10px 100px; |