| src/api/salesManagement/opportunityManagement.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/components/PIMTable/PIMTable.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/procurementManagement/invoiceEntry/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/procurementManagement/procurementInvoiceLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/procurementManagement/procurementLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/invoiceLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/invoiceRegistration/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/opportunityManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/receiptPayment/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/receiptPaymentHistory/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/salesLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/salesManagement/opportunityManagement.js
@@ -44,3 +44,18 @@ data: ids, }); } // 查询省 export function getProvinceList() { return request({ url: "/businessOpportunity/getProvinceList", method: "get", }); } // 查询市 export function getCityList(id) { return request({ url: "/businessOpportunity/getCityList", method: "get", params: id, }); } src/components/PIMTable/PIMTable.vue
@@ -26,9 +26,10 @@ align="center" type="selection" width="55" fixed="left" v-if="isSelection" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column align="center" label="序号" type="index" width="60" fixed="left" /> <el-table-column v-for="(item, index) in column" src/views/procurementManagement/invoiceEntry/index.vue
@@ -125,21 +125,25 @@ { type: "expand", dataType: "slot", fixed: "left", slot: "expand", }, { label: "采购订单号", prop: "purchaseContractNumber", fixed: "left", width:150 }, { label: "销售合同号", prop: "salesContractNo", fixed: "left", width:150 }, { label: "供应商名称", prop: "supplierName", fixed: "left", width:300 }, { src/views/procurementManagement/procurementInvoiceLedger/index.vue
@@ -46,7 +46,7 @@ :column="columns" :tableLoading="loading" :tableData="dataList" :isSelection="true" :isSelection="false" height="calc(100vh - 19.5em)" :isShowSummary="true" :summaryMethod="summarizeMainTable" src/views/procurementManagement/procurementLedger/index.vue
@@ -56,8 +56,8 @@ height="calc(100vh - 18.5em)" stripe > <el-table-column align="center" type="selection" width="55" /> <el-table-column type="expand"> <el-table-column align="center" type="selection" width="55" fixed="left"/> <el-table-column type="expand" fixed="left"> <template #default="props"> <el-table :data="props.row.children" @@ -95,21 +95,24 @@ </el-table> </template> </el-table-column> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column align="center" label="序号" type="index" width="60" fixed="left"/> <el-table-column label="采购合同号" prop="purchaseContractNumber" width="200" fixed="left" show-overflow-tooltip /> <el-table-column label="销售合同号" prop="salesContractNo" width="200" fixed="left" show-overflow-tooltip /> <el-table-column label="供应商名称" fixed="left" width="240" prop="supplierName" show-overflow-tooltip src/views/salesManagement/invoiceLedger/index.vue
@@ -28,7 +28,7 @@ <div class="table_list"> <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange" :row-key="(row) => row.id" show-summary :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)" stripe> <el-table-column align="center" type="selection" width="55" /> <!-- <el-table-column align="center" type="selection" width="55" />--> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="销售合同号" prop="salesContractNo" show-overflow-tooltip width="180" /> <el-table-column label="客户合同号" prop="customerContractNo" show-overflow-tooltip width="180" /> src/views/salesManagement/invoiceRegistration/index.vue
@@ -65,8 +65,8 @@ @selection-change="handleSelectionChange" stripe > <el-table-column align="center" type="selection" width="55" /> <el-table-column type="expand"> <el-table-column align="center" type="selection" width="55" fixed="left" /> <el-table-column type="expand" fixed="left"> <template #default="props"> <el-table :data="props.row.children" @@ -128,22 +128,25 @@ </el-table> </template> </el-table-column> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="合同录入日期" prop="entryDate" width="120" /> <el-table-column align="center" label="序号" type="index" width="60" fixed="left" /> <el-table-column label="合同录入日期" prop="entryDate" width="120" fixed="left" /> <el-table-column label="销售合同号" prop="salesContractNo" show-overflow-tooltip fixed="left" width="200" /> <el-table-column label="客户合同号" prop="customerContractNo" width="200" fixed="left" show-overflow-tooltip /> <el-table-column label="客户名称" fixed="left" prop="customerName" show-overflow-tooltip width="240" src/views/salesManagement/opportunityManagement/index.vue
@@ -38,7 +38,7 @@ height="calc(100vh - 18.5em)" stripe > <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" type="selection" width="55" fixed="left"/> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="状态" prop="status" width="120"> <template #default="{ row }"> @@ -50,12 +50,13 @@ </el-tag> </template> </el-table-column> <el-table-column label="省份" prop="province" show-overflow-tooltip width="120" /> <el-table-column label="省份" prop="province" show-overflow-tooltip /> <el-table-column label="市" prop="city" show-overflow-tooltip/> <el-table-column label="客户名称" prop="customerName" show-overflow-tooltip /> <el-table-column label="商机来源" prop="businessSource" show-overflow-tooltip /> <!-- <el-table-column label="客户描述" prop="description" show-overflow-tooltip min-width="200" /> --> <el-table-column label="录入人" prop="entryPerson" show-overflow-tooltip /> <el-table-column label="更新日期" prop="updateTime"> <el-table-column label="录入人" prop="entryPerson" show-overflow-tooltip width="120" /> <el-table-column label="更新日期" prop="updateTime" width="120"> <template #default="{ row }"> {{ formatDate(row.updateTime) }} </template> @@ -113,7 +114,7 @@ <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新建商机' : operationType === 'edit' ? '编辑商机' : operationType === 'addOperation' ? '添加商机' : '商机详情'" width="600px" width="1000px" @close="closeDialog" > <el-form @@ -135,12 +136,25 @@ </el-form-item> <el-form-item label="省份" prop="province"> <el-select v-model="form.province" filterable placeholder="请选择省份" style="width: 100%" :disabled="operationType === 'detail' || operationType === 'addOperation'"> <el-select v-model="form.province" filterable placeholder="请选择省份" @change="getCityListChange" style="width: 100%" :disabled="operationType === 'detail' || operationType === 'addOperation'"> <el-option v-for="item in provinceOptions" :key="item.value" :label="item.label" :value="item.value" :key="item.id" :label="item.name" :value="item.id" /> </el-select> </el-form-item> <el-form-item label="市" prop="city"> <el-select v-model="form.city" filterable placeholder="请选择市" style="width: 100%" :disabled="operationType === 'detail' || operationType === 'addOperation'"> <el-option v-for="item in cityOptions" :key="item.id" :label="item.name" :value="item.id" /> </el-select> </el-form-item> @@ -165,7 +179,6 @@ type="textarea" :rows="3" placeholder="请输入客户描述" maxlength="500" show-word-limit /> </el-form-item> @@ -265,12 +278,12 @@ import useUserStore from '@/store/modules/user' import dayjs from 'dayjs' import { getToken } from '@/utils/auth' import { opportunityListPage, addOpportunity, updateOpportunity, delOpportunity, addDescription import { opportunityListPage, addOpportunity, updateOpportunity, delOpportunity, addDescription, getProvinceList, getCityList } from '@/api/salesManagement/opportunityManagement.js' import { userListNoPage } from '@/api/system/user.js' import {customerList, getSalesLedgerWithProducts} from '@/api/salesManagement/salesLedger.js' @@ -309,6 +322,7 @@ id: undefined, status: undefined, province: '', city: '', customerName: '', businessSource: '', description: '', @@ -366,43 +380,9 @@ { value: '项目验收', label: '项目验收' } ] // 省份选项(示例) const provinceOptions = [ { value: '北京市', label: '北京市' }, { value: '天津市', label: '天津市' }, { value: '河北省', label: '河北省' }, { value: '山西省', label: '山西省' }, { value: '内蒙古自治区', label: '内蒙古自治区' }, { value: '辽宁省', label: '辽宁省' }, { value: '吉林省', label: '吉林省' }, { value: '黑龙江省', label: '黑龙江省' }, { value: '上海市', label: '上海市' }, { value: '江苏省', label: '江苏省' }, { value: '浙江省', label: '浙江省' }, { value: '安徽省', label: '安徽省' }, { value: '福建省', label: '福建省' }, { value: '江西省', label: '江西省' }, { value: '山东省', label: '山东省' }, { value: '河南省', label: '河南省' }, { value: '湖北省', label: '湖北省' }, { value: '湖南省', label: '湖南省' }, { value: '广东省', label: '广东省' }, { value: '广西壮族自治区', label: '广西壮族自治区' }, { value: '海南省', label: '海南省' }, { value: '重庆市', label: '重庆市' }, { value: '四川省', label: '四川省' }, { value: '贵州省', label: '贵州省' }, { value: '云南省', label: '云南省' }, { value: '西藏自治区', label: '西藏自治区' }, { value: '陕西省', label: '陕西省' }, { value: '甘肃省', label: '甘肃省' }, { value: '青海省', label: '青海省' }, { value: '宁夏回族自治区', label: '宁夏回族自治区' }, { value: '新疆维吾尔自治区', label: '新疆维吾尔自治区' }, { value: '台湾省', label: '台湾省' }, { value: '香港特别行政区', label: '香港特别行政区' }, { value: '澳门特别行政区', label: '澳门特别行政区' } ] // 省份选项 const provinceOptions = ref([]) const cityOptions = ref([]) // 获取状态标签类型 const getStatusTagType = (status) => { @@ -516,8 +496,16 @@ customerList().then((res) => { customerOption.value = res }) getProvinceList().then(res => { provinceOptions.value = res.data }) dialogFormVisible.value = true } const getCityListChange = (id) => { getCityList({provinceId: id}).then(res => { cityOptions.value = res.data }) } // 添加操作 @@ -596,8 +584,43 @@ customerOption.value = res }) // 加载省份列表 await getProvinceList().then(res => { provinceOptions.value = res.data }) // 如果后端返回的是name,需要转换为id let provinceId = row.province let cityId = row.city // 如果province是name字符串,查找对应的id if (row.province && typeof row.province === 'string' && !/^\d+$/.test(row.province)) { const provinceOption = provinceOptions.value.find(item => item.name === row.province) if (provinceOption) { provinceId = provinceOption.id // 加载对应的城市列表 await getCityList({ provinceId: provinceId }).then(res => { cityOptions.value = res.data // 如果city是name字符串,查找对应的id if (row.city && typeof row.city === 'string' && !/^\d+$/.test(row.city)) { const cityOption = cityOptions.value.find(item => item.name === row.city) if (cityOption) { cityId = cityOption.id } } }) } } else if (row.province) { // 如果province是id,直接加载城市列表 await getCityList({ id: row.province }).then(res => { cityOptions.value = res.data }) } // 使用当前账号和当天日期作为默认值 Object.assign(form, row, { province: provinceId, // 使用转换后的id city: cityId, // 使用转换后的id entryPerson: userStore.nickName, // 设置录入人为当前账号 entryDate: dayjs().format('YYYY-MM-DD') // 设置录入时间为当天 }) @@ -619,6 +642,10 @@ tempFileIds = fileList.value.map(item => item.tempId) } // 将省份和市的id转换为name const provinceName = form.province ? provinceOptions.value.find(item => item.id === form.province)?.name || form.province : '' const cityName = form.city ? cityOptions.value.find(item => item.id === form.city)?.name || form.city : '' let api let successMessage let submitData @@ -628,6 +655,8 @@ successMessage = '新建成功' submitData = { ...form, province: provinceName, // 传name而不是id city: cityName, // 传name而不是id tempFileIds: tempFileIds, type: 9 // 商机管理的类型标识 } @@ -649,6 +678,8 @@ successMessage = '修改成功' submitData = { ...form, province: provinceName, // 传name而不是id city: cityName, // 传name而不是id tempFileIds: tempFileIds, type: 9 // 商机管理的类型标识 } src/views/salesManagement/receiptPayment/index.vue
@@ -74,8 +74,8 @@ stripe height="calc(100vh - 21.5em)" > <el-table-column align="center" type="selection" width="55" /> <el-table-column type="expand"> <el-table-column align="center" type="selection" width="55"fixed="left" /> <el-table-column type="expand"fixed="left"> <template #default="props"> <el-table :data="props.row.children" @@ -154,17 +154,19 @@ </el-table> </template> </el-table-column> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column align="center" label="序号" type="index" width="60"fixed="left" /> <el-table-column label="开票日期" prop="invoiceDate" show-overflow-tooltip fixed="left" width="240" /> <el-table-column label="销售合同号" prop="salesContractNo" show-overflow-tooltip fixed="left" width="240" /> <el-table-column src/views/salesManagement/receiptPaymentHistory/index.vue
@@ -52,7 +52,7 @@ :column="tableColumn" :tableData="tableData" :page="page" :isSelection="true" :isSelection="false" :isShowSummary="isShowSummarySon" :summaryMethod="summarizeMainTable1" :tableLoading="tableLoading" src/views/salesManagement/salesLedger/index.vue
@@ -41,8 +41,8 @@ <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange" :expand-row-keys="expandedRowKeys" :row-key="(row) => row.id" show-summary style="width: 100%" :summary-method="summarizeMainTable" @expand-change="expandChange" height="calc(100vh - 18.5em)" stripe> <el-table-column align="center" type="selection" width="55" /> <el-table-column type="expand"> <el-table-column align="center" type="selection" width="55" fixed="left" /> <el-table-column type="expand" fixed="left"> <template #default="props"> <el-table :data="props.row.children" border show-summary :summary-method="summarizeChildrenTable" stripe> <el-table-column align="center" label="序号" type="index" width="60" /> @@ -57,10 +57,10 @@ </el-table> </template> </el-table-column> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="销售合同号" prop="salesContractNo" width="180" show-overflow-tooltip /> <el-table-column label="客户合同号" prop="customerContractNo" width="180" show-overflow-tooltip /> <el-table-column label="客户名称" prop="customerName" width="300" show-overflow-tooltip /> <el-table-column align="center" label="序号" type="index" width="60" fixed="left" /> <el-table-column label="销售合同号" prop="salesContractNo" width="180" show-overflow-tooltip fixed="left"/> <el-table-column label="客户合同号" prop="customerContractNo" width="180" show-overflow-tooltip fixed="left" /> <el-table-column label="客户名称" prop="customerName" width="300" show-overflow-tooltip fixed="left" /> <el-table-column label="业务员" prop="salesman" width="100" show-overflow-tooltip /> <el-table-column label="项目名称" prop="projectName" width="180" show-overflow-tooltip /> <el-table-column label="付款方式" prop="paymentMethod" show-overflow-tooltip />