Commit 3b981698 authored by 周远喜's avatar 周远喜

chubugke

parent c44f2790
......@@ -1085,7 +1085,6 @@ html [type=button] {
}
i {
font-size: 16px;
padding: 4px;
border-radius: 3px;
}
......@@ -1094,7 +1093,6 @@ html [type=button] {
background: #1890FF;
color: #fff;
}
background: transparent;
}
......@@ -1105,66 +1103,45 @@ html [type=button] {
a.add {
color: #249E91;
}
// a.add:hover {
// // color: #27AB9D;
// }
a.edit {
// color: #32B187;
color: rgb(6, 147, 212)
}
// a.edit:hover {
// color: #35BD90
// }
a.remove,
a.delete {
color: #FF7A8B;
i:hover {
background: #FF7A8B;
background: orange;
color: #fff;
}
}
a.delete {
color: #FF7A8B;
}
a.empower {
color: #FFBD59;
}
a.disable {
color: #CAD1D9;
}
a.icon {
display: inline-block;
width: 28px;
height: 28px;
line-height: 28px;
width: 22px;
height: 22px;
line-height: 22px;
margin: 0px 0 0 0;
border-radius: 50%;
color: #515A6E;
background: #F5F6FA;
.ivu-icon {
font-weight: bold;
font-size: 18px;
font-size: 20px;
}
}
a.disable {
color: #CAD1D9;
cursor: help;
i:hover {
background:#CAD1D9;
}
}
// a.icon:hover {
// background: #27AB9D;
// color: #fff;
// }
// a.icon:active {
// background: #229185;
// color: #fff;
// }
}
......
......@@ -11,7 +11,7 @@ export default {
name: 'dtSpan',
data() {
return {
date:"33333"
date:""
}
},
props: {
......@@ -21,7 +21,7 @@ export default {
},
value: {
type: String,
default: '2001-01-01 00:00:00'
default: ''
},
},
created() {
......
<template>
<Tooltip trigger="hover" v-if="title" :content="title" placement="top-end">
<Tooltip trigger="hover" v-if="title" :content="title" placement="top-end">
<a class="op" :class="css" @click="handler">
<slot>
<Icon v-if="type=='icon'" :type="icon" :color="color" />
<span v-else="type=='text'" v-text="text"></span>
<Icon v-if="type == 'icon'" :type="icon" :color="color" />
<span v-else="type == 'text'" v-text="text"></span>
</slot>
</a>
</Tooltip>
<a class="op" v-else :class="css" @click="handler">
</Tooltip>
<a class="op" v-else :class="css" @click="handler">
<slot>
<Icon v-if="type=='icon'" :type="icon" :color="color" />
<span v-else="type=='text'" v-text="text"></span>
<Icon v-if="type == 'icon'" :type="icon" :color="color" />
<span v-else="type == 'text'" v-text="text"></span>
</slot>
</a>
</a>
</template>
<script>
......@@ -20,30 +20,35 @@ export default {
name: "op",
props: {
icon: {
type: String
type: String,
},
oprate: {
type: String
type: String,
},
type: {
type: String,
default: "text"
default: "text",
},
title: {
type: String,
},
msg: {
type: String,
default: "确认要删除吗?"
default: "确认要删除吗?",
},
color: {
type: String
}
type: String,
},
disalbe: {
// 0 启用 1 禁用 2权限不足
type: Number,
default: 0,
},
},
data() {
return {
text: "",
css: "detail"
css: "detail",
};
},
created() {
......@@ -52,7 +57,7 @@ export default {
edit: "编辑",
add: "添加",
delete: "删除",
remove: "删除"
remove: "删除",
};
if (oprates[this.oprate]) {
......@@ -63,22 +68,31 @@ export default {
} else if (this.type == "icon") {
this.css = "icon";
}
if(this.disalbe){
this.css="disable"
}
},
methods: {
handler() {
if (this.disalbe == 0) {
if (this.oprate == "delete" || this.oprate == "remove") {
this.$Modal.confirm({
title: this.title,
content: "<p>" + this.msg + "</p>",
onOk: () => {
this.$emit("click", event);
}
},
});
} else {
this.$emit("click", event);
}
}else if(this.disalbe==1){
this.$Message.warning("不能操作")
}else{
this.$Message.warning("没有权限")
}
}
},
},
};
</script>
......
<template>
<div>
<Select
:placeholder="placeholder"
v-model="name"
@on-change="change"
:multiple="multiple"
clearable
filterable
transfer
>
<Option
v-for="item in users"
:value="item.userId"
:key="item.userId"
:disabled="item.status==1"
>
<div class="user">
<State v-show="item.authority" code="project.group.authority" :value="item.authority" class="mr10"/> {{item.note}} <User :value="item.userId"/></span><Tag>{{item.role}}</Tag>
</div>
</Option>
</Select>
</div>
</template>
<script>
export default {
model: {
prop: "value",
event: "on-change",
},
data() {
return {
name: this.value,
users: this.data,
};
},
created() {
this.load();
},
props: {
value: [String, Number, Array],
placeholder: {
type: String,
default: "请选择人员",
},
multiple:{
type:Boolean,
default:false,
},
projectId:{
type:String
}
},
methods: {
load() {
var params={
// codition:[{fieldName: "groupId", fieldValue: "b9d6fa9e-e033-4a3e-9925-c1f4437d970c", conditionalType: "Equal"}]
codition:[{fieldName: "projectId", fieldValue: this.projectId, conditionalType: "Equal"}]
}
this.$api.post(`${material}/projectplan/list`, params).then(r=>{
this.users=r.result;
})
},
change(event) {
let name = "";
this.data.forEach((e) => {
if (e.id == event) {
name = e.label;
}
});
this.$emit("on-change", event, name);
},
// 加载人员
},
};
</script>
<style lang="less">
@import "../../assets/css/custom.less";
.userGroup {
}
</style>
......@@ -93,7 +93,6 @@ export default {
click: () => this.view(params.row.id)
}
}, '查看'),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
h('op', {
attrs: {
oprate: 'edit'
......@@ -111,13 +110,10 @@ export default {
}
}, '删除'),
h('op', {
attrs: {
oprate: 'edit'
},
on: {
click: () => this.openGroupUser(params.row)
}
}, '项目团队'),
}, '成员'),
])
}
},
......
<template>
<div class="detail">
<div class="detail">
<Row>
<Filed :span="12" :name="l('userId')">
<User :value="entity.userId"></User>
</Filed>
<Filed :span="12" :name="l('role')">{{entity.role}}</Filed>
<Filed :span="12" :name="l('note')">{{entity.note}}</Filed>
<Filed :span="12" :name="l('status')">{{entity.status}}</Filed>
<Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed>
<Filed :span="12" :name="l('role')">
<State code="project.group.role" :value="entity.role" />
</Filed>
<Filed :span="12" :name="l('authority')">
<State code="project.group.authority" :value="entity.authority" />
</Filed>
<!-- <Filed :span="12" name="姓名">{{ entity.note }}</Filed> -->
<Filed :span="12" :name="l('status')">
<State code="project.group.status" :value="entity.status"
/></Filed>
<Filed :span="12" :name="l('creationTime')">{{
entity.creationTime
}}</Filed>
<Filed :span="12" :name="l('creatorUserId')">
<User :value="entity.creatorUserId"></User>
</Filed>
</Row>
</div>
</div>
</template>
<script>
import Api from './api'
import Api from "./api";
export default {
name: 'Add',
name: "Add",
data() {
return {
entity: {},
rules: {
name: [{
name: [
{
required: true,
message: '必填',
trigger: 'blur'
}],
code: [{
message: "必填",
trigger: "blur",
},
],
code: [
{
required: true,
message: '必填',
trigger: 'blur'
}]
}
}
message: "必填",
trigger: "blur",
},
],
},
};
},
props: {
eid: String
eid: String,
},
mounted() {
if (this.eid != '' && this.eid != null) {
if (this.eid != "" && this.eid != null) {
this.load(this.eid);
}
},
methods: {
load(v) {
Api.get({
id: v
}).then(r => {
id: v,
}).then((r) => {
this.entity = r.result;
this.$emit('on-load')
})
this.$emit("on-load");
});
},
handleClose() {
this.$emit('on-close')
this.$emit("on-close");
},
l(key) {
key = "project_group_user" + "." + key;
return this.$t(key)
}
return this.$t(key);
},
},
watch: {
eid(v) {
if (v != '' && v != null) {
if (v != "" && v != null) {
this.load(v);
}
}
}
}
},
},
};
</script>
This diff is collapsed.
......@@ -95,7 +95,7 @@
></Col>
<Col :span="12"
><FormItem :label="l('executor')" prop="executor">
<UserSelect v-model="entity.executor" multiple></UserSelect>
<UserGroup v-model="entity.executor" multiple :projectId="v.projectId"></UserGroup>
</FormItem>
</Col
>
......
......@@ -95,7 +95,7 @@
></Col>
<Col :span="12"
><FormItem :label="l('executor')" prop="executor">
<UserSelect v-model="entity.executor" multiple></UserSelect>
<UserGroup v-model="entity.executor" multiple :projectId="entity.projectId"></UserGroup>
</FormItem>
</Col
>
......
......@@ -157,36 +157,7 @@ export default {
]);
},
},
{
key: "type",
width: 90,
title: this.l("type"),
align: "left",
high: true,
code: "mes.project_plan.Type",
},
{
key: "title",
title: this.l("title"),
align: "left",
tree: true,
easy: true,
high: true,
},
{
key: "status",
title: this.l("status"),
align: "left",
high: true,
code: "mes.project_plan.Status",
},
{
key: "startDate",
title: this.l("startDate"),
align: "left",
high: true,
type: "date"
},
{
key: "endDate",
title: this.l("endDate"),
......
......@@ -18,38 +18,26 @@
</div>
<ul>
<li>
<a @click="details">
<Icon type="ios-log-in" />详情
</a>
<a @click="details"> <Icon type="ios-log-in" />详情 </a>
&nbsp;
<span>|</span>
</li>
<li>
<a @click="template">
<Icon type="ios-photos" />模版
</a>
<a @click="template"> <Icon type="ios-photos" />模版</a>
&nbsp;
<span>|</span>
</li>
<li>
<a @click="task">
<Icon type="md-create" />任务
</a>
<a @click="task"> <Icon type="md-create" />任务 </a>
&nbsp;
<span>|</span>
</li>
<li>
<a @click="groupUser">
<Icon type="md-create" />成员
</a>
&nbsp;
<a @click="group"> <Icon type="md-create" />成员 </a>
<span>|</span>
</li>
<li>
<a @click="task">
<Icon type="md-create" />动态
</a>
&nbsp;
<a @click="task"> <Icon type="md-create" />动态 </a>
<span>|</span>
</li>
</ul>
......@@ -103,46 +91,15 @@ export default {
}
this.detail = () => import("./details");
},
methods: {
load(v) {
Api.get({
id: v
}).then((r) => {
this.entity = r.result;
// this.$emit("on-load");
});
},
details() {
this.title = "详细信息";
this.detail = () => import("./details");
},
template() {
group() {
// this.curId = this.eid;
this.title = "项目模板";
this.detail = () => import("../plan");
},
task() {
this.curId = this.eid;
this.title = "任务";
//this.detail = () => import("../task/index");
this.$router.push({
name: "project-task",
params: {
id: this.curId
}
});
},
groupUser() {
// this.curId = this.eid;
this.title = "任务";
// this.detail = () => import("./add");
this.title = "成员管理";
this.detail = () => import("../groupUser/index1");
},
l(key) {
key = "project_main" + "." + key;
return this.$t(key);
},
},
watch: {
eid(v) {
if (v > 0) {
......
......@@ -26,6 +26,7 @@ import Tools from '@/components/page/tool.vue'
import State from '@/components/page/state.vue'
import Dictionary from '@/components/page/dictionary.vue'
import UserSelect from '@/components/page/userSelect.vue'
import UserGroup from '@/components/page/userGroup.vue'
import Materiel from '@/components/page/materiel.vue'
import RoleSelect from '@/components/page/roleSelect.vue'
import UserExamSelect from '@/components/page/userExamSelect.vue'
......@@ -130,6 +131,7 @@ Vue.component("WorkShopSelect", WorkShopSelect)
Vue.component("WorkShopName",WorkShopName)
Vue.component("workShopDefault", workShopDefault)
Vue.component("WorkShop", WorkShop)
Vue.component("UserGroup", UserGroup)
Vue.component("EquipSelect", EquipSelect)
Vue.component("EquipTypeSelect", EquipTypeSelect)
Vue.component("ResourceSelect", ResourceSelect)
......
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