diff --git a/src/api/bs/myProtocolFramework.js b/src/api/bs/myProtocolFramework.js new file mode 100644 index 0000000..3aed3e3 --- /dev/null +++ b/src/api/bs/myProtocolFramework.js @@ -0,0 +1,19 @@ +import request from '@/plugin/axios' + +// 查询协议模版列表 +export function listAgreement(query) { + return request({ + url: '/bs/protocol-frame/page', + method: 'get', + params: query + }) +} + + +// 查询协议模版详细 +export function getAgreementDetail(id) { + return request({ + url: '/bs/protocol-frame/get?id=' + id, + method: 'get' + }) +} \ No newline at end of file diff --git a/src/components/MyProtocolFrameworkCard/index.vue b/src/components/MyProtocolFrameworkCard/index.vue new file mode 100644 index 0000000..0e806ed --- /dev/null +++ b/src/components/MyProtocolFrameworkCard/index.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/src/router/modules/contract.js b/src/router/modules/contract.js index 8fb42e8..2111c9f 100644 --- a/src/router/modules/contract.js +++ b/src/router/modules/contract.js @@ -13,8 +13,10 @@ export default { { path: '/mySupplier', name: `${pre}mySupplier`, component: () => import('@/views/contract/mySupplier'), meta: { cache: true, title: '供应商合同审批列表' } }, { path: '/myPay', name: `${pre}myPay`, component: () => import('@/views/contract/myPay'), meta: { cache: true, title: '付款申请列表' } }, { path: '/myPayPlan', name: `${pre}myPayPlan`, component: () => import('@/views/contract/myPayPlan'), meta: { cache: true, title: '付款计划列表' } }, + { path: '/myProtocolFramework', name: `${pre}myProtocolFramework`, component: () => import('@/views/contract/myProtocolFramework'), meta: { cache: true, title: '协议框架列表' } }, { path: '/bidder', name: `${pre}bidder`, component: () => import('@/views/contract/bidder'), meta: { cache: true, title: '中标审批' } }, { path: '/supplier', name: `${pre}supplier`, component: () => import('@/views/contract/supplier'), meta: { cache: true, title: '供应商合同审批' } }, + { path: '/protocolFramework', name: `${pre}protocolFramework`, component: () => import('@/views/contract/protocolFramework'), meta: { cache: true, title: '协议框架' } }, { path: '/supplierMsg', name: `${pre}supplierMsg`, component: () => import('@/views/contract/supplierMsg'), meta: { cache: true, title: '供应商信息' } }, { path: '/payPlan', name: `${pre}payPlan`, component: () => import('@/views/contract/payPlan'), meta: { cache: true, title: '付款计划' } }, { path: '/mySupplierMsg', name: `${pre}mySupplierMsg`, component: () => import('@/views/contract/mySupplierMsg'), meta: { cache: true, title: '供应商信息列表' } }, diff --git a/src/views/contract/myPayPlan/components/UserList.vue b/src/views/contract/myPayPlan/components/UserList.vue index bb08220..a998579 100644 --- a/src/views/contract/myPayPlan/components/UserList.vue +++ b/src/views/contract/myPayPlan/components/UserList.vue @@ -162,6 +162,10 @@ export default { }, // 重置 rstSearch() { + this.queryForm = { + contractNumber: null, + companyName: null + } this.handleInit() }, handleBack() { diff --git a/src/views/contract/myProtocolFramework/components/HeaderFilter.vue b/src/views/contract/myProtocolFramework/components/HeaderFilter.vue new file mode 100644 index 0000000..627bfed --- /dev/null +++ b/src/views/contract/myProtocolFramework/components/HeaderFilter.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/src/views/contract/myProtocolFramework/components/UserList.vue b/src/views/contract/myProtocolFramework/components/UserList.vue new file mode 100644 index 0000000..4cc9ea6 --- /dev/null +++ b/src/views/contract/myProtocolFramework/components/UserList.vue @@ -0,0 +1,319 @@ + + + + diff --git a/src/views/contract/myProtocolFramework/components/index.scss b/src/views/contract/myProtocolFramework/components/index.scss new file mode 100644 index 0000000..e5c432f --- /dev/null +++ b/src/views/contract/myProtocolFramework/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/myProtocolFramework/index.vue b/src/views/contract/myProtocolFramework/index.vue new file mode 100644 index 0000000..f21724e --- /dev/null +++ b/src/views/contract/myProtocolFramework/index.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/views/contract/mySupplierMsg/components/UserList.vue b/src/views/contract/mySupplierMsg/components/UserList.vue index aaf75f4..2b43dd2 100644 --- a/src/views/contract/mySupplierMsg/components/UserList.vue +++ b/src/views/contract/mySupplierMsg/components/UserList.vue @@ -199,6 +199,10 @@ export default { }, // 重置 rstSearch() { + this.queryForm = { + companyName: null, + companyType: null + } this.handleInit() }, handleBack() { diff --git a/src/views/contract/protocolFramework/index.vue b/src/views/contract/protocolFramework/index.vue new file mode 100644 index 0000000..e9cd473 --- /dev/null +++ b/src/views/contract/protocolFramework/index.vue @@ -0,0 +1,272 @@ + + + + diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 499a71d..14294dc 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -311,7 +311,7 @@ export default { { row: [ { - route: '/contract/ct/protocolFramework', + route: '/myProtocolFramework', title: '协议框架', icon: 'user-o', show: true