|
2 | 2 | <ContentWrap>
|
3 | 3 | <!-- 搜索工作栏 -->
|
4 | 4 | <el-form
|
5 |
| - class="-mb-15px" |
6 |
| - :model="queryParams" |
7 | 5 | ref="queryFormRef"
|
8 | 6 | :inline="true"
|
| 7 | + :model="queryParams" |
| 8 | + class="-mb-15px" |
9 | 9 | label-width="68px"
|
10 | 10 | >
|
11 | 11 | <el-form-item label="合同编号" prop="no">
|
12 | 12 | <el-input
|
13 | 13 | v-model="queryParams.no"
|
14 |
| - placeholder="请输入合同编号" |
| 14 | + class="!w-240px" |
15 | 15 | clearable
|
| 16 | + placeholder="请输入合同编号" |
16 | 17 | @keyup.enter="handleQuery"
|
17 |
| - class="!w-240px" |
18 | 18 | />
|
19 | 19 | </el-form-item>
|
20 | 20 | <el-form-item label="合同名称" prop="name">
|
21 | 21 | <el-input
|
22 | 22 | v-model="queryParams.name"
|
23 |
| - placeholder="请输入合同名称" |
| 23 | + class="!w-240px" |
24 | 24 | clearable
|
| 25 | + placeholder="请输入合同名称" |
25 | 26 | @keyup.enter="handleQuery"
|
26 |
| - class="!w-240px" |
27 | 27 | />
|
28 | 28 | </el-form-item>
|
29 | 29 | <el-form-item>
|
30 |
| - <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> |
31 |
| - <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> |
32 |
| - <el-button type="primary" @click="openForm('create')" v-hasPermi="['crm:contract:create']"> |
33 |
| - <Icon icon="ep:plus" class="mr-5px" /> 新增 |
| 30 | + <el-button @click="handleQuery"> |
| 31 | + <Icon class="mr-5px" icon="ep:search" /> |
| 32 | + 搜索 |
| 33 | + </el-button> |
| 34 | + <el-button @click="resetQuery"> |
| 35 | + <Icon class="mr-5px" icon="ep:refresh" /> |
| 36 | + 重置 |
| 37 | + </el-button> |
| 38 | + <el-button v-hasPermi="['crm:contract:create']" type="primary" @click="openForm('create')"> |
| 39 | + <Icon class="mr-5px" icon="ep:plus" /> |
| 40 | + 新增 |
34 | 41 | </el-button>
|
35 | 42 | <el-button
|
36 |
| - type="success" |
| 43 | + v-hasPermi="['crm:contract:export']" |
| 44 | + :loading="exportLoading" |
37 | 45 | plain
|
| 46 | + type="success" |
38 | 47 | @click="handleExport"
|
39 |
| - :loading="exportLoading" |
40 |
| - v-hasPermi="['crm:contract:export']" |
41 | 48 | >
|
42 |
| - <Icon icon="ep:download" class="mr-5px" /> 导出 |
| 49 | + <Icon class="mr-5px" icon="ep:download" /> |
| 50 | + 导出 |
43 | 51 | </el-button>
|
44 | 52 | </el-form-item>
|
45 | 53 | </el-form>
|
|
48 | 56 | <!-- 列表 -->
|
49 | 57 | <!-- TODO 芋艿:各种字段要调整 -->
|
50 | 58 | <ContentWrap>
|
51 |
| - <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> |
52 |
| - <el-table-column label="合同编号" align="center" prop="id" /> |
53 |
| - <el-table-column label="合同名称" align="center" prop="name" /> |
54 |
| - <el-table-column label="客户名称" align="center" prop="customerId" /> |
55 |
| - <el-table-column label="商机名称" align="center" prop="businessId" /> |
56 |
| - <el-table-column label="工作流名称" align="center" prop="processInstanceId" /> |
| 59 | + <el-table v-loading="loading" :data="list" :show-overflow-tooltip="true" :stripe="true"> |
| 60 | + <el-table-column align="center" label="合同编号" prop="id" /> |
| 61 | + <el-table-column align="center" label="合同名称" prop="name" /> |
| 62 | + <el-table-column align="center" label="客户名称" prop="customerId" /> |
| 63 | + <el-table-column align="center" label="商机名称" prop="businessId" /> |
| 64 | + <el-table-column align="center" label="工作流名称" prop="processInstanceId" /> |
57 | 65 | <el-table-column
|
58 |
| - label="下单时间" |
| 66 | + :formatter="dateFormatter" |
59 | 67 | align="center"
|
| 68 | + label="下单时间" |
60 | 69 | prop="orderDate"
|
61 |
| - :formatter="dateFormatter" |
62 | 70 | width="180px"
|
63 | 71 | />
|
64 |
| - <el-table-column label="负责人" align="center" prop="ownerUserId" /> |
65 |
| - <el-table-column label="合同编号" align="center" prop="no" /> |
| 72 | + <el-table-column align="center" label="负责人" prop="ownerUserId" /> |
| 73 | + <el-table-column align="center" label="合同编号" prop="no" /> |
66 | 74 | <el-table-column
|
67 |
| - label="开始时间" |
| 75 | + :formatter="dateFormatter" |
68 | 76 | align="center"
|
| 77 | + label="开始时间" |
69 | 78 | prop="startTime"
|
70 |
| - :formatter="dateFormatter" |
71 | 79 | width="180px"
|
72 | 80 | />
|
73 | 81 | <el-table-column
|
74 |
| - label="结束时间" |
| 82 | + :formatter="dateFormatter" |
75 | 83 | align="center"
|
| 84 | + label="结束时间" |
76 | 85 | prop="endTime"
|
77 |
| - :formatter="dateFormatter" |
78 | 86 | width="180px"
|
79 | 87 | />
|
80 |
| - <el-table-column label="合同金额" align="center" prop="price" /> |
81 |
| - <el-table-column label="整单折扣" align="center" prop="discountPercent" /> |
82 |
| - <el-table-column label="产品总金额" align="center" prop="productPrice" /> |
83 |
| - <el-table-column label="联系人" align="center" prop="contactId" /> |
84 |
| - <el-table-column label="公司签约人" align="center" prop="signUserId" /> |
| 88 | + <el-table-column align="center" label="合同金额" prop="price" /> |
| 89 | + <el-table-column align="center" label="整单折扣" prop="discountPercent" /> |
| 90 | + <el-table-column align="center" label="产品总金额" prop="productPrice" /> |
| 91 | + <el-table-column align="center" label="联系人" prop="contactId" /> |
| 92 | + <el-table-column align="center" label="公司签约人" prop="signUserId" /> |
85 | 93 | <el-table-column
|
86 |
| - label="最后跟进时间" |
| 94 | + :formatter="dateFormatter" |
87 | 95 | align="center"
|
| 96 | + label="最后跟进时间" |
88 | 97 | prop="contactLastTime"
|
89 |
| - :formatter="dateFormatter" |
90 | 98 | width="180px"
|
91 | 99 | />
|
92 | 100 | <el-table-column
|
93 |
| - label="创建时间" |
| 101 | + :formatter="dateFormatter" |
94 | 102 | align="center"
|
| 103 | + label="创建时间" |
95 | 104 | prop="createTime"
|
96 |
| - :formatter="dateFormatter" |
97 | 105 | width="180px"
|
98 | 106 | />
|
99 |
| - <el-table-column label="备注" align="center" prop="remark" /> |
| 107 | + <el-table-column align="center" label="备注" prop="remark" /> |
100 | 108 | <el-table-column label="操作" width="120px">
|
101 | 109 | <template #default="scope">
|
102 | 110 | <el-button
|
| 111 | + v-hasPermi="['crm:contract:update']" |
103 | 112 | link
|
104 | 113 | type="primary"
|
105 | 114 | @click="openForm('update', scope.row.id)"
|
106 |
| - v-hasPermi="['crm:contract:update']" |
107 | 115 | >
|
108 | 116 | 编辑
|
109 | 117 | </el-button>
|
110 | 118 | <el-button
|
| 119 | + v-hasPermi="['crm:contract:update']" |
| 120 | + link |
| 121 | + type="primary" |
| 122 | + @click="handleApprove(scope.row.id)" |
| 123 | + > |
| 124 | + 提交审核 |
| 125 | + </el-button> |
| 126 | + <el-button |
| 127 | + v-hasPermi="['crm:contract:delete']" |
111 | 128 | link
|
112 | 129 | type="danger"
|
113 | 130 | @click="handleDelete(scope.row.id)"
|
114 |
| - v-hasPermi="['crm:contract:delete']" |
115 | 131 | >
|
116 | 132 | 删除
|
117 | 133 | </el-button>
|
|
120 | 136 | </el-table>
|
121 | 137 | <!-- 分页 -->
|
122 | 138 | <Pagination
|
123 |
| - :total="total" |
124 |
| - v-model:page="queryParams.pageNo" |
125 | 139 | v-model:limit="queryParams.pageSize"
|
| 140 | + v-model:page="queryParams.pageNo" |
| 141 | + :total="total" |
126 | 142 | @pagination="getList"
|
127 | 143 | />
|
128 | 144 | </ContentWrap>
|
129 | 145 |
|
130 | 146 | <!-- 表单弹窗:添加/修改 -->
|
131 | 147 | <ContractForm ref="formRef" @success="getList" />
|
132 | 148 | </template>
|
133 |
| -<script setup lang="ts"> |
| 149 | +<script lang="ts" setup> |
134 | 150 | import { dateFormatter } from '@/utils/formatTime'
|
135 | 151 | import download from '@/utils/download'
|
136 | 152 | import * as ContractApi from '@/api/crm/contract'
|
@@ -216,6 +232,12 @@ const handleExport = async () => {
|
216 | 232 | }
|
217 | 233 | }
|
218 | 234 |
|
| 235 | +/** 提交审核 **/ |
| 236 | +const handleApprove = async (id: number) => { |
| 237 | + await ContractApi.handleApprove(id) |
| 238 | + message.success('提交审核成功!') |
| 239 | + await getList() |
| 240 | +} |
219 | 241 | /** 初始化 **/
|
220 | 242 | onMounted(() => {
|
221 | 243 | getList()
|
|
0 commit comments