From 5535b2a1f1ddd1c9a18cba49dd95b2ff708d8942 Mon Sep 17 00:00:00 2001 From: jiangweiguo <1578967617@qq.com> Date: Wed, 20 Nov 2024 15:10:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/bs/myPayPlan.js | 18 + src/api/bs/supplierContract.js | 8 + src/api/bs/supplierMsg.js | 90 ++ src/api/procurement/supplierMsg/index.js | 90 ++ src/components/MyPayPlanListCard/index.vue | 152 +++ .../MysupplierMsgListCard/index.vue | 181 +++ src/components/ReComponents/RePick/index.vue | 78 +- src/router/modules/contract.js | 5 + src/utils/dict.js | 2 + .../myPayPlan/components/HeaderFilter.vue | 253 ++++ .../myPayPlan/components/UserList.vue | 311 +++++ .../contract/myPayPlan/components/index.scss | 163 +++ src/views/contract/myPayPlan/index.vue | 23 + .../mySupplierMsg/components/HeaderFilter.vue | 253 ++++ .../mySupplierMsg/components/UserList.vue | 340 +++++ .../mySupplierMsg/components/index.scss | 163 +++ src/views/contract/mySupplierMsg/index.vue | 23 + src/views/contract/payPlan/index.vue | 337 +++++ src/views/contract/supplier/index.vue | 1112 +++++++++++++---- src/views/contract/supplierMsg/index.vue | 312 +++++ src/views/home/index.vue | 152 ++- src/views/login/index.vue | 3 +- 22 files changed, 3736 insertions(+), 333 deletions(-) create mode 100644 src/api/bs/myPayPlan.js create mode 100644 src/api/bs/supplierMsg.js create mode 100644 src/components/MyPayPlanListCard/index.vue create mode 100644 src/components/MysupplierMsgListCard/index.vue create mode 100644 src/views/contract/myPayPlan/components/HeaderFilter.vue create mode 100644 src/views/contract/myPayPlan/components/UserList.vue create mode 100644 src/views/contract/myPayPlan/components/index.scss create mode 100644 src/views/contract/myPayPlan/index.vue create mode 100644 src/views/contract/mySupplierMsg/components/HeaderFilter.vue create mode 100644 src/views/contract/mySupplierMsg/components/UserList.vue create mode 100644 src/views/contract/mySupplierMsg/components/index.scss create mode 100644 src/views/contract/mySupplierMsg/index.vue create mode 100644 src/views/contract/payPlan/index.vue create mode 100644 src/views/contract/supplierMsg/index.vue diff --git a/src/api/bs/myPayPlan.js b/src/api/bs/myPayPlan.js new file mode 100644 index 0000000..9d4f120 --- /dev/null +++ b/src/api/bs/myPayPlan.js @@ -0,0 +1,18 @@ +import request from '@/plugin/axios' + +// 获得付款计划分页 +export function getMyPayPlanPage(query) { + return request({ + url: 'bs/payment-plan/page', + method: 'get', + params: query + }) + } + +// 获得付款计划 +export function getPaymentPlan(id) { + return request({ + url: '/bs/payment-plan/get?id=' + id, + method: 'get' + }) + } \ No newline at end of file diff --git a/src/api/bs/supplierContract.js b/src/api/bs/supplierContract.js index 66a00e9..2546e6c 100644 --- a/src/api/bs/supplierContract.js +++ b/src/api/bs/supplierContract.js @@ -52,3 +52,11 @@ export function exportSupplierContractExcel(query) { responseType: 'blob' }) } + +// 获取合同编号 +export function genCode(data) { + return request({ + url: 'bs/supplier-contract/getAutocode', + method: 'get', + }) +} diff --git a/src/api/bs/supplierMsg.js b/src/api/bs/supplierMsg.js new file mode 100644 index 0000000..ed83fd7 --- /dev/null +++ b/src/api/bs/supplierMsg.js @@ -0,0 +1,90 @@ +import request from '@/plugin/axios' + + +// 创建供应商信息 +export function createSupplierCompany(data) { + return request({ + url: "/bs/supplier-company/create", + method: "post", + data: data, + }); +} + +// 更新供应商信息 +export function updateSupplierCompany(data) { + return request({ + url: "/bs/supplier-company/update", + method: "put", + data: data, + }); +} + +// 删除供应商信息 +export function deleteSupplierCompany(id) { + return request({ + url: "/bs/supplier-company/delete?id=" + id, + method: "delete", + }); +} + +// 获得供应商信息 +export function getSupplierCompany(id) { + return request({ + url: "/bs/supplier-company/get?id=" + id, + method: "get", + }); +} + +// 获得供应商信息分页 +export function getSupplierCompanyPage(query) { + return request({ + url: "/bs/supplier-company/page", + method: "get", + params: query, + }); +} +// 获得供应商信息分页 +export function getSupplierCompanyPage1(query) { + return request({ + url: "/bs/supplier-company/page2", + method: "get", + params: query, + }); +} + +// 获得供应商信息 +export function getSupplierCompanyList(query) { + return request({ + url: "/bs/supplier-company/list", + method: "get", + params: query, + }); +} + +// 导出供应商信息 Excel +export function exportSupplierCompanyExcel(query) { + return request({ + url: "/bs/supplier-company/export-excel", + method: "get", + params: query, + responseType: "blob", + }); +} + +// 百度云接口识别 +export function baiduScanApi(data) { + return request({ + url: "/bs/supplier-company/buildBusinessLicense", + method: "post", + data, + }); +} + +// 下载用户导入模板 +export function srCttImportTemplate() { + return request({ + url: "/bs/supplier-company/get-import-template", + method: "get", + responseType: "blob", + }); +} diff --git a/src/api/procurement/supplierMsg/index.js b/src/api/procurement/supplierMsg/index.js index 1c1beb0..79689e5 100644 --- a/src/api/procurement/supplierMsg/index.js +++ b/src/api/procurement/supplierMsg/index.js @@ -56,6 +56,96 @@ export function scanImgMsggApi(query) { } +// 创建供应商信息 +export function createSupplierCompany(data) { + return request({ + url: "/bs/supplier-company/create", + method: "post", + data: data, + }); +} + +// 更新供应商信息 +export function updateSupplierCompany(data) { + return request({ + url: "/bs/supplier-company/update", + method: "put", + data: data, + }); +} + +// 删除供应商信息 +export function deleteSupplierCompany(id) { + return request({ + url: "/bs/supplier-company/delete?id=" + id, + method: "delete", + }); +} + +// 获得供应商信息 +export function getSupplierCompany(id) { + return request({ + url: "/bs/supplier-company/get?id=" + id, + method: "get", + }); +} + +// 获得供应商信息分页 +export function getSupplierCompanyPage(query) { + return request({ + url: "/bs/supplier-company/page", + method: "get", + params: query, + }); +} +// 获得供应商信息分页 +export function getSupplierCompanyPage1(query) { + return request({ + url: "/bs/supplier-company/page2", + method: "get", + params: query, + }); +} + +// 获得供应商信息 +export function getSupplierCompanyList(query) { + return request({ + url: "/bs/supplier-company/list", + method: "get", + params: query, + }); +} + +// 导出供应商信息 Excel +export function exportSupplierCompanyExcel(query) { + return request({ + url: "/bs/supplier-company/export-excel", + method: "get", + params: query, + responseType: "blob", + }); +} + +// 百度云接口识别 +export function baiduScanApi(data) { + return request({ + url: "/bs/supplier-company/buildBusinessLicense", + method: "post", + data, + }); +} + +// 下载用户导入模板 +export function srCttImportTemplate() { + return request({ + url: "/bs/supplier-company/get-import-template", + method: "get", + responseType: "blob", + }); +} + + + diff --git a/src/components/MyPayPlanListCard/index.vue b/src/components/MyPayPlanListCard/index.vue new file mode 100644 index 0000000..8a32a5e --- /dev/null +++ b/src/components/MyPayPlanListCard/index.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/src/components/MysupplierMsgListCard/index.vue b/src/components/MysupplierMsgListCard/index.vue new file mode 100644 index 0000000..c13c1eb --- /dev/null +++ b/src/components/MysupplierMsgListCard/index.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/components/ReComponents/RePick/index.vue b/src/components/ReComponents/RePick/index.vue index 5b09664..5f9d16e 100644 --- a/src/components/ReComponents/RePick/index.vue +++ b/src/components/ReComponents/RePick/index.vue @@ -423,7 +423,7 @@ // 远程列表学校搜索 import { schoolListApi, - schoolNextListApi, + schoolNextListApi } from '@/api/potentialGuest/consultation' import { getdepartmentListApi } from '@/api/potentialGuest/order' @@ -483,46 +483,46 @@ import { mapState } from 'vuex' export default { model: { prop: 'value', - event: 'change', + event: 'change' }, props: { inputAlign: { type: String, - default: 'right', + default: 'right' }, isUseSlot: Boolean, isCell: Boolean, list: { type: Array, - default: () => [], + default: () => [] }, title: { type: String, - default: '', + default: '' }, label: { type: String, - default: '', + default: '' }, titleKey: { type: String, - default: 'title', + default: 'title' }, idKey: { - type: String, - default: 'id', + type: String || Number, + default: 'id' }, childrenKey: { type: String, - default: 'children', + default: 'children' }, placeholder: { type: String, - default: '请选择', + default: '请选择' }, isCascaderAllLevelNameSymnol: { type: String, - default: '-', + default: '-' }, isValueHidden: Boolean, clearable: Boolean, @@ -540,35 +540,35 @@ export default { // ---- disabled: Boolean, value: [String, Number, Array], - name: String, + name: String || Number, closeIsShow: { type: Boolean, - default: true, + default: true }, placeholderIShow: { type: Boolean, - default: true, + default: true }, rulesList: { type: Array, - default: () => [], + default: () => [] }, isOriginActivitySchoolSearch: Boolean, emptyToastTitle: { type: String, - default: '无可选数据', + default: '无可选数据' }, limitPageSize: { type: Number, - default: 20, + default: 20 }, isUseLimitPage: Boolean, isOriginRemainCascader: Boolean, showReturnTitle: String, labelWidth: { type: String, - default: '6.2em', - }, + default: '6.2em' + } }, data() { return { @@ -590,7 +590,7 @@ export default { originCurrentSchoolSearchValue: '', limitPageNum: 1, limitShow: this.isUseLimitPage, - isOriginSearchClear: false, + isOriginSearchClear: false // 初始化 // isFirstInitList: true } @@ -598,7 +598,7 @@ export default { computed: { // 学员基本信息 ==> 获取完善信息所属部门标题 ...mapState({ - studentBaseInfo: (state) => state.order.studentBaseInfo, + studentBaseInfo: (state) => state.order.studentBaseInfo }), allList() { return this.handleData(this.list, []) @@ -706,7 +706,7 @@ export default { return !this.originSchoolAttr } return this.disabled - }, + } }, filters: { titleFilter(arr) { @@ -714,7 +714,7 @@ export default { }, treeListTitleFilter(arr) { return arr.treeList.map((item) => item.title) - }, + } }, watch: { list() { @@ -726,7 +726,7 @@ export default { }, originLoading(val) { this.$loading(val, 'originLoading') - }, + } }, created() { this.handleDataInit() @@ -757,7 +757,7 @@ export default { // children: item.children, children: item[this.childrenKey] ? this.handleData(item[this.childrenKey], treeList) - : [], + : [] } }) }, @@ -927,13 +927,13 @@ export default { } this.$emit('change', this.selectValue) this.$emit('changeAll', { - ...(this.handleCascaderFind(this.allList, this.selectValue) || {}), + ...(this.handleCascaderFind(this.allList, this.selectValue) || {}) }) } else { this.$emit('change', this.selectValue) this.$emit('changeAll', { ...(this.currentList.find((item) => item.id === this.selectValue) || - {}), + {}) }) } this.isPopupShow = false @@ -960,7 +960,7 @@ export default { const query = { id: null, keyword: e, - word: e, + word: e } if (this.isOriginActivitySchoolSearch) { @@ -972,7 +972,7 @@ export default { return { id: item.id, title: item.title, - children: [], + children: [] } }) this.$nextTick(() => { @@ -995,7 +995,7 @@ export default { return { id: item.value, title: item.text, - children: [], + children: [] } }) this.$nextTick(() => { @@ -1029,7 +1029,7 @@ export default { id: item.id, title: item.title, extendNum: item.extendNum, - children: [], + children: [] } }) this.handleDeepOrigin(e.id, arr, this.searchList) @@ -1049,7 +1049,7 @@ export default { ...item, id: item.value, title: item.text, - children: [], + children: [] } }) this.handleDeepOrigin(e.id, arr, this.searchList) @@ -1082,7 +1082,7 @@ export default { const query = { code: '', keyword: e, - type: this.originSchoolAttr, + type: this.originSchoolAttr } this.originLoading = true searchschoolApi(query) @@ -1092,7 +1092,7 @@ export default { this.searchList = arr.map((item) => { return { id: item.value, - title: item.text, + title: item.text } }) this.$nextTick(() => { @@ -1106,7 +1106,7 @@ export default { } else if (this.originSchoolType == 2) { const query = { keyword: e, - id: this.originSchoolAttr, + id: this.originSchoolAttr } this.originLoading = true searchcollegelApi(query) @@ -1116,7 +1116,7 @@ export default { this.searchList = arr.map((item) => { return { id: item.value, - title: item.text, + title: item.text } }) // this.$emit('update:list', arr.map(item => { @@ -1141,8 +1141,8 @@ export default { handleMorePage() { this.limitPageNum += 1 - }, - }, + } + } } diff --git a/src/views/contract/myPayPlan/components/UserList.vue b/src/views/contract/myPayPlan/components/UserList.vue new file mode 100644 index 0000000..bb08220 --- /dev/null +++ b/src/views/contract/myPayPlan/components/UserList.vue @@ -0,0 +1,311 @@ + + + + diff --git a/src/views/contract/myPayPlan/components/index.scss b/src/views/contract/myPayPlan/components/index.scss new file mode 100644 index 0000000..e5c432f --- /dev/null +++ b/src/views/contract/myPayPlan/components/index.scss @@ -0,0 +1,163 @@ +$hf-contain-p: 0 1.2rem; +$hf-contain-f: 0.76rem; +$hf-high-color: #0088fe; +// 激活的颜色 +$hf-high-color: #0088fe; +.header-filter { + .hf-r-icon-bg-act { + .van-icon { + color: $hf-high-color !important; + } + } + background: #ffffff; + display: flex; + justify-content: space-between; + align-items: center; + padding: $hf-contain-p; + + .hf-l-list { + .hf-l-list-menu { + /deep/.van-dropdown-menu__bar { + height: auto; + box-shadow: none; + + .van-dropdown-menu__item { + flex: inherit; + margin-right: 1rem; + + .van-dropdown-menu__title { + padding: 0.6rem 0.4rem 0.6rem 0; + font-size: $hf-contain-f; + + &::after { + border: 1px solid; + padding: 0.1rem; + border-color: transparent transparent #333333 #333333; + } + } + + .van-dropdown-menu__title--active { + color: $hf-high-color; + + &::after { + border-color: transparent transparent $hf-high-color $hf-high-color; + } + } + } + } + } + } + + .hf-r-list { + display: flex; + + .hf-r-list-item { + margin-left: 0.4rem; + + .hf-r-icon-bg { + background: #d7d7d7; + width: 1.5rem; + height: 1.5rem; + border-radius: 1.5rem; + display: flex; + justify-content: center; + align-items: center; + color: #ffffff; + } + } + } + + .hf-drop-view { + padding: $hf-contain-p; + padding-bottom: 0.8rem; + + .hf-drop-contain { + display: flex; + flex-wrap: wrap; + padding-bottom: 0.8rem; + + .hr-drop-filter-item { + padding: $hf-contain-p; + font-size: $hf-contain-f; + width: 50%; + box-sizing: border-box; + padding: 0.8rem 0; + } + + .hr-drop-filter-item-act { + color: $hf-high-color; + } + } + + // 快捷筛选 + .hf-drop-quick { + margin-top: 1rem; + + .hf-drop-quick-item { + margin-bottom: 1.5rem; + + .hf-drop-quick-title { + color: #333333; + font-size: 0.84rem; + } + + .hf-drop-quick-list { + display: flex; + margin: 0.6rem 0; + font-size: $hf-contain-f; + + .hf-drop-quick-list-item { + border: 1px solid #f3f3f3; + background: #f3f3f3; + margin-right: 0.8rem; + padding: 0.4rem 0.6rem; + border-radius: 1rem; + transition: background-color, color 0.2s linear; + } + + .hf-drop-quick-list-item-act { + background: #ffffff; + color: $hf-high-color; + border: 1px solid $hf-high-color; + } + + .hf-drop-quick-list-item-checkbox { + margin-right: 1rem; + + /deep/.van-checkbox__label { + margin-left: 0.2rem; + } + } + } + + .hf-drop-quick-calendar { + /deep/.van-calendar__header { + box-shadow: none; + border-bottom: 1px solid #eeeeee; + } + } + } + } + } + + .hf-drop-contain-empty { + color: #666666; + text-align: center; + font-size: 0.8rem; + } + + .searchInput { + padding: 0.3rem 0; + width: 100%; + + .van-search__content { + background: #ffffff; + border: 1px solid #f3f3f3; + border-radius: 0.3rem; + + /deep/input { + caret-color: #0088fe; + } + } + } +} diff --git a/src/views/contract/myPayPlan/index.vue b/src/views/contract/myPayPlan/index.vue new file mode 100644 index 0000000..40d830a --- /dev/null +++ b/src/views/contract/myPayPlan/index.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/views/contract/mySupplierMsg/components/HeaderFilter.vue b/src/views/contract/mySupplierMsg/components/HeaderFilter.vue new file mode 100644 index 0000000..627bfed --- /dev/null +++ b/src/views/contract/mySupplierMsg/components/HeaderFilter.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/src/views/contract/mySupplierMsg/components/UserList.vue b/src/views/contract/mySupplierMsg/components/UserList.vue new file mode 100644 index 0000000..aaf75f4 --- /dev/null +++ b/src/views/contract/mySupplierMsg/components/UserList.vue @@ -0,0 +1,340 @@ + + + + diff --git a/src/views/contract/mySupplierMsg/components/index.scss b/src/views/contract/mySupplierMsg/components/index.scss new file mode 100644 index 0000000..e5c432f --- /dev/null +++ b/src/views/contract/mySupplierMsg/components/index.scss @@ -0,0 +1,163 @@ +$hf-contain-p: 0 1.2rem; +$hf-contain-f: 0.76rem; +$hf-high-color: #0088fe; +// 激活的颜色 +$hf-high-color: #0088fe; +.header-filter { + .hf-r-icon-bg-act { + .van-icon { + color: $hf-high-color !important; + } + } + background: #ffffff; + display: flex; + justify-content: space-between; + align-items: center; + padding: $hf-contain-p; + + .hf-l-list { + .hf-l-list-menu { + /deep/.van-dropdown-menu__bar { + height: auto; + box-shadow: none; + + .van-dropdown-menu__item { + flex: inherit; + margin-right: 1rem; + + .van-dropdown-menu__title { + padding: 0.6rem 0.4rem 0.6rem 0; + font-size: $hf-contain-f; + + &::after { + border: 1px solid; + padding: 0.1rem; + border-color: transparent transparent #333333 #333333; + } + } + + .van-dropdown-menu__title--active { + color: $hf-high-color; + + &::after { + border-color: transparent transparent $hf-high-color $hf-high-color; + } + } + } + } + } + } + + .hf-r-list { + display: flex; + + .hf-r-list-item { + margin-left: 0.4rem; + + .hf-r-icon-bg { + background: #d7d7d7; + width: 1.5rem; + height: 1.5rem; + border-radius: 1.5rem; + display: flex; + justify-content: center; + align-items: center; + color: #ffffff; + } + } + } + + .hf-drop-view { + padding: $hf-contain-p; + padding-bottom: 0.8rem; + + .hf-drop-contain { + display: flex; + flex-wrap: wrap; + padding-bottom: 0.8rem; + + .hr-drop-filter-item { + padding: $hf-contain-p; + font-size: $hf-contain-f; + width: 50%; + box-sizing: border-box; + padding: 0.8rem 0; + } + + .hr-drop-filter-item-act { + color: $hf-high-color; + } + } + + // 快捷筛选 + .hf-drop-quick { + margin-top: 1rem; + + .hf-drop-quick-item { + margin-bottom: 1.5rem; + + .hf-drop-quick-title { + color: #333333; + font-size: 0.84rem; + } + + .hf-drop-quick-list { + display: flex; + margin: 0.6rem 0; + font-size: $hf-contain-f; + + .hf-drop-quick-list-item { + border: 1px solid #f3f3f3; + background: #f3f3f3; + margin-right: 0.8rem; + padding: 0.4rem 0.6rem; + border-radius: 1rem; + transition: background-color, color 0.2s linear; + } + + .hf-drop-quick-list-item-act { + background: #ffffff; + color: $hf-high-color; + border: 1px solid $hf-high-color; + } + + .hf-drop-quick-list-item-checkbox { + margin-right: 1rem; + + /deep/.van-checkbox__label { + margin-left: 0.2rem; + } + } + } + + .hf-drop-quick-calendar { + /deep/.van-calendar__header { + box-shadow: none; + border-bottom: 1px solid #eeeeee; + } + } + } + } + } + + .hf-drop-contain-empty { + color: #666666; + text-align: center; + font-size: 0.8rem; + } + + .searchInput { + padding: 0.3rem 0; + width: 100%; + + .van-search__content { + background: #ffffff; + border: 1px solid #f3f3f3; + border-radius: 0.3rem; + + /deep/input { + caret-color: #0088fe; + } + } + } +} diff --git a/src/views/contract/mySupplierMsg/index.vue b/src/views/contract/mySupplierMsg/index.vue new file mode 100644 index 0000000..5749dd3 --- /dev/null +++ b/src/views/contract/mySupplierMsg/index.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/views/contract/payPlan/index.vue b/src/views/contract/payPlan/index.vue new file mode 100644 index 0000000..2f068ef --- /dev/null +++ b/src/views/contract/payPlan/index.vue @@ -0,0 +1,337 @@ + + + + diff --git a/src/views/contract/supplier/index.vue b/src/views/contract/supplier/index.vue index 49cdb29..720d507 100644 --- a/src/views/contract/supplier/index.vue +++ b/src/views/contract/supplier/index.vue @@ -1,114 +1,540 @@