Merge remote-tracking branch 'origin/dev' into dev

dev
wanghao 2 days ago
commit ba4a11e49f

@ -261,6 +261,16 @@ export interface ProjectInfoForm extends BaseEntity {
chargeName?: string;
deputyName?: string;
/**
*
*/
contractCode?: string;
/**
*
*/
contractName?: string;
}
export interface ProjectInfoQuery extends PageQuery {
@ -371,4 +381,14 @@ export interface ProjectInfoQuery extends PageQuery {
chargeName?: string;
deputyName?: string;
/**
*
*/
contractCode?: string;
/**
*
*/
contractName?: string;
}

@ -46,9 +46,9 @@
<!-- <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />-->
<!-- </el-tooltip>-->
<el-tooltip :content="proxy.$t('navbar.document')" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip>
<!-- <el-tooltip :content="proxy.$t('navbar.document')" effect="dark" placement="bottom">-->
<!-- <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />-->
<!-- </el-tooltip>-->
<el-tooltip :content="proxy.$t('navbar.full')" effect="dark" placement="bottom">
<screenfull id="screenfull" class="right-menu-item hover-effect" />

@ -96,8 +96,8 @@ const { t } = useI18n();
const loginForm = ref<LoginData>({
tenantId: '000000',
username: 'admin',
password: 'admin123',
username: '',
password: '',
rememberMe: false,
code: '',
uuid: ''

@ -23,7 +23,7 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="出差类型" prop="tripType">
<el-select v-model="form.tripType" placeholder="请选择出差类型" :disabled="isFormDisabled || !!form.tripId">
<el-select v-model="form.tripType" placeholder="请选择出差类型" disabled>
<el-option v-for="dict in trip_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -33,6 +33,16 @@
<el-input v-model="form.applyCode" placeholder="自动生成" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人姓名" prop="applicantName">
<el-input v-model="form.applicantName" placeholder="自动填充" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人部门" prop="deptName">
<el-input v-model="form.deptName" placeholder="自动填充" disabled />
</el-form-item>
</el-col>
<!-- 动态字段安装调试 (Type 1) -->
<template v-if="form.tripType === '1'">

@ -25,12 +25,12 @@
<el-form-item label="出差地点" prop="tripLocation">
<el-input v-model="queryParams.tripLocation" placeholder="请输入出差地点" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="开始日期" prop="startTime">
<el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择开始日期" />
</el-form-item>
<el-form-item label="结束日期" prop="endTime">
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择结束日期" />
</el-form-item>
<!-- <el-form-item label="开始日期" prop="startTime">-->
<!-- <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择开始日期" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="结束日期" prop="endTime">-->
<!-- <el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择结束日期" />-->
<!-- </el-form-item>-->
<el-form-item label="业务方向" prop="businessDirection">
<el-select v-model="queryParams.businessDirection" placeholder="请选择业务方向" clearable filterable style="width: 200px">
<el-option v-for="dict in business_direction" :key="dict.value" :label="dict.label" :value="dict.value" />
@ -86,18 +86,18 @@
<el-table v-loading="loading" border :data="businessTripApplyList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="申请ID" align="center" prop="tripId" v-if="columns[0].visible" />
<el-table-column label="申请单号" align="center" prop="applyCode" v-if="columns[2].visible" />
<el-table-column label="出差类型" align="center" prop="tripType" v-if="columns[3].visible">
<el-table-column label="申请ID" align="center" prop="tripId" width="80" v-if="columns[0].visible" />
<el-table-column label="申请单号" align="center" prop="applyCode" width="130" v-if="columns[2].visible" />
<el-table-column label="出差类型" align="center" prop="tripType" width="100" v-if="columns[3].visible">
<template #default="scope">
<dict-tag :options="trip_type" :value="scope.row.tripType" />
</template>
</el-table-column>
<el-table-column label="申请人ID" align="center" prop="applicantId" v-if="columns[4].visible" />
<el-table-column label="申请人" align="center" prop="applicantName" v-if="columns[5].visible" />
<el-table-column label="申请人部门ID" align="center" prop="deptId" v-if="columns[6].visible" />
<el-table-column label="申请人ID" align="center" prop="applicantId" width="80" v-if="columns[4].visible" />
<el-table-column label="申请人" align="center" prop="applicantName" width="100" v-if="columns[5].visible" />
<el-table-column label="申请人部门ID" align="center" prop="deptId" width="100" v-if="columns[6].visible" />
<el-table-column label="申请人部门" align="center" prop="deptName" v-if="columns[7].visible" width="120" />
<el-table-column label="出差地点" align="center" prop="tripLocation" v-if="columns[8].visible" />
<el-table-column label="出差地点" align="center" prop="tripLocation" width="150" v-if="columns[8].visible" />
<el-table-column label="开始日期" align="center" prop="startTime" width="100" v-if="columns[9].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
@ -108,27 +108,27 @@
<span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="时长(天)" align="center" prop="durationDays" v-if="columns[11].visible" />
<el-table-column label="出差事由" align="center" prop="tripReason" v-if="columns[12].visible" />
<el-table-column label="项目ID" align="center" prop="projectId" v-if="columns[13].visible" />
<el-table-column label="时长(天)" align="center" prop="durationDays" width="80" v-if="columns[11].visible" />
<el-table-column label="出差事由" align="center" prop="tripReason" width="200" show-overflow-tooltip v-if="columns[12].visible" />
<el-table-column label="项目ID" align="center" prop="projectId" width="80" v-if="columns[13].visible" />
<!-- <el-table-column label="客户ID" align="center" prop="customerId" v-if="columns[14].visible" /> -->
<el-table-column label="交流对象" align="center" prop="exchangeObject" v-if="columns[15].visible" />
<el-table-column label="业务方向" align="center" prop="businessDirection" v-if="columns[16].visible">
<el-table-column label="交流对象" align="center" prop="exchangeObject" width="150" show-overflow-tooltip v-if="columns[15].visible" />
<el-table-column label="业务方向" align="center" prop="businessDirection" width="120" v-if="columns[16].visible">
<template #default="scope">
<dict-tag :options="business_direction" :value="scope.row.businessDirection" />
</template>
</el-table-column>
<el-table-column label="交流目的" align="center" prop="exchangePurpose" v-if="columns[17].visible" />
<el-table-column label="交流过程简述" align="center" prop="exchangeProcess" v-if="columns[18].visible" />
<el-table-column label="会议/展会名称" align="center" prop="meetingName" v-if="columns[19].visible" />
<el-table-column label="结果反馈" align="center" prop="feedback" v-if="columns[20].visible" />
<el-table-column label="申请状态" align="center" prop="tripStatus" v-if="columns[21].visible">
<el-table-column label="交流目的" align="center" prop="exchangePurpose" width="150" show-overflow-tooltip v-if="columns[17].visible" />
<el-table-column label="交流过程简述" align="center" prop="exchangeProcess" width="200" show-overflow-tooltip v-if="columns[18].visible" />
<el-table-column label="会议/展会名称" align="center" prop="meetingName" width="150" show-overflow-tooltip v-if="columns[19].visible" />
<el-table-column label="结果反馈" align="center" prop="feedback" width="200" show-overflow-tooltip v-if="columns[20].visible" />
<el-table-column label="申请状态" align="center" prop="tripStatus" width="100" v-if="columns[21].visible">
<template #default="scope">
<dict-tag :options="trip_status" :value="scope.row.tripStatus" />
</template>
</el-table-column>
<el-table-column label="流程状态" align="center" prop="flowStatus" v-if="columns[22].visible" />
<el-table-column label="备注" align="center" prop="remark" v-if="columns[23].visible" />
<el-table-column label="流程状态" align="center" prop="flowStatus" width="100" v-if="columns[22].visible" />
<el-table-column label="备注" align="center" prop="remark" width="150" show-overflow-tooltip v-if="columns[23].visible" />
<!-- <el-table-column label="附件ID" align="center" prop="ossId" v-if="columns[24].visible" /> -->
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="160">
<template #default="scope">
@ -155,15 +155,15 @@
v-hasPermi="['oa/crm:businessTripApply:edit']"
></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button
link
type="primary"
icon="Delete"
@click="handleDelete(scope.row)"
v-hasPermi="['oa/crm:businessTripApply:remove']"
></el-button>
</el-tooltip>
<!-- <el-tooltip content="删除" placement="top">-->
<!-- <el-button-->
<!-- link-->
<!-- type="primary"-->
<!-- icon="Delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['oa/crm:businessTripApply:remove']"-->
<!-- ></el-button>-->
<!-- </el-tooltip>-->
</template>
</el-table-column>
</el-table>
@ -198,8 +198,8 @@
<script setup name="BusinessTripApply" lang="ts">
import { listBusinessTripApply, delBusinessTripApply, updateBusinessTripApply } from '@/api/oa/crm/businessTripApply';
import { BusinessTripApplyVO, BusinessTripApplyQuery } from '@/api/oa/crm/businessTripApply/types';
import { listUser } from '@/api/system/user';
import { UserVO } from '@/api/system/user/types';
import { getUserList, listUser } from '@/api/system/user';
import { UserQuery, UserVO } from '@/api/system/user/types';
import { listDept } from '@/api/system/dept';
import { DeptVO } from '@/api/system/dept/types';
@ -243,7 +243,7 @@ const columns = ref<FieldOption[]>([
{ key: 19, label: `会议/展会名称`, visible: true },
{ key: 20, label: `结果反馈`, visible: true },
{ key: 21, label: `申请状态`, visible: true },
{ key: 22, label: `流程状态`, visible: true },
{ key: 22, label: `流程状态`, visible: false },
{ key: 23, label: `备注`, visible: true },
{ key: 24, label: `附件ID`, visible: false },
{ key: 25, label: `删除标志`, visible: true },
@ -353,8 +353,9 @@ const handleExport = () => {
onMounted(async () => {
//
const userRes = await listUser({ pageNum: 1, pageSize: 1000 });
userList.value = userRes.rows;
const userQuery = ref<UserQuery>();
const userRes = await getUserList(userQuery.value);
userList.value = userRes.data;
//
const deptRes = await listDept();
deptList.value = deptRes.data;

@ -19,10 +19,10 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="报价单编号" prop="quoteCode">
<el-input v-model="form.quoteCode" placeholder="自动生成">
<template #append>
<el-button type="primary" @click="generateQuoteCode" :disabled="isView || isCodeGenerated">生成报价单编号</el-button>
</template>
<el-input v-model="form.quoteCode" placeholder="自动生成" disabled>
<!-- <template #append>-->
<!-- <el-button type="primary" @click="generateQuoteCode" :disabled="isView || isCodeGenerated">生成报价单编号</el-button>-->
<!-- </template>-->
</el-input>
</el-form-item>
</el-col>
@ -433,7 +433,6 @@
<ApprovalRecord ref="approvalRecordRef" />
<SubmitVerify ref="submitVerifyRef" :task-variables="taskVariables" @submit-callback="submitCallback" />
</div>

</template>
<script setup lang="ts">
@ -766,18 +765,18 @@ const onSupplierChanged = (supplierId: any) => {
}
};
// codeRuleCode=1004
const generateQuoteCode = async () => {
if (isCodeGenerated.value) return;
try {
const params = { codeRuleCode: '1004' } as any;
const res = await getRuleGenerateCode(params);
form.quoteCode = res.msg;
isCodeGenerated.value = true;
proxy?.$modal.msgSuccess('报价单编号生成成功');
} catch (error) {
proxy?.$modal.msgError('报价单编号生成失败');
}
};
// const generateQuoteCode = async () => {
// if (isCodeGenerated.value) return;
// try {
// const params = { codeRuleCode: '1004' } as any;
// const res = await getRuleGenerateCode(params);
// form.quoteCode = res.msg;
// isCodeGenerated.value = true;
// proxy?.$modal.msgSuccess('');
// } catch (error) {
// proxy?.$modal.msgError('');
// }
// };
// IDFileUpload
const ossIdString = computed({

@ -180,83 +180,83 @@
<el-table v-loading="loading" border :data="crmQuoteInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" type="index" width="50" v-if="columns[0].visible" />
<el-table-column label="报价单号" align="center" prop="quoteCode" v-if="columns[1].visible" />
<el-table-column label="报价单名称" align="center" prop="quoteName" v-if="columns[2].visible" />
<el-table-column label="报价轮次" align="center" prop="quoteRound" v-if="columns[3].visible" />
<el-table-column label="报价大类" align="center" prop="quoteCategory" v-if="columns[4].visible">
<el-table-column label="序号" align="center" type="index" width="60" v-if="columns[0].visible" />
<el-table-column label="报价单号" align="center" prop="quoteCode" width="160" v-if="columns[1].visible" show-overflow-tooltip />
<el-table-column label="报价单名称" align="center" prop="quoteName" width="200" v-if="columns[2].visible" show-overflow-tooltip />
<el-table-column label="报价轮次" align="center" prop="quoteRound" width="100" v-if="columns[3].visible" />
<el-table-column label="报价大类" align="center" prop="quoteCategory" width="120" v-if="columns[4].visible">
<template #default="scope">
<dict-tag :options="quote_category" :value="scope.row.quoteCategory" />
</template>
</el-table-column>
<el-table-column label="报价类型" align="center" prop="quoteType" v-if="columns[5].visible">
<el-table-column label="报价类型" align="center" prop="quoteType" width="120" v-if="columns[5].visible">
<template #default="scope">
<dict-tag :options="contract_type" :value="scope.row.quoteType" />
</template>
</el-table-column>
<el-table-column label="业务方向" align="center" prop="businessDirection" v-if="columns[6].visible">
<el-table-column label="业务方向" align="center" prop="businessDirection" width="120" v-if="columns[6].visible">
<template #default="scope">
<dict-tag :options="business_direction" :value="scope.row.businessDirection" />
</template>
</el-table-column>
<el-table-column label="部门" align="center" prop="deptName" v-if="columns[7].visible" />
<el-table-column label="部门" align="center" prop="deptName" width="120" v-if="columns[7].visible" show-overflow-tooltip />
<el-table-column label="报价日期" align="center" prop="quoteDate" width="180" v-if="columns[8].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.quoteDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center" prop="customerName" width="180" v-if="columns[22].visible" show-overflow-tooltip />
<el-table-column label="报价有效期起" align="center" prop="validFrom" width="180" v-if="columns[9].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.validFrom, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="报价有效期" align="center" prop="validDays" v-if="columns[10].visible" />
<el-table-column label="报价有效期" align="center" prop="validDays" width="100" v-if="columns[10].visible" />
<el-table-column label="报价有效期止" align="center" prop="validTo" width="180" v-if="columns[11].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.validTo, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="交货期" align="center" prop="deliveryPeriod" v-if="columns[12].visible" />
<el-table-column label="交付/交货方式" align="center" prop="deliveryMethod" v-if="columns[13].visible" />
<el-table-column label="付款方式" align="center" prop="paymentMethod" v-if="columns[14].visible">
<el-table-column label="交货期" align="center" prop="deliveryPeriod" width="100" v-if="columns[12].visible" />
<el-table-column label="交付/交货方式" align="center" prop="deliveryMethod" width="140" v-if="columns[13].visible" show-overflow-tooltip />
<el-table-column label="付款方式" align="center" prop="paymentMethod" width="120" v-if="columns[14].visible">
<template #default="scope">
<dict-tag :options="payment_method" :value="scope.row.paymentMethod" />
</template>
</el-table-column>
<el-table-column label="币种" align="center" prop="currencyType" v-if="columns[15].visible">
<el-table-column label="币种" align="center" prop="currencyType" width="80" v-if="columns[15].visible">
<template #default="scope">
<dict-tag :options="currency_type" :value="scope.row.currencyType" />
</template>
</el-table-column>
<el-table-column label="含税信息" align="center" prop="taxIncludedInfo" v-if="columns[16].visible" />
<el-table-column label="税率(默认按明细可覆盖)" align="center" prop="taxRate" v-if="columns[17].visible" />
<el-table-column label="总报价" align="center" prop="totalPrice" v-if="columns[18].visible" />
<el-table-column label="未税总价" align="center" prop="totalBeforeTax" v-if="columns[19].visible" />
<el-table-column label="税额" align="center" prop="totalTax" v-if="columns[20].visible" />
<el-table-column label="含税总价" align="center" prop="totalIncludingTax" v-if="columns[21].visible" />
<el-table-column label="客户名称" align="center" prop="customerName" v-if="columns[22].visible" />
<el-table-column label="客户方联系人" align="center" prop="customerContactName" v-if="columns[23].visible" />
<el-table-column label="客户方联系电话" align="center" prop="customerContactPhone" v-if="columns[24].visible" />
<el-table-column label="客户方电子邮箱" align="center" prop="customerContactEmail" v-if="columns[25].visible" />
<el-table-column label="供应商名称" align="center" prop="supplierName" v-if="columns[26].visible" />
<el-table-column label="供货方联系人" align="center" prop="supplierContactName" v-if="columns[27].visible" />
<el-table-column label="供货方联系电话" align="center" prop="supplierContactPhone" v-if="columns[28].visible" />
<el-table-column label="供货方电子邮箱" align="center" prop="supplierContactEmail" v-if="columns[29].visible" />
<el-table-column label="项目ID(可选)" align="center" prop="projectId" v-if="columns[30].visible" />
<el-table-column label="打印模板ID(可选)" align="center" prop="templateId" v-if="columns[31].visible" />
<el-table-column label="附件ID" align="center" prop="ossId" v-if="columns[32].visible" />
<el-table-column label="报价单状态" align="center" prop="quoteStatus" v-if="columns[33].visible">
<el-table-column label="含税信息" align="center" prop="taxIncludedInfo" width="100" v-if="columns[16].visible" show-overflow-tooltip />
<el-table-column label="税率(默认按明细可覆盖)" align="center" prop="taxRate" width="180" v-if="columns[17].visible" />
<el-table-column label="总报价" align="center" prop="totalPrice" width="130" v-if="columns[18].visible" />
<el-table-column label="未税总价" align="center" prop="totalBeforeTax" width="130" v-if="columns[19].visible" />
<el-table-column label="税额" align="center" prop="totalTax" width="130" v-if="columns[20].visible" />
<el-table-column label="含税总价" align="center" prop="totalIncludingTax" width="130" v-if="columns[21].visible" />
<el-table-column label="客户方联系人" align="center" prop="customerContactName" width="130" v-if="columns[23].visible" show-overflow-tooltip />
<el-table-column label="客户方联系电话" align="center" prop="customerContactPhone" width="140" v-if="columns[24].visible" />
<el-table-column label="客户方电子邮箱" align="center" prop="customerContactEmail" width="180" v-if="columns[25].visible" show-overflow-tooltip />
<el-table-column label="供应商名称" align="center" prop="supplierName" width="180" v-if="columns[26].visible" show-overflow-tooltip />
<el-table-column label="供货方联系人" align="center" prop="supplierContactName" width="130" v-if="columns[27].visible" show-overflow-tooltip />
<el-table-column label="供货方联系电话" align="center" prop="supplierContactPhone" width="140" v-if="columns[28].visible" />
<el-table-column label="供货方电子邮箱" align="center" prop="supplierContactEmail" width="180" v-if="columns[29].visible" show-overflow-tooltip />
<el-table-column label="项目ID(可选)" align="center" prop="projectId" width="120" v-if="columns[30].visible" />
<el-table-column label="打印模板ID(可选)" align="center" prop="templateId" width="140" v-if="columns[31].visible" />
<el-table-column label="附件ID" align="center" prop="ossId" width="120" v-if="columns[32].visible" />
<el-table-column label="报价单状态" align="center" prop="quoteStatus" width="120" v-if="columns[33].visible">
<template #default="scope">
<dict-tag :options="quote_status" :value="scope.row.quoteStatus" />
</template>
</el-table-column>
<el-table-column label="流程状态" align="center" prop="flowStatus" v-if="columns[34].visible">
<el-table-column label="流程状态" align="center" prop="flowStatus" width="120" v-if="columns[34].visible">
<template #default="scope">
<dict-tag :options="wf_business_status" :value="scope.row.flowStatus" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" v-if="columns[35].visible" />
<el-table-column label="创建人" align="center" prop="createName" v-if="columns[36].visible" />
<el-table-column label="备注" align="center" prop="remark" width="200" v-if="columns[35].visible" show-overflow-tooltip />
<el-table-column label="创建人" align="center" prop="createName" width="100" v-if="columns[36].visible" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180" v-if="columns[37].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -272,10 +272,10 @@
<el-tooltip content="查看详情" placement="top" v-if="scope.row.flowStatus && scope.row.flowStatus !== 'draft'">
<el-button link type="info" icon="DocumentChecked" @click="handleView(scope.row)"></el-button>
</el-tooltip>
<!-- 审批记录非草稿状态可查看 -->
<el-tooltip content="审批记录" placement="top" v-if="scope.row.flowStatus && scope.row.flowStatus !== 'draft'">
<el-button link type="warning" icon="Tickets" @click="handleApprovalRecord(scope.row)"></el-button>
</el-tooltip>
<!-- &lt;!&ndash; 审批记录非草稿状态可查看 &ndash;&gt;-->
<!-- <el-tooltip content="审批记录" placement="top" v-if="scope.row.flowStatus && scope.row.flowStatus !== 'draft'">-->
<!-- <el-button link type="warning" icon="Tickets" @click="handleApprovalRecord(scope.row)"></el-button>-->
<!-- </el-tooltip>-->
<!-- 删除仅草稿状态可删除 -->
<el-tooltip content="删除" placement="top" v-if="!scope.row.flowStatus || scope.row.flowStatus === 'draft'">
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oa/crm:crmQuoteInfo:remove']"></el-button>
@ -516,7 +516,7 @@ const dialog = reactive<DialogOption>({
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `序号`, visible: true },
{ key: 0, label: `序号`, visible: false },
{ key: 1, label: `报价单号`, visible: true },
{ key: 2, label: `报价单名称`, visible: true },
{ key: 3, label: `报价轮次`, visible: false },
@ -689,7 +689,7 @@ const handleSelectionChange = (selection: CrmQuoteInfoVO[]) => {
const handleAdd = () => {
proxy.$tab.closePage(route);
router.push({
path: '/oa/crm/crmQuoteInfo/edit',
path: '/quote/crmQuoteInfo/edit',
query: { type: 'add' }
});
};
@ -699,7 +699,7 @@ const handleUpdate = (row?: CrmQuoteInfoVO) => {
const _quoteId = row?.quoteId || ids.value[0];
proxy.$tab.closePage(route);
router.push({
path: '/oa/crm/crmQuoteInfo/edit',
path: '/quote/crmQuoteInfo/edit',
query: { id: _quoteId, type: 'update' }
});
};
@ -709,7 +709,7 @@ const handleView = (row?: CrmQuoteInfoVO) => {
const _quoteId = row?.quoteId;
proxy.$tab.closePage(route);
router.push({
path: '/oa/crm/crmQuoteInfo/edit',
path: '/quote/crmQuoteInfo/edit',
query: { id: _quoteId, type: 'view' }
});
};

@ -10,6 +10,12 @@
<el-form-item label="订单名称" prop="projectName">
<el-input v-model="queryParams.projectName" placeholder="请输入订单名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="合同编号" prop="contractCode">
<el-input v-model="queryParams.contractCode" placeholder="请输入合同编号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="合同名称" prop="contractName">
<el-input v-model="queryParams.contractName" placeholder="请输入合同名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<!-- <el-form-item label="业务方向" prop="businessDirection">-->
<!-- <el-select v-model="queryParams.businessDirection" placeholder="请选择业务方向" clearable>-->
<!-- <el-option v-for="dict in business_direction" :key="dict.value" :label="dict.label" :value="dict.value" />-->
@ -45,41 +51,41 @@
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-dropdown trigger="click" @command="handleAdd">
<el-button type="primary" plain icon="Plus" v-hasPermi="['oa/erp:projectInfo:add']">
新增
<el-icon class="el-icon--right">
<arrow-down />
</el-icon>
</el-button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-for="dict in project_category" :key="dict.value" :command="dict.value">
{{ dict.label }}
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['oa/erp:projectInfo:edit']"
>修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['oa/erp:projectInfo:remove']"
>删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['oa/erp:projectInfo:export']"> </el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<!-- <template #header>-->
<!-- <el-row :gutter="10" class="mb8">-->
<!-- <el-col :span="1.5">-->
<!-- <el-dropdown trigger="click" @command="handleAdd">-->
<!-- <el-button type="primary" plain icon="Plus" v-hasPermi="['oa/erp:projectInfo:add']">-->
<!-- 新增-->
<!-- <el-icon class="el-icon&#45;&#45;right">-->
<!-- <arrow-down />-->
<!-- </el-icon>-->
<!-- </el-button>-->
<!-- <template #dropdown>-->
<!-- <el-dropdown-menu>-->
<!-- <el-dropdown-item v-for="dict in project_category" :key="dict.value" :command="dict.value">-->
<!-- {{ dict.label }}-->
<!-- </el-dropdown-item>-->
<!-- </el-dropdown-menu>-->
<!-- </template>-->
<!-- </el-dropdown>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['oa/erp:projectInfo:edit']"-->
<!-- >修改-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['oa/erp:projectInfo:remove']"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['oa/erp:projectInfo:export']"> </el-button>-->
<!-- </el-col>-->
<!-- <right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>-->
<!-- </el-row>-->
<!-- </template>-->
<el-table v-loading="loading" border :data="projectInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
@ -90,11 +96,11 @@
</template>
</el-table-column>
<el-table-column label="订单编号" align="center" prop="projectCode" width="140" v-if="columns[3].visible">
<template #default="scope">
<el-link type="primary" underline @click="handleLedger(scope.row)">
{{ scope.row.projectCode }}
</el-link>
</template>
<!-- <template #default="scope">-->
<!-- <el-link type="primary" underline @click="handleLedger(scope.row)">-->
<!-- {{ scope.row.projectCode }}-->
<!-- </el-link>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="订单名称" align="center" prop="projectName" width="200" v-if="columns[4].visible" />
<el-table-column label="合同编号" align="center" prop="contractCode" width="140" v-if="columns[28].visible" />
@ -250,6 +256,8 @@ const data = reactive<{ queryParams: ProjectInfoQuery }>({
sortOrder: undefined,
contractId: undefined,
activeFlag: undefined,
contractCode: undefined,
contractName: undefined,
params: {}
}
});

@ -455,7 +455,7 @@ const approvalRecordRef = ref<InstanceType<typeof ApprovalRecord>>();
//
const submitFormData = ref<StartProcessBo>({
businessId: '',
flowCode: 'OAC',
flowCode: '',
variables: {},
bizExt: {}
});
@ -701,6 +701,7 @@ const submitForm = (status: string, mode: boolean) => {
contractName: form.value.contractName,
totalPrice: form.value.totalPrice,
businessDirection: form.value.businessDirection,
contractDeptId: form.value.contractDeptId,
contractCode: form.value.contractCode
};
//
@ -739,7 +740,7 @@ const submitForm = (status: string, mode: boolean) => {
//
const handleStartWorkFlow = async (data: ContractInfoForm) => {
try {
submitFormData.value.flowCode = 'OAC';
submitFormData.value.flowCode = FlowCodeEnum.CONTRACT_CODE;
submitFormData.value.businessId = data.contractId;
//
@ -748,6 +749,7 @@ const handleStartWorkFlow = async (data: ContractInfoForm) => {
contractName: data.contractName,
totalPrice: data.totalPrice,
businessDirection: data.businessDirection,
contractDeptId: data.contractDeptId,
contractCode: data.contractCode
};

@ -321,7 +321,7 @@ const columns = ref<FieldOption[]>([
{ key: 15, label: `乙方授权代表`, visible: true },
{ key: 16, label: `乙方签字日期`, visible: true },
{ key: 17, label: `合同状态`, visible: true },
{ key: 18, label: `流程状态`, visible: true },
{ key: 18, label: `流程状态`, visible: false },
{ key: 19, label: `合同模板ID`, visible: false },
{ key: 20, label: `附件ID`, visible: false },
{ key: 21, label: `付款方式`, visible: true },

@ -568,7 +568,7 @@ onMounted(async () => {
form.value.deptId = userVO.deptId;
form.value.managerId = userVO.userId;
form.value.chargeId = userVO.chargeId;
form.value.deputyId = userVO.deputyId;
// form.value.deputyId = userVO.deputyId;
}
} catch (error) {
console.error('获取用户信息失败:', error);

@ -55,9 +55,9 @@
<el-tab-pane label="修改密码" name="resetPwd">
<resetPwd />
</el-tab-pane>
<el-tab-pane label="第三方应用" name="thirdParty">
<thirdParty :auths="state.auths" />
</el-tab-pane>
<!-- <el-tab-pane label="第三方应用" name="thirdParty">-->
<!-- <thirdParty :auths="state.auths" />-->
<!-- </el-tab-pane>-->
<el-tab-pane label="在线设备" name="onlineDevice">
<onlineDevice :devices="state.devices" />
</el-tab-pane>

Loading…
Cancel
Save