Merge branch 'master' of https://gitee.com/guochang-hongyun/warm-kingdom-vue3-oa
commit
f5f0249b42
|
|
@ -4,7 +4,7 @@ NODE_ENV=production
|
||||||
VITE_DEV=false
|
VITE_DEV=false
|
||||||
|
|
||||||
# 请求路径
|
# 请求路径
|
||||||
VITE_BASE_URL='http://localhost:48080'
|
VITE_BASE_URL='http://172.22.3.168:48080'
|
||||||
|
|
||||||
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
|
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
|
||||||
VITE_UPLOAD_TYPE=server
|
VITE_UPLOAD_TYPE=server
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,8 @@ export enum BizTypeEnum {
|
||||||
CRM_CONTRACT = 5, // 合同
|
CRM_CONTRACT = 5, // 合同
|
||||||
CRM_PRODUCT = 6, // 产品
|
CRM_PRODUCT = 6, // 产品
|
||||||
CRM_RECEIVABLE = 7, // 回款
|
CRM_RECEIVABLE = 7, // 回款
|
||||||
CRM_RECEIVABLE_PLAN = 8 // 回款计划
|
CRM_RECEIVABLE_PLAN = 8, // 回款计划
|
||||||
|
CRM_QUOTATION = 9 // 报价
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<div class="form-scroll-area">
|
<div class="form-scroll-area">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="20" class="!flex !flex-col formCol">
|
<el-col :span="17" class="!flex !flex-col formCol">
|
||||||
<!-- 表单信息 -->
|
<!-- 表单信息 -->
|
||||||
<div
|
<div
|
||||||
v-loading="processInstanceLoading"
|
v-loading="processInstanceLoading"
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4">
|
<el-col :span="7">
|
||||||
<!-- 审批记录时间线 -->
|
<!-- 审批记录时间线 -->
|
||||||
<ProcessInstanceTimeline :activity-nodes="activityNodes" />
|
<ProcessInstanceTimeline :activity-nodes="activityNodes" />
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
@ -238,7 +238,7 @@ const getApprovalDetail = async () => {
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
// 注意:data.processDefinition.formCustomViewPath 是组件的全路径,例如说:/crm/contract/detail/index.vue
|
// 注意:data.processDefinition.formCustomViewPath 是组件的全路径,例如说:/crm/contract/detail/index.vue
|
||||||
BusinessFormComponent.value = registerComponent(data.processDefinition.formCustomViewPath)
|
BusinessFormComponent.value = registerComponent('data.processDefinition.formCustomViewPath')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取审批节点,显示 Timeline 的数据
|
// 获取审批节点,显示 Timeline 的数据
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,11 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="负责人" prop="ownerUserId">
|
<el-form-item label="线索拓展人" prop="ownerUserId">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="formData.ownerUserId"
|
v-model="formData.ownerUserId"
|
||||||
disabled
|
disabled
|
||||||
placeholder="请选择负责人"
|
placeholder="请选择线索拓展人"
|
||||||
class="w-1/1"
|
class="w-1/1"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|
@ -55,6 +55,7 @@
|
||||||
:disabled="formData.customerDefault || type"
|
:disabled="formData.customerDefault || type"
|
||||||
v-model="formData.customerId"
|
v-model="formData.customerId"
|
||||||
clearable
|
clearable
|
||||||
|
filterable
|
||||||
placeholder="请选择客户"
|
placeholder="请选择客户"
|
||||||
class="w-1/1"
|
class="w-1/1"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -84,8 +84,19 @@
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
|
<el-tabs v-model="activeName" @tab-click="handleTabClick">
|
||||||
|
<el-tab-pane label="我负责的" name="1" />
|
||||||
|
<el-tab-pane label="我参与的" name="2" />
|
||||||
|
<el-tab-pane label="下属负责的" name="3" />
|
||||||
|
</el-tabs>
|
||||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||||
<el-table-column label="报价单编号" align="center" prop="no" width="200" />
|
<el-table-column label="报价单编号" align="center" prop="no" width="200" >
|
||||||
|
<template #default="scope">
|
||||||
|
<el-link :underline="false" type="primary" @click="openDetail(scope.row.id)">
|
||||||
|
{{ scope.row.no }}
|
||||||
|
</el-link>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="客户名称" align="center" prop="customerId" width="220">
|
<el-table-column label="客户名称" align="center" prop="customerId" width="220">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<!-- <el-link
|
<!-- <el-link
|
||||||
|
|
@ -205,6 +216,7 @@ import { QuotationApi, QuotationVO } from '@/api/crm/quotation'
|
||||||
import * as CustomerApi from '@/api/crm/customer'
|
import * as CustomerApi from '@/api/crm/customer'
|
||||||
import * as UserApi from '@/api/system/user'
|
import * as UserApi from '@/api/system/user'
|
||||||
import * as DeptApi from '@/api/system/dept'
|
import * as DeptApi from '@/api/system/dept'
|
||||||
|
import { TabsPaneContext } from 'element-plus'
|
||||||
import { checkPermi } from '@/utils/permission'
|
import { checkPermi } from '@/utils/permission'
|
||||||
|
|
||||||
/** CRM 方案报价 列表 */
|
/** CRM 方案报价 列表 */
|
||||||
|
|
@ -224,6 +236,7 @@ const queryParams = reactive({
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
no: undefined,
|
no: undefined,
|
||||||
|
sceneType: '1', // 默认和 activeName 相等
|
||||||
customerId: undefined,
|
customerId: undefined,
|
||||||
ownerUserId: undefined,
|
ownerUserId: undefined,
|
||||||
partnerCompanyId: undefined,
|
partnerCompanyId: undefined,
|
||||||
|
|
@ -231,6 +244,7 @@ const queryParams = reactive({
|
||||||
})
|
})
|
||||||
const queryFormRef = ref() // 搜索的表单
|
const queryFormRef = ref() // 搜索的表单
|
||||||
const exportLoading = ref(false) // 导出的加载中
|
const exportLoading = ref(false) // 导出的加载中
|
||||||
|
const activeName = ref('1') // 列表 tab
|
||||||
|
|
||||||
/** 查询列表 */
|
/** 查询列表 */
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
|
|
@ -250,12 +264,22 @@ const handleQuery = () => {
|
||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const openDetail = (id: number) => {
|
||||||
|
push({ name: 'QuotationDetail', params: { id } })
|
||||||
|
}
|
||||||
|
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
const resetQuery = () => {
|
const resetQuery = () => {
|
||||||
queryFormRef.value.resetFields()
|
queryFormRef.value.resetFields()
|
||||||
handleQuery()
|
handleQuery()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** tab 切换 */
|
||||||
|
const handleTabClick = (tab: TabsPaneContext) => {
|
||||||
|
queryParams.sceneType = tab.paneName
|
||||||
|
handleQuery()
|
||||||
|
}
|
||||||
|
|
||||||
/** 添加/修改操作 */
|
/** 添加/修改操作 */
|
||||||
const formRef = ref()
|
const formRef = ref()
|
||||||
const openFormEdit = (row: Object) => {
|
const openFormEdit = (row: Object) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue