Commit f5b4850f authored by ztf's avatar ztf

设计评审通知 相关组件

parent 765648ce
<!--
* @Author: zhangtianfeng 3232807530@qq.com
* @Date: 2024-08-13 16:53:02
* @LastEditors: zhangtianfeng 3232807530@qq.com
* @LastEditTime: 2024-11-07 18:33:51
-->
<template>
<div class="ExtDesignCheckDocumentLinkAdd">
<dee-as-com
class="FeatureTypicalcom"
:lay-config="{
typeName: 'DxDocument',
layKey: 'ExtDesign-list'
}"
@selectionChange="selectionChange"
/>
<div class="btns">
<el-button type="primary" class="submitBTN" :disabled="!isDisable" @click="tosubmit">确定</el-button>
<el-button type="primary" @click="$emit('cancel')">取消</el-button>
</div>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
name: 'ExtDesignCheckDocumentLinkAdd',
componentName: ' 设计评审项备查文件link-添加',
props: {
basicData: {
type: Object,
default: () => {}
}
},
data() {
return {
selections: []
}
},
computed: {
isDisable() {
return Boolean(this.selections.length)
}
},
mounted() {
},
methods: {
selectionChange(data) {
this.selections = data
},
tosubmit() {
const source = this.$parent.$parent.$parent.$parent.basicData
const params = this.selections.map(r => {
return {
source: source,
operator: 'ADD',
target: r
}
})
post('ExtDesignCheckDocumentLink/recursions', params).then(res => {
this.$emit('completeEven')
})
}
}
}
</script>
<style lang='scss' scoped>
.ExtDesignCheckDocumentLinkAdd{
height: 80%;
.FeatureTypicalcom{
height: calc(100% - 50px);
}
.btns{
margin-top: 20px;
display: flex;
justify-content: center;
.submitBTN{
margin-right: 25px;
}
}
}
</style>
<!--
* @Author: zhangtianfeng 3232807530@qq.com
* @Date: 2024-08-13 16:53:02
* @LastEditors: zhangtianfeng 3232807530@qq.com
* @LastEditTime: 2024-11-07 18:35:39
-->
<template>
<div class="ExtDesignRelateDocumentLinkAdd">
<dee-as-com
class="FeatureTypicalcom"
:lay-config="{
typeName: 'DxDocument',
layKey: 'ExtDesign-list'
}"
@selectionChange="selectionChange"
/>
<div class="btns">
<el-button type="primary" class="submitBTN" :disabled="!isDisable" @click="tosubmit">确定</el-button>
<el-button type="primary" @click="$emit('cancel')">取消</el-button>
</div>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
name: 'ExtDesignRelateDocumentLinkAdd',
componentName: ' 设计评审项相关文档-添加',
props: {
basicData: {
type: Object,
default: () => {}
}
},
data() {
return {
selections: []
}
},
computed: {
isDisable() {
return Boolean(this.selections.length)
}
},
mounted() {
},
methods: {
selectionChange(data) {
this.selections = data
},
tosubmit() {
const source = this.$parent.$parent.$parent.$parent.basicData
const params = this.selections.map(r => {
return {
source: source,
operator: 'ADD',
target: r
}
})
post('ExtDesignRelateDocumentLink/recursions', params).then(res => {
this.$emit('completeEven')
})
}
}
}
</script>
<style lang='scss' scoped>
.ExtDesignRelateDocumentLinkAdd{
height: 80%;
.FeatureTypicalcom{
height: calc(100% - 50px);
}
.btns{
margin-top: 20px;
display: flex;
justify-content: center;
.submitBTN{
margin-right: 25px;
}
}
}
</style>
<!--
* @Author: zhangtianfeng 3232807530@qq.com
* @Date: 2024-08-13 16:53:02
* @LastEditors: zhangtianfeng 3232807530@qq.com
* @LastEditTime: 2024-11-07 18:32:02
-->
<template>
<div class="ExtDesignSubmitDocumentLinkAdd">
<dee-as-com
class="FeatureTypicalcom"
:lay-config="{
typeName: 'DxDocument',
layKey: 'ExtDesign-list'
}"
@selectionChange="selectionChange"
/>
<div class="btns">
<el-button type="primary" class="submitBTN" :disabled="!isDisable" @click="tosubmit">确定</el-button>
<el-button type="primary" @click="$emit('cancel')">取消</el-button>
</div>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
name: 'ExtDesignSubmitDocumentLinkAdd',
componentName: ' 设计评审项送审文件link-添加',
props: {
basicData: {
type: Object,
default: () => {}
}
},
data() {
return {
selections: []
}
},
computed: {
isDisable() {
return Boolean(this.selections.length)
}
},
mounted() {
},
methods: {
selectionChange(data) {
this.selections = data
},
tosubmit() {
const source = this.$parent.$parent.$parent.$parent.basicData
const params = this.selections.map(r => {
return {
source: source,
operator: 'ADD',
target: r
}
})
post('ExtDesignSubmitDocumentLink/recursions', params).then(res => {
this.$emit('completeEven')
})
}
}
}
</script>
<style lang='scss' scoped>
.ExtDesignSubmitDocumentLinkAdd{
height: 80%;
.FeatureTypicalcom{
height: calc(100% - 50px);
}
.btns{
margin-top: 20px;
display: flex;
justify-content: center;
.submitBTN{
margin-right: 25px;
}
}
}
</style>
<!--
* @Author: zhangtianfeng 3232807530@qq.com
* @Date: 2024-08-13 16:53:02
* @LastEditors: zhangtianfeng 3232807530@qq.com
* @LastEditTime: 2024-11-08 15:18:27
-->
<template>
<div class="ExtNoticeDocLinkAdd">
<dee-as-com
class="FeatureTypicalcom"
:lay-config="{
typeName: 'DxDocument',
layKey: 'ExtDesign-list'
}"
@selectionChange="selectionChange"
/>
<div class="btns">
<el-button type="primary" class="submitBTN" :disabled="!isDisable" @click="tosubmit">确定</el-button>
<el-button type="primary" @click="$emit('cancel')">取消</el-button>
</div>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
name: 'ExtNoticeDocLinkAdd',
componentName: ' 设计评审通知和文档link-添加',
props: {
basicData: {
type: Object,
default: () => {}
}
},
data() {
return {
selections: []
}
},
computed: {
isDisable() {
return Boolean(this.selections.length)
}
},
mounted() {
},
methods: {
selectionChange(data) {
this.selections = data
},
tosubmit() {
const source = this.$parent.$parent.$parent.$parent.basicData
const params = this.selections.map(r => {
return {
source: source,
operator: 'ADD',
target: r
}
})
post('ExtNoticeDocLink/recursions', params).then(res => {
this.$emit('completeEven')
})
}
}
}
</script>
<style lang='scss' scoped>
.ExtNoticeDocLinkAdd{
height: 80%;
.FeatureTypicalcom{
height: calc(100% - 50px);
}
.btns{
margin-top: 20px;
display: flex;
justify-content: center;
.submitBTN{
margin-right: 25px;
}
}
}
</style>
<!--
* @Author: zhangtianfeng 3232807530@qq.com
* @Date: 2024-11-08 10:42:51
* @LastEditors: zhangtianfeng 3232807530@qq.com
* @LastEditTime: 2024-11-08 14:52:43
* @FilePath: \inet-two\applications\dee-doc\src\privateComponents\components\ExtReviewFeedDocumentLinkAdd\index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AEd
-->
<template>
<div class="ExtReviewFeedDocumentLinkAdd">
<dee-as-com
class="FeatureTypicalcom"
:lay-config="{
typeName: 'DxDocument',
layKey: 'ExtDesign-list'
}"
@selectionChange="selectionChange"
/>
<div class="btns">
<el-button type="primary" class="submitBTN" :disabled="!isDisable" @click="tosubmit">确定</el-button>
<el-button type="primary" @click="$emit('cancel')">取消</el-button>
</div>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
name: 'ExtReviewFeedDocumentLinkAdd',
componentName: ' 评审意见文档link-添加',
props: {
basicData: {
type: Object,
default: () => {}
},
id: {
type: Number,
default: null
}
},
data() {
return {
selections: []
}
},
computed: {
isDisable() {
return Boolean(this.selections.length)
}
},
mounted() {
},
methods: {
selectionChange(data) {
this.selections = data
},
tosubmit() {
const sourceId = this.id
const params = this.selections.map(r => {
return {
sourceId: sourceId,
operator: 'ADD',
target: r
}
})
post('ExtReviewFeedDocumentLink/recursions', params).then(res => {
this.$utils.showMessageSuccess('添加成功!')
this.$emit('completeEven')
})
}
}
}
</script>
<style lang='scss' scoped>
.ExtReviewFeedDocumentLinkAdd{
height: 80%;
.FeatureTypicalcom{
height: calc(100% - 50px);
}
.btns{
margin-top: 20px;
display: flex;
justify-content: center;
.submitBTN{
margin-right: 25px;
}
}
}
</style>
<template>
<div class="ExtReviewFeedDocumentLinkAdd">
<div style="display: flex;justify-content: space-around;">
<span class="addFile" @click="addFile">添加文件</span>
<span v-if="!ifAdd" class="viewFile">查看文件</span>
<div v-if="ifAdd">
<el-popover
placement="bottom"
:width="300"
trigger="hover"
popper-class="popover"
>
<template #reference>
<span class="viewFile isAdd">查看文件</span>
</template>
<div v-for="(item) in doclinkList" :key="item.id" class="docInfo">
<span class="remove" @click="removeFile(item)">删除</span>
<span class="name" @click="gotoFileDetail(item)"> {{ item.name }}-{{ item.number }}</span>
</div>
</el-popover>
</div>
</div>
<dee-dialog
width="1000px"
title="添加"
:dialog-visible="addFileDialog"
@handleClose="addFileDialog = false"
>
<ExtReviewFeedDocumentLinkAdd
:id="reviewId"
@cancel="addFileDialog = false"
@completeEven="completeEven"
/>
</dee-dialog>
</div>
</template>
<script>
import ExtReviewFeedDocumentLinkAdd from '../ExtReviewFeedDocumentLinkAdd/index.vue'
import { post } from '@/utils/http'
export default {
name: 'SelectUpdateFile',
components: { ExtReviewFeedDocumentLinkAdd },
componentName: ' 专家评审意见-选择升版文件',
props: {
form: {
type: Object,
default: () => {}
}
},
data() {
return {
addFileDialog: false,
ifAdd: false,
reviewId: null,
doclinkList: []
}
},
mounted() {
console.log('basicData', this.form)
this.getDoclinkList()
},
methods: {
viewFile() {
console.log('查看文件哦')
},
addFile() {
this.addFileDialog = true
this.reviewId = this.form.id
console.log('添加文件', this.reviewId)
},
completeEven() {
console.log('添加文件完成')
this.ifAdd = true
this.addFileDialog = false
this.getDoclinkList()
},
getDoclinkList() {
const params = {
pageFrom: 1,
pageSize: 9999,
searchItems: {
children: [],
items: [
{
fieldName: 'sourceId',
operator: 'EQ',
value: this.form.id
}
],
operator: 'AND'
},
openProps: [
{
name: 'target',
pageFrom: 1,
pageSize: 9999,
openProps: [
{
name: 'creator',
pageFrom: 1,
pageSize: 9999
}
]
}
],
sortItem: [
{
fieldName: 'modifyTime',
sortOrder: 'desc'
}
]
}
post('/ExtReviewFeedDocumentLink/search', params).then((res) => {
if (res.items.content.length > 0) {
this.doclinkList = res.items.content.map(item => {
return item.target
})
this.ifAdd = true
console.log(' this.doclinkList', this.doclinkList)
}
})
},
gotoFileDetail(item) {
this.$router.push({
path: `/configured-page/cd/${item.subTypeName}/defaultInfo`,
query: { title: item.name, id: item.id }
})
},
removeFile(item) {
post(`/ExtReviewFeedDocumentLink/batch/${item.id}`).then(res => {
this.$utils.showMessageSuccess('删除成功')
this.getDoclinkList()
})
}
}
}
</script>
<style lang="scss" scoped>
.ExtReviewFeedDocumentLinkAdd {
cursor: pointer;
.addFile,
.isAdd {
color: #409eff;
}
.viewFile {
padding-left: 20px;
}
}
</style>
<style lang="scss">
.popover{
cursor: pointer;
.docInfo{
padding: 5px 20px;
}
.docInfo:hover{
background-color: rgba(204,204,204,0.3) ;
.name:hover{
color: #409eff !important;
}
}
.remove:hover{
color: red;
}
}
</style>
...@@ -22,6 +22,7 @@ export default { ...@@ -22,6 +22,7 @@ export default {
data() { data() {
return { return {
sendNames: '' sendNames: ''
// sendDepartment: this.form.sendDepartment || this.form.source.sendDepartment
} }
}, },
computed: { computed: {
...@@ -32,11 +33,23 @@ export default { ...@@ -32,11 +33,23 @@ export default {
immediate: true, immediate: true,
deep: true, deep: true,
handler(value) { handler(value) {
console.log('发送部门查看', value)
if (value) { if (value) {
const ids = this.form.sendDepartment.split(',') const ids = this.form.sendDepartment.split(',')
this.getUsers(ids) this.getUsers(ids)
} }
} }
},
'form.source.sendDepartment': {
immediate: true,
deep: true,
handler(value) {
console.log('发送部门查看', value)
if (value) {
const ids = this.form.source.sendDepartment.split(',')
this.getUsers(ids)
}
}
} }
}, },
......
<template>
<div class="sendDepartmentList">
<dee-table
:index-row="indexRow"
:columns="tableColums"
:data="tableData"
/>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
name: 'SendDepartmentList',
componentName: '发送部门列表',
props: {
basicData: {
type: Object,
default: () => {}
}
},
data() {
return {
tableColums: [
{ title: '发送部门', key: 'name', align: 'center' }
],
indexRow: {
title: '序号',
align: 'center',
width: '70'
},
tableData: []
}
},
mounted() {
this.getInfo(this.basicData.id)
console.log('basicData', this.basicData)
},
methods: {
getInfo(id) {
const params = {
'searchItems': {
'items': [{
'fieldName': 'id',
'operator': 'EQ',
'value': id
}]
},
'openProps': [{
'name': 'extDesignNoticeMinutesLinks',
'openProps': [{
'name': 'source'
}]
},
{
'name': 'extNoticeContactLinks',
'openProps': [{
'name': 'target'
}]
},
{
'name': 'creator',
'pageFrom': 1,
'pageSize': 9999
},
{
'name': 'recorder',
'pageFrom': 1,
'pageSize': 9999
},
{
'name': 'host',
'pageFrom': 1,
'pageSize': 9999
},
{
'name': 'editUnit',
'pageFrom': 1,
'pageSize': 9999
},
{
'name': 'objFileLinks',
'pageFrom': 1,
'pageSize': 9999,
'sortItem': [{
'fieldName': 'modifyTime',
'sortOrder': 'asc'
}],
'openProps': [{
'name': 'target',
'pageFrom': 1,
'pageSize': 9999
}]
}
]
}
post('/ExtDesignReviewNotice/search', params).then(res => {
const sendDepartmentIds = res.items.content[0].sendDepartment.split(',')
this.getDepartments(sendDepartmentIds)
})
},
getDepartments(sendDepartmentIds) {
const params = {
'pageFrom': 1,
'pageSize': 9999,
'sortItem': [
{
'fieldName': 'modifyTime',
'sortOrder': 'desc'
}
],
'searchItems': {
'operator': 'AND',
'items': [
{
'fieldName': 'id',
'operator': 'IN',
'value': sendDepartmentIds
}
]
}
}
post('/DxOrganization/getCurrentUserOrg', params).then(res => {
this.tableData = res.items.content
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
...@@ -37,6 +37,16 @@ export default { ...@@ -37,6 +37,16 @@ export default {
this.getUsers(ids) this.getUsers(ids)
} }
} }
},
'form.source.sendPerson': {
immediate: true,
deep: true,
handler(value) {
if (value) {
const ids = this.form.source.sendPerson.split(',')
this.getUsers(ids)
}
}
} }
}, },
mounted() { mounted() {
......
<template>
<div class="sendPersonList">
<dee-table
:index-row="indexRow"
:columns="tableColums"
:data="tableData"
/>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
name: 'SendPersonList',
componentName: '发送人员列表',
props: {
basicData: {
type: Object,
default: () => {}
}
},
data() {
return {
tableColums: [
{ title: '发送人员', key: 'name', align: 'center' }
],
indexRow: {
title: '序号',
align: 'center',
width: '70'
},
tableData: []
}
},
mounted() {
this.getInfo(this.basicData.id)
console.log('basicData', this.basicData)
},
methods: {
getInfo(id) {
const params = {
'searchItems': {
'items': [{
'fieldName': 'id',
'operator': 'EQ',
'value': id
}]
},
'openProps': [{
'name': 'extDesignNoticeMinutesLinks',
'openProps': [{
'name': 'source'
}]
},
{
'name': 'extNoticeContactLinks',
'openProps': [{
'name': 'target'
}]
},
{
'name': 'creator',
'pageFrom': 1,
'pageSize': 9999
},
{
'name': 'recorder',
'pageFrom': 1,
'pageSize': 9999
},
{
'name': 'host',
'pageFrom': 1,
'pageSize': 9999
},
{
'name': 'editUnit',
'pageFrom': 1,
'pageSize': 9999
},
{
'name': 'objFileLinks',
'pageFrom': 1,
'pageSize': 9999,
'sortItem': [{
'fieldName': 'modifyTime',
'sortOrder': 'asc'
}],
'openProps': [{
'name': 'target',
'pageFrom': 1,
'pageSize': 9999
}]
}
]
}
post('/ExtDesignReviewNotice/search', params).then(res => {
const sendsendPersonIds = res.items.content[0].sendPerson.split(',')
this.getsendPersonList(sendsendPersonIds)
})
},
getsendPersonList(sendsendPersonIds) {
const params = {
'pageFrom': 1,
'pageSize': 9999,
'sortItem': [{
'fieldName': 'modifyTime',
'sortOrder': 'desc'
}],
'searchItems': {
'operator': 'AND',
'items': [{
'fieldName': 'id',
'operator': 'IN',
'value': sendsendPersonIds
}]
}
}
post('/DxUserInfo/search', params).then(res => {
this.tableData = res.items.content
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
...@@ -87,7 +87,6 @@ ...@@ -87,7 +87,6 @@
</div> </div>
<div v-if="basicData && basicData.basicInfo && !basicData.basicInfo.forwardFlag && (!isCheckTaskState || (isCheckTaskState && basicData.basicInfo.state==='BE_RESOLVED' && !basicData.basicInfo.parentTaskId))"> <div v-if="basicData && basicData.basicInfo && !basicData.basicInfo.forwardFlag && (!isCheckTaskState || (isCheckTaskState && basicData.basicInfo.state==='BE_RESOLVED' && !basicData.basicInfo.parentTaskId))">
<div class="sub-title" style="padding-bottom:12px">任务处理</div> <div class="sub-title" style="padding-bottom:12px">任务处理</div>
{{ basicData.businessObject }}
<div <div
v-if="basicData&& basicData.businessObject &&basicData.businessObject.subTypeName&& basicData.businessObject.subTypeName==='ExtActionItem'&&basicData.businessObject.state==='InProgress'" v-if="basicData&& basicData.businessObject &&basicData.businessObject.subTypeName&& basicData.businessObject.subTypeName==='ExtActionItem'&&basicData.businessObject.state==='InProgress'"
> >
......
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