Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -29,7 +29,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="process">
|
||||
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram" :operation-list="data.operationList"
|
||||
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram"
|
||||
:operation-list="data.operationList"
|
||||
:state="data.state"/>
|
||||
<process-diagram-viewer v-if="processViewer&&changeDiagram" :id-name="idName?idName:type"/>
|
||||
</div>
|
||||
@@ -97,9 +98,10 @@ const schema = computed(() => {
|
||||
component: () => (
|
||||
<div>
|
||||
{
|
||||
props.formData.preProcess?
|
||||
<span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}} href={props.formData.preProcessBaseUrl + props.formData.preProcess.requestId}>{props.formData.preProcess.requestName}</a> </span> :
|
||||
<span>{'--'}</span>
|
||||
props.formData.preProcess ? props.formData.preProcess.map(item => {
|
||||
return <span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}}
|
||||
href={props.formData.preProcessBaseUrl + item.requestId}>{item.requestName}</a> </span>
|
||||
}) : <span>{'--'}</span>
|
||||
}
|
||||
</div>
|
||||
)
|
||||
@@ -138,9 +140,10 @@ const schema = computed(() => {
|
||||
component: () => (
|
||||
<div>
|
||||
{
|
||||
props.formData.preProcess?
|
||||
<span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}} href={props.formData.preProcessBaseUrl + props.formData.preProcess.requestId}>{props.formData.preProcess.requestName}</a> </span> :
|
||||
<span>{'--'}</span>
|
||||
props.formData.preProcess ? props.formData.preProcess.map(item => {
|
||||
return <span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}}
|
||||
href={props.formData.preProcessBaseUrl + item.requestId}>{item.requestName}</a> </span>
|
||||
}) : <span>{'--'}</span>
|
||||
}
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -161,8 +161,6 @@ const show = () => {
|
||||
getList()
|
||||
};
|
||||
const handleChange = (data, checked) => {
|
||||
// 左侧有选择框
|
||||
// if (props.showCheckbox) {
|
||||
// 左侧有选择框 + 多选
|
||||
if (props.multiple) {
|
||||
//不添加重复的数据到右边
|
||||
@@ -197,7 +195,6 @@ const handleChange = (data, checked) => {
|
||||
tree.value.setCheckedKeys([]);
|
||||
}
|
||||
}
|
||||
// }
|
||||
};
|
||||
const handle = (node, check) => {
|
||||
if (check.isLeaf !== false) {
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="前置流程" :required="preProcessRequired" prop="requestName">
|
||||
<a :href="localFormData.preProcess?.baseUrl" target="_blank"
|
||||
style="color: #2a99ff;margin-right: 10px;cursor: pointer">{{ localFormData.preProcess?.requestName }}</a>
|
||||
<div v-for="item in localFormData.preProcess" :key="item.requestId">
|
||||
<a :href="item.baseUrl" target="_blank"
|
||||
style="color: #2a99ff;margin-right: 10px;cursor: pointer">{{ item.requestName }}</a>
|
||||
</div>
|
||||
<el-button color="#DED0B2" @click="handleShowPreTable">
|
||||
{{ localFormData.preProcess?.requestName ? '更改' : '请选择' }}
|
||||
{{ localFormData.preProcess ? '更改' : '请选择' }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -32,29 +34,30 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="process">
|
||||
<operation-render v-if="mode === 'resubmit'&&!changeDiagram" :operation-list="data.operationList" :state="data.state"/>
|
||||
<operation-render v-if="mode === 'resubmit'&&!changeDiagram" :operation-list="data.operationList"
|
||||
:state="data.state"/>
|
||||
<process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- <div v-if="changeDiagram">-->
|
||||
<!-- <div class="approval-record">-->
|
||||
<!-- <div class="approval-title">-->
|
||||
<!-- <baseTitle title="流程图"></baseTitle>-->
|
||||
<!-- <div class="diagram">-->
|
||||
<!--<!– <div class="base-title">流程图</div>–>-->
|
||||
<!--<!– <el-switch–>-->
|
||||
<!--<!– v-model="changeDiagram"–>-->
|
||||
<!--<!– style="--el-switch-on-color: #13ce66; --el-switch-off-color:#BEA266"–>-->
|
||||
<!--<!– />–>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="process">-->
|
||||
<!-- <process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div v-if="changeDiagram">-->
|
||||
<!-- <div class="approval-record">-->
|
||||
<!-- <div class="approval-title">-->
|
||||
<!-- <baseTitle title="流程图"></baseTitle>-->
|
||||
<!-- <div class="diagram">-->
|
||||
<!--<!– <div class="base-title">流程图</div>–>-->
|
||||
<!--<!– <el-switch–>-->
|
||||
<!--<!– v-model="changeDiagram"–>-->
|
||||
<!--<!– style="--el-switch-on-color: #13ce66; --el-switch-off-color:#BEA266"–>-->
|
||||
<!--<!– />–>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="process">-->
|
||||
<!-- <process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="oper-page-btn">
|
||||
<el-button color="#DED0B2" v-if="mode === 'submit'" @click="handleSubmit">提交</el-button>
|
||||
<el-button color="#DED0B2" v-else-if="mode === 'resubmit'" @click="handleSubmit">重新提交</el-button>
|
||||
@@ -71,7 +74,9 @@
|
||||
<el-button @click="handleReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table :data="preProcessList" stripe v-loading="loading">
|
||||
<el-table :data="preProcessList" stripe v-loading="loading"
|
||||
@select="handleSelect" row-key="requestId">
|
||||
<el-table-column type="selection" width="55" :reserve-selection="true"/>
|
||||
<el-table-column prop="requestId" label="请求id"></el-table-column>
|
||||
<el-table-column prop="requestName" label="请求名称"></el-table-column>
|
||||
<el-table-column prop="lastOperatorName" label="最后操作人名称"></el-table-column>
|
||||
@@ -81,15 +86,17 @@
|
||||
<el-table-column prop="createTime" label="创建时间"></el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default="scope">
|
||||
<div style="display: flex;align-items: center">
|
||||
<el-button type="primary" @click="chooseProProcess(scope.row)" link>选择</el-button>
|
||||
<a :href="scope.row.baseUrl" target="_blank" style="color: #2a99ff;margin-left: 10px">查看流程</a>
|
||||
</div>
|
||||
<!-- <el-button type="primary" @click="choosePreProcess(scope.row)" link>选择</el-button>-->
|
||||
<a :href="scope.row.baseUrl" target="_blank" style="color: #2a99ff;margin-left: 10px">查看流程</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<paging :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :page-sizes="[10, 20, 30, 40,50]"
|
||||
:total="total" @changeSize="handleSizeChange" @goPage="handleCurrentChange"/>
|
||||
<div class="oper">
|
||||
<el-button color="#DED0B2" @click="choosePreProcess">确定</el-button>
|
||||
<el-button @click="handleCancel">取消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -163,11 +170,13 @@ const tagsViewStore = useTagsView()
|
||||
const processStore = useProcessStore()
|
||||
const otherFileList = ref([])
|
||||
const localFormData = ref({
|
||||
preProcess: {
|
||||
requestId: null,
|
||||
requestName: '',
|
||||
baseUrl: ''
|
||||
}
|
||||
preProcess: [
|
||||
// {
|
||||
// requestId: null,
|
||||
// requestName: '',
|
||||
// baseUrl: ''
|
||||
// }
|
||||
]
|
||||
})
|
||||
const attachment = ref()
|
||||
const deploymentData = ref({})
|
||||
@@ -177,7 +186,24 @@ const loading = ref(false)
|
||||
const processDiagramViewer = ref(false)
|
||||
const name = ref(router.currentRoute.value.name)
|
||||
const deploymentId = ref()
|
||||
const selectRows = ref([])
|
||||
const projectId = ref(route.query.projectId)
|
||||
const getPreProcessUrl = (list) => {
|
||||
// list.map(item => {
|
||||
// item.baseUrl = getPreProcessUrl(item.preProcess)
|
||||
// })
|
||||
// let baseUrl=
|
||||
// list.forEach(item => {
|
||||
// baseUrl=item.baseUrl
|
||||
// })
|
||||
// return baseUrl
|
||||
}
|
||||
const handleSelect = async (selection) => {
|
||||
selectRows.value = selection
|
||||
}
|
||||
const handleCancel = () => {
|
||||
showPreTable.value = false
|
||||
}
|
||||
const searchPreProcess = () => {
|
||||
getPreProcessList()
|
||||
|
||||
@@ -207,12 +233,19 @@ const getPreProcessList = () => {
|
||||
preProcessList.value = currentList.value.slice(0, 10)
|
||||
})
|
||||
}
|
||||
const chooseProProcess = (item) => {
|
||||
localFormData.value.preProcess = {
|
||||
requestId: item.requestId,
|
||||
requestName: item.requestName,
|
||||
baseUrl: item.baseUrl
|
||||
}
|
||||
const choosePreProcess = () => {
|
||||
let preProcessObj = {}
|
||||
let preProcessArray = []
|
||||
selectRows.value.forEach((item) => {
|
||||
preProcessObj = {
|
||||
requestId: item.requestId,
|
||||
requestName: item.requestName,
|
||||
baseUrl: item.baseUrl
|
||||
}
|
||||
preProcessArray.push(preProcessObj)
|
||||
})
|
||||
localFormData.value.preProcess = preProcessArray
|
||||
console.log('localFormData.value.preProcess', localFormData.value.preProcess)
|
||||
showPreTable.value = false
|
||||
}
|
||||
|
||||
@@ -252,11 +285,11 @@ const compositeParam = (item) => {
|
||||
}
|
||||
}
|
||||
const getAttachment = (val) => {
|
||||
console.log('上传文件getAttachment', val)
|
||||
// console.log('上传文件getAttachment', val)
|
||||
localFormData.value.singleFile = compositeParam(val)
|
||||
}
|
||||
const getOtherFile = (val) => {
|
||||
console.log('上传文件getOtherFile', val)
|
||||
// console.log('上传文件getOtherFile', val)
|
||||
showTable.value = false
|
||||
let fileObj = compositeParam(val)
|
||||
otherFileList.value.push(fileObj)
|
||||
@@ -271,7 +304,7 @@ const getFileParam = (item) => {
|
||||
}
|
||||
}
|
||||
const handleSubmit = async () => {
|
||||
if(deploymentData.value.deploymentName==='重大项目立项'||deploymentData.value.deploymentName==='重大项目验收'){
|
||||
if (deploymentData.value.deploymentName === '重大项目立项' || deploymentData.value.deploymentName === '重大项目验收') {
|
||||
if (localFormData.value.preProcess === undefined) {
|
||||
ElNotification({
|
||||
title: '提示',
|
||||
@@ -377,7 +410,7 @@ const init = async () => {
|
||||
let data = res.data
|
||||
deploymentId.value = data.deploymentId
|
||||
deploymentData.value = data
|
||||
preProcessRequired.value = data.deploymentName === '重大项目立项'||data.deploymentName === '重大项目验收';
|
||||
preProcessRequired.value = data.deploymentName === '重大项目立项' || data.deploymentName === '重大项目验收';
|
||||
processStore.setDesign(data)
|
||||
processStore.runningList.value = data.runningList;
|
||||
processStore.endList.value = data.endList;
|
||||
@@ -406,5 +439,9 @@ onMounted(async () => {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.oper {
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -47,11 +47,11 @@ const searchConfig = reactive([
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '项目阶段',
|
||||
label: '研发阶段',
|
||||
prop: 'researchStage',
|
||||
component: shallowRef(fvSelect),
|
||||
props: {
|
||||
placeholder: '请选择项目阶段查询',
|
||||
placeholder: '请选择研发阶段查询',
|
||||
clearable: true,
|
||||
filterable: true,
|
||||
checkStrictly: true,
|
||||
@@ -115,7 +115,7 @@ const tableConfig = reactive({
|
||||
},
|
||||
{
|
||||
prop: 'researchStage',
|
||||
label: '项目阶段',
|
||||
label: '研发阶段',
|
||||
align: 'center',
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
|
||||
@@ -102,7 +102,7 @@ const tableConfig = reactive({
|
||||
},
|
||||
{
|
||||
prop: 'researchStage',
|
||||
label: '项目阶段',
|
||||
label: '研发阶段',
|
||||
align: 'center',
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.researchStage&&row.researchStage !== null&&row.researchStage!==undefined) {
|
||||
|
||||
@@ -34,8 +34,9 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="所属公司" prop="companyIds" class="tree-select">
|
||||
<div>{{ getName(companyList) }}</div>
|
||||
<el-button color="#DED0B2" @click="showCompany">{{ companyList.length === 0 ? '请选择所属公司' : '更改' }}
|
||||
<div v-if="route.query.id">{{selectedCompanyList}}</div>
|
||||
<div v-else>{{ getName(selectedCompanyList) }}</div>
|
||||
<el-button color="#DED0B2" @click="showCompany">{{ selectedCompanyList.length === 0 ? '请选择所属公司' : '更改' }}
|
||||
</el-button>
|
||||
<!-- <el-tree-select v-model="formData.companyIds" :data="companyOption"-->
|
||||
<!-- filterable clearable :check-strictly="true" multiple/>-->
|
||||
@@ -96,7 +97,7 @@
|
||||
<el-button color="#DED0B2" v-else @click="handleResubmit">重新提交</el-button>
|
||||
<el-button @click="handleBack">返回</el-button>
|
||||
</div>
|
||||
<company-picker :multiple="true" ref="companyRef" title="请选择所属公司" v-model:value="companyList" @ok="selected"/>
|
||||
<company-picker :multiple="true" ref="companyRef" title="请选择所属公司" @ok="selected"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -119,11 +120,13 @@ import {getSubCompOpt} from '@/api/user/user.js'
|
||||
import {useTagsView} from '@/stores/tagsview.js'
|
||||
import {getFundOption} from "@/api/special-fund";
|
||||
import CompanyPicker from "@/components/DetailComponent/CompanyPicker.vue";
|
||||
import {matterTree} from "@/utils/matterTree";
|
||||
|
||||
import {useCacheStore} from '@/stores/cache.js'
|
||||
const cacheStore = useCacheStore()
|
||||
const companyRef = ref()
|
||||
const companyList = ref([])
|
||||
const selectedCompanyList = ref([])
|
||||
// const companyList = ref([])
|
||||
const changeDiagram = ref(false)
|
||||
const tagsViewStore = useTagsView()
|
||||
const authStore = useAuthStore()
|
||||
@@ -152,6 +155,7 @@ const showTable = ref(true)
|
||||
const processStore = useProcessStore()
|
||||
const processInstanceData = ref()
|
||||
const formPermMap = ref(new Map());
|
||||
const companyNameArray = ref([])
|
||||
const rules = reactive({
|
||||
requirementName: [{required: true, message: '请输入征集名称', trigger: 'blur'}],
|
||||
companyIds: [{required: true, message: '请选择所属公司', trigger: 'blur'}],
|
||||
@@ -203,6 +207,15 @@ const tableConfig = reactive({
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
const getCompanyOptionItem = (val) => {
|
||||
if (val !== undefined) {
|
||||
val.forEach(item => {
|
||||
matterTree(companyNameArray.value, companyOption.value, item)
|
||||
})
|
||||
}
|
||||
return companyNameArray.value.join(',');
|
||||
}
|
||||
const getName = (list) => {
|
||||
return list.map(item => item.label).join(',')
|
||||
}
|
||||
@@ -210,12 +223,10 @@ const showCompany = () => {
|
||||
companyRef.value.show()
|
||||
}
|
||||
const selected = (select) => {
|
||||
let companyInfoList = []
|
||||
for (let val of select) {
|
||||
companyInfoList.push(val)
|
||||
formData.value.companyIds.push(val.value)
|
||||
}
|
||||
companyList.value = companyInfoList
|
||||
selectedCompanyList.value = select
|
||||
}
|
||||
const checkFormPrem = (formKey) => {
|
||||
if (formPermMap.value.hasOwnProperty(formKey)) {
|
||||
@@ -306,7 +317,6 @@ const init = async () => {
|
||||
})
|
||||
}
|
||||
const submitParam = (item) => {
|
||||
console.log('item..', item.companyIds)
|
||||
if (item.companyIds.length === 0) {
|
||||
ElNotification({
|
||||
title: '提示',
|
||||
@@ -373,6 +383,7 @@ const handleResubmit = () => {
|
||||
const getDetailInfo = async () => {
|
||||
getFormInfo(route.query.id).then(res => {
|
||||
if (res.code === 1000) {
|
||||
selectedCompanyList.value = getCompanyOptionItem(res.data.companyIds)
|
||||
formData.value = res.data
|
||||
showTinymce.value = false
|
||||
showTable.value = false
|
||||
|
||||
@@ -60,11 +60,11 @@ const searchConfig = reactive([
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '项目阶段',
|
||||
label: '研发阶段',
|
||||
prop: 'researchStage',
|
||||
component: shallowRef(fvSelect),
|
||||
props: {
|
||||
placeholder: '请选择项目阶段查询',
|
||||
placeholder: '请选择研发阶段查询',
|
||||
clearable: true,
|
||||
filterable: true,
|
||||
checkStrictly: true,
|
||||
@@ -123,7 +123,7 @@ const tableConfig = reactive({
|
||||
},
|
||||
{
|
||||
prop: 'researchStage',
|
||||
label: '项目阶段',
|
||||
label: '研发阶段',
|
||||
align: 'center',
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
|
||||
@@ -183,7 +183,7 @@ const tableConfig = reactive({
|
||||
},
|
||||
{
|
||||
prop: 'researchStage',
|
||||
label: '项目阶段',
|
||||
label: '研发阶段',
|
||||
align: 'center',
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
|
||||
@@ -31,10 +31,10 @@
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="researchStage" label="项目阶段">
|
||||
<el-table-column prop="researchStage" label="研发阶段">
|
||||
<template #default="scope">
|
||||
<el-form-item prop="researchStage" :rules="scope.row.researchStage?'1':rules.researchStage">
|
||||
<el-select v-model="scope.row.researchStage" placeholder="请选择项目阶段" clearable filterable>
|
||||
<el-select v-model="scope.row.researchStage" placeholder="请选择研发阶段" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in cacheStore.getDict('fee_stage')"
|
||||
:key="item.value"
|
||||
@@ -115,7 +115,7 @@ const baseForm = ref()
|
||||
const rules = reactive({
|
||||
time: [{required: true, message: '请选择时间', trigger: 'blur'}],
|
||||
projectCost: [{required: true, message: '请输入项目费用', trigger: 'blur'}],
|
||||
researchStage: [{required: true, message: '请输入项目阶段', trigger: 'blur'}],
|
||||
researchStage: [{required: true, message: '请输入研发阶段', trigger: 'blur'}],
|
||||
digest: [{required: true, message: '请输入摘要', trigger: 'blur'}],
|
||||
afterTax: [{required: true, message: '请输入税后余额', trigger: 'blur'}]
|
||||
})
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="picker">
|
||||
<div class="candidate" v-loading="loading">
|
||||
<el-input v-model="filterText" @change="getList(1)"
|
||||
clearable placeholder="输入部门/昵称进行搜索">
|
||||
clearable placeholder="输入昵称进行搜索">
|
||||
<template #append>
|
||||
<el-button @click="getList(1)">搜索</el-button>
|
||||
</template>
|
||||
@@ -20,7 +20,7 @@
|
||||
<template #default="{ node, data }">
|
||||
<div class="tree-node">
|
||||
<div v-if="data.type === 0" style="display: flex;align-items: center;padding: 3px 0">
|
||||
<el-icon>
|
||||
<el-icon :color="data.accountType==='0'?'#95d475':'#409eff'">
|
||||
<UserFilled/>
|
||||
</el-icon>
|
||||
{{ node.label }}-{{ data.companyName }}
|
||||
@@ -192,6 +192,7 @@ const showUserPicker = () => {
|
||||
radio.value = 0;
|
||||
visible.value = true;
|
||||
expandedKeys.value = [];
|
||||
filterText.value=''
|
||||
getList();
|
||||
};
|
||||
const handleChange = (item, data) => {
|
||||
|
||||
Reference in New Issue
Block a user