From c8ae1f21b3c4f8ed22deb7daefbed7c7464f236d Mon Sep 17 00:00:00 2001 From: yang Date: Thu, 18 Mar 2021 11:27:03 +0800 Subject: [PATCH] v11.0.2 --- package.json | 2 +- src/App.vue | 17 ++- src/api/bi/business.js | 15 +- src/api/bi/customer.js | 18 +-- src/api/common.js | 2 +- src/api/pm/project.js | 2 +- src/api/pm/task.js | 2 +- src/api/task/task.js | 2 +- src/assets/img/favicon.png | Bin 0 -> 67646 bytes src/components/RelatedBusiness.vue | 2 +- src/components/XrUpgradeDialog.vue | 139 ++++++++++++++++++ src/config.js | 4 +- src/views/bi/TaskCompleteStatistics.vue | 4 +- .../achievement/AchievementBackStatistics.vue | 4 +- .../AchievementCountStatistics.vue | 4 +- .../AchievementInvoiceStatistics.vue | 4 +- .../AchievementMoneyStatistics.vue | 4 +- .../AchievementSummaryStatistics.vue | 4 +- .../bi/business/BusinessWinStatistics.vue | 5 +- .../bi/components/FiltrateHandleView.vue | 6 +- .../bi/customer/CustomerPoolStatistics.vue | 4 +- .../customer/CustomerRecordModeStatistics.vue | 4 +- .../bi/customer/CustomerRecordStatistics.vue | 4 +- .../bi/customer/CustomerSatisfaction.vue | 4 +- .../bi/customer/CustomerTotalStatistics.vue | 4 +- src/views/bi/customer/ProductSatisfaction.vue | 4 +- .../bi/customer/components/CycleView.vue | 4 +- src/views/bi/oa/Examine.vue | 4 +- src/views/bi/oa/Log.vue | 4 +- src/views/bi/product/ProductStatistics.vue | 4 +- .../ranking/RankingAddContactsStatistics.vue | 4 +- .../ranking/RankingAddCustomerStatistics.vue | 4 +- .../bi/ranking/RankingContractStatistics.vue | 4 +- .../bi/ranking/RankingExamineStatistics.vue | 4 +- .../bi/ranking/RankingProductStatistics.vue | 4 +- .../ranking/RankingReceivablesStatistics.vue | 4 +- .../RankingRecordCustomerStatistics.vue | 4 +- .../bi/ranking/RankingRecordNunStatistics.vue | 4 +- .../bi/ranking/RankingSigningStatistics.vue | 4 +- src/views/crm/business/Detail.vue | 2 + .../crm/components/Activity/LogEditDialog.vue | 2 + src/views/crm/components/CRMEditBaseInfo.vue | 55 +++---- .../crm/components/DuplicateCheck/index.vue | 4 +- src/views/crm/components/FilterForm/index.vue | 3 +- src/views/crm/components/RelativeProduct.vue | 4 +- src/views/crm/contacts/Detail.vue | 2 + src/views/crm/contract/Detail.vue | 1 + src/views/crm/customer/Detail.vue | 1 + src/views/crm/invoice/Detail.vue | 1 + src/views/crm/leads/Create.vue | 2 +- src/views/crm/leads/Detail.vue | 1 + .../crm/message/compenents/CRMMessage.vue | 2 +- src/views/crm/mixins/Table.js | 2 +- src/views/crm/product/Detail.vue | 1 + src/views/crm/receivables/Detail.vue | 2 + src/views/crm/visit/Detail.vue | 1 + .../workbench/components/DataStatistics.vue | 2 +- .../crm/workbench/components/chartMixins.js | 8 +- src/views/crm/workbench/index.vue | 2 +- src/views/layout/components/MessageCell.vue | 24 +-- src/views/layout/components/Sidebar/index.vue | 2 +- src/views/oa/journal/NewDialog.vue | 26 ++++ src/views/pm/components/TaskImport.vue | 99 ++++++++++--- src/views/pm/project/Corver.vue | 5 +- src/views/pm/project/index.vue | 10 +- src/views/pm/task/index.vue | 5 +- src/views/workLog/index.vue | 16 +- static/client.js | 40 +++++ static/img/logo.png | Bin 0 -> 3132 bytes 69 files changed, 482 insertions(+), 159 deletions(-) create mode 100644 src/assets/img/favicon.png create mode 100644 src/components/XrUpgradeDialog.vue create mode 100644 static/img/logo.png diff --git a/package.json b/package.json index f8fa4ea..220f2d1 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "nprogress": "0.2.0", "numeral": "^2.0.6", "nzh": "^1.0.4", - "pinyin-match": "^1.0.9", + "pinyin-match": "1.0.9", "qrcodejs2": "0.0.2", "throttle-debounce": "^2.1.0", "vue": "2.5.17", diff --git a/src/App.vue b/src/App.vue index 87a672b..c403f60 100644 --- a/src/App.vue +++ b/src/App.vue @@ -18,6 +18,7 @@ :cache-done="cacheDone" @status="crmImportChange" @close="crmImportClose"/> + @@ -26,6 +27,7 @@ import VuePictureViewer from '@/components/VuePictureViewer/index' import XrImport from '@/components/XrImport' import XrImportMixins from '@/components/XrImport/XrImportMixins' +import XrUpgradeDialog from '@/components/XrUpgradeDialog' import CRMImport from '@/components/CRMImport' import { mapGetters } from 'vuex' import cache from '@/utils/cache' @@ -36,22 +38,31 @@ export default { components: { VuePictureViewer, XrImport, - CRMImport + CRMImport, + XrUpgradeDialog }, mixins: [XrImportMixins], data() { return { showPreviewImg: false, previewIndex: 0, - previewImgs: [] + previewImgs: [], + upgradeDialogShow: false } }, computed: { - ...mapGetters(['activeIndex', 'userInfo']) + ...mapGetters(['activeIndex', 'addRouters', 'userInfo']) }, watch: { $route(to, from) { this.showPreviewImg = false // 切换页面隐藏图片预览 + }, + addRouters() { + if (this.userInfo && this.userInfo.is_read_notice != 1) { + setTimeout(() => { + this.upgradeDialogShow = true + }, 5000) + } } }, mounted() { diff --git a/src/api/bi/business.js b/src/api/bi/business.js index e16d056..ff5bfe6 100644 --- a/src/api/bi/business.js +++ b/src/api/bi/business.js @@ -33,7 +33,20 @@ export function biBusinessTrendListAPI(data) { } }) } - +/** + * 新增商机数与金额趋势分析 详情列表 + * @param {*} data + */ +export function biBusinessConversionRateListAPI(data) { + return request({ + url: 'bi/business/winList', + method: 'post', + data: data, + headers: { + 'Content-Type': 'application/json;charset=UTF-8' + } + }) +} /** * 赢单机会转化率趋势分析 * @param {*} data diff --git a/src/api/bi/customer.js b/src/api/bi/customer.js index ebba259..bc9866c 100644 --- a/src/api/bi/customer.js +++ b/src/api/bi/customer.js @@ -27,7 +27,7 @@ export function biCustomerTotalListAPI(data) { export function biCustomerTotalListExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', @@ -69,7 +69,7 @@ export function biCustomerRecordListAPI(data) { export function biCustomerRecordListExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', @@ -96,7 +96,7 @@ export function biCustomerRecordModeAPI(data) { export function biCustomerRecordModeExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', @@ -169,7 +169,7 @@ export function biCustomerPoolListAPI(data) { export function biCustomerPoolListExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', @@ -196,7 +196,7 @@ export function biCustomerUserCycleAPI(data) { export function biCustomerUserCycleExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', @@ -234,7 +234,7 @@ export function biCustomerAddressCycleAPI(data) { export function biCustomerAddressCycleExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', @@ -261,7 +261,7 @@ export function biCustomerProductCycleAPI(data) { export function biCustomerProductCycleExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', @@ -288,7 +288,7 @@ export function biCustomerSatisfactionTableAPI(data) { export function biCustomerSatisfactionTableExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', @@ -315,7 +315,7 @@ export function biCustomerProductSatisfactionTableAPI(data) { export function biCustomerProductSatisfactionExportAPI(data) { return request({ - url: 'bi/contract/excelExport', + url: 'bi/customer/excelExport', method: 'post', data: data, responseType: 'blob', diff --git a/src/api/common.js b/src/api/common.js index f0c616b..3681670 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -354,7 +354,7 @@ export function downloadFileImageAPI(data) { */ export function readUpdateNoticeAPI(data) { return request({ - url: 'adminUser/readNotice', + url: 'admin/adminUser/readNotice', method: 'post', data: data }) diff --git a/src/api/pm/project.js b/src/api/pm/project.js index 3193667..1dbf1a1 100644 --- a/src/api/pm/project.js +++ b/src/api/pm/project.js @@ -363,7 +363,7 @@ export function workExcelImportAPI(data) { */ export function workDownloadErrorExcelAPI(data) { return request({ - url: 'work/work/downloadErrorExcel', + url: 'admin/file/download', method: 'post', data: data, responseType: 'blob' diff --git a/src/api/pm/task.js b/src/api/pm/task.js index 300ddb8..10f7349 100644 --- a/src/api/pm/task.js +++ b/src/api/pm/task.js @@ -137,7 +137,7 @@ export function workTaskRecoverAPI(data) { */ export function taskWorkbenchExportAPI(data) { return request({ - url: 'oa/task/excelExport', + url: 'work/task/excelExport', method: 'post', data: data, responseType: 'blob' diff --git a/src/api/task/task.js b/src/api/task/task.js index 5b60224..e89d9f2 100644 --- a/src/api/task/task.js +++ b/src/api/task/task.js @@ -134,7 +134,7 @@ export function taskDeleteLabelAPI(data) { */ export function taskOaExportAPI(data) { return request({ - url: 'work/task/excelExport', + url: 'oa/task/excelExport', method: 'post', data: data, responseType: 'blob', diff --git a/src/assets/img/favicon.png b/src/assets/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3b54605ee12645784326e94d54ffeec25fef1c GIT binary patch literal 67646 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 literal 0 HcmV?d00001 diff --git a/src/components/RelatedBusiness.vue b/src/components/RelatedBusiness.vue index ae23a82..d01e56d 100644 --- a/src/components/RelatedBusiness.vue +++ b/src/components/RelatedBusiness.vue @@ -76,7 +76,7 @@ export default { // 展示取消关联 showFoot: { type: Boolean, - default: false + default: true }, showAdd: { type: Boolean, diff --git a/src/components/XrUpgradeDialog.vue b/src/components/XrUpgradeDialog.vue new file mode 100644 index 0000000..fd457ce --- /dev/null +++ b/src/components/XrUpgradeDialog.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/src/config.js b/src/config.js index ffad1eb..531355c 100644 --- a/src/config.js +++ b/src/config.js @@ -3,8 +3,8 @@ const getLocationOrigin = () => { } const companyName = '悟空CRM' -const version = 'V11.0.1' -const baiduKey = '百度key' +const version = 'V11.0.2' +const baiduKey = 'lcuOQ71SCZhqpxsr1vL2mXoplWEoVctL' export default { version, diff --git a/src/views/bi/TaskCompleteStatistics.vue b/src/views/bi/TaskCompleteStatistics.vue index b7388bd..ecb27d4 100644 --- a/src/views/bi/TaskCompleteStatistics.vue +++ b/src/views/bi/TaskCompleteStatistics.vue @@ -72,9 +72,9 @@
- + @click="exportClick">导出
- + @click="exportClick">导出
- + @click="exportClick">导出
- + @click.native="exportClick">导出
diff --git a/src/views/bi/achievement/AchievementMoneyStatistics.vue b/src/views/bi/achievement/AchievementMoneyStatistics.vue index 70cdcda..53d8358 100644 --- a/src/views/bi/achievement/AchievementMoneyStatistics.vue +++ b/src/views/bi/achievement/AchievementMoneyStatistics.vue @@ -15,9 +15,9 @@
- + @click="exportClick">导出
- + @click.native="exportClick">导出
diff --git a/src/views/bi/business/BusinessWinStatistics.vue b/src/views/bi/business/BusinessWinStatistics.vue index d86a3b3..b8eebf6 100644 --- a/src/views/bi/business/BusinessWinStatistics.vue +++ b/src/views/bi/business/BusinessWinStatistics.vue @@ -47,7 +47,8 @@