Commit 64af1e23 authored by luo ying's avatar luo ying

Merge branch 'mes-ui20201118'

parents 19dd57c3 bd6fdb83
......@@ -74,7 +74,6 @@
<slot name="leftBottom" v-if="leftOneName">
<Icon :type="leftOneIcon" class="iconStyle" />
{{ leftOneName }}
<!-- v-show="leftBtmicon" -->
</slot>
</span>
<span class="overdue f14 fwBold mr20">
......@@ -84,9 +83,9 @@
</slot>
</span>
</div>
<span class="rightMore">
<div class="rightMore">
<slot name="rightBottom"> </slot>
</span>
</div>
</div>
</div>
</div>
......@@ -283,7 +282,7 @@ export default {
}
}
.bottomCard {
justify-content: space-between;
// justify-content: space-between;
padding-bottom: 20px;
padding-left: 14px;
.leftBtm {
......@@ -307,9 +306,6 @@ export default {
}
.cardBox:hover {
box-shadow: 0px 0px 10px rgba(38, 128, 235, 0.4);
// .topCard {
// background: rgba(38, 128, 235, 0.4);
// }
}
.borderCss {
border: 2px solid #2680eb;
......
<template>
<div class="datalife">
<div class="bigBing" :style="{width:220*bigNum+'px'}" v-if="mode">
<div class="datalife ">
<div class="bigBing" :style="{width:220*bigNum+100+'px'}" v-if="mode">
<div v-for="(item, index) in data" :key="index" class="linebox">
<div class="box" :class="curIndex == index ? 'boxBorder1':curIndex<index ? ' boxBorder2':' boxBorder' " >
<Tag type="dot" :color="item.color?item.color:tagColor" >{{ item.name }}</Tag>
......@@ -9,8 +9,21 @@
<span class="item arrow-right" :class="[curIndex==index? 'boxBorder1' :curIndex<index? 'boxBorder2':'boxBorder']" ></span>
</div>
</div>
<div class='rightCode '>
<Poptip :content="code" placement='left-start'>
<a
data-clipboard-action="copy"
:data-clipboard-text="code"
@click="copy"
id="code"
class="tag-read"
><Icon type="ios-more" /></a
>
</Poptip>
</div>
</div>
<div class="bigBing" :style="{width:240*bigNum+'px'}" v-else>
<div class="bigBing" :style="{width:240*bigNum+100+'px'}" v-else>
<div class="lifeBox" v-for="(item, index) in data" :key="index">
<div class="arrow-left">
<b class="right" v-if="index != 0">
......@@ -26,11 +39,26 @@
></b>
</div>
</div>
<div class='rightCode'>
<Poptip :content="code" placement='left-start'>
<a
data-clipboard-action="copy"
:data-clipboard-text="code"
@click="copy"
id="code"
class="tag-read"
><Icon type="ios-more" /></a
>
</Poptip>
</div>
</div>
</div>
</template>
<script>
import Clipboard from "clipboard";
export default {
name: "life",
data() {
......@@ -60,6 +88,9 @@ export default {
type:String,
default:""
}
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
created() {
this.data = this.$store.getters.dictionaryByKey(this.code) || [];
......@@ -71,13 +102,35 @@ export default {
})
},
methods: {
copy() {
var clipboard = new Clipboard(".tag-read");
clipboard.on("success", (e) => {
this.$Message.success("复制成功:" + this.code);
clipboard.destroy();
});
clipboard.on("error", (e) => {
// 不支持复制
console.log("该浏览器不支持自动复制"); // 释放内存
clipboard.destroy();
});
},
},
};
</script>
<style lang="less" >
.datalife {
overflow-x: auto;
width: auto;
.bigBing{
position: relative;
.rightCode{
position: absolute;
right: 0;
top: 0;
}
}
.linebox {
display: inline-flex;
.box {
......@@ -270,5 +323,9 @@ export default {
}
}
}
// .ivu-poptip-popper{
// top: 27px;
// right:0
// }
}
</style>
\ No newline at end of file
<template>
<div
class="rightM flex"
:class="{ mr10: num == 1 }"
v-if="rightM && rightList"
@mouseleave="outPut"
>
<slot >
<op v-if="rightList && rightList.slice(0, num).length > 0"
v-for="(v, i) in rightList.slice(0, num)"
:key="i"
:title="v.name"
:type="v.type"
:msg="v.msg"
:disable="v.disable"
@click="v.click(row,$event)"
>
<Icon :type="v.icon==null || v.icon==undefined ? 'ios-paper':v.icon" v-if="v.type=='icon'|| v.type=='' || v.type==undefined || v.type==null "/>
<span v-if="v.name">
{{ v.name }}
</span>
</op>
<span
class="elliPsis fwBold"
slot="elliPsis"
v-if="rightList && rightList.length > num > 0"
>
<span :class="{ hide: inlines, mr10: !inlines }" @mouseenter="inFo"
>•••</span >
<span class="mr10" :class="{ inline: inlines, hide: !inlines }">
<op
v-for="(value, index) in rightList.slice(num)"
:key="index"
:title="value.name"
:type="value.type"
:msg="value.msg"
:disable="value.disable"
@click="value.click(row,$event)"
v-if="rightList && rightList.slice(num).length >= num"
>
<Icon :type="value.icon==''?'ios-paper':value.icon" v-if="value.type=='icon'|| value.type=='' || value.type==undefined || value.type==null"/>
<span v-if="value.name">
{{ value.name }}
</span>
</op>
</span>
</span>
</slot>
<div class="rightM pr" v-if="rightM && rightList">
<div class="flex rightMbtns mr10" :class="{'pa':!more}" @mouseleave="more=true" >
<slot>
<op
class="mr5 opBtns tc"
v-if="btnBoxList && btnBoxList.length > 0"
v-for="(v, i) in btnBoxList"
:key="i"
:title="v.name"
:type="v.type"
:msg="v.msg"
:disable="v.disable == null || v.disable == undefined ? false : true"
@click.native="v.click(row,$event)"
>
<Icon
:type="v.icon == null || v.icon == undefined ? 'ios-paper' : v.icon"
v-if="
v.type == 'icon' ||
v.type == '' ||
v.type == undefined ||
v.type == null
"
/>
<span v-if="v.name">
{{ v.name }}
</span>
</op>
<div
class="elliPsis fwBold mr10"
v-if="num<rightList.length&&more"
@mouseenter="more=false"
>
•••
</div>
</slot>
</div>
</div>
</template>
<script>
export default {
name: "rm",
data() {
return {
inlines: false,
btnBoxList: [],
more: true,
};
},
props: {
row: {
type:[Object,Array],
default: []
type: [Object, Array],
default: [],
},
rightList: {
type:[Object,Array],
type: Array,
default: [],
},
num: {
......@@ -75,25 +65,44 @@ export default {
},
},
mounted() {
// console.log("$slots",this.$slots,this.$slots.default)
},
methods: {
inFo() {
this.inlines = true;
},
outPut() {
this.inlines = false;
},
// hello(row,event){
// console.log('111',row,event)
// }
},
computed:{
btnBoxList(){
if(this.num>=this.rightList.length){
return this.rightList;
}else {
if(this.more)
return this.rightList.slice(0, this.num);
else
return this.rightList;
}
}
}
};
</script>
<style lang="less" scoped>
<style lang="less" >
.rightM {
overflow: visible;
cursor: pointer;
height: auto;
width: 100%;
height: 100%;
.elliPsis {
color: #2680eb;
}
.rightMbtns{
background: #ffffff;
right: 0;
top:-12px;
z-index: 99;
}
.opBtns{
min-width: 55px;
}
}
</style>
\ No newline at end of file
......@@ -199,7 +199,7 @@ export default {
}
Api.create(this.entity)
.then((r) => {
debugger;
if (r.success) {
this.$Message.success("保存成功");
//添加当前登陆人为项目经理
......
......@@ -171,12 +171,10 @@ Vue.component("FilesViewer", FilesViewer)
Vue.use(Contextmenu);
//注入mock
// require("../mock")
// Vue.component("Vcard", Vcard)
// Vue.component("BtnBox", BtnBox)
// Vue.component("RightM", RightM)
//注入mock
// require("../mock")
require("../mock")
Vue.component("Vcard", Vcard)
Vue.component("BtnBox", BtnBox)
Vue.component("RightM", RightM)
Vue.prototype.$api = request;
Vue.prototype.$http = Api;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment