|
|
@@ -16,7 +16,7 @@
|
|
|
className="svg-icon-set"
|
|
|
></svg-icon>
|
|
|
<span>
|
|
|
- {{ v.name.length>3?v.name[0]+v.name[1]+v.name[2]+'...':v.name }}
|
|
|
+ {{ v.name.length > 3 ? v.name[0] + v.name[1] + v.name[2] + '...' : v.name }}
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -43,10 +43,20 @@
|
|
|
@submit.native.prevent
|
|
|
>
|
|
|
<el-row :gutter="15" style="display: flex;align-items: center">
|
|
|
- <el-col v-bind="{ span: 3 }">
|
|
|
+ <el-col v-bind="{ span: 4 }">
|
|
|
<el-form-item label="分类:" label-width="60px">
|
|
|
+ <el-select v-model="params.dictType">
|
|
|
+ <el-option v-for="(item,index) in dictList['collaborative_type']" :key="index"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="{ span: 4 }">
|
|
|
+ <el-form-item label="单据:" label-width="60px">
|
|
|
<el-select v-model="params.formId">
|
|
|
- <el-option v-for="(item,index) in defaultTemplateList" :key="index" :value="item.id"
|
|
|
+ <el-option v-for="(item,index) in templateList[params.dictType]" :key="index"
|
|
|
+ :value="item.id"
|
|
|
:label="item.name"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -73,7 +83,7 @@
|
|
|
</DictSelection>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 8, md: 12 } : { span: 10 }">
|
|
|
+ <el-col v-bind="{ span: 10 }">
|
|
|
<el-form-item label="创建时间:" prop="createTime" label-width="90px">
|
|
|
<el-date-picker
|
|
|
v-model="params.createTime"
|
|
|
@@ -113,6 +123,9 @@
|
|
|
</el-tag>
|
|
|
|
|
|
</template>
|
|
|
+ <template v-slot:dictType="{ row }">
|
|
|
+ {{getDictV('collaborative_type',row.dictType)}}
|
|
|
+ </template>
|
|
|
<template v-slot:durationInMillis="{ row }">
|
|
|
{{ getDateTime(row.durationInMillis) }}
|
|
|
</template>
|
|
|
@@ -133,7 +146,8 @@
|
|
|
</el-image>
|
|
|
</div>
|
|
|
<div v-else-if="item.type=='fileupload'">
|
|
|
- <el-button type="text" @click="getFiles(row[item.model])">下载</el-button>
|
|
|
+ <el-button type="text" v-if="row[item.model]?.length" @click="getFiles(row[item.model])">下载
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
|
|
|
<div v-else-if="item.type=='userSelect'">
|
|
|
@@ -183,8 +197,18 @@
|
|
|
@submit.native.prevent
|
|
|
>
|
|
|
<el-row :gutter="15" style="display: flex;align-items: center">
|
|
|
- <el-col v-bind="{ span: 3 }">
|
|
|
+
|
|
|
+ <el-col v-bind="{ span: 4 }">
|
|
|
<el-form-item label="分类:" label-width="60px">
|
|
|
+ <el-select v-model="params.dictType">
|
|
|
+ <el-option v-for="(item,index) in dictList['collaborative_type']" :key="index"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="{ span: 4 }">
|
|
|
+ <el-form-item label="单据:" label-width="60px">
|
|
|
<el-select v-model="params.formId">
|
|
|
<el-option v-for="(item,index) in defaultTemplateList" :key="index" :value="item.id"
|
|
|
:label="item.name"></el-option>
|
|
|
@@ -218,7 +242,7 @@
|
|
|
<el-input v-model="params.startUserName"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col v-bind="{ span: 10 }">
|
|
|
+ <el-col v-bind="{ span: 6 }">
|
|
|
<el-form-item label="创建时间:" prop="createTime" label-width="90px">
|
|
|
<el-date-picker
|
|
|
v-model="params.createTime"
|
|
|
@@ -252,6 +276,9 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
+ <template v-slot:dictType="{ row }">
|
|
|
+ {{getDictV('collaborative_type',row.dictType)}}
|
|
|
+ </template>
|
|
|
<template v-if="formColumnList.length" v-for="(item,index) in formColumnList"
|
|
|
v-slot:[item.model]="{ row }">
|
|
|
<div v-if="item.type=='imgupload'">
|
|
|
@@ -263,7 +290,8 @@
|
|
|
</el-image>
|
|
|
</div>
|
|
|
<div v-else-if="item.type=='fileupload'">
|
|
|
- <el-button type="text" @click="getFiles(row[item.model])">下载</el-button>
|
|
|
+ <el-button type="text" v-if="row[item.model]?.length" @click="getFiles(row[item.model])">下载
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
<div v-else-if="item.type=='userSelect'">
|
|
|
{{ getUserName(row[item.model]) }}
|
|
|
@@ -326,7 +354,16 @@
|
|
|
@submit.native.prevent
|
|
|
>
|
|
|
<el-row :gutter="15" style="display: flex;align-items: center">
|
|
|
- <el-col v-bind="{ span: 3 }">
|
|
|
+ <el-col v-bind="{ span: 4 }">
|
|
|
+ <el-form-item label="单据:" label-width="60px">
|
|
|
+ <el-select v-model="params.dictType">
|
|
|
+ <el-option v-for="(item,index) in dictList['collaborative_type']" :key="index"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="{ span: 4 }">
|
|
|
<el-form-item label="分类:" label-width="60px">
|
|
|
<el-select v-model="params.formId">
|
|
|
<el-option v-for="(item,index) in defaultTemplateList" :key="index" :value="item.id"
|
|
|
@@ -361,7 +398,7 @@
|
|
|
<el-input v-model="params.startUserName"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col v-bind="{ span: 10 }">
|
|
|
+ <el-col v-bind="{ span: 6 }">
|
|
|
<el-form-item label="创建时间:" prop="createTime" label-width="90px">
|
|
|
<el-date-picker
|
|
|
v-model="params.createTime"
|
|
|
@@ -395,6 +432,9 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
+ <template v-slot:dictType="{ row }">
|
|
|
+ {{getDictV('collaborative_type',row.dictType)}}
|
|
|
+ </template>
|
|
|
<template v-if="formColumnList.length" v-for="(item,index) in formColumnList"
|
|
|
v-slot:[item.model]="{ row }">
|
|
|
<div v-if="item.type=='imgupload'">
|
|
|
@@ -406,7 +446,8 @@
|
|
|
</el-image>
|
|
|
</div>
|
|
|
<div v-else-if="item.type=='fileupload'">
|
|
|
- <el-button type="text" @click="getFiles(row[item.model])">下载</el-button>
|
|
|
+ <el-button type="text" v-if="row[item.model]?.length" @click="getFiles(row[item.model])">下载
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
<div v-else-if="item.type=='userSelect'">
|
|
|
{{ getUserName(row[item.model]) }}
|
|
|
@@ -458,7 +499,8 @@
|
|
|
ref="processSubmitDialogRef" @reload="reload"></process-submit-dialog>
|
|
|
|
|
|
<detail ref="detailRef"></detail>
|
|
|
- <formDetail v-if="formDetailDialogFlag" ref="formDetailDialogRef" :form-detail-dialog-flag.sync="formDetailDialogFlag"></formDetail>
|
|
|
+ <formDetail v-if="formDetailDialogFlag" ref="formDetailDialogRef"
|
|
|
+ :form-detail-dialog-flag.sync="formDetailDialogFlag"></formDetail>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -479,6 +521,7 @@ import {getUserPage} from '@/api/tickets';
|
|
|
import {listOrganizations} from "@/api/system/organization";
|
|
|
// 默认表单数据
|
|
|
const defaultParams = {
|
|
|
+ dictType: '',
|
|
|
status: '',
|
|
|
name: '',
|
|
|
formId: ''
|
|
|
@@ -532,12 +575,20 @@ export default {
|
|
|
fixed: 'left'
|
|
|
},
|
|
|
{
|
|
|
- prop: 'formName',
|
|
|
+ prop: 'dictType',
|
|
|
label: '分类',
|
|
|
align: 'center',
|
|
|
+ slot: 'dictType',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 70
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'formName',
|
|
|
+ label: '单据',
|
|
|
+ align: 'center',
|
|
|
slot: 'formName',
|
|
|
showOverflowTooltip: true,
|
|
|
- minWidth: 100
|
|
|
+ minWidth: 70
|
|
|
},
|
|
|
{
|
|
|
prop: 'name',
|
|
|
@@ -545,7 +596,7 @@ export default {
|
|
|
align: 'center',
|
|
|
slot: 'name',
|
|
|
showOverflowTooltip: true,
|
|
|
- minWidth: 100
|
|
|
+ minWidth: 80
|
|
|
},
|
|
|
...list,
|
|
|
{
|
|
|
@@ -554,21 +605,21 @@ export default {
|
|
|
label: '结果',
|
|
|
align: 'center',
|
|
|
showOverflowTooltip: true,
|
|
|
- minWidth: 100
|
|
|
+ minWidth: 80
|
|
|
},
|
|
|
{
|
|
|
prop: 'endTime',
|
|
|
label: '审批时间',
|
|
|
align: 'center',
|
|
|
showOverflowTooltip: true,
|
|
|
- minWidth: 180
|
|
|
+ minWidth: 120
|
|
|
},
|
|
|
{
|
|
|
prop: 'createTime',
|
|
|
label: '创建时间',
|
|
|
align: 'center',
|
|
|
showOverflowTooltip: true,
|
|
|
- minWidth: 180
|
|
|
+ minWidth: 120
|
|
|
},
|
|
|
|
|
|
// {
|
|
|
@@ -613,12 +664,20 @@ export default {
|
|
|
fixed: 'left'
|
|
|
},
|
|
|
{
|
|
|
- prop: 'formName',
|
|
|
+ prop: 'dictType',
|
|
|
label: '分类',
|
|
|
align: 'center',
|
|
|
+ slot: 'dictType',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 70
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'formName',
|
|
|
+ label: '单据',
|
|
|
+ align: 'center',
|
|
|
slot: 'formName',
|
|
|
showOverflowTooltip: true,
|
|
|
- minWidth: 150
|
|
|
+ minWidth: 70
|
|
|
},
|
|
|
{
|
|
|
prop: 'name',
|
|
|
@@ -689,16 +748,16 @@ export default {
|
|
|
getDeptAndUserName() {
|
|
|
return (id = []) => {
|
|
|
if (!id.length) return ''
|
|
|
+ id = Array.isArray(id) ? id : [id]
|
|
|
let find = this.userList.find(item => item.id == id[id.length - 1]) || {}
|
|
|
return find.name
|
|
|
}
|
|
|
},
|
|
|
getDeptName() {
|
|
|
return (id = []) => {
|
|
|
-
|
|
|
if (!id.length) return ''
|
|
|
+ id = Array.isArray(id) ? id : [id]
|
|
|
let find = this.deptList.find(item => item.id == id[id.length - 1]) || {}
|
|
|
- console.log(find.name,'===========');
|
|
|
return find.name
|
|
|
}
|
|
|
},
|
|
|
@@ -712,7 +771,16 @@ export default {
|
|
|
this.reload()
|
|
|
this.noticeReload()
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
+ 'params.dictType': {
|
|
|
+ handler(val) {
|
|
|
+ this.params.formId = this.templateList[val][0].id
|
|
|
+ this.reload()
|
|
|
+ this.deptReload()
|
|
|
+ this.reload()
|
|
|
+ this.noticeReload()
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
async created() {
|
|
|
await this.getDictList('collaborative_type')
|
|
|
@@ -744,7 +812,6 @@ export default {
|
|
|
//获取部门数据
|
|
|
async getDeptList() {
|
|
|
this.deptList = await listOrganizations()
|
|
|
- console.log(this.deptList);
|
|
|
},
|
|
|
getFiles(row = []) {
|
|
|
row.forEach(item => {
|
|
|
@@ -753,9 +820,10 @@ export default {
|
|
|
|
|
|
},
|
|
|
async getTemplateList() {
|
|
|
- this.defaultTemplateList = await getBpmCustomFormList({status:1})
|
|
|
+ this.defaultTemplateList = await getBpmCustomFormList({status: 1})
|
|
|
this.templateList = _.groupBy(this.defaultTemplateList, 'dictType');
|
|
|
- this.params.formId = this.defaultTemplateList[0]?.id
|
|
|
+ this.params.dictType = this.dictList['collaborative_type'][0].value;
|
|
|
+ this.params.formId = this.defaultTemplateList[0]?.id;
|
|
|
let makingJson = JSON.parse(this.defaultTemplateList[0].formJson.makingJson) || {}
|
|
|
this.formColumnList = makingJson.list
|
|
|
console.log(this.formColumnList);
|
|
|
@@ -789,7 +857,6 @@ export default {
|
|
|
let find = this.defaultTemplateList.find(item => item.id == this.params.formId) || {};
|
|
|
let makingJson = JSON.parse(find.formJson.makingJson) || {}
|
|
|
this.formColumnList = makingJson.list
|
|
|
- console.log(this.formColumnList);
|
|
|
this.$refs.table.reload({page: 1, where});
|
|
|
this.$refs.table.reRenderTable()
|
|
|
},
|
|
|
@@ -798,6 +865,7 @@ export default {
|
|
|
reset() {
|
|
|
this.params = {...defaultParams};
|
|
|
this.params.formId = this.defaultTemplateList[0]?.id
|
|
|
+ this.params.dictType = this.dictList['collaborative_type'][0].value;
|
|
|
this.reload();
|
|
|
},
|
|
|
/* 表格数据源 */
|
|
|
@@ -829,6 +897,7 @@ export default {
|
|
|
deptReset() {
|
|
|
this.params = {...defaultParams};
|
|
|
this.params.formId = this.defaultTemplateList[0]?.id
|
|
|
+ this.params.dictType = this.dictList['collaborative_type'][0].value;
|
|
|
this.deptReload();
|
|
|
},
|
|
|
/* 表格数据源 */
|
|
|
@@ -860,6 +929,7 @@ export default {
|
|
|
noticeReset() {
|
|
|
this.params = {...defaultParams};
|
|
|
this.params.formId = this.defaultTemplateList[0]?.id
|
|
|
+ this.params.dictType = this.dictList['collaborative_type'][0].value;
|
|
|
this.noticeReload();
|
|
|
},
|
|
|
/** */
|
|
|
@@ -869,7 +939,7 @@ export default {
|
|
|
/** */
|
|
|
handleDetail(row) {
|
|
|
this.formDetailDialogFlag = true
|
|
|
- this.$nextTick(()=>{
|
|
|
+ this.$nextTick(() => {
|
|
|
this.$refs.formDetailDialogRef.open(row);
|
|
|
})
|
|
|
|
|
|
@@ -918,6 +988,7 @@ export default {
|
|
|
flex: 1 0 25%;
|
|
|
margin-top: 5px;
|
|
|
overflow: auto;
|
|
|
+
|
|
|
.category_box_title {
|
|
|
font-size: 14px;
|
|
|
font-weight: bold;
|
|
|
@@ -936,6 +1007,7 @@ export default {
|
|
|
flex-wrap: wrap;
|
|
|
height: 60px;
|
|
|
overflow: auto;
|
|
|
+
|
|
|
.category_content {
|
|
|
min-width: 60px;
|
|
|
min-height: 60px;
|
|
|
@@ -946,7 +1018,7 @@ export default {
|
|
|
border-bottom: 1px solid #e1e1e1;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- // font-weight: bold;
|
|
|
+ // font-weight: bold;
|
|
|
|
|
|
&:nth-child(n) {
|
|
|
span:nth-child(1) {
|
|
|
@@ -967,6 +1039,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
.category_box:last-child {
|
|
|
border-right: 1px solid #e1e1e1;
|
|
|
}
|
|
|
@@ -991,4 +1064,9 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+::v-deep .ele-table-tool {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ flex-wrap: nowrap !important;
|
|
|
+}
|
|
|
</style>
|