|
@@ -0,0 +1,193 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <div class="ele-body" style="width:100%">
|
|
|
|
|
+ <ele-pro-table
|
|
|
|
|
+ ref="table"
|
|
|
|
|
+ style="width:100%"
|
|
|
|
|
+ :columns="columns"
|
|
|
|
|
+ :datasource="datasource"
|
|
|
|
|
+ cache-key="saleMange-contact-contractReview"
|
|
|
|
|
+ :pageSize="20"
|
|
|
|
|
+ :needPage="false"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template v-slot:name="{ row }">
|
|
|
|
|
+ <el-link
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :underline="false"
|
|
|
|
|
+ @click="handleDetail(row)"
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ row.name }}
|
|
|
|
|
+ </el-link>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:result="{ row }">
|
|
|
|
|
+ <el-tag
|
|
|
|
|
+ size="medium"
|
|
|
|
|
+ :type="
|
|
|
|
|
+ getTimelineItemType(
|
|
|
|
|
+ getDictValue('流程实例的结果', row.result)
|
|
|
|
|
+ )
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ getDictValue('流程实例的结果', row.result) }} {{ row.result }}
|
|
|
|
|
+ </el-tag>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template v-slot:durationInMillis="{ row }">
|
|
|
|
|
+ {{ getDateTime(row.durationInMillis) }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ </ele-pro-table>
|
|
|
|
|
+ <detail
|
|
|
|
|
+ v-if="detailFlag"
|
|
|
|
|
+ :view="true"
|
|
|
|
|
+ ref="formDetailDialogRef"
|
|
|
|
|
+ :detail-flag.sync="detailFlag"
|
|
|
|
|
+ ></detail>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+// import dictMixins from '@/mixins/dictMixins';
|
|
|
|
|
+import tabMixins from '@/mixins/tableColumnsMixin';
|
|
|
|
|
+import { getDate } from '@/utils/dateUtils';
|
|
|
|
|
+import detail from '@/views/contractManage/contractReview/components/detail.vue';
|
|
|
|
|
+import { mapGetters, mapActions } from 'vuex';
|
|
|
|
|
+
|
|
|
|
|
+export default {
|
|
|
|
|
+ mixins: [tabMixins],
|
|
|
|
|
+ props: {
|
|
|
|
|
+ contractData: {
|
|
|
|
|
+ type: Object,
|
|
|
|
|
+ default: () => ({})
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ components: {
|
|
|
|
|
+ detail
|
|
|
|
|
+ },
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ detailFlag: false,
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
|
|
+ computed: {
|
|
|
|
|
+ ...mapGetters(['getDictValue']),
|
|
|
|
|
+ columns() {
|
|
|
|
|
+ // let list = this.formColumnList.map((item) => {
|
|
|
|
|
+ // return {
|
|
|
|
|
+ // prop: item.model,
|
|
|
|
|
+ // label: item.name,
|
|
|
|
|
+ // align: 'center',
|
|
|
|
|
+ // slot: item.model,
|
|
|
|
|
+ // showOverflowTooltip: true,
|
|
|
|
|
+ // minWidth: 120
|
|
|
|
|
+ // };
|
|
|
|
|
+ // });
|
|
|
|
|
+ return [
|
|
|
|
|
+ {
|
|
|
|
|
+ columnKey: 'index',
|
|
|
|
|
+ label: '序号',
|
|
|
|
|
+ type: 'index',
|
|
|
|
|
+ width: 55,
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ fixed: 'left'
|
|
|
|
|
+ },
|
|
|
|
|
+ // {
|
|
|
|
|
+ // prop: 'dictType',
|
|
|
|
|
+ // label: '分类',
|
|
|
|
|
+ // align: 'center',
|
|
|
|
|
+ // slot: 'dictType',
|
|
|
|
|
+ // showOverflowTooltip: true,
|
|
|
|
|
+ // minWidth: 70
|
|
|
|
|
+ // },
|
|
|
|
|
+ // {
|
|
|
|
|
+ // prop: 'formName',
|
|
|
|
|
+ // label: '单据',
|
|
|
|
|
+ // align: 'center',
|
|
|
|
|
+ // slot: 'formName',
|
|
|
|
|
+ // showOverflowTooltip: true,
|
|
|
|
|
+ // minWidth: 70
|
|
|
|
|
+ // },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'name',
|
|
|
|
|
+ label: '名称',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ slot: 'name',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ minWidth: 80
|
|
|
|
|
+ },
|
|
|
|
|
+ // ...list,
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'result',
|
|
|
|
|
+ slot: 'result',
|
|
|
|
|
+ label: '结果',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ minWidth: 80
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'createTime',
|
|
|
|
|
+ label: '创建时间',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ minWidth: 120
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'endTime',
|
|
|
|
|
+ label: '审批时间',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ minWidth: 120
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'startUserName',
|
|
|
|
|
+ label: '发起人',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ minWidth: 120
|
|
|
|
|
+ }
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ created() {
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ handleDetail(row) {
|
|
|
|
|
+ this.detailFlag = true;
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ this.$refs.formDetailDialogRef.open(row);
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ getTimelineItemType(result) {
|
|
|
|
|
+ if (result === '通过') {
|
|
|
|
|
+ return 'success';
|
|
|
|
|
+ }
|
|
|
|
|
+ if (result === '不通过') {
|
|
|
|
|
+ return 'danger';
|
|
|
|
|
+ }
|
|
|
|
|
+ if (result === '取消') {
|
|
|
|
|
+ return 'info';
|
|
|
|
|
+ }
|
|
|
|
|
+ if (result === '处理中') {
|
|
|
|
|
+ return 'warning';
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return '';
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ datasource({ page, limit, where, order }) {
|
|
|
|
|
+ return this.contractData.approvalList || [];
|
|
|
|
|
+ },
|
|
|
|
|
+ getDateTime(ms) {
|
|
|
|
|
+ return getDate(ms);
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
|
+::v-deep .ele-pro-table {
|
|
|
|
|
+ .el-link {
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|