123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <template>
- <div id="optparam" style="height:44px; overflow: auto;" class="ui-droppable">
- <span v-if="!pageInfo.params || pageInfo.params.length == 0" class="charttip" style="font-size:14px; text-align:left; padding: 10px;">把参数拖放此处</span>
- <template v-for="p in pageInfo.params">
- <span :key="p.id" class="pppp">
- <span class="text" @click="editParam(p.id)">{{outName(p.name, p.type)}}</span>
- <div class="ibox-tools" style="margin-top:3px;">
- <button class="btn btn-outline btn-success btn-xs" @click="optParam(p.id)" title="设置"><i class="fa fa-wrench"></i></button>
- <button class="btn btn-outline btn-danger btn-xs" @click="deleteParam(p.id)" title="删除"><i class="fa fa-times"></i></button>
- </div>
- </span>
- </template>
- </div>
- </template>
- <script>
- import {baseUrl} from '@/common/biConfig'
- import $ from 'jquery'
- import * as tools from './Utils'
- export default {
- components:{
-
- },
- props:{
- pageInfo:{
- type:Object,
- required:true
- }
- },
- data(){
- return {
-
- }
- },
- mounted(){
- },
- computed: {
-
- },
- methods: {
- setUpdate(){
- this.$parent.isupdate = true;
- },
- editParam(pid){
- let p = tools.findParamById(this.pageInfo, pid);
- this.$parent.$refs['prarmAddForm'].newparam(p.type, p.id);
- },
- outName(name, type){
- return name + '('+tools.getParamTypeDesc(type)+')';
- },
- deleteParam(pid){
- let idx = tools.findParamById(this.pageInfo, pid, true);
- this.pageInfo.params.splice(idx, 1);
- this.$forceUpdate();
- this.setUpdate();
- },
- optParam(id){
- let ts = this;
- //let p = tools.findParamById(this.pageInfo, id);
- $.contextMenu( 'destroy');
- $.contextMenu({
- selector: '#optparam button.btn-success',
- className: "m_optparam",
- trigger: 'left',
- delay: 500,
- autoHide:true,
- items: {
- "edit":{name:"编辑", icon:"fa-edit",callback:function(){
- ts.editParam(id);
- }},
- "left":{name: "左移", icon:"fa-arrow-left", callback:function(){
- ts.moveparam(id, 'left');
- }},
- "right":{name: "右移", icon:"fa-arrow-right", callback:function(){
- ts.moveparam(id, 'right');
- }}
- }
- });
- },
- moveparam(pid, pos){
- let pageInfo = this.pageInfo;
- var idx = tools.findParamById(pageInfo, pid, true);
- if(idx == 0 && pos == "left"){
- tools.msginfo("参数已在最左边,无法移动。");
- return;
- }else if(idx == pageInfo.params.length - 1 && pos == "right"){
- tools.msginfo("参数已在最右边,无法移动。");
- return;
- }
- var pms = pageInfo.params;
- if(pos == "left"){
- var tp = pms[idx - 1];
- pms[idx - 1] = pms[idx];
- pms[idx] = tp;
- }else if(pos == "right"){
- var tp = pms[idx + 1];
- pms[idx + 1] = pms[idx];
- pms[idx] = tp;
- }
- this.$forceUpdate();
- this.setUpdate();
- }
- },
- watch: {
-
- },
- beforeMount(){
-
- },
- beforeDestroy(){
-
- }
- }
- </script>
- <style lang="less" scoped>
- @import "../../style/mixin";
- span.charttip {
- color:#999999;
- padding:3px;
- display:block;
- }
- #optparam {
- border: 1px solid #D3D3D3;
- background-color: #ffffff;
- }
- #optparam span.pppp {
- background-color: #f6f8f8;
- border: 1px solid #cacaca;
- display: inline-block;
- margin: 4px;
- padding: 1px;
- text-align: center;
- width:180px;
- border-radius:3px;
- }
- #optparam span.text {
- cursor: pointer;
- display: inline-block;
- width:120px;
- overflow:hidden;
- white-space:nowrap;
- margin-top:5px;
- }
- #optparam b {
- color: #555;
- font-size: 13px;
- font-weight: normal;
- margin-left: 5px;
- }
- .ibox-tools {
- display: inline-block;
- float: right;
- margin-top: 0;
- position: relative;
- padding: 0;
- }
- </style>
|