|
|
|
|
@ -121,6 +121,27 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template #group_type v-if="!detail.is_simple">
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>组织形式
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-select
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择组织形式"
|
|
|
|
|
v-model="detail.group_type"
|
|
|
|
|
style="width: 300px;"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in groupType"
|
|
|
|
|
:label="item.value"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:fundingChannels>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
@ -174,75 +195,68 @@
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<!-- <template v-slot:req_status v-if="adminEdit">-->
|
|
|
|
|
<!-- <div class="xy-table-item">-->
|
|
|
|
|
<!-- <div class="xy-table-item-label" style="width: 200px">请示流程-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- <div class="xy-table-item-content">-->
|
|
|
|
|
<!-- <el-select v-model="detail.req_status" placeholder="请选择">-->
|
|
|
|
|
<!-- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">-->
|
|
|
|
|
<!-- </el-option>-->
|
|
|
|
|
<!-- </el-select>-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<template v-slot:join_status>
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label" style="width: 200px">
|
|
|
|
|
<div class="xy-table-item-label">
|
|
|
|
|
组织形式
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-select v-model="detail.group_type" placeholder="请选择">
|
|
|
|
|
<el-select v-model="detail.group_type" placeholder="请选择" style="width: 300px;">
|
|
|
|
|
<el-option v-for="item in groupType" :key="item.id" :label="item.value" :value="item.id">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:other_flow_status v-if="adminEdit">
|
|
|
|
|
<template #flow_list v-if="adminEdit">
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label" style="width: 200px">事前流程
|
|
|
|
|
<div class="xy-table-item-label">流程状态
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-select v-model="detail.other_flow_status" placeholder="请选择">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:purchase_status v-if="adminEdit">
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label" style="width: 200px">采购流程
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-select v-model="detail.purchase_status" placeholder="请选择">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-button size="small" type="primary" @click="detail.flow_list.push({flow_id: '',flow_status: '',custom_model_id: '',flow_title: ''})">新增记录</el-button>
|
|
|
|
|
|
|
|
|
|
<xy-table :list="detail.flow_list"
|
|
|
|
|
style="width: 500px;"
|
|
|
|
|
:show-index="false"
|
|
|
|
|
:height="400"
|
|
|
|
|
:table-item="statusTable">
|
|
|
|
|
<template #btns></template>
|
|
|
|
|
</xy-table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- <template v-slot:purchase_status v-if="adminEdit">-->
|
|
|
|
|
<!-- <div class="xy-table-item">-->
|
|
|
|
|
<!-- <div class="xy-table-item-label" style="width: 200px">采购流程-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- <div class="xy-table-item-content">-->
|
|
|
|
|
<!-- <el-select v-model="detail.purchase_status" placeholder="请选择">-->
|
|
|
|
|
<!-- <el-option v-for="item in Array.from(flowStatus)" :key="item[0]" :label="item[1]" :value="item[0]">-->
|
|
|
|
|
<!-- </el-option>-->
|
|
|
|
|
<!-- </el-select>-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- <template v-slot:join_status v-if="adminEdit">-->
|
|
|
|
|
<!-- <div class="xy-table-item">-->
|
|
|
|
|
<!-- <div class="xy-table-item-label" style="width: 200px">-->
|
|
|
|
|
<!-- 合同审批流程-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- <div class="xy-table-item-content">-->
|
|
|
|
|
<!-- <el-select v-model="detail.join_status" placeholder="请选择">-->
|
|
|
|
|
<!-- <el-option v-for="item in Array.from(flowStatus)" :key="item[0]" :label="item[1]" :value="item[0]">-->
|
|
|
|
|
<!-- </el-option>-->
|
|
|
|
|
<!-- </el-select>-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<template v-slot:invite_status v-if="adminEdit">
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label" style="width: 200px">招标流程
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-select v-model="detail.invite_status" placeholder="请选择">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:join_status v-if="adminEdit">
|
|
|
|
|
<div class="xy-table-item">
|
|
|
|
|
<div class="xy-table-item-label" style="width: 200px">
|
|
|
|
|
合同审批流程
|
|
|
|
|
<div class="xy-table-item-label">招标流程
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content">
|
|
|
|
|
<el-select v-model="detail.join_status" placeholder="请选择">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
|
|
|
|
<el-select v-model="detail.invite_status" placeholder="请选择" style="width: 300px;">
|
|
|
|
|
<el-option v-for="item in Array.from(flowStatus)" :key="item[0]" :label="item[1]" :value="item[0]">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
@ -348,6 +362,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { flowStatusConfig } from '@/api/common'
|
|
|
|
|
import {
|
|
|
|
|
editorContract,
|
|
|
|
|
detailContract,
|
|
|
|
|
@ -444,7 +459,65 @@ import { resetSelect } from '@/utils'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return {
|
|
|
|
|
userList: ["ma_sm", "admin", "yu_l","wang_yx","li_f","chen_y"],
|
|
|
|
|
flowConfig: [],
|
|
|
|
|
flowStatus: new Map([
|
|
|
|
|
[2, "待申请"],
|
|
|
|
|
[-1, "已退回"],
|
|
|
|
|
[-2, "-"],
|
|
|
|
|
[0, "流转中"],
|
|
|
|
|
[1, "已办结"]
|
|
|
|
|
]),
|
|
|
|
|
statusTable: [
|
|
|
|
|
{
|
|
|
|
|
prop: 'flow_id',
|
|
|
|
|
label: '流程id',
|
|
|
|
|
customFn: (row) => {
|
|
|
|
|
return (
|
|
|
|
|
<el-input size="small" vModel={row.flow_id}></el-input>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'flow_status',
|
|
|
|
|
label: '状态',
|
|
|
|
|
customFn: (row) => {
|
|
|
|
|
return (
|
|
|
|
|
<el-select size="small" vModel={row.flow_status} placeholder="请选择">
|
|
|
|
|
{
|
|
|
|
|
Array.from(this.flowStatus).map(item => (
|
|
|
|
|
<el-option label={item[1]} value={item[0]}></el-option>
|
|
|
|
|
))
|
|
|
|
|
}
|
|
|
|
|
</el-select>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'custom_model_id',
|
|
|
|
|
label: '流程',
|
|
|
|
|
customFn: (row) => {
|
|
|
|
|
return (
|
|
|
|
|
<el-select size="small" vModel={row.custom_model_id} placeholder="请选择">
|
|
|
|
|
{
|
|
|
|
|
this.flowIds.map(item => (
|
|
|
|
|
<el-option label={item.name} value={item.id}></el-option>
|
|
|
|
|
))
|
|
|
|
|
}
|
|
|
|
|
</el-select>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
prop: 'flow_title',
|
|
|
|
|
label: '标题',
|
|
|
|
|
customFn: (row) => {
|
|
|
|
|
return (
|
|
|
|
|
<el-input size="small" vModel={row.flow_title}></el-input>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
userList: ['admin','xiaoyi'],
|
|
|
|
|
user: null,
|
|
|
|
|
adminEdit: false,
|
|
|
|
|
isFocus: false,
|
|
|
|
|
@ -759,6 +832,7 @@ import { resetSelect } from '@/utils'
|
|
|
|
|
purchase_status: res.purchase_status,
|
|
|
|
|
join_status: res.join_status,
|
|
|
|
|
invite_status: res.invite_status,
|
|
|
|
|
flow_list: res.flow_list,
|
|
|
|
|
supply:res?.supply,
|
|
|
|
|
type: res.type,
|
|
|
|
|
group_type: res.group_type,
|
|
|
|
|
@ -824,7 +898,11 @@ import { resetSelect } from '@/utils'
|
|
|
|
|
to_contract_id: i.id,
|
|
|
|
|
use_money: i.money
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}),
|
|
|
|
|
contract_flow_links: this.detail.flow_list.map(i => ({
|
|
|
|
|
...i,
|
|
|
|
|
tag: this.flowConfig.find(j => j.custom_model_id == i.custom_model_id)?.tag
|
|
|
|
|
}))
|
|
|
|
|
}).then(res => {
|
|
|
|
|
this.isShowEditor = false
|
|
|
|
|
Message({
|
|
|
|
|
@ -862,6 +940,14 @@ import { resetSelect } from '@/utils'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
async getFlowConfig() {
|
|
|
|
|
try {
|
|
|
|
|
const res = await flowStatusConfig()
|
|
|
|
|
this.flowConfig = res.map(i => JSON.parse(i.value))
|
|
|
|
|
} catch (err) {
|
|
|
|
|
this.flowConfig = []
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
|
|
|
|
|
@ -882,6 +968,7 @@ import { resetSelect } from '@/utils'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.getFlowConfig()
|
|
|
|
|
let that = this;
|
|
|
|
|
getInfo().then(response => {
|
|
|
|
|
console.log(response)
|
|
|
|
|
|