first commit
3
pgweb/.browserslistrc
Normal file
@@ -0,0 +1,3 @@
|
||||
> 1%
|
||||
last 2 versions
|
||||
not ie <= 8
|
||||
14
pgweb/.editorconfig
Normal file
@@ -0,0 +1,14 @@
|
||||
# editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
18
pgweb/.env.development
Normal file
@@ -0,0 +1,18 @@
|
||||
NODE_ENV=development
|
||||
|
||||
# IP端口或域名
|
||||
#VUE_APP_IP = 192.168.1.18:8955
|
||||
VUE_APP_IP = gzpg3.com:8090
|
||||
|
||||
# 接口地址
|
||||
#VUE_APP_API_URL = http://${VUE_APP_IP}/php/
|
||||
VUE_APP_API_URL = http://${VUE_APP_IP}/index.php/
|
||||
|
||||
#websocket地址
|
||||
VUE_APP_SOCKET_URL = http://${VUE_APP_IP}:2120
|
||||
|
||||
# 部署应用包时的基本 URL
|
||||
VUE_APP_PUBLIC_PATH = /
|
||||
|
||||
# FTP 下载基础URL 9910 生产, 9911测试
|
||||
VUE_APP_FTP_DOWNLOAD_BASE_URL = http://113.98.62.215:9910/download
|
||||
14
pgweb/.env.migrate
Normal file
@@ -0,0 +1,14 @@
|
||||
# 指定构建模式
|
||||
NODE_ENV=production
|
||||
|
||||
# 接口地址
|
||||
VUE_APP_API_URL = http://1.13.246.65:8011/public/index.php #http://120.78.206.39:7001/public/index.php/
|
||||
|
||||
# 部署应用包时的基本 URL
|
||||
VUE_APP_PUBLIC_PATH = /
|
||||
|
||||
# FTP 下载基础URL 9910 生产, 9911测试
|
||||
FTP_DOWNLOAD_BASE_URL = http://113.98.62.215:9910/download
|
||||
# FTP_DOWNLOAD_BASE_URL = http://113.98.62.215:9911/download
|
||||
#websocket地址
|
||||
VUE_APP_SOCKET_URL = http://1.13.246.65:2120 #http://120.78.206.39:2120
|
||||
16
pgweb/.env.production
Normal file
@@ -0,0 +1,16 @@
|
||||
NODE_ENV=production
|
||||
|
||||
# IP端口或域名
|
||||
VUE_APP_IP = dev3.gzpg2006.cn
|
||||
|
||||
# 接口地址
|
||||
VUE_APP_API_URL = http://${VUE_APP_IP}/php/
|
||||
|
||||
#websocket地址
|
||||
VUE_APP_SOCKET_URL = http://${VUE_APP_IP}:2120
|
||||
|
||||
# 部署应用包时的基本 URL
|
||||
VUE_APP_PUBLIC_PATH = /phpadmin
|
||||
|
||||
# FTP 下载基础URL 9910 生产, 9911测试 (转发FTP地址)
|
||||
VUE_APP_FTP_DOWNLOAD_BASE_URL = http://113.98.62.215:9910/download
|
||||
16
pgweb/.env.test
Normal file
@@ -0,0 +1,16 @@
|
||||
# 指定构建模式
|
||||
NODE_ENV=production
|
||||
|
||||
# 接口地址
|
||||
//VUE_APP_API_URL = http://test.cspg-api.ecspg.com/cspg2.4/public/index.php/
|
||||
|
||||
|
||||
# 部署应用包时的基本 URL
|
||||
VUE_APP_PUBLIC_PATH = /dev_c1.1.0.5/dist/
|
||||
|
||||
# FTP 下载基础URL 9910 生产, 9911测试
|
||||
FTP_DOWNLOAD_BASE_URL = http://113.98.62.215:9910/download
|
||||
# FTP_DOWNLOAD_BASE_URL = http://113.98.62.215:9911/download
|
||||
|
||||
#websocket地址
|
||||
//VUE_APP_SOCKET_URL = http://47.115.14.163:2120
|
||||
17
pgweb/.env.uat
Normal file
@@ -0,0 +1,17 @@
|
||||
# 指定构建模式
|
||||
NODE_ENV=production
|
||||
|
||||
# 接口地址
|
||||
VUE_APP_API_URL = http://uat.cspg-api.ecspg.com/cspg2.4/public/index.php/
|
||||
|
||||
|
||||
# 部署应用包时的基本 URL
|
||||
VUE_APP_PUBLIC_PATH = /dev_c1.1.0.5/
|
||||
|
||||
# FTP 下载基础URL 9910 生产, 9911测试
|
||||
FTP_DOWNLOAD_BASE_URL = http://113.98.62.215:9910/download
|
||||
# FTP_DOWNLOAD_BASE_URL = http://113.98.62.215:9911/download
|
||||
|
||||
#websocket地址
|
||||
#VUE_APP_SOCKET_URL = http://120.78.206.39:2120
|
||||
VUE_APP_SOCKET_URL = http://47.115.14.163:2120
|
||||
21
pgweb/.eslintrc.js
Normal file
@@ -0,0 +1,21 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
node: true
|
||||
},
|
||||
extends: ['plugin:vue/essential'],
|
||||
rules: {
|
||||
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||
camelcase: 'off',
|
||||
'vue/no-parsing-error': [
|
||||
2,
|
||||
{
|
||||
'x-invalid-end-tag': false
|
||||
}
|
||||
]
|
||||
},
|
||||
parserOptions: {
|
||||
parser: 'babel-eslint'
|
||||
}
|
||||
}
|
||||
26
pgweb/.gitignore
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
.DS_Store
|
||||
/node_modules
|
||||
/dist
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw*
|
||||
|
||||
# history
|
||||
.history
|
||||
|
||||
package.json
|
||||
0
pgweb/.htaccess
Normal file
5
pgweb/.postcssrc.js
Normal file
@@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
plugins: {
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
112
pgweb/README.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# 智能评估平台
|
||||
|
||||
## 安装依赖
|
||||
|
||||
```
|
||||
### npm install
|
||||
网络慢可以使用cnpm代替默认的 npm
|
||||
npm install -g cnpm --registry=https://registry.npm.taobao.org
|
||||
```
|
||||
|
||||
vue cli 安装
|
||||
npm install -g @vue/cli
|
||||
|
||||
### 运行项目
|
||||
|
||||
### 安装加密组件
|
||||
|
||||
```
|
||||
npm install crypto-js --save
|
||||
```
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### Run your tests
|
||||
|
||||
```
|
||||
npm run test
|
||||
```
|
||||
|
||||
### Lints and fixes files
|
||||
|
||||
```
|
||||
npm run lint
|
||||
```
|
||||
|
||||
### 代码规范
|
||||
|
||||
[JavaScript standard](https://github.com/standard/standard/blob/master/docs/RULES-zhcn.md#javascript-standard-style)
|
||||
|
||||
### vue cli3 常用配置
|
||||
|
||||
[vue cli3 常用配置](https://cli.vuejs.org/config/).
|
||||
|
||||
### 前端使用框架 Element UI
|
||||
|
||||
[element UI]([iview](https://www.eiviewui.com/)
|
||||
|
||||
### 文件结构
|
||||
|
||||
```
|
||||
├── public // 打包所需静态资源
|
||||
├── src //
|
||||
│ ├── api // 接口请求
|
||||
| └── assets // 项目静态资源
|
||||
| └── images // 图片资源
|
||||
│ ├── components // 全局公用组件
|
||||
| | └── login-form // 登录
|
||||
| | └── login-scan // 扫码登录
|
||||
| | └── message // 消息
|
||||
| | └── pagination // 分页
|
||||
| | └── searche-form // 搜索条
|
||||
| | └── upload // 文件上传
|
||||
| | └── ztree // 权限配置树形控件
|
||||
│ ├── config // 项目运行配置
|
||||
│ ├── directive // 自定义指令
|
||||
│ ├── libs // 封装工具函数
|
||||
│ ├── router // 路由配置
|
||||
│ ├── store // 全局 store管理
|
||||
│ ├── styles // 全局样式
|
||||
│ ├── views // 所有页面
|
||||
| | └── components // 订单详情公用组件
|
||||
| | └── communication.vue // 发起沟通
|
||||
| | └── consult-info.vue // 查档信息
|
||||
| | └── file-upload.vue // 文件上传
|
||||
| | └── financial-info.vue // 银行账号信息
|
||||
| | └── workflow-info.vue // 工作流信息
|
||||
│ ├── App.vue // 入口页面
|
||||
│ ├── main.js // 入口文件
|
||||
├── .babelrc // babel-loader 配置
|
||||
├── .eslintrc.js // eslint 配置项
|
||||
├── package.json // 项目依赖和启动的配置文件
|
||||
├── babel.config.js // Babel相关配置
|
||||
└── vue.config.js // 项目运行打包配置
|
||||
```
|
||||
|
||||
### 前端打包配置
|
||||
|
||||
修改.env.[]文件配置
|
||||
|
||||
### 打包生产环境
|
||||
|
||||
```
|
||||
打包测试环境 npm run build:test
|
||||
打包uat环境 npm run build:uat
|
||||
打包生产环境 npm run build:prod
|
||||
```
|
||||
### 网络环境切换指南
|
||||
1、113.98.62.215 ,路由器映射由x.65.2 改为 x.65.1,端口不变。
|
||||
2、ngnix 端口 9902 的转发地址由 x.69 改为 x.232,端口不变。
|
||||
3、业务服务器:.env 文件 KEY_ENV 的值,由TEST 改为 PROD。
|
||||
|
||||
|
||||
### 构建一个新客户端和服务器
|
||||
1、拉取svn代码
|
||||
2、在.env.production 的修改:
|
||||
2.1 http://81.71.93.226/【需要修改】/public/index.php/
|
||||
2.2 VUE_APP_PUBLIC_PATH = /【需要修改】/dist/
|
||||
3、服务器端
|
||||
3.1 需要修改 database.php 的数据库指向。
|
||||
3.2 .env 地址按需指向。
|
||||
4、转发服务器
|
||||
需要修改银行行方转发我司的指向目录或地址。
|
||||
10
pgweb/babel.config.js
Normal file
@@ -0,0 +1,10 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/app'
|
||||
],
|
||||
env: {
|
||||
development: {
|
||||
plugins: ['dynamic-import-node']
|
||||
}
|
||||
}
|
||||
}
|
||||
0
pgweb/nginx.htaccess
Normal file
0
pgweb/note.txt
Normal file
32235
pgweb/package-lock.json
generated
Normal file
11634
pgweb/pnpm-lock.yaml
generated
Normal file
0
pgweb/public/.htaccess
Normal file
BIN
pgweb/public/favicon.ico
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
17
pgweb/public/index.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title>智能云评估平台</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but businessys_web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
0
pgweb/public/nginx.htaccess
Normal file
31
pgweb/src/App.vue
Normal file
@@ -0,0 +1,31 @@
|
||||
@import './static/font/songti.ttf'; /* 导入宋体字体文件 */
|
||||
<template>
|
||||
<div id="app">
|
||||
<router-view />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'App'
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.size {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
html,
|
||||
body {
|
||||
.size;
|
||||
margin: 0;
|
||||
margin-bottom: 16px;
|
||||
padding: 0;
|
||||
|
||||
}
|
||||
#app {
|
||||
.size;
|
||||
}
|
||||
</style>
|
||||
78
pgweb/src/api/bankInterface/boc.js
Normal file
@@ -0,0 +1,78 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
// 测试接口
|
||||
export async function testBOCAPI (params) {
|
||||
const res = await post('admin/boc/testBOC', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预评估申请接口
|
||||
export async function preApply (params) {
|
||||
const res = await post('admin/boc/preApply', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预评估申请列表
|
||||
export async function preApplyList (params) {
|
||||
const res = await post('admin/boc/preApplyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预评估结果接口
|
||||
export async function preResult (params) {
|
||||
const res = await post('admin/boc/preResult', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预评估结果列表
|
||||
export async function preResultList (params) {
|
||||
const res = await post('admin/boc/preResultList', params)
|
||||
return res
|
||||
}
|
||||
//写入预评估结果
|
||||
export async function insertPreResult (params) {
|
||||
const res = await post('admin/boc/insertPreResult', params)
|
||||
return res
|
||||
}
|
||||
|
||||
/*********************************正式评估*******************************/
|
||||
|
||||
|
||||
// 正式评估申请接口
|
||||
export async function applyOfficial (params) {
|
||||
const res = await post('admin/boc/applyOfficial', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 正式评估申请列表
|
||||
export async function applyOfficialList (params) {
|
||||
const res = await post('admin/boc/applyOfficialList', params)
|
||||
return res
|
||||
}
|
||||
//检查是否可以上传报告
|
||||
export async function checkReportIsReady (params) {
|
||||
const res = await post('admin/boc/checkReportIsReady', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 处理正式评估
|
||||
export async function doOfficialResult (params) {
|
||||
const res = await post('admin/boc/officialResult', params)
|
||||
return res
|
||||
}
|
||||
// 正式评估结果接口
|
||||
export async function officialResult (params) {
|
||||
const res = await post('admin/boc/officialResult', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 正式评估结果列表
|
||||
export async function officialResultList (params) {
|
||||
const res = await post('admin/boc/officialResultList', params)
|
||||
return res
|
||||
}
|
||||
//写入正式评估结果
|
||||
export async function insertOfficialResult (params) {
|
||||
const res = await post('admin/boc/insertOfficialResult', params)
|
||||
return res
|
||||
}
|
||||
15
pgweb/src/api/bankInterface/boccf.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
|
||||
|
||||
// 列表接口
|
||||
export async function getInquiryApplyList (params) {
|
||||
const res = await post('admin/boccf/inquiryApplyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 是否关联接口
|
||||
export async function isRelatedInquiry (params) {
|
||||
const res = await post('admin/boccf/isRelatedInquiry', params)
|
||||
return res
|
||||
}
|
||||
20
pgweb/src/api/bankInterface/boccommon.js
Normal file
@@ -0,0 +1,20 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
|
||||
|
||||
// 列表接口
|
||||
export async function getPreApplyList (params) {
|
||||
const res = await post('admin/bocCommon/getPreApplyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
export async function getApplyOfficialList (params) {
|
||||
const res = await post('admin/bocCommon/getApplyOfficialList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 是否关联接口
|
||||
export async function isRelatedInquiry (params) {
|
||||
const res = await post('admin/bocCommon/isRelatedInquiry', params)
|
||||
return res
|
||||
}
|
||||
149
pgweb/src/api/bankInterface/ceb.js
Normal file
@@ -0,0 +1,149 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
|
||||
|
||||
// 图片接口
|
||||
export async function getBase64Img (params) {
|
||||
const res = await post('admin/ceb/getBase64Img', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 测试接口
|
||||
export async function testCEBAPI (params) {
|
||||
const res = await post('admin/ceb/testCEB', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价申请列表
|
||||
export async function requestInquiryList (params) {
|
||||
const res = await post('admin/ceb/getInquiryApplyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取业务编号关联的询价申请
|
||||
export async function requestInquiry (params) {
|
||||
const res = await post('admin/ceb/getInquiryApply', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 返回询价结果
|
||||
export async function replyInquiry (params) {
|
||||
const res = await post('admin/ceb/esz004', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 返回询价结果列表
|
||||
export async function replyInquiryList (params) {
|
||||
const res = await post('admin/ceb/getReplyInquriyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
/************ 报告 *********************************************/
|
||||
|
||||
// 请求报告结果返回
|
||||
export async function replyReport (params) {
|
||||
const res = await post('admin/ceb/esz006', params)
|
||||
return res
|
||||
}
|
||||
// 评估报告申请退回
|
||||
export async function rejectReportApply (params) {
|
||||
const res = await post('admin/ceb/rejectReportApply', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 请求业务编号关联的报告申请列表
|
||||
export async function requestReportApply (params) {
|
||||
const res = await post('admin/ceb/getReportApply', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 请求报告申请列表
|
||||
export async function requestReportApplylist2C (params) {
|
||||
const res = await post('admin/ceb/getReportApplylist2C', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 请求报告结果列表
|
||||
export async function replyReportResultList (params) {
|
||||
const res = await post('admin/ceb/getReportResultList', params)
|
||||
return res
|
||||
}
|
||||
/************ 核价 *********************************************/
|
||||
|
||||
// 核价申请列表
|
||||
export async function checkApplyList (params) {
|
||||
const res = await post('admin/ceb/getCheckApplyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 核价回复
|
||||
export async function replyCheckApply (params) {
|
||||
const res = await post('admin/ceb/esz009', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 核价回复列表
|
||||
export async function replyCheckApplyList (params) {
|
||||
const res = await post('admin/ceb/getCheckResultList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 催办列表
|
||||
export async function getUrgeList (params) {
|
||||
const res = await post('admin/ceb/getUrgeList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 贷后重估申请列表
|
||||
export async function getReevaluateApplyList (params) {
|
||||
const res = await post('admin/ceb/getReevaluateApplyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 贷后重估结果列表
|
||||
export async function getReevaluateResultList (params) {
|
||||
const res = await post('admin/ceb/getReevaluateResultList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 贷后重估回复
|
||||
export async function replyReevaluate (params) {
|
||||
const res = await post('admin/ceb/esz011', params)
|
||||
return res
|
||||
}
|
||||
//贷后重估失败
|
||||
export async function rejectReevation (params) {
|
||||
const res = await post('admin/ceb/rejectReevation', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 判断业务编号是否已关联询价单
|
||||
export async function isBusinessNoLinkInquiry (params) {
|
||||
const res = await post('admin/ceb/isBusinessNoLinkInquiry', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 请求重传报告申请列表
|
||||
export async function esz012ApplyList (params) {
|
||||
const res = await post('admin/ceb/getEsz012ApplyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取指定业务编号的重传申请
|
||||
export async function esz012Apply (params) {
|
||||
const res = await post('admin/ceb/getEsz012Apply', params)
|
||||
return res
|
||||
}
|
||||
// 请求报告结果列表
|
||||
export async function esz012ReplyList (params) {
|
||||
const res = await post('admin/ceb/getEsz012ResultList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 设置请求报告为已完成
|
||||
export async function setReportApplyDone (params) {
|
||||
const res = await post('admin/ceb/setReportApplyDone', params)
|
||||
return res
|
||||
}
|
||||
375
pgweb/src/api/basicData.js
Normal file
@@ -0,0 +1,375 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
// 客户数据管理列表接口
|
||||
export async function getStatistics (params) {
|
||||
const res = await get('web/customer/statistics', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 客户数据明细接口
|
||||
export async function getCustomerDetail (params) {
|
||||
const res = await get('web/customer/detail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 估价师管理列表
|
||||
export async function valuerList (params) {
|
||||
const res = await post('admin/ValuerSetUp/valuerList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增估价师
|
||||
export async function addValuer (params) {
|
||||
const res = await post('admin/ValuerSetUp/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 编辑估价师
|
||||
export async function editValuer (params) {
|
||||
const res = await post('admin/valuer/editValuer', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 估价师详情
|
||||
export async function getValuerInfo (params) {
|
||||
const res = await post('admin/ValuerSetUp/ValuerDetails', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 客户经理列表
|
||||
export async function managerList (params) {
|
||||
const res = await post('admin/manage/managerList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 银行设置列表
|
||||
export async function bankList (params) {
|
||||
const res = await post('admin/banksInfoManage/bankList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预估单-列表
|
||||
export async function EstimateList (params) {
|
||||
const res = await post('admin/EstimateSetUp/EstimateList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取所有银行
|
||||
export async function reqBankList (params) {
|
||||
const res = await post('admin/Bank/reqBankList', params)
|
||||
return res
|
||||
}
|
||||
// 获取所有分行
|
||||
export async function getBranch (params) {
|
||||
const res = await post('admin/Bank/getBranch', params)
|
||||
return res
|
||||
}
|
||||
// 获取城市
|
||||
export async function getBuildingCity (params) {
|
||||
const res = await post('admin/Regions/getBuildingCity', params)
|
||||
return res
|
||||
}
|
||||
// 新增银行
|
||||
export async function addBank (params) {
|
||||
const res = await post('admin/banksInfoManage/addBank', params)
|
||||
return res
|
||||
}
|
||||
// 新增分行
|
||||
export async function reqAddBranchBank (params) {
|
||||
const res = await post('admin/banksInfoManage/reqAddBranchBank', params)
|
||||
return res
|
||||
}
|
||||
// 新增支行
|
||||
export async function reqAddSubBank (params) {
|
||||
const res = await post('admin/banksInfoManage/reqAddSubBank', params)
|
||||
return res
|
||||
}
|
||||
// 编辑支行
|
||||
export async function reqUpdateSubBankInfo (params) {
|
||||
const res = await post('admin/banksInfoManage/reqUpdateSubBankInfo', params)
|
||||
return res
|
||||
}
|
||||
// 获取银行信息
|
||||
export async function reqBankInfo (params) {
|
||||
const res = await post('admin/banksInfoManage/reqBankInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 选择支行信息
|
||||
export async function getAllBranchBank (params) {
|
||||
const res = await post('admin/manage/getAllBranchBank', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增客户经理
|
||||
export async function addManager (params) {
|
||||
const res = await post('admin/manage/addManager', params)
|
||||
return res
|
||||
}
|
||||
// 新增客户经理
|
||||
export async function editManager (params) {
|
||||
const res = await post('admin/manage/editManager', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 分行列表
|
||||
export async function branchList (params) {
|
||||
const res = await post('admin/banksInfoManage/branchList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取分行信息
|
||||
export async function getBranchInfo (params) {
|
||||
const res = await post('admin/banksInfoManage/getBranchInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取支行列表
|
||||
export async function subBranchList (params) {
|
||||
const res = await post('admin/banksInfoManage/subBranchList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取支行信息
|
||||
export async function getSubBranchInfo (params) {
|
||||
const res = await post('admin/banksInfoManage/getSubBranchInfo', params)
|
||||
return res
|
||||
}
|
||||
// 银行账户列表
|
||||
export async function getAccountManager (params) {
|
||||
const res = await get('admin/AccountManager/index', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 设置银行账户状态
|
||||
export async function setStatus (params) {
|
||||
const res = await post('admin/AccountManager/setStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增银行账户
|
||||
export async function addBankAccount (params) {
|
||||
const res = await post('admin/AccountManager/addBankAccount', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取银行账户信息
|
||||
export async function getBankAccountInfo (params) {
|
||||
const res = await post('admin/AccountManager/getBankAccountInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 区域配置列表
|
||||
export async function getRegionsList (params) {
|
||||
const res = await post('admin/Regions/index', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取城区/片区/区域
|
||||
export async function reqDistrict (params) {
|
||||
const res = await post('admin/Regions/reqDistrict', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增区域配置
|
||||
export async function addRegionConfig (params) {
|
||||
const res = await post('admin/Regions/addRegionConfig', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 区域配置信息
|
||||
export async function getRegionsInfo (params) {
|
||||
const res = await post('admin/Regions/getInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预估单列表
|
||||
export async function getPredictList (params) {
|
||||
const res = await post('admin/banksInfoManage/reqEstimatedList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 上传预估单
|
||||
export async function uploadPredict (params) {
|
||||
const res = await get('admin/banksInfoManage/uploadPredict', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 设置模板状态
|
||||
export async function setTemplateStatus (params) {
|
||||
const res = await post('admin/banksInfoManage/setTemplateStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 产品设置列表
|
||||
export async function productList (params) {
|
||||
const res = await post('admin/ProductSetUp/ProductList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 产品状态修改
|
||||
export async function productModify (params) {
|
||||
const res = await post('admin/ProductSetUp/ProductModify', params)
|
||||
return res
|
||||
}
|
||||
// 报告模板列表
|
||||
export async function reportTemplate (params) {
|
||||
const res = await post('admin/ProductSetUp/ReportTemplateList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 提交产品
|
||||
export async function submitProduct (params) {
|
||||
const res = await post('admin/ProductSetUp/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取产品详情
|
||||
export async function getProductDetails (params) {
|
||||
const res = await post('admin/ProductSetUp/ProductDetails', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告模板列表
|
||||
export async function reportTemplateList (params) {
|
||||
const res = await post('admin/report/reportTemplateList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增报告模板
|
||||
export async function addReportTemplate (params) {
|
||||
const res = await post('admin/report/addReportTemplate', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取报告模板信息
|
||||
export async function getReportTemplateInfo (params) {
|
||||
const res = await post('admin/report/getReportTemplateInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预估单-提交
|
||||
export async function EstimateSetUpSave (params) {
|
||||
const res = await post('admin/EstimateSetUp/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预估单-详情
|
||||
export async function EstimateDetails (params) {
|
||||
const res = await post('admin/EstimateSetUp/EstimateDetails', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取报告模板信息(预览)
|
||||
export async function templatePreview (params) {
|
||||
const res = await post('admin/Report/templatePreview', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取区域
|
||||
export async function getSmallArea (params) {
|
||||
const res = await post('admin/Regions/getSmallArea', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 对公收费配置-详情
|
||||
export async function expenseDetails (params) {
|
||||
const res = await post('admin/PublicExpenseSetUp/ExpenseDetails', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 对公收费配置-保存
|
||||
export async function publicExpenseSetUpCheck (params) {
|
||||
const res = await post('admin/PublicExpenseSetUp/check', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 模块列表
|
||||
export async function moduleList (params) {
|
||||
const res = await post('admin/Report/moduleList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 模块排序
|
||||
export async function updateModuleSort (params) {
|
||||
const res = await post('admin/Report/updateModuleSort', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取模块信息
|
||||
export async function getModuleInfo (params) {
|
||||
const res = await post('admin/Report/getModuleInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增模块
|
||||
export async function addModule (params) {
|
||||
const res = await post('admin/Report/addModule', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 设置模板状态
|
||||
export async function toSetTemplateStatus (params) {
|
||||
const res = await post('admin/Report/setTemplateStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取模块列表
|
||||
export async function getModuleList (params) {
|
||||
const res = await post('admin/Report/getModuleList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增报告模板
|
||||
export async function subModule (params) {
|
||||
const res = await post('admin/report/subModule', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取支行
|
||||
export async function getBranchBybank (params) {
|
||||
const res = await post('admin/Bank/getBranchBybank', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取简易报告模板信息
|
||||
export async function getSimpleReportTemplateInfo (params) {
|
||||
const res = await post('admin/report/getSimpleReportTemplateInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增报告模板
|
||||
export async function updateSimpleReportTemplate (params) {
|
||||
const res = await post('admin/report/updateSimpleReportTemplate', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易报告预览
|
||||
export async function templatePreviewSimple (params) {
|
||||
const res = await post('admin/report/templatePreviewSimple', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 分公司管理 - 获取列表
|
||||
export async function getBranchCompanyList (params) {
|
||||
const res = await get('admin/branchComConfig/list', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 分公司管理 - 新增
|
||||
export async function addBranchCompany (params) {
|
||||
const res = await post('admin/branchComConfig/add', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 分公司管理 - 更新
|
||||
export async function updateBranchCompany (params) {
|
||||
const res = await post('admin/branchComConfig/update', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 分公司管理 - 删除
|
||||
export async function deleteBranchCompany (params) {
|
||||
const res = await post('admin/branchComConfig/delete', params)
|
||||
return res
|
||||
}
|
||||
13
pgweb/src/api/basicData/systemConfiguration/index.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
// 系统参数-列表
|
||||
export async function systemConfigList (params) {
|
||||
const res = await post('admin/systemConfig/systemConfigList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 系统参数值-修改
|
||||
export async function systemConfigEdit (params) {
|
||||
const res = await post('admin/systemConfig/systemConfigEdit', params)
|
||||
return res
|
||||
}
|
||||
43
pgweb/src/api/basicData/taxSettings/index.js
Normal file
@@ -0,0 +1,43 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
// 新增/编辑税费设置提交接口
|
||||
export async function TaxationSetUpAave (params) {
|
||||
const res = await post('admin/TaxationSetUp/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 点击修改调用接口
|
||||
export async function TaxationDetails (params) {
|
||||
const res = await post('admin/TaxationSetUp/TaxationDetails', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 点击新增时调用接口
|
||||
export async function TaxationAdd (params) {
|
||||
const res = await post('admin/TaxationSetUp/TaxationAdd', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 状态修改接口
|
||||
export async function TaxationModify (params) {
|
||||
const res = await post('admin/TaxationSetUp/TaxationModify', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 税费设置列表
|
||||
export async function TaxationList (params) {
|
||||
const res = await post('admin/TaxationSetUp/TaxationList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 城市下拉接口
|
||||
export async function getCity (params) {
|
||||
const res = await post('admin/Bank/getCity', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 根据银行获取产品下拉列表接口
|
||||
export async function productList (params) {
|
||||
const res = await post('admin/TaxationSetUp/productLiat', params)
|
||||
return res
|
||||
}
|
||||
25
pgweb/src/api/branch.js
Normal file
@@ -0,0 +1,25 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
// 报告列表
|
||||
export async function getReportList (params) {
|
||||
const res = await post('admin/branchReport/list', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 添加报告
|
||||
export async function addReport (params) {
|
||||
const res = await post('admin/branchReport/add', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 审核报告
|
||||
export async function reviewReport (params) {
|
||||
const res = await post('admin/branchReport/review', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 删除报告
|
||||
export async function deleteReport (params) {
|
||||
const res = await post('admin/branchReport/delete', params)
|
||||
return res
|
||||
}
|
||||
212
pgweb/src/api/businessManage/businessInfo.js
Normal file
@@ -0,0 +1,212 @@
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 询价-列表
|
||||
export async function reqQuotList (params) {
|
||||
const res = await post('admin/Bussiness/index', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价-正常调价
|
||||
export async function reqNormalAdjustApprisePrice (params) {
|
||||
const res = await post('admin/Bussiness/reqNormalAdjustApprisePrice', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价-上传房产证信息
|
||||
export async function reqPropertCertInfo (params) {
|
||||
const res = await post('admin/Bussiness/reqPropertCertInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价-撤单
|
||||
export async function cancel (params) {
|
||||
const res = await post('admin/Bussiness/cancel', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价-发起查勘
|
||||
// export async function askSurvey (params) {
|
||||
// const res = await post('admin/inquiry-detail/ask-survey', params)
|
||||
// return res
|
||||
// }
|
||||
|
||||
// 询价-发起查勘
|
||||
export async function askSurvey (params) {
|
||||
const res = await post('admin/Property_cert_info/reqApplySurvey', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价-详情
|
||||
export async function property_cert_info (params) {
|
||||
const res = await post('admin/Bussiness/property_cert_info', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价-房产信息-详情
|
||||
export async function reqPropertyInfo (params) {
|
||||
const res = await post('admin/Bussiness/reqPropertyInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 我的查勘-列表
|
||||
export async function surveyList (params) {
|
||||
const res = await get('admin/survey/index', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 我的查勘-详情
|
||||
export async function reqSurveyInfo (params) {
|
||||
const res = await post('admin/Survey/reqSurveyInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 我的查勘-生成报告
|
||||
export async function addReport (params) {
|
||||
const res = await post('admin/survey/addReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 我的查勘-获取报告信息
|
||||
export async function reqReportPropertyInfo (params) {
|
||||
const res = await post('admin/survey/reqReportPropertyInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 我的查勘-获取楼盘
|
||||
export async function getBuildingInfo (params) {
|
||||
const res = await post('admin/survey/getBuildingInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 我的报告-列表
|
||||
export async function reqReportList (params) {
|
||||
const res = await get('admin/report/index', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 我的报告-详情
|
||||
export async function reportDetail (params) {
|
||||
const res = await post('admin/report/reportDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 正常调价-列表
|
||||
export async function reqNormalAdjustApprisePriceList (params) {
|
||||
const res = await post('admin/Bussiness/reqNormalAdjustApprisePriceList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 正常调价-详情
|
||||
export async function normalModifyDetail (params) {
|
||||
const res = await post('admin/Bussiness/normalModifyDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 价格查询-列表
|
||||
export async function priceQueryList (params) {
|
||||
const res = await get('admin/priceQuery/index', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 小片区
|
||||
export async function getSmallArea (params) {
|
||||
const res = await post('admin/Regions/getSmallArea', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请生成报告
|
||||
export async function createReport (params) {
|
||||
const res = await post('admin/Bussiness/createReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价-线上取号
|
||||
export async function getReportQRCode (params) {
|
||||
const res = await post('admin/Bussiness/getReportQRCode', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查档历史
|
||||
export async function checkRecord (params) {
|
||||
const res = await post('admin/CheckFile/checkRecord', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 再次查档
|
||||
export async function checkAgain (params) {
|
||||
const res = await post('admin/CheckFile/checkAgain', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告预览
|
||||
export async function reqPreviewReport (params) {
|
||||
const res = await post('admin/ReportManage/reqPreviewReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易询价列表
|
||||
export async function simpleInquiryIndex (params) {
|
||||
const res = await post('admin/simpleInquiry/index', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 提交简易询价
|
||||
export async function simpleInquirySave (params) {
|
||||
const res = await post('admin/simpleInquiry/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易询价-订单状态
|
||||
export async function getOrderStatus (params) {
|
||||
const res = await post('admin/SimpleInquiry/getOrderStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价列表-生成报告-详情
|
||||
export async function getReportDetail (params) {
|
||||
const res = await post('admin/Bussiness/getReportDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请合同号
|
||||
export async function generateContractNo (params) {
|
||||
const res = await post('admin/Report/generateContractNo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 在inquiry.js中添加以下方法
|
||||
|
||||
/**
|
||||
* 根据名称搜索物业
|
||||
* @param {String} keyword - 搜索关键词
|
||||
*/
|
||||
export async function searchPropertyByName(params) {
|
||||
const res = await post('admin/PropertyCertInfo/searchNames', params )
|
||||
return res
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取物业详情
|
||||
* @param {Number} id - 物业ID
|
||||
*/
|
||||
export async function getPropertyById(params) {
|
||||
const res = await post('admin/PropertyCertInfo/propertyDetail', params )
|
||||
return res
|
||||
}
|
||||
|
||||
/**
|
||||
* 询价的导出
|
||||
*/
|
||||
export async function exportInquiryExcel(params) {
|
||||
const res = await post('admin/Pending/exportInquiryExcel', params )
|
||||
return res
|
||||
}
|
||||
|
||||
/**
|
||||
* 历史询价-列表
|
||||
*/
|
||||
export async function getOldList(params) {
|
||||
const res = await post('admin/Bussiness/old_index', params )
|
||||
return res
|
||||
}
|
||||
142
pgweb/src/api/businessManage/inquiry.js
Normal file
@@ -0,0 +1,142 @@
|
||||
import { post } from '@/libs/request'
|
||||
// 专属录入询价页面的银行获取下拉框,只有登录用户有建行业务员角色才包含建行选项
|
||||
export async function getBankForInquiry (params) {
|
||||
const res = await post('admin/Bank/getBankForInquiry', params)
|
||||
return res
|
||||
}
|
||||
// 银行获取
|
||||
export async function reqBankList (params) {
|
||||
const res = await post('admin/Bank/reqBankList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 分行、支行获取
|
||||
export async function getBranch (params) {
|
||||
const res = await post('admin/Bank/getBranch', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 客户经理下拉列表
|
||||
export async function getAccountManager (params) {
|
||||
const res = await post('admin/AccountManager/getAccountManager', params)
|
||||
return res
|
||||
}
|
||||
/**
|
||||
* 根据名称搜索物业
|
||||
* @param {String} keyword - 搜索关键词
|
||||
*/
|
||||
|
||||
|
||||
// 获取城区
|
||||
export async function reqDistrict (params) {
|
||||
const res = await post('admin/Regions/reqDistrict', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取城市下拉列表
|
||||
export async function getBuildingCity (params) {
|
||||
const res = await post('admin/Regions/getBuildingCity', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 提交询价
|
||||
export async function save (params) {
|
||||
const res = await post('admin/Bussiness/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 批量提交询价
|
||||
export async function batchSave (params) {
|
||||
const res = await post('admin/Bussiness/batchSave', params)
|
||||
return res
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取服务器枚举的客户类型方法
|
||||
* @param {*} params params['enumName'] 枚举管理调用方法
|
||||
* @returns
|
||||
*/
|
||||
export async function getEnumCustomTypeList (param) {
|
||||
const res = await post('admin/EnumManager/getCustomTypeList', param)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取评估目的
|
||||
export async function getProduct (params) {
|
||||
const res = await post('admin/Bussiness/getProduct', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查档
|
||||
export async function consultFiles (params) {
|
||||
const res = await post('admin/CheckFile/consultFiles', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘信息
|
||||
export async function reqReportSurveyDetail (params) {
|
||||
const res = await post('admin/ReportManage/reqReportSurveyDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 验证近三个月是否出过报告
|
||||
export async function checkExistReport (params) {
|
||||
const res = await post('admin/Bussiness/checkExistReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 判断物业是否在指定时间内重复询价
|
||||
export async function reqIsQuotDuplicated (params) {
|
||||
const res = await post('admin/Bussiness/reqIsQuotDuplicated', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 重复询价单提交
|
||||
export async function reqQuotSubmitAgain (params) {
|
||||
const res = await post('admin/Bussiness/reqQuotSubmitAgain', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
export async function getEstateListByName (params) {
|
||||
const res = await post('lpDict/LpDictBase/getEstateListByName', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
export async function getBuildingListByLpid (params) {
|
||||
const res = await post('lpDict/LpDictBase/getBuildingListByLpid', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 模糊搜索栋号名
|
||||
export async function getBuildingListByBName (params) {
|
||||
const res = await post('lpDict/LpDictBase/getBuildingListByBName', params)
|
||||
return res
|
||||
}
|
||||
|
||||
export async function getPropertyListByBid (params) {
|
||||
const res = await post('lpDict/LpDictBase/getPropertyListByBid', params)
|
||||
return res
|
||||
}
|
||||
|
||||
export async function getEstateListByFirestLetter (params) {
|
||||
const res = await post('lpDict/LpDictBase/getEstateListByFirestLetter', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取3个月内同一个物业的询价记录接口
|
||||
export async function getThreeMonthSameEstateInquiryRecord (params) {
|
||||
const res = await post('admin/Pending/getThreeMonthSameEstateInquiryRecord', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 检测业务编号是否有效
|
||||
export async function checkBusinessNoIsValid (params) {
|
||||
const res = await post('admin/Bussiness/checkBusinessNoIsValid', params)
|
||||
return res
|
||||
}
|
||||
29
pgweb/src/api/chargeManage.js
Normal file
@@ -0,0 +1,29 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
// 收费管理列表接口
|
||||
export async function getFeeList (params) {
|
||||
const res = await post('admin/fee/feeList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费管理详情基本信息
|
||||
export async function getFeeBaseInfo (params) {
|
||||
const res = await post('admin/fee/feeBaseList', params)
|
||||
return res
|
||||
}
|
||||
// 收费管理详情
|
||||
export async function getFeeDetail (params) {
|
||||
const res = await post('admin/fee/fee_detail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费提交
|
||||
export async function feeEdit (params) {
|
||||
const res = await post('admin/fee/feeEdit', params)
|
||||
return res
|
||||
}
|
||||
// 批量收费提交
|
||||
export async function mutilFee (params) {
|
||||
const res = await post('admin/fee/mutilFee', params)
|
||||
return res
|
||||
}
|
||||
43
pgweb/src/api/classify.js
Normal file
@@ -0,0 +1,43 @@
|
||||
import { get, post, _delete } from '@/libs/request'
|
||||
|
||||
// 查询项分类列表
|
||||
export async function getClassifys (params) {
|
||||
const res = await get('web/classify/list', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查询项分类删除
|
||||
export async function deleteClassify (params) {
|
||||
const res = await _delete('web/classify', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查询项分类保存
|
||||
export async function addClassify (params) {
|
||||
const res = await post('web/classify', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查询项列表
|
||||
export async function getInterfaces (params) {
|
||||
const res = await get('web/interface', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 关联查询项保存
|
||||
export async function addItem (params) {
|
||||
const res = await post('web/item', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 关联查询项删除
|
||||
export async function deleteItem (params) {
|
||||
const res = await _delete('web/item', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 关联查询项列表
|
||||
export async function getItemList (params) {
|
||||
const res = await get('web/item/list', params)
|
||||
return res
|
||||
}
|
||||
378
pgweb/src/api/costManage.js
Normal file
@@ -0,0 +1,378 @@
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 查询待确认列表
|
||||
export async function getTobeConfirm (params) {
|
||||
const res = await post('admin/Charge/getTobeConfirmedList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 待确认列表-收费详情
|
||||
export async function getWaitDetail (params) {
|
||||
const res = await post('admin/Charge/getWaitDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 待确认列表-查看凭证
|
||||
export async function getTransferVoucher (params) {
|
||||
const res = await post('admin/Charge/getTransferVoucherByChargeId', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 待确认列表-确认收款
|
||||
export async function updConfirmAmount (params) {
|
||||
const res = await post('admin/Charge/updConfirmAmount', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费详情页面-查看转账凭证
|
||||
export async function getTransferVoucherById (params) {
|
||||
const res = await get('admin/Charge/getTransferVoucherById', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 实结单列表-退回预结单
|
||||
export async function returnPreStatementStatus (params) {
|
||||
const res = await post('admin/StatementManage/returnPreStatementStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 实结单列表
|
||||
export async function realStatementList (params) {
|
||||
const res = await post('admin/StatementManage/realStatementList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 待结单列表
|
||||
export async function waitStatementList (params) {
|
||||
const res = await post('admin/StatementManage/waitStatementList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 待结单列表-发起预结单
|
||||
export async function doPreStatementStatus (params) {
|
||||
const res = await post('admin/StatementManage/doPreStatementStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 结单列表共用收费详情接口
|
||||
export async function getStatementDetail (params) {
|
||||
const res = await post('admin/StatementManage/getStatementDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预结单列表-确认实结单
|
||||
export async function doRealStatementStatus (params) {
|
||||
const res = await post('admin/StatementManage/doRealStatementStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预结单列表-退回待结单
|
||||
export async function returnWaitStatementStatus (params) {
|
||||
const res = await post('admin/StatementManage/returnWaitStatementStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预结单列表
|
||||
export async function preStatementList (params) {
|
||||
const res = await post('admin/StatementManage/preStatementList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 批量收费
|
||||
export async function mutilFee (params) {
|
||||
const res = await post('admin/fee/mutilFee', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费列表
|
||||
export async function feeList (params) {
|
||||
const res = await post('admin/fee/feeList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费提交接口
|
||||
export async function feeEdit (params) {
|
||||
const res = await post('admin/fee/feeEdit', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费管理-详情页
|
||||
export async function feeBaseList (params) {
|
||||
const res = await post('admin/fee/feeBaseList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费详情
|
||||
export async function fee_detail (params) {
|
||||
const res = await post('admin/fee/fee_detail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 票据列表
|
||||
export async function billList (params) {
|
||||
const res = await post('admin/Bill/billList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 票据详情
|
||||
export async function billDetail (params) {
|
||||
const res = await post('admin/Bill/billDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 通过
|
||||
export async function agree (params) {
|
||||
const res = await post('admin/Bill/agree', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 驳回
|
||||
export async function back (params) {
|
||||
const res = await post('admin/Bill/back', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取报告编号
|
||||
export async function getReporeNo (params) {
|
||||
const res = await post('admin/Bill/getReporeNo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 开具发票
|
||||
export async function invoicing (params) {
|
||||
const res = await post('admin/Bill/invoicing', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 订单列表
|
||||
export async function orderList (params) {
|
||||
const res = await post('admin/Bill/orderList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费更新列表
|
||||
export async function getList (params) {
|
||||
const res = await post('admin/ChargeManage/getList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费更新列表
|
||||
export async function ChargeManageImport (params) {
|
||||
const res = await post('admin/ChargeManage/import', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 业务员收费列表
|
||||
export async function getSalesmanList (params) {
|
||||
const res = await post('admin/ChargeManage/getSalesmanList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 上传文件
|
||||
export async function mangeImport (params) {
|
||||
const res = await post('admin/ChargeManage/import', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费汇总列表
|
||||
export async function getSummaryList (params) {
|
||||
const res = await post('admin/Charge/getSummaryList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请详情
|
||||
export async function getRefundDetail (params) {
|
||||
const res = await post('admin/Charge/getRefundDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查看详细
|
||||
export async function getSummaryDetail (params) {
|
||||
const res = await post('admin/Charge/getSummaryDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 退费列表
|
||||
export async function getRefundList (params) {
|
||||
const res = await post('admin/Charge/getRefundList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 退费审批
|
||||
export async function refundApproval (params) {
|
||||
const res = await post('admin/Charge/refundApproval', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请退费-获取信息
|
||||
export async function getRefund (params) {
|
||||
const res = await post('admin/Charge/getRefund', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 确认应收款获取银行下拉数据
|
||||
export async function getBankAccount (params) {
|
||||
const res = await post('admin/ChargeManage/getBankAccount', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 业务员收费列表-确认应收款
|
||||
export async function salesmanConfirm (params) {
|
||||
const res = await post('admin/ChargeManage/salesmanConfirm', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 校验报告编号
|
||||
export async function checkReportNo (params) {
|
||||
const res = await post('admin/Charge/checkReportNo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请退报告费,校验报告编号
|
||||
export async function billcheckReportNo (params) {
|
||||
const res = await post('admin/Bill/checkReportNo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请退费
|
||||
export async function applyRefund (params) {
|
||||
const res = await post('admin/Charge/applyRefund', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取支行
|
||||
export async function getBranchBybank (params) {
|
||||
const res = await post('admin/Bank/getBranchBybank', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请票据 - 获取详情
|
||||
export async function getBill (params) {
|
||||
const res = await post('admin/Bill/getBill', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请票据 - 获取详情
|
||||
export async function addBill (params) {
|
||||
const res = await post('admin/Bill/addBill', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 领取票据
|
||||
export async function billDraw (params) {
|
||||
const res = await post('admin/Bill/draw', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取城区
|
||||
/*export async function reqDistrict (params) {
|
||||
const res = await post('admin/Regions/reqDistrict', params)
|
||||
return res
|
||||
}*/
|
||||
|
||||
// 获取城市
|
||||
export async function getBuildingCity (params) {
|
||||
const res = await post('admin/Regions/getBuildingCity', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 费用申请管理
|
||||
export async function getBusinessRefundList (params) {
|
||||
const res = await post('admin/charge/getBusinessRefundList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
export async function businessBillList (params) {
|
||||
const res = await post('admin/Bill/businessBillList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 财务管理-退费列表
|
||||
export async function getFinanceRefundList (params) {
|
||||
const res = await post('admin/Charge/getFinanceRefundList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费更新列表-录入应收
|
||||
export async function updReceivable (params) {
|
||||
const res = await post('admin/ChargeManage/updReceivable', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 业务员收费-未收费
|
||||
export async function getSalesmanListNotCollected (params) {
|
||||
const res = await post('admin/ChargeManage/getSalesmanListNotCollected', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 业务员收费-未收费-导出
|
||||
export async function salesExportNotCollected (params) {
|
||||
const res = await post('admin/ChargeManage/salesExportNotCollected', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 业务员收费-已收费
|
||||
export async function getSalesmanListCollected (params) {
|
||||
const res = await post('admin/ChargeManage/getSalesmanListCollected', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 业务员收费-已收费-导出
|
||||
export async function salesExportCollected (params) {
|
||||
const res = await post('admin/ChargeManage/salesExportCollected', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 月结收费-未收费
|
||||
export async function getMonthListNotCollected (params) {
|
||||
const res = await post('admin/ChargeManage/getMonthListNotCollected', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 月结收费-已收费
|
||||
export async function getMonthListCollected (params) {
|
||||
const res = await post('admin/ChargeManage/getMonthListCollected', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 收费汇总列表-搜索条件-获取部门
|
||||
export async function getBusinessDeparts (params) {
|
||||
const res = await post('admin/charge/getBusinessDeparts', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 月结收费-未收费-导入
|
||||
export async function monthUpdImport (params) {
|
||||
const res = await post('admin/ChargeManage/monthUpdImport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易收费-已收费
|
||||
export async function getSimpleReportCollected (params) {
|
||||
const res = await post('admin/ChargeManage/getSimpleReportCollected', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易收费-未收费
|
||||
export async function getSimpleReportUncollected (params) {
|
||||
const res = await post('admin/chargeManage/getSimpleReportUncollected', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易收费-已收费-修改
|
||||
export async function getSimpleReportCollectedEdit (params) {
|
||||
const res = await post('admin/chargeManage/getSimpleReportCollectedEdit', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易收费-已收费-金额确认
|
||||
export async function getSimpleReportCollectedConfirm (params) {
|
||||
const res = await post('admin/chargeManage/getSimpleReportCollectedConfirm', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 常规数据-订单列表-转结款方式
|
||||
export async function editPayType (params) {
|
||||
const res = await post('admin/Bill/editPayType', params)
|
||||
return res
|
||||
}
|
||||
19
pgweb/src/api/credit.js
Normal file
@@ -0,0 +1,19 @@
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 根据征信类型获取个人征信或者企业征信列表
|
||||
export async function getCredits (params) {
|
||||
const res = await get('credit/queryCreditReportList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取征信报告详情
|
||||
export async function getcreditDetail (reportNo) {
|
||||
const res = await get(`credit/creditDetail/${reportNo}`)
|
||||
return res
|
||||
}
|
||||
|
||||
// 导出征信报告详情
|
||||
export async function exportCreditList (params) {
|
||||
const res = await post('credit/queryCreditReportList', params)
|
||||
return res
|
||||
}
|
||||
7
pgweb/src/api/dictionary.js
Normal file
@@ -0,0 +1,7 @@
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 获取指定数据字典
|
||||
export async function getDictionary (params) {
|
||||
const res = await post('web/dictionary', params)
|
||||
return res
|
||||
}
|
||||
5
pgweb/src/api/index.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import * as basicData from './basicData'
|
||||
|
||||
export default {
|
||||
basicData
|
||||
}
|
||||
25
pgweb/src/api/message.js
Normal file
@@ -0,0 +1,25 @@
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 消息通知列表
|
||||
export async function getMessageList (params) {
|
||||
const res = await post('admin/MessageRemind/MessageRemindList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 公告/传阅
|
||||
export async function getNotice (params) {
|
||||
const res = await post('admin/MessageRemind/Notice', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 消息列表 最新10条 推送模块
|
||||
export async function messageList (params) {
|
||||
const res = await post('admin/MessageRemind/MessageRemindAll', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 消息已阅调用接口-共用
|
||||
export async function messageRead (params) {
|
||||
const res = await post('admin/MessageRemind/MessageRead', params)
|
||||
return res
|
||||
}
|
||||
37
pgweb/src/api/mineWork.js
Normal file
@@ -0,0 +1,37 @@
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 获取用户列表
|
||||
export async function getUsersList (params) {
|
||||
const res = await post('admin/notice/getUsersList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取个人办公相关列表
|
||||
export async function noticeGetList (params) {
|
||||
const res = await post('admin/notice/getList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 发布 / 撤回
|
||||
export async function getChangeStatus (params) {
|
||||
const res = await post('admin/notice/change_status', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 新增/编辑
|
||||
export async function noticeEdit (params) {
|
||||
const res = await post('admin/notice/notice_edit', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 详情
|
||||
export async function noticeDetail (params) {
|
||||
const res = await post('admin/notice/detail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回复
|
||||
export async function noticeReply (params) {
|
||||
const res = await post('admin/notice/reply', params)
|
||||
return res
|
||||
}
|
||||
244
pgweb/src/api/priceReturn/unreturnedPrice.js
Normal file
@@ -0,0 +1,244 @@
|
||||
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 住宅/商业项目列表接口
|
||||
export async function reqAppraisingPriceList (params) {
|
||||
const res = await post('admin/Pending/reqAppraisingPriceList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价提交
|
||||
export async function save (params) {
|
||||
const res = await post('admin/Pending/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价详情--未完成
|
||||
export async function reqAppraisingInfo (params) {
|
||||
const res = await post('admin/Pending/reqAppraisingInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价历史
|
||||
export async function reqQuotHistoryList (params) {
|
||||
const res = await post('admin/Pending/reqQuotHistoryList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 项目列表
|
||||
export async function reqAppraisedCompletedPriceList (params) {
|
||||
const res = await post('admin/Pending/reqAppraisedCompletedPriceList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价详情--已完成
|
||||
export async function reqAppraisedPriceInfo (params) {
|
||||
const res = await post('admin/Pending/reqAppraisedPriceInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 调价-列表
|
||||
export async function ModifyPriceList (params) {
|
||||
const res = await post('admin/Pending/ModifyPriceList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 计算税费
|
||||
export async function AutomaticCalculation (params) {
|
||||
const res = await post('admin/Pending/AutomaticCalculation', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 签章管理-详情
|
||||
export async function SignatureManagement (params) {
|
||||
const res = await post('admin/Pending/SignatureManagement', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 签章管理-提交接口
|
||||
export async function SignatureSave (params) {
|
||||
const res = await post('admin/Pending/SignatureSave', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 取消签章
|
||||
export async function CancelSignature (params) {
|
||||
const res = await post('admin/Pending/CancelSignature', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预估审核接口
|
||||
export async function RequestEstimateAudit (params) {
|
||||
const res = await post('admin/Pending/RequestEstimateAudit', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 取消预估审核接口
|
||||
export async function CancelEstimateAudit (params) {
|
||||
const res = await post('admin/Pending/CancelEstimateAudit', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 计算贷款
|
||||
export async function CalculateLoan (params) {
|
||||
const res = await post('admin/Pending/CalculateLoan', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价详情-调价
|
||||
export async function ModifyPriceDetails (params) {
|
||||
const res = await post('admin/Pending/ModifyPriceDetails', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预估单
|
||||
export async function EstimateSheetTemplate (params) {
|
||||
const res = await get('admin/Pending/EstimateSheetTemplate', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易项目列表
|
||||
export async function SimplePendingIndex (params) {
|
||||
const res = await post('admin/SimplePending/index', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价
|
||||
export async function SimplePendingSave (params) {
|
||||
const res = await post('admin/SimplePending/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易项目列表
|
||||
export async function simpleSummary (params) {
|
||||
const res = await post('admin/SimplePending/simpleSummary', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易项目详情
|
||||
export async function getSimpleDetail (params) {
|
||||
const res = await post('admin/SimplePending/getSimpleDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 提交简易报告
|
||||
export async function subReport (params) {
|
||||
const res = await post('admin/SimplePending/subReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易报告-订单状态
|
||||
export async function getOrderStatus (params) {
|
||||
const res = await post('admin/SimplePending/getOrderStatus', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 简易报告-预览
|
||||
export async function reqPreviewReport (params) {
|
||||
const res = await post('admin/SimplePending/reqPreviewReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 自动估价项目-列表
|
||||
export async function automaticList (params) {
|
||||
const res = await post('admin/pending/AutomaticList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价记录
|
||||
export async function getReturnPriceRecord (params) {
|
||||
const res = await post('admin/Pending/getReturnPriceRecord', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 住宅/商业-预估单列表接口
|
||||
export async function estimateList (params) {
|
||||
const res = await post('admin/Pending/estimateList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 线上报告制作取号
|
||||
export async function GetOnlineReport(params) {
|
||||
const res = await post('admin/Pending/GetOnlineReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 申请预估制作
|
||||
export async function ApplyEstimateMake(params) {
|
||||
const res = await post('admin/Pending/applyEstimateMake', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价到中行消金
|
||||
export async function ReturnPriceToBoccf(params) {
|
||||
const res = await post('admin/Boccf/returnPriceToBoccf', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 上传预估单报告到系统中
|
||||
export async function UpdateInquiryEstimateUrl(params) {
|
||||
const res = await post('admin/Pending/updateInquiryEstimateUrl', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 发送预估单报告到中行消金
|
||||
// export async function SendEstimateReport(params) {
|
||||
// const res = await post('admin/Boccf/sendEstimateReport', params)
|
||||
// return res
|
||||
// }
|
||||
|
||||
// 发送预估单报告到中行消金和普惠
|
||||
export async function SendPreResult(params) {
|
||||
const res = await post('admin/BocCommon/sendPreResult', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预估的导出
|
||||
export async function exportEstimateExcel(params) {
|
||||
const res = await post('admin/Estimate/exportEstimateExcel', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 作废防伪码
|
||||
export async function cancelAntiCounterfeitingCode(params) {
|
||||
const res = await post('admin/Pending/cancelAntiCounterfeitingCode', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 预估待制作、二审待制作、三审待制作列表接口
|
||||
export async function estimateMakeList (params) {
|
||||
const res = await post('admin/Estimate/estimateList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
//预约取号接口
|
||||
export async function getEstimateNo (params) {
|
||||
const res = await post('admin/Estimate/getEstimateNo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
//提交预估接口
|
||||
export async function submitVerify (params) {
|
||||
const res = await post('admin/Estimate/submitVerify', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 退回接口
|
||||
export async function returnEstimate (params) {
|
||||
const res = await post('admin/Estimate/returnEstimate', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 取消签章接口
|
||||
export async function cancelSign (params) {
|
||||
const res = await post('admin/Pending/CancelSignature', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 提交预估接口
|
||||
export async function submitEstimate (params) {
|
||||
const res = await post('admin/Estimate/submit', params)
|
||||
return res
|
||||
}
|
||||
38
pgweb/src/api/public.js
Normal file
@@ -0,0 +1,38 @@
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 数据字典获取
|
||||
export async function reqDataDict (params) {
|
||||
const res = await post('admin/Dictionary/reqDataDict', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 详情是否锁定
|
||||
export async function isAllowOpen (params) {
|
||||
const res = await post('admin/Pending/isAllowOpen', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 延迟关闭
|
||||
export async function delayOpenDetail (params) {
|
||||
const res = await post('admin/Pending/delayOpenDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 详情关闭
|
||||
export async function close (params) {
|
||||
const res = await post('admin/Pending/close', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// ocr识别房屋证书
|
||||
export async function ocrRecogniseHouseCert (params) {
|
||||
const res = await post('admin/bussiness/ocrRecogniseHouseCert', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 复制物业信息
|
||||
export async function copyPropertyCertInfo (params) {
|
||||
const res = await post('admin/bussiness/copyPropertyCertInfo', params)
|
||||
return res
|
||||
}
|
||||
237
pgweb/src/api/publicTools.js
Normal file
@@ -0,0 +1,237 @@
|
||||
import request from '@/libs/request'
|
||||
|
||||
// 支票列表——状态码可读转换
|
||||
export function checkStatus (value) {
|
||||
switch (value) {
|
||||
case -1:
|
||||
return '删除'
|
||||
break
|
||||
case 1:
|
||||
return '库存中'
|
||||
break
|
||||
case 2:
|
||||
return '领取待使用'
|
||||
break
|
||||
case 3:
|
||||
return '转让待确认'
|
||||
break
|
||||
case 4:
|
||||
return '使用待核销'
|
||||
break
|
||||
case 5:
|
||||
return '作废待核销'
|
||||
break
|
||||
case 6:
|
||||
return '使用已核销'
|
||||
break
|
||||
case 7:
|
||||
return '作废已核销'
|
||||
break
|
||||
|
||||
default:''
|
||||
}
|
||||
}
|
||||
// 金额转换
|
||||
// export function number_format(number, decimals, dec_point, thousands_sep) {
|
||||
export function number_format (number, decimals, dec_point, thousands_sep, roundtag) {
|
||||
/*
|
||||
* 参数说明:
|
||||
* number:要格式化的数字
|
||||
* decimals:保留几位小数
|
||||
* dec_point:小数点符号
|
||||
* thousands_sep:千分位符号
|
||||
* */
|
||||
// debugger
|
||||
if (number === null || number === undefined || number === '') {
|
||||
return ''
|
||||
}
|
||||
if (/^\D*$/.test(number)) {
|
||||
return number
|
||||
}
|
||||
number = (number + '').replace(/[^0-9+-Ee.]/g, '')
|
||||
roundtag = roundtag || 'ceil' // "ceil","floor","round"
|
||||
var n = !isFinite(+number) ? 0 : +number,
|
||||
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
|
||||
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
|
||||
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
|
||||
s = '',
|
||||
toFixedFix = function (n, prec) {
|
||||
var k = Math.pow(10, prec)
|
||||
return '' + parseFloat(Math[roundtag](parseFloat((n * k).toFixed(prec * 2))).toFixed(prec * 2)) / k
|
||||
}
|
||||
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')
|
||||
|
||||
var re = /(-?\d+)(\d{3})/
|
||||
while (re.test(s[0])) {
|
||||
s[0] = s[0].replace(re, '$1' + sep + '$2')
|
||||
}
|
||||
if ((s[1] || '').length < prec && decimals !== 0) {
|
||||
s[1] = s[1] || ''
|
||||
s[1] += new Array(prec - s[1].length + 1).join('0')
|
||||
}
|
||||
return s.join(dec)
|
||||
}
|
||||
|
||||
export function mul_number_format (number, decimals, dec_point, thousands_sep, roundtag) {
|
||||
let arr = number.split('/')
|
||||
let str = ''
|
||||
arr.forEach((item, index) => {
|
||||
if (index === 0) {
|
||||
str = number_format(item, decimals, dec_point, thousands_sep, roundtag)
|
||||
} else {
|
||||
str += '/' + number_format(item, decimals, dec_point, thousands_sep, roundtag)
|
||||
}
|
||||
})
|
||||
return str
|
||||
}
|
||||
// 调用 var num=number_format(1234567.089, 2, ".", ",");//1,234,567.09
|
||||
|
||||
/** ************************************时间格式化处理************************************/
|
||||
export function getLocalTime (nS) {
|
||||
return new Date(parseInt(nS) * 1000).toLocaleString().substr(0, 17)
|
||||
}
|
||||
/**
|
||||
* 格式化金额
|
||||
* @param {type} number 要格式化的数字
|
||||
* @param {type} decimals 保留几位小数
|
||||
* @param {type} dec_point 小数点符号
|
||||
* @param {type} thousands_sep 千分位符号
|
||||
* @param {type} roundtag :舍入参数,默认 "ceil" 向上取,"floor"向下取,"round" 四舍五入
|
||||
* @returns {unresolved}
|
||||
*
|
||||
*/
|
||||
// 求数组交集
|
||||
export function arrayIntersection (a, b) {
|
||||
var ai = 0, bi = 0
|
||||
var result = new Array()
|
||||
while (ai < a.length && bi < b.length) {
|
||||
if (a[ai] < b[bi]) { ai++ } else if (a[ai] > b[bi]) { bi++ } else /* they're equal */ {
|
||||
result.push(a[ai])
|
||||
ai++
|
||||
bi++
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// 解码服务器结果
|
||||
export function decode_SrvRes (res) {
|
||||
if (res.isSerialized && res.isSerialized == true) {
|
||||
// 解码Base64数据
|
||||
const decodedData = safeAtob(res.data);
|
||||
|
||||
// 解析解码后的数据为JSON对象
|
||||
const decryptedJsonData = JSON.parse(decodedData);
|
||||
|
||||
// 现在 decryptedJsonData 包含了解码并解析后的JSON数据
|
||||
return decryptedJsonData
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
export function safeAtob(base64Str) {
|
||||
// 检查输入字符串是否是有效的Base64编码
|
||||
const base64Regex = /^[A-Za-z0-9+/]+={0,2}$/;
|
||||
if (!base64Regex.test(base64Str)) {
|
||||
throw new Error('The string to be decoded is not correctly encoded.');
|
||||
}
|
||||
|
||||
// 如果输入字符串长度不是4的倍数,添加等号'='
|
||||
while (base64Str.length % 4 !== 0) {
|
||||
base64Str += '=';
|
||||
}
|
||||
|
||||
return atob(base64Str);
|
||||
}
|
||||
|
||||
|
||||
export function timeDifc (date1, date2) {
|
||||
var date1Str = date1.split('-')// 将日期字符串分隔为数组,数组元素分别为年.月.日
|
||||
// 根据年 . 月 . 日的值创建Date对象
|
||||
var date1Obj = new Date(date1Str[0], (date1Str[1] - 1), date1Str[2])
|
||||
var date2Str = date2.split('-')
|
||||
var date2Obj = new Date(date2Str[0], (date2Str[1] - 1), date2Str[2])
|
||||
var t1 = date1Obj.getTime()
|
||||
var t2 = date2Obj.getTime()
|
||||
var dateTime = 1000 * 60 * 60 * 24 // 每一天的毫秒数
|
||||
var minusDays = Math.floor(((t2 - t1) / dateTime))// 计算出两个日期的天数差
|
||||
// var days = Math.abs(minusDays);//取绝对值
|
||||
var days = minusDays// 取绝对值
|
||||
return days
|
||||
}
|
||||
/*
|
||||
* orderSn:订单号
|
||||
* orderType:订单类型
|
||||
* show:edite编辑 view查看详情
|
||||
* stage:控制相关按钮的状态
|
||||
* isCheckAllOrder:是否是综合查询
|
||||
*/
|
||||
export function toOrderDetials (orderSn, orderType, stage, isCheckAllOrder, show) {
|
||||
let argArr = Array.prototype.slice.call(arguments)
|
||||
let orderCode = ''
|
||||
if (arguments.length > 1) {
|
||||
orderCode = orderSn
|
||||
} else {
|
||||
orderCode = this.$route.query.order_sn
|
||||
}
|
||||
let type = ''
|
||||
if (arguments.length > 1) {
|
||||
type = orderType
|
||||
} else {
|
||||
type = this.$route.query.type
|
||||
}
|
||||
let name = ''
|
||||
let businessType = ''
|
||||
switch (type) {
|
||||
case 'JYDB':
|
||||
name = 'quota_orderDetails'
|
||||
businessType = '交易担保'
|
||||
break
|
||||
case 'JYXJ':
|
||||
name = 'cashDetails'
|
||||
businessType = '交易现金'
|
||||
break
|
||||
case 'TMXJ':
|
||||
name = 'noncashDetails'
|
||||
businessType = '房融易(TMXJ)'
|
||||
break
|
||||
case 'DQJK':
|
||||
name = 'shortLoansInfo'
|
||||
businessType = '短期借款'
|
||||
break
|
||||
case 'SQDZ':
|
||||
name = 'advanceDetail'
|
||||
break
|
||||
case 'PDXJ':
|
||||
name = 'mortgageLoansDetails'
|
||||
businessType = '凭抵押回执放款'
|
||||
break
|
||||
case 'GMDZ':
|
||||
name = 'renameRedeemDetails'
|
||||
businessType = '更名赎楼垫资'
|
||||
break
|
||||
case 'QTJD':
|
||||
name = 'otherDebitDetail'
|
||||
businessType = '其他借贷'
|
||||
break
|
||||
case 'PMDB':
|
||||
name = 'pmdbAuctionDetails'
|
||||
businessType = '拍卖担保'
|
||||
break
|
||||
case 'PMXJ':
|
||||
name = 'pmxjAuctionDetails'
|
||||
businessType = '拍卖现金'
|
||||
break
|
||||
}
|
||||
linkTo({
|
||||
name: name,
|
||||
query: {
|
||||
'order_sn': orderCode,
|
||||
'type': type,
|
||||
'businessType': businessType,
|
||||
stage: stage,
|
||||
show: show,
|
||||
isCheckAllOrder: isCheckAllOrder
|
||||
}
|
||||
})
|
||||
}
|
||||
352
pgweb/src/api/report.js
Normal file
@@ -0,0 +1,352 @@
|
||||
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 报告待制作-列表
|
||||
export async function getMakeReportList (params) {
|
||||
const res = await post('admin/ReportManage/reqProducingReportList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告-待审核列表
|
||||
export async function getCheckReportList (params) {
|
||||
const res = await post('admin/ReportManage/reqReportReviewingList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告-待审核列表(三审)
|
||||
export async function getCheckReportListThird (params) {
|
||||
const res = await post('admin/ReportManage/CheckReportListThird', params)
|
||||
return res
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取报告分类列表
|
||||
*
|
||||
* @param param 请求参数,可为空
|
||||
* @returns 返回请求结果
|
||||
*/
|
||||
export async function getReportClassList (param=null) {
|
||||
const res = await post('admin/EnumManager/getReportClassList', param)
|
||||
return res
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取报表对象类型列表
|
||||
*
|
||||
* @param param 请求参数(可选)默认为空
|
||||
* @returns 报表对象类型列表
|
||||
*/
|
||||
export async function getReportObjTypeList (param=null) {
|
||||
const res = await post('admin/EnumManager/getReportObjTypeList', param)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-列表
|
||||
export async function getReportList (params) {
|
||||
const res = await post('admin/ReportManage/reqReportList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-基本信息
|
||||
export async function reportInfo (params) {
|
||||
const res = await post('admin/reportManage/reportInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-提交
|
||||
export async function reqSubmitReportModify (params) {
|
||||
const res = await post('admin/reportManage/reqSubmitReportModify', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-详情-头部信息
|
||||
export async function baseInfo (params) {
|
||||
const res = await post('admin/reportManage/baseInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告详情-查勘信息
|
||||
export async function reqReportSurveyDetail (params) {
|
||||
const res = await post('admin/reportManage/reqReportSurveyDetail', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 打印装订列表
|
||||
export async function reqPrintDocList (params) {
|
||||
const res = await post('admin/ReportManage/reqPrintDocList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 完成打印装订
|
||||
export async function reqReportPrintSubmit (params) {
|
||||
const res = await post('admin/ReportManage/reqReportPrintSubmit', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 完成盖章
|
||||
export async function reqReportSealSubmit (params) {
|
||||
const res = await post('admin/ReportManage/reqReportSealSubmit', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 领取报告
|
||||
export async function reqPickupReport (params) {
|
||||
const res = await post('admin/ReportManage/reqPickupReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 评估师
|
||||
export async function getAppraiser (params) {
|
||||
const res = await post('admin/ReportManage/getAppraiser', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告详情页-头部信息
|
||||
export async function topBaseInfo (params) {
|
||||
const res = await post('admin/ReportManage/topBaseInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告详情页-基本信息
|
||||
export async function getBaseInfo (params) {
|
||||
const res = await post('admin/ReportManage/baseInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取片区
|
||||
export async function getSmallArea (params) {
|
||||
const res = await post('admin/Regions/getSmallArea', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告摘要
|
||||
export async function reqReportAbstractInfo (params) {
|
||||
const res = await post('admin/ReportManage/reqReportAbstractInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 测试方法-比较法简单信息
|
||||
export async function methodSimpleInfo (params) {
|
||||
const res = await post('admin/ReportManage/methodSimpleInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 测试方法-收益法信息
|
||||
export async function methodProfitInfo (params) {
|
||||
const res = await post('admin/ReportManage/methodProfitInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 测试方法-收益法信息
|
||||
export async function methodGYProfitInfo (params) {
|
||||
const res = await post('admin/ReportManage/methodGYProfitInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 测试方法-比较法正式信息
|
||||
export async function methodFormalInfo (params) {
|
||||
const res = await post('admin/ReportManage/methodFormalInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 测试方法-GZ比较法正式信息
|
||||
export async function methodGzFormalInfo (params) {
|
||||
const res = await post('admin/ReportManage/methodGzFormalInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告制作-提交报告
|
||||
export async function subReport (params) {
|
||||
const res = await post('admin/ReportManage/subReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
// 保存报告基础信息
|
||||
export async function saveReportBaseInfo (params) {
|
||||
const res = await post('admin/ReportManage/saveReportBaseInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告制作-保存报告
|
||||
export async function conserveReport (params) {
|
||||
const res = await post('admin/ReportManage/conserveReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-报告预览
|
||||
export async function reqPreviewReport (params) {
|
||||
const res = await post('admin/ReportManage/reqPreviewReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-所在大区
|
||||
export async function getBigArea (params) {
|
||||
const res = await post('admin/ReportManage/getBigArea', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-所在小片区
|
||||
export async function getSmallAreaList (params) {
|
||||
const res = await post('admin/ReportManage/getSmallArea', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告待审核-退回
|
||||
export async function subApprovalReturn (params) {
|
||||
const res = await post('admin/ReportManage/subApprovalReturn', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告待审核-退回
|
||||
export async function subFinishReturn (params) {
|
||||
const res = await post('admin/ReportManage/subFinishReturn', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告待审核-完成报告
|
||||
export async function subFinish (params) {
|
||||
const res = await post('admin/ReportManage/subFinish', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-迁移报告列表
|
||||
export async function moveReportList (params) {
|
||||
const res = await post('admin/ReportManage/moveReportList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-建行报告盖章列表
|
||||
export async function reportSealList (params) {
|
||||
const res = await post('admin/ReportManage/reportSealList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-建行报告完成盖章
|
||||
export async function subReportSeal (params) {
|
||||
const res = await post('admin/ReportManage/subReportSeal', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-简易打印装订列表
|
||||
export async function easyPrintList (params) {
|
||||
const res = await post('admin/ReportManage/easyPrintList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-提交简易报告操作
|
||||
export async function subEasyPrint (params) {
|
||||
const res = await post('admin/ReportManage/subEasyPrint', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告管理-评估目的
|
||||
export async function getEvaluatePurpose (params) {
|
||||
const res = await post('admin/ReportManage/getEvaluatePurpose', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告制作-获取报告模板
|
||||
export async function getReportTemplate (params) {
|
||||
const res = await post('admin/ReportManage/getReportTemplate', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告制作-获取区域情况分析
|
||||
export async function getAreaInfo (params) {
|
||||
const res = await post('admin/ReportManage/getAreaInfo', params)
|
||||
return res
|
||||
}
|
||||
// 报告制作-保存区域情况分析
|
||||
export async function conserveArea (params) {
|
||||
const res = await post('admin/ReportManage/conserveArea', params)
|
||||
return res
|
||||
}
|
||||
// 报告制作-个人制作列表
|
||||
export async function personalReportList (params) {
|
||||
const res = await post('admin/ReportManage/personalReportList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告制作-获取审核意见信息
|
||||
export async function getApprovalInfo (params) {
|
||||
const res = await post('admin/ReportManage/getApprovalInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告- 查勘员接口
|
||||
export async function getRole (params) {
|
||||
const res = await post('admin/User/getRole', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告- 复制报告
|
||||
export async function reportCopy (params) {
|
||||
const res = await post('admin/ReportManage/reportCopy', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 报告- 修改报告编号
|
||||
export async function changeReportNo (params) {
|
||||
const res = await post('admin/ReportManage/changeReportNo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 备注
|
||||
export async function addRemark (params) {
|
||||
const res = await post('admin/ReportManage/addRemark', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取案例成交价
|
||||
export async function guideInfo (params) {
|
||||
const res = await post('admin/ReportManage/guideInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 删除案例成交价
|
||||
export async function guideInfoDel (params) {
|
||||
const res = await post('admin/ReportManage/guideInfoDel', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 一键删除查勘图片
|
||||
export async function delAllSurveyImgs (params) {
|
||||
const res = await post('admin/ReportManage/delAllSurveyImgs', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 发送报告到中行消金
|
||||
export async function sendReportToBoccf (params) {
|
||||
const res = await post('admin/Boccf/sendReport', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 发送报告到中行消金和普惠
|
||||
export async function SendApplyOfficial (params) {
|
||||
const res = await post('admin/BocCommon/sendApplyOfficial', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 财务导出
|
||||
export async function exportFinanceExcel (params) {
|
||||
const res = await post('admin/Finance/exportFinanceExcel', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 作废防伪码
|
||||
export async function reportCancelAntiCounterfeitCode (params) {
|
||||
const res = await post('admin/ReportManage/cancelAntiCounterfeitCode', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查询客户经理信息
|
||||
export async function getBocAccountManager (params) {
|
||||
const res = await post('admin/Boccf/getAccountManagerInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
export async function UpdateInquiryReportUrl (params) {
|
||||
const res = await post('admin/ReportManage/updateInquiryReportUrl', params)
|
||||
return res
|
||||
}
|
||||
93
pgweb/src/api/surveyManage.js
Normal file
@@ -0,0 +1,93 @@
|
||||
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 查勘指派列表
|
||||
export async function reqAssignSurveyOrder (params) {
|
||||
const res = await post('admin/survey/reqAssignSurveyOrder', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘待跟进列表
|
||||
export async function reqFollowSurveyList (params) {
|
||||
const res = await post('admin/survey/reqFollowSurveyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘已完成列表
|
||||
export async function reqCompletedSurveyList (params) {
|
||||
const res = await post('admin/survey/reqCompletedSurveyList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘已退回列表
|
||||
export async function reqSurveyReturnList (params) {
|
||||
const res = await post('admin/survey/reqSurveyReturnList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘退回
|
||||
export async function reqSubmitSurveyReturn (params) {
|
||||
const res = await post('admin/survey/reqSubmitSurveyReturn', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘细项
|
||||
export async function surveyOptions (params) {
|
||||
const res = await post('admin/survey/surveyOptions', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘提交
|
||||
export async function reqSubmitSurvey (params) {
|
||||
const res = await post('admin/survey/reqSubmitSurvey', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘提交
|
||||
export async function reqAppointedToSurveyor (params) {
|
||||
const res = await post('admin/survey/reqAppointedToSurveyor', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘人员列表
|
||||
export async function surveyPersonnel (params) {
|
||||
const res = await post('admin/survey/surveyPersonnel', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 获取角色用户
|
||||
export async function getRole (params) {
|
||||
const res = await post('admin/User/getRole', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘编辑提交
|
||||
export async function reqEditSurvey (params) {
|
||||
const res = await post('admin/Survey/reqEditSurvey', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 改派查勘员
|
||||
export async function transferSurveyUser (params) {
|
||||
const res = await post('admin/Survey/transferSurveyUser', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 删除
|
||||
export async function reqDelSurveyReturnOrder (params) {
|
||||
const res = await post('admin/survey/reqDelSurveyReturnOrder', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 复制
|
||||
export async function copySurveyData (params) {
|
||||
const res = await post('admin/survey/copySurveyData', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 查勘已完成退回到待跟进
|
||||
export async function surveyReturn (params) {
|
||||
const res = await post('admin/survey/surveyReturn', params)
|
||||
return res
|
||||
}
|
||||
|
||||
42
pgweb/src/api/unreturnedPrice.js
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 住宅/商业项目列表接口
|
||||
export async function reqAppraisingPriceList (params) {
|
||||
const res = await post('admin/Pending/reqAppraisingPriceList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价提交
|
||||
export async function save (params) {
|
||||
const res = await post('admin/Pending/save', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价详情
|
||||
export async function reqAppraisingInfo (params) {
|
||||
const res = await post('admin/Pending/reqAppraisingInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 询价历史
|
||||
export async function reqQuotHistoryList (params) {
|
||||
const res = await post('admin/Pending/reqQuotHistoryList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 项目列表
|
||||
export async function reqAppraisedCompletedPriceList (params) {
|
||||
const res = await post('admin/Pending/reqAppraisedCompletedPriceList', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 回价详情--已完成
|
||||
export async function reqAppraisedPriceInfo (params) {
|
||||
const res = await post('admin/Pending/reqAppraisedPriceInfo', params)
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
13
pgweb/src/api/upload.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import { get, post } from '@/libs/request'
|
||||
|
||||
// 获取指定数据字典
|
||||
export async function getCosConfig (params) {
|
||||
const res = await get('credit/getCosConfig', params)
|
||||
return res
|
||||
}
|
||||
|
||||
// 上传
|
||||
export async function fileUpload (params) {
|
||||
const res = await post('admin/Index/fileUpload', params)
|
||||
return res
|
||||
}
|
||||
80
pgweb/src/api/user.js
Normal file
@@ -0,0 +1,80 @@
|
||||
import request from '@/libs/request'
|
||||
|
||||
// 登录
|
||||
export function login (params) {
|
||||
return request({
|
||||
url: 'admin/User/SignIn',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
|
||||
// 获取用户列表
|
||||
export function getUserList (params) {
|
||||
return request({
|
||||
url: 'admin/User/getUserList',
|
||||
method: 'get',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
|
||||
// 退出登录
|
||||
export function logout (params) {
|
||||
return request({
|
||||
url: 'admin/User/Logout',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
|
||||
// 刷新token
|
||||
export function checkLogin (params) {
|
||||
return request({
|
||||
url: 'admin/User/Refresh',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
|
||||
// 获取扫码信息
|
||||
export function createRrcode (params) {
|
||||
return request({
|
||||
url: 'admin/User/qrcode',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
|
||||
// 二维码登录
|
||||
export function qrCodeLogin (params) {
|
||||
return request({
|
||||
url: 'admin/User/qrCodeLogin',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
// 销毁二维码
|
||||
export function qrCodeDestory (params) {
|
||||
return request({
|
||||
url: 'admin/User/destroyQrcode',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
|
||||
// 根据用户名获取用户列表
|
||||
export function getUserListByRole (params) {
|
||||
return request({
|
||||
url: 'admin/User/getRole',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
|
||||
export function updatePwd(params) {
|
||||
return request({
|
||||
url: 'admin/User/updatePwd',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
};
|
||||
BIN
pgweb/src/assets/images/2-1.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
pgweb/src/assets/images/2.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
pgweb/src/assets/images/Loading.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
pgweb/src/assets/images/avatar.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
pgweb/src/assets/images/docx.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
1
pgweb/src/assets/images/error-page/error-401.svg
Normal file
|
After Width: | Height: | Size: 31 KiB |
1
pgweb/src/assets/images/error-page/error-404.svg
Normal file
|
After Width: | Height: | Size: 26 KiB |
1
pgweb/src/assets/images/error-page/error-500.svg
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
pgweb/src/assets/images/error01.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
pgweb/src/assets/images/file.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
pgweb/src/assets/images/imgs/cspg001.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
pgweb/src/assets/images/imgs/cspg002.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
pgweb/src/assets/images/imgs/cspg003.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
pgweb/src/assets/images/imgs/cspg004.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
pgweb/src/assets/images/imgs/cspg005.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
pgweb/src/assets/images/imgs/cspg006.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
pgweb/src/assets/images/imgs/cspg007.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
pgweb/src/assets/images/imgs/cspg008.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
pgweb/src/assets/images/imgs/cspg009.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
pgweb/src/assets/images/loading.gif
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
pgweb/src/assets/images/login/carousel_1.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
pgweb/src/assets/images/login/carousel_2.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
pgweb/src/assets/images/login/carousel_3.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
pgweb/src/assets/images/login/carousel_4.png
Normal file
|
After Width: | Height: | Size: 500 KiB |
BIN
pgweb/src/assets/images/login/help.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
pgweb/src/assets/images/login/job_number.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
pgweb/src/assets/images/login/password.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
pgweb/src/assets/images/login/success.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
pgweb/src/assets/images/logo.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
pgweb/src/assets/images/logo1.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
pgweb/src/assets/images/msg.png
Normal file
|
After Width: | Height: | Size: 348 B |
BIN
pgweb/src/assets/images/pdf.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
pgweb/src/assets/images/pptx.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
pgweb/src/assets/images/seal_2.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
pgweb/src/assets/images/success01.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
pgweb/src/assets/images/xlsx.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
pgweb/src/assets/images/zip.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
2217
pgweb/src/components/inquiry/inquiryForm/index.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "../../../../../pgevaServerNew"
|
||||
},
|
||||
{
|
||||
"path": "../../../.."
|
||||
},
|
||||
{
|
||||
"path": "../../../../../PGEvaSysAppNew"
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
||||
2
pgweb/src/components/login-form/index.js
Normal file
@@ -0,0 +1,2 @@
|
||||
import loginForm from './login-form.vue'
|
||||
export default loginForm
|
||||
113
pgweb/src/components/login-form/login-form.vue
Normal file
@@ -0,0 +1,113 @@
|
||||
<template>
|
||||
<el-form class="login_reset" ref="loginForm" :model="form" :rules="validationRules">
|
||||
<el-form-item prop="userName">
|
||||
<div class="login_reset_number">
|
||||
<el-input type="text" v-model="form.userName" size="large" placeholder="用户名" @blur="checkUsername"></el-input>
|
||||
</div>
|
||||
<!-- <p class="no_tips" v-if="isUsernameMissing">请填写账号</p> -->
|
||||
</el-form-item>
|
||||
<el-form-item prop="password" style="margin-top: 34px;">
|
||||
<div class="login_reset_password">
|
||||
<el-input type="password" v-model="form.password" size="large" @blur="checkPassword" placeholder="密码" @keyup.enter="submitForm"></el-input>
|
||||
</div>
|
||||
<!-- <p class="no_tips" v-if="isPasswordMissing">请填写密码</p> -->
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-top: 30px;">
|
||||
<el-button @click="submitForm" type="primary" class="submit_button" size="large" :loading="loading">{{loading?'安全登陆中...':'登 录'}}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'LoginForm',
|
||||
props: {
|
||||
userNameValidationRules: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return [
|
||||
{ required: true, message: '请填写账号', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
},
|
||||
passwordValidationRules: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return [
|
||||
{ required: true, message: '请填写密码', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
},
|
||||
loading: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
userName: '',
|
||||
password: ''
|
||||
},
|
||||
isUsernameMissing: false,
|
||||
isPasswordMissing: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
validationRules() {
|
||||
return {
|
||||
userName: this.userNameValidationRules,
|
||||
password: this.passwordValidationRules
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
checkUsername() {
|
||||
if (!this.form.userName) {
|
||||
this.isUsernameMissing = true
|
||||
} else {
|
||||
this.isUsernameMissing = false
|
||||
}
|
||||
},
|
||||
checkPassword() {
|
||||
if (!this.form.password) {
|
||||
this.isPasswordMissing = true
|
||||
} else {
|
||||
this.isPasswordMissing = false
|
||||
}
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs.loginForm.validate((r) => {
|
||||
if (r) {
|
||||
console.log('submit!',r,this.form )
|
||||
|
||||
this.$emit('onSuccessRsp', {
|
||||
username: this.form.userName,
|
||||
password: this.form.password
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.login_reset {
|
||||
width: 70%;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
height: 300px;
|
||||
}
|
||||
.submit_button {
|
||||
margin-left: 100px;
|
||||
width: 200px;
|
||||
margin: 0 auto;
|
||||
background-color:#355CA6;
|
||||
border: none; /* 移除外边框 */
|
||||
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); /* 添加边框阴影 */
|
||||
border-radius: 10px; /* 设置圆角 */
|
||||
}
|
||||
.submit_button:hover {
|
||||
background-color:#5a77ac; /* 鼠标悬停时的颜色 */
|
||||
}
|
||||
</style>
|
||||
2
pgweb/src/components/login-scan/index.js
Normal file
@@ -0,0 +1,2 @@
|
||||
import loginScan from './login-scan.vue'
|
||||
export default loginScan
|
||||
260
pgweb/src/components/login-scan/login-scan.vue
Normal file
@@ -0,0 +1,260 @@
|
||||
<style lang="less" scoped="scoped">
|
||||
.login_scan {
|
||||
height: 258px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
.login_scan_msg {
|
||||
width: 252px !important;
|
||||
height: 252px !important;
|
||||
position: relative;
|
||||
z-index: 1000;
|
||||
}
|
||||
.login_scan_show_help {
|
||||
width: 170px !important;
|
||||
height: 170px !important;
|
||||
}
|
||||
.login_scan_help_img {
|
||||
width: 218px;
|
||||
height: 218px;
|
||||
position: absolute;
|
||||
top: 17px;
|
||||
left: 107px;
|
||||
}
|
||||
.login_scan_lose-efficacy {
|
||||
background: rgba(0, 0, 0, 0.65);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
z-index: 9999;
|
||||
width: 220px;
|
||||
height: 220px;
|
||||
margin-top: -112px;
|
||||
margin-left: -110px;
|
||||
padding-top: 70px;
|
||||
.login_scan_tips_span {
|
||||
display: block;
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
button {
|
||||
background:@g_Main_Dark_BUTTON_COLOR;// #5389ff;
|
||||
color: #fff;
|
||||
border: none;
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
}
|
||||
.login_scan_use_tips {
|
||||
color: #999999;
|
||||
font-family: "microsoft yahei";
|
||||
font-size: 16px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
bottom: -16px;
|
||||
}
|
||||
}
|
||||
.fade-enter-active,
|
||||
.fade-leave-active {
|
||||
transition: opacity 0.5s;
|
||||
}
|
||||
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<Form class="login_scan">
|
||||
<transition name="fade">
|
||||
<canvas id="msg" v-show="!showHelp" @mouseenter="enter" @mouseleave="leave" class="login_scan_msg"></canvas>
|
||||
</transition>
|
||||
<transition name="fade">
|
||||
<img v-show="showHelp" @mouseenter="enter" @mouseleave="leave" src="../../assets/images/login/help.png" class="login_scan_help_img" />
|
||||
</transition>
|
||||
<div class="login_scan_lose-efficacy" v-if="noEfficacy">
|
||||
<img src="../../assets/images/login/success.png" v-if="isScan" />
|
||||
<span class="login_scan_tips_span">{{stateDesc}}</span>
|
||||
<Button @click="freshQrcode" v-if="!isScan" :loading="loading" style="font-size: 14px;">刷新二维码</Button>
|
||||
</div>
|
||||
<div class="login_scan_use_tips" v-if="!noEfficacy">请使用APP扫码登录</div>
|
||||
<div class="login_scan_use_tips" v-if="qrCodeStatus==1" style="cursor: pointer;" @click="freshQrcode">
|
||||
<span style="color: #999;">二维码</span>
|
||||
<span style="color: #5389FF;">刷新</span>
|
||||
</div>
|
||||
</Form>
|
||||
</template>
|
||||
<script>
|
||||
import QRCode from 'qrcode'
|
||||
import { createRrcode, qrCodeLogin, qrCodeDestory } from '@/api/user'
|
||||
import { setToken, setCookie } from '@/libs/util'
|
||||
import store from 'store'
|
||||
import config from '@/config'
|
||||
export default {
|
||||
name: 'loginScan',
|
||||
props: ['isScanLogin'],
|
||||
data () {
|
||||
return {
|
||||
noEfficacy: false,
|
||||
isScan: true,
|
||||
nonce: '',
|
||||
sign: '',
|
||||
timestamp: '',
|
||||
showHelp: false,
|
||||
stop: '', // 结束轮询
|
||||
timeout: '',
|
||||
stateDesc: '',
|
||||
loading: false,
|
||||
qrCodeStatus: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
created () {
|
||||
this.createRrcode()
|
||||
},
|
||||
methods: {
|
||||
beforeunload (e) {
|
||||
this.qrCodeDestory()
|
||||
e = e || window.event
|
||||
// 兼容IE8和Firefox 4之前的版本
|
||||
if (e) {
|
||||
e.returnValue = '关闭提示'
|
||||
}
|
||||
return '关闭提示'
|
||||
},
|
||||
onunload () {
|
||||
this.qrCodeDestory()
|
||||
},
|
||||
enter (e) {
|
||||
if (!this.noEfficacy) {
|
||||
this.showHelp = true
|
||||
}
|
||||
},
|
||||
leave (e) {
|
||||
if (!this.noEfficacy) {
|
||||
this.showHelp = false
|
||||
}
|
||||
},
|
||||
// 刷新二维码
|
||||
freshQrcode () {
|
||||
this.qrCodeDestory()
|
||||
this.loading = true
|
||||
this.createRrcode()
|
||||
this.$emit('getQrCodeStatus', true)
|
||||
},
|
||||
// 生成二维码
|
||||
createRrcode () {
|
||||
this.loading = false
|
||||
createRrcode({}).then(res => {
|
||||
if (res.code === 1) {
|
||||
res.data.version = config.version
|
||||
let recodeInfo = JSON.stringify(res.data)
|
||||
let msg = document.getElementById('msg')
|
||||
this.nonce = res.data.nonce
|
||||
this.sign = res.data.sign
|
||||
this.timestamp = res.data.timestamp
|
||||
QRCode.toCanvas(msg, recodeInfo, function (error) { })
|
||||
this.noEfficacy = false
|
||||
this.isScan = true
|
||||
this.qrCodeLogin()
|
||||
this.stop = setInterval(() => {
|
||||
this.qrCodeLogin()
|
||||
}, 3000)
|
||||
} else {
|
||||
this.$Notice.error({
|
||||
title: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 判断是否有网络
|
||||
hasNetwork () {
|
||||
this.loading = false
|
||||
if (!navigator.onLine) {
|
||||
// 执行离线状态时的任务
|
||||
this.noEfficacy = true
|
||||
this.isScan = false
|
||||
this.stateDesc = '当前网络不可用,请检查网络设置'
|
||||
clearInterval(this.stop)
|
||||
}
|
||||
},
|
||||
// 销毁二维码
|
||||
qrCodeDestory () {
|
||||
let obj = {
|
||||
nonce: this.nonce,
|
||||
sign: this.sign,
|
||||
timestamp: this.timestamp
|
||||
}
|
||||
qrCodeDestory(obj).then(res => {
|
||||
if (res.code === 1) {
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
// 扫码登录
|
||||
qrCodeLogin () {
|
||||
this.hasNetwork()
|
||||
let obj = {
|
||||
nonce: this.nonce,
|
||||
sign: this.sign,
|
||||
timestamp: this.timestamp,
|
||||
version: config.version
|
||||
}
|
||||
qrCodeLogin(obj).then(res => {
|
||||
if (res.code === 1) {
|
||||
// console.log(res);
|
||||
this.stateDesc = res.data.desc
|
||||
this.qrCodeStatus = res.data.qrCodeStatus
|
||||
this.loading = false
|
||||
switch (res.data.qrCodeStatus) {
|
||||
case 1:// 扫描成功
|
||||
this.showHelp = false
|
||||
this.noEfficacy = true
|
||||
this.isScan = true
|
||||
break
|
||||
case 2:// 扫描成功 点击确定
|
||||
clearInterval(this.stop)
|
||||
this.$Message.success(res.msg)
|
||||
store.clearAll()
|
||||
setToken(res.data.apiAuth)
|
||||
// store.set('indexMenuList', JSON.stringify(res.data.menu['index']))
|
||||
store.set('busMenuList', JSON.stringify(res.data.menu))
|
||||
store.set('userinfo', res.data.userinfo)
|
||||
store.set('access', res.data.access)
|
||||
store.set('apiAuth', res.data.apiAuth)
|
||||
store.set('userId', res.data.userinfo.user_id)
|
||||
store.set('sub', 0)
|
||||
setCookie('loginTime', res.data.loginTime)
|
||||
setCookie('refresh_token', res.data.refresh_token)
|
||||
this.$router.replace({
|
||||
path: '/'
|
||||
})
|
||||
break
|
||||
case 3:// 二维码已过期
|
||||
this.showHelp = false
|
||||
this.noEfficacy = true
|
||||
this.isScan = false
|
||||
clearInterval(this.stop)
|
||||
this.$emit('getQrCodeStatus', false)
|
||||
break
|
||||
case 4:// 二维码已失效
|
||||
this.showHelp = false
|
||||
this.noEfficacy = true
|
||||
this.isScan = false
|
||||
clearInterval(this.stop)
|
||||
this.$emit('getQrCodeStatus', false)
|
||||
break
|
||||
}
|
||||
} else {
|
||||
clearInterval(this.stop)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
destroyed () {
|
||||
clearInterval(this.stop)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
154
pgweb/src/components/menu/nxIconMenu.vue
Normal file
@@ -0,0 +1,154 @@
|
||||
<template>
|
||||
<div style="height: 100%;">
|
||||
|
||||
<el-menu
|
||||
:default-active="'0'"
|
||||
|
||||
@select="handleSelect"
|
||||
@open="handleOpen"
|
||||
:collapse="collapse"
|
||||
style="background-color: #fff !important;height: 100%;"
|
||||
>
|
||||
<template v-for="(menuItem, i_index) in menuData">
|
||||
<el-menu-item :index="String(i_index)" :key="i_index">
|
||||
<template >
|
||||
<!-- <i style="margin-top: -18px;color: #444444;" :class=" replacePhrases( menuItem.title, iconsRule) "></i>
|
||||
<div style="margin-top:-48px;" class="menu-custom">{{ replacePhrases( menuItem.title, replaceRule1)}}</div> -->
|
||||
<div style="display: flex; align-items: center;" class="menu-custom">
|
||||
<i :class="replacePhrases(menuItem.title, iconsRule)"></i>
|
||||
<div style="margin-left: 8px;">{{ replacePhrases(menuItem.title, replaceRule1) }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-menu-item>
|
||||
</template>
|
||||
</el-menu>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import "@/styles/globalSetting.less";
|
||||
export default {
|
||||
name: 'NxIconMenu',
|
||||
props: {
|
||||
menuData: {
|
||||
type: Array,
|
||||
required: true,
|
||||
},
|
||||
collapse: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeMenu: '1-4-1',
|
||||
replaceRule1:[
|
||||
['询价项目','询价'],
|
||||
['回价项目','回价'],
|
||||
['预估单','预估'],
|
||||
['查勘项目','查勘'],
|
||||
['报告项目','报告'],
|
||||
['分部管理','分部'],
|
||||
['财务项目','财务'],
|
||||
['基础设置','设置'],
|
||||
['OA办公','OA'],// 隐藏
|
||||
['银行对接','银行'],
|
||||
],
|
||||
iconsRule:[
|
||||
['询价项目','el-icon-suitcase'],
|
||||
['回价项目','el-icon-chat-line-round'],
|
||||
['预估单','el-icon-news'],
|
||||
['查勘项目','el-icon-office-building'],
|
||||
['分部管理','el-icon-document'],
|
||||
['报告项目','el-icon-tickets'],
|
||||
['财务项目','el-icon-money'],
|
||||
['基础设置','el-icon-setting'],
|
||||
['OA办公' , 'el-icon-bell'], // 隐藏
|
||||
['银行对接','el-icon-bank-card'],
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
handleSelect(key, item , externalInfo ) {
|
||||
console.log('menu-select', key, item,externalInfo);
|
||||
this.$emit('menu-select', key, item.routerName, externalInfo);
|
||||
console.log('externalInfo menu-select', externalInfo ,key,item );
|
||||
},
|
||||
handleOpen(key, keyPath) {
|
||||
console.log('menu-open', key, keyPath, externalInfo );
|
||||
this.$emit('menu-open', key, keyPath, externalInfo);
|
||||
console.log('externalInfo menu-open', externalInfo ,key,item );
|
||||
},
|
||||
handleClose(key, keyPath, externalInfo ) {
|
||||
console.log('menu-close', key, keyPath, externalInfo);
|
||||
this.$emit('menu-close', key, keyPath, externalInfo);
|
||||
},
|
||||
|
||||
toggleCollapse() {
|
||||
// 触发事件通知父组件改变collapse状态
|
||||
this.$emit('toggle-collapse', !this.collapse);
|
||||
},
|
||||
|
||||
replacePhrases(text, replacementRules) {
|
||||
// 遍历替换规则数组
|
||||
for (let i=0; i< replacementRules.length; i++) {
|
||||
// 使用正则表达式查找匹配的短语
|
||||
if (text == replacementRules[i][0]) {
|
||||
return replacementRules[i][1];
|
||||
}
|
||||
}
|
||||
return text;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.collapse-btn {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: rgb(250, 248, 243);
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.collapse-btn:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.collapse-btn i {
|
||||
font-size: 20px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.icon-text i {
|
||||
display: inline-block;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.iocn-text {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: -20rpx;
|
||||
background-color: white;
|
||||
padding: 5px 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
.el-menu--collapse{
|
||||
width: 100px;
|
||||
}
|
||||
.menu-custom {
|
||||
color: var(--menu-font-color);
|
||||
}
|
||||
:deep .el-menu-item.is-active {
|
||||
background-color: var(--bg-color);
|
||||
}
|
||||
:deep .el-menu-item.is-active .menu-custom {
|
||||
color: var(--main-color);
|
||||
}
|
||||
</style>
|
||||
40
pgweb/src/components/menu/nxMenu.vue
Normal file
@@ -0,0 +1,40 @@
|
||||
<!-- 可递归菜单 -->
|
||||
<template>
|
||||
<div style="height: 100%;">
|
||||
<!-- 如果有子菜单,则渲染子菜单 -->
|
||||
<el-submenu style="height: 100%;" v-if="item.children && item.children.length > 0" :index="item.routerName" >
|
||||
<template slot="title">
|
||||
{{ item.title }}
|
||||
</template>
|
||||
<!-- 递归调用MenuItem组件 -->
|
||||
<menu-item v-for="(child, index) in item.children" :key="index" :item="child" class="menu-custom"></menu-item>
|
||||
</el-submenu>
|
||||
|
||||
<!-- 如果没有子菜单,则渲染菜单项 -->
|
||||
<el-menu-item v-else :index="item.routerName" class="menu-custom">
|
||||
<!-- <i class="el-icon-document"></i> -->
|
||||
{{ item.title }}
|
||||
</el-menu-item>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import "@/styles/globalSetting.less";
|
||||
export default {
|
||||
name: 'MenuItem',
|
||||
props: {
|
||||
item: Object
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.menu-custom {
|
||||
color: var(--menu-font-color);
|
||||
}
|
||||
:deep .el-menu-item.is-active {
|
||||
background-color: var(--bg-color);
|
||||
}
|
||||
:deep .el-menu-item.is-active.menu-custom {
|
||||
color: var(--main-color);
|
||||
}
|
||||
</style>
|
||||
340
pgweb/src/components/message/index.vue
Normal file
@@ -0,0 +1,340 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="im-msg-wrapper" :style="{bottom:!show?'-404px':'0px',width:!show?'200px':'300px'}">
|
||||
<div class="im-msg-head" :style="{'background-color':!show?'#fff':'#F2F8FD'}">
|
||||
<template v-if="!show">
|
||||
<div @click="showContent" class="text-left">
|
||||
<img :src="msgIcon">
|
||||
<span class="im-title">系统消息</span>
|
||||
<span class="im-head-num">
|
||||
<Badge :count="messageUnReadNum"></Badge>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<Row>
|
||||
<Col span="8" class="text-left"><img :src="msgIcon" style="margin-right:10px;">系统消息</Col>
|
||||
<Col span="12" class="text-right">
|
||||
<a class="im-head-closebtn" @click="readAllMessage">全设为已读</a>
|
||||
</Col>
|
||||
<Col span="4" class="text-right">
|
||||
<a class="im-head-closebtn" @click="showContent">收起</a>
|
||||
</Col>
|
||||
</Row>
|
||||
</template>
|
||||
</div>
|
||||
<div class="im-msg-body">
|
||||
<Tabs @on-click="handleClickTab">
|
||||
<TabPane :label="messageUnReadNum>0?label.info:'待办事项'" name="info">
|
||||
<!-- <TabPane :label="'待办事项'" name="info"> -->
|
||||
<ul class="im-msg-content" v-if="messageList.length>0">
|
||||
<Scroll :on-reach-bottom="handleReachBottom" :height="height">
|
||||
<template v-for="(item,index) in messageList">
|
||||
<li class="msg-item" :class="{'is-read':item.issee==1}" :key="index" @click="readTurnTo(item,'info')">
|
||||
<h4>
|
||||
<span class="msg-date">{{item.create_time}}</span>
|
||||
<a href="javascript:;">详情</a>
|
||||
</h4>
|
||||
<p class="msg-content">{{item.message_content}}</p>
|
||||
</li>
|
||||
</template>
|
||||
<li class="msg-item text-center" style="border-bottom:none" v-if="noMore.info">没有更多了</li>
|
||||
</Scroll>
|
||||
</ul>
|
||||
<div class="text-center no-data" v-else>暂无待办事项</div>
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import socket from '@/libs/socket'
|
||||
import { mapGetters, mapMutations } from 'vuex'
|
||||
import { messageRead, messageList } from '@/api/message'
|
||||
import store from 'store'
|
||||
const msgIcon = require('@/assets/images/msg.png')
|
||||
export default {
|
||||
name: 'message',
|
||||
data () {
|
||||
return {
|
||||
msgIcon,
|
||||
tabName: 'info',
|
||||
show: false,
|
||||
height: 400,
|
||||
typeMap: { 2: 'info', 1: 'notice', 3: 'warning' },
|
||||
typeMaps: { 'notice': 1, 'info': 2, 'warning': 3 },
|
||||
descMap: { info: '待办事项', notice: '进度提醒', warning: '预警消息' },
|
||||
noticeMap: { info: '你收到一条新的待办事项', notice: '你收到一条新的进度提醒', warning: '你收到一条新的预警信息' },
|
||||
noMore: {
|
||||
info: false,
|
||||
notice: false,
|
||||
warning: false
|
||||
},
|
||||
label: {
|
||||
info: (h) => {
|
||||
return h('div', [
|
||||
h('span', '待办事项'),
|
||||
h('Badge', {
|
||||
props: {
|
||||
dot: true
|
||||
}
|
||||
})
|
||||
])
|
||||
},
|
||||
notice: (h) => {
|
||||
return h('div', [
|
||||
h('span', '进度提醒'),
|
||||
h('Badge', {
|
||||
props: {
|
||||
dot: true
|
||||
}
|
||||
})
|
||||
])
|
||||
},
|
||||
warning: (h) => {
|
||||
return h('div', [
|
||||
h('span', '预警消息'),
|
||||
h('Badge', {
|
||||
props: {
|
||||
dot: true
|
||||
}
|
||||
})
|
||||
])
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
created () {
|
||||
// 其它页面未调用再调用改接口
|
||||
if (this.messageList.length === 0) {
|
||||
this.getMessageList()
|
||||
}
|
||||
// 未连接
|
||||
if (!socket.connected) {
|
||||
socket.open()
|
||||
}
|
||||
socket.emit('login', store.get('userinfo').user_id)
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['messageList', 'messageUnReadNum'])
|
||||
// ...mapGetters(['messageList', 'messageUnReadNum', 'infoUnReadNum', 'noticeUnReadNum', 'warningUnReadNum'])
|
||||
},
|
||||
methods: {
|
||||
...mapMutations(['addNewMsg', 'setUnRead', 'addAllMessage', 'setAllRead', 'addMoreMsg']),
|
||||
showContent () {
|
||||
this.show = !this.show
|
||||
},
|
||||
// 跳转
|
||||
turnTo (row, type) {
|
||||
if (row.message_type != 5 || row.message_type != 8 || row.message_type != 11 || row.message_type != 14 || row.message_type != 29 || row.message_type != 31) {
|
||||
this.$router.push({ name: row.name, query: JSON.parse(row.query) })
|
||||
} else {
|
||||
this.$Message.success('订单提示')
|
||||
}
|
||||
// let routeData = this.$router.resolve({
|
||||
// name: item.name, query: JSON.parse(item.query)
|
||||
// })
|
||||
// window.open(routeData.href, '_blank')
|
||||
},
|
||||
readTurnTo (item, type) {
|
||||
if (item.issee == 1) {
|
||||
this.turnTo(item, type)
|
||||
return
|
||||
}
|
||||
messageRead({ ids: item.id }).then(res => {
|
||||
if (res.code === 1) {
|
||||
this.setUnRead(item)
|
||||
this.turnTo(item, type)
|
||||
}
|
||||
})
|
||||
},
|
||||
_reachBottomMsg () {
|
||||
const message = this.messageList
|
||||
if (message.length === 0) {
|
||||
return
|
||||
}
|
||||
// min_id最小数据
|
||||
messageList({ min_id: message[message.length - 1].id }).then(res => {
|
||||
if (res.code === 1 && res.data.list.length > 0) {
|
||||
this.addMoreMsg(res.data.list)
|
||||
} else {
|
||||
this.noMore[this.tabName] = true
|
||||
}
|
||||
})
|
||||
},
|
||||
// 滚动加载
|
||||
handleReachBottom () {
|
||||
return new Promise(resolve => {
|
||||
this._reachBottomMsg()
|
||||
resolve()
|
||||
})
|
||||
},
|
||||
// 获取所有未读信息
|
||||
getMessageList () {
|
||||
messageList({ min_id: '' }).then(res => {
|
||||
if (res.code === 1) {
|
||||
this.addAllMessage(res.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 全部已读
|
||||
readAllMessage () {
|
||||
messageRead({ ids: '' }).then(res => {
|
||||
if (res.code === 1) {
|
||||
this.setAllRead()
|
||||
}
|
||||
})
|
||||
},
|
||||
// tab切换
|
||||
handleClickTab (name) {
|
||||
this.tabName = name
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
// 收到一条推送
|
||||
socket.on('newMsg', (res) => {
|
||||
this.$Notice.warning({
|
||||
title: res
|
||||
})
|
||||
this.getMessageList()
|
||||
})
|
||||
socket.on('update_online_count', (msg) => {
|
||||
})
|
||||
socket.on('reconnect_attempt', () => {
|
||||
// 重连使用polling优先
|
||||
socket.io.opts.transports = ['polling', 'websocket']
|
||||
})
|
||||
socket.on('reconnecting', () => {
|
||||
socket.emit('login', store.get('userinfo').user_id)
|
||||
})
|
||||
socket.on('reconnect_error', () => {
|
||||
console.log('reconnect_error')
|
||||
})
|
||||
},
|
||||
beforeDestroy () {
|
||||
socket.close()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.im-msg-wrapper {
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
right: 10px;
|
||||
bottom: -400px;
|
||||
height: 440px;
|
||||
width: 200px;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.45);
|
||||
transition: all 0.2s linear 0s;
|
||||
.im-msg-head {
|
||||
color: #333;
|
||||
font-weight:400;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
padding: 0 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
cursor: pointer;
|
||||
background-color: #F2F8FD;
|
||||
.im-title {
|
||||
padding: 0 10px;
|
||||
}
|
||||
a{
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
.im-msg-body {
|
||||
/deep/.ivu-tabs > .ivu-tabs-bar .ivu-tabs-tab {
|
||||
margin-right: 0;
|
||||
border-radius: 0;
|
||||
background: #fff;
|
||||
color: #999;
|
||||
width: 33.3%;
|
||||
font-size: 14px;
|
||||
padding: 6px 18px;
|
||||
}
|
||||
/deep/ .ivu-scroll-loader{
|
||||
height: 0;
|
||||
}
|
||||
.im-msg-content {
|
||||
list-style: none;
|
||||
height: 400px;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
.msg-item {
|
||||
padding: 5px 6px;
|
||||
border-bottom: 1px solid #E6E6E6;
|
||||
&:last-child {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.msg-date {
|
||||
margin-right: 10px;
|
||||
font-size: 14px;
|
||||
font-family:'MicrosoftYaHei-Bold';
|
||||
font-weight:bold;
|
||||
}
|
||||
p {
|
||||
font-size: 14px;
|
||||
}
|
||||
a{
|
||||
color: #333;
|
||||
}
|
||||
h4{
|
||||
margin: 5px 0;
|
||||
}
|
||||
}
|
||||
/deep/ .ivu-badge-dot {
|
||||
top: -11px;
|
||||
right: -14px;
|
||||
}
|
||||
/deep/ .ivu-scroll-container {
|
||||
overflow-y: auto;
|
||||
}
|
||||
.no-data {
|
||||
padding-top: 170px;
|
||||
}
|
||||
.is-read {
|
||||
color: #ccc !important;
|
||||
a {
|
||||
color: #ccc !important;
|
||||
}
|
||||
}
|
||||
.msg-content {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.im-msg-wrapper .ivu-tabs-bar{
|
||||
border-bottom: 2px solid #E6E6E6;
|
||||
}
|
||||
.im-msg-wrapper .ivu-tabs-ink-bar {
|
||||
display: none !important;
|
||||
}
|
||||
.im-msg-wrapper .ivu-tabs-nav{
|
||||
width: 100%;
|
||||
}
|
||||
.im-msg-wrapper .ivu-tabs-nav::after{
|
||||
content: "";
|
||||
transition: all 0.2s linear 0s;
|
||||
}
|
||||
.im-msg-wrapper .ivu-tabs-nav .ivu-tabs-tab-active::after,.line::after {
|
||||
content: "";
|
||||
width: 30px;
|
||||
height: 3px;
|
||||
background: #5389FF;
|
||||
right: 50%;
|
||||
bottom: 0;
|
||||
margin-right: -15px;
|
||||
position: absolute;
|
||||
}
|
||||
.im-msg-wrapper .ivu-tabs-tab-active{
|
||||
color: #4F81FF !important;
|
||||
}
|
||||
.im-msg-wrapper .ivu-tabs-nav .ivu-tabs-tab:hover{
|
||||
background-color: #fff !important;
|
||||
}
|
||||
</style>
|
||||
49
pgweb/src/components/pagination/README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
### 用法
|
||||
分页组件
|
||||
```
|
||||
|
||||
<template>
|
||||
<pagination
|
||||
:total="total"
|
||||
:page.sync="searchParam.page"
|
||||
:limit.sync="searchParam.limit"
|
||||
@pagination="getList" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
searchParam: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
// 获取数据
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
```
|
||||
|
||||
### API 说明
|
||||
|
||||
props
|
||||
| 属性 | 说明 | 类型 | 默认值 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| total | 数据总数 | Number | 0 |
|
||||
| page | 当前页码,支持 .sync 修饰符 | Number | 1 |
|
||||
| limit | 每页条数 | Number | 10 |
|
||||
| pageSizes | 每页条数切换的配置 | Array | [10, 20, 30, 40] |
|
||||
|
||||
events
|
||||
| 事件名 | 说明 | 返回值 |
|
||||
| :--- | :--- | :--- |
|
||||
| pagination | 当 limit 或者 page 发生改变时会触发 | 查询参数 |
|
||||
89
pgweb/src/components/pagination/index.vue
Normal file
@@ -0,0 +1,89 @@
|
||||
<template>
|
||||
<div :class="{'hidden':hidden}" class="pagination-container zc-pagination">
|
||||
<Page
|
||||
:current.sync="currentPage"
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:page-size-opts="pageSizes"
|
||||
:transfer='true'
|
||||
show-total
|
||||
show-elevator
|
||||
show-sizer
|
||||
@on-change="handleCurrentChange"
|
||||
@on-page-size-change="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'Pagination',
|
||||
props: {
|
||||
total: {
|
||||
required: true,
|
||||
type: Number
|
||||
},
|
||||
page: {
|
||||
type: Number,
|
||||
default: 1
|
||||
},
|
||||
limit: {
|
||||
type: Number,
|
||||
default: 10
|
||||
},
|
||||
pageSizes: {
|
||||
type: Array,
|
||||
default () {
|
||||
return [10, 20, 30, 40]
|
||||
}
|
||||
},
|
||||
hidden: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
currentPage: {
|
||||
get () {
|
||||
return this.page
|
||||
},
|
||||
set (val) {
|
||||
this.$emit('update:page', val)
|
||||
}
|
||||
},
|
||||
pageSize: {
|
||||
get () {
|
||||
return this.limit
|
||||
},
|
||||
set (val) {
|
||||
this.$emit('update:limit', val)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleSizeChange (val) {
|
||||
this.$emit('update:limit', val)
|
||||
this.$emit('pagination')
|
||||
},
|
||||
handleCurrentChange (val) {
|
||||
this.$emit('pagination')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.pagination-container {
|
||||
background: #fff;
|
||||
padding: 30px 0;
|
||||
text-align: right;
|
||||
/deep/.ivu-page-item-active a,
|
||||
.ivu-page-item-active:hover a {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
.pagination-container.hidden {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
2
pgweb/src/components/parent-view/index.js
Normal file
@@ -0,0 +1,2 @@
|
||||
import parentView from './parent-view.vue'
|
||||
export default parentView
|
||||
8
pgweb/src/components/parent-view/parent-view.vue
Normal file
@@ -0,0 +1,8 @@
|
||||
<template>
|
||||
<router-view/>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'parentView'
|
||||
}
|
||||
</script>
|
||||
97
pgweb/src/components/search-form/README.md
Normal file
@@ -0,0 +1,97 @@
|
||||
#### 用法
|
||||
|
||||
```
|
||||
<template>
|
||||
<div class="app-container>
|
||||
<search-form :list="formList" :option-list="optionList" @search="handleSearch" />
|
||||
<div class="zc-table-list">
|
||||
<Table stripe disabled-hover border :columns="columnsList" :data="tableData" :loading="loading"></Table>
|
||||
<pagination v-show="total>0" :total="total" :page.sync="searchParam.page" :limit.sync="searchParam.limit" @pagination="getlist" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import search from '@/mixins/search'
|
||||
export default {
|
||||
name: 'baseDataBankManageList',
|
||||
mixins: [search],
|
||||
data () {
|
||||
formList: [
|
||||
{
|
||||
name: 'search_text',
|
||||
type: 'Input',
|
||||
value: '',
|
||||
label: '',
|
||||
width: '340px',
|
||||
placeholder: '请输入银行名查询'
|
||||
}
|
||||
],
|
||||
optionList: {
|
||||
stage: [
|
||||
{
|
||||
value: '1',
|
||||
label: '交易'
|
||||
}
|
||||
],
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.searchParam = this.getSearchForm(this.formList)
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getList(item){
|
||||
this.loading = true
|
||||
this.searchParam = Object.assign({}, this.searchParam, item)
|
||||
getAllOrder(this.searchParam).then(res => {
|
||||
this.loading = false
|
||||
if (res.code === 1) {
|
||||
this.total = res.data.count
|
||||
this.tableData = res.data.list
|
||||
} else {
|
||||
this.$Message.error(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSearch(item){
|
||||
this.searchParam.page = 1
|
||||
this.getList(item)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
```
|
||||
|
||||
### API 说明
|
||||
|
||||
props
|
||||
| 属性 | 说明 | 类型 | 默认值 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| list | 搜索栏配置描述 | Array | [] |
|
||||
| option-list | 下拉框选项数据 | Array | [] |
|
||||
| export-text | 导出名 | String | '导出' |
|
||||
| export-url | 文件导出地址 | String | '' |
|
||||
| search-text | 查询名 | String | '查询' |
|
||||
| reset-text | 重置名 | String | '重置' |
|
||||
| export-text | 导出名 | String | '导出' |
|
||||
|
||||
events
|
||||
| 事件名 | 说明 | 返回值 |
|
||||
| :--- | :--- | :--- |
|
||||
| search | 点击查询时触发 | 查询参数 |
|
||||
| on{item.name}Press | 下拉选择时触发,item.name 为该字段名 |
|
||||
|
||||
slot
|
||||
| 名 | 说明 |
|
||||
| :--- | :--- |
|
||||
| extra | 附加内容 |
|
||||
|
||||
list 中的一项
|
||||
| 属性 | 说明 | 类型 | 默认值 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| name | 字段名 | String | - |
|
||||
| type | 表单类型 | String | - |
|
||||
| value | 默认值 | String-Number| - |
|
||||
| label | 字段名 | String| - |
|
||||
| width | 表单宽度 | String| - |
|
||||
| placeholder | placeholder 内容 | String| - |
|
||||
344
pgweb/src/components/search-form/index.vue
Normal file
@@ -0,0 +1,344 @@
|
||||
<template>
|
||||
<div @keyup.enter="handleSubmit">
|
||||
<Form ref="searchForm" :model="valueList" inline class="mb-10">
|
||||
<FormItem v-for="(item,index) in list" :key="index" :prop="item.name">
|
||||
<span v-if="item.label" class='mr-10'>{{item.label}}</span>
|
||||
<Input v-if="item.type==='Input'" v-model="valueList[item.name]" clearable :maxlength='item.maxlength || ""' :placeholder="item.placeholder" :style="{width:item.width ||''}" />
|
||||
<Checkbox v-if="item.type==='Checkbox'" :trueValue="1" :falseValue="0" v-model="valueList[item.name]">{{item.label}}</Checkbox>
|
||||
<DatePicker
|
||||
v-if="item.type==='DatePicker'"
|
||||
:type="item.dateType ? item.dateType : 'date'"
|
||||
:value="valueList[item.name]"
|
||||
@on-change="changeDate(item.name,$event)"
|
||||
:placeholder="item.placeholder"
|
||||
:style="{width:item.width ||'115px'}"
|
||||
clearable
|
||||
></DatePicker>
|
||||
<DatePicker
|
||||
v-if="item.type==='DatePickerMonth'"
|
||||
type="month"
|
||||
:value="valueList[item.name]"
|
||||
@on-change="changeDate(item.name,$event)"
|
||||
:placeholder="item.placeholder"
|
||||
:style="{width:item.width ||'115px'}"
|
||||
clearable
|
||||
></DatePicker>
|
||||
<Select
|
||||
v-if="item.type==='Select' && !isManager(item.name)"
|
||||
@on-change="item.onPress ? onChangePress($event, item) : ''"
|
||||
size="default"
|
||||
clearable
|
||||
:placeholder="item.placeholder"
|
||||
:filterable='item.filterable || false'
|
||||
v-model="valueList[item.name]"
|
||||
:style="{width:item.width ||'200px'}"
|
||||
>
|
||||
<Option v-for="(child,i) in selectList[item.name]" :value="child.value" :key="i">{{ child.label }}</Option>
|
||||
</Select>
|
||||
<Select
|
||||
v-if="item.name==='taker_id'"
|
||||
:placeholder="item.placeholder"
|
||||
v-model="valueList[item.name]"
|
||||
:remote-method="remoteMethod"
|
||||
@on-clear="clearTakerList"
|
||||
style="width:100px"
|
||||
:loading="loading"
|
||||
size="default"
|
||||
filterable
|
||||
clearable
|
||||
remote
|
||||
>
|
||||
<Option v-for="(child,i) in branchManagerList" :label="child.name" :value="child.id" :key="`dept-${i}`">
|
||||
<span>{{child.name}}</span>
|
||||
<span style="float:right;color:#999">{{child.dept_name}}</span>
|
||||
</Option>
|
||||
</Select>
|
||||
<!-- 可以下拉搜索 业务助理 -->
|
||||
<Select
|
||||
v-if="item.name=='business_uid'&&item.name!='merchandiser_uid'"
|
||||
:placeholder="item.placeholder"
|
||||
v-model="valueList[item.name]"
|
||||
:remote-method="businessUidSearch"
|
||||
@on-clear="clearList"
|
||||
style="width:100px"
|
||||
:loading="loading"
|
||||
size="default"
|
||||
filterable
|
||||
clearable
|
||||
remote
|
||||
>
|
||||
<Option v-for="(child,i) in searchList" :label="child.name" :value="child.id" :key="`dept-${i}`">{{child.name}}</Option>
|
||||
</Select>
|
||||
<!-- 可以下拉搜索 跟单助理 -->
|
||||
<Select
|
||||
v-if="item.name!='business_uid'&&item.name=='merchandiser_uid'"
|
||||
:placeholder="item.placeholder"
|
||||
v-model="valueList[item.name]"
|
||||
:remote-method="getMerchandiserList"
|
||||
@on-clear="clearList"
|
||||
style="width:100px"
|
||||
:loading="loading"
|
||||
size="default"
|
||||
filterable
|
||||
clearable
|
||||
remote
|
||||
>
|
||||
<Option v-for="(child,i) in merchandiserList" :label="child.name" :value="child.id" :key="`dept-${i}`">{{child.name}}</Option>
|
||||
</Select>
|
||||
<!-- 选择客户经理 -->
|
||||
<template
|
||||
v-if="item.name!=='taker_id'&&item.name!=='business_uid'&&item.name!=='merchandiser_uid'&&item.type==='Select' && isManager(item.name)"
|
||||
>
|
||||
<div class="manageSelect">
|
||||
<Select
|
||||
:placeholder="item.name === 'owner' ? '人员' : '客户经理'"
|
||||
v-model="valueList[item.name]"
|
||||
:remote-method="remoteMethod"
|
||||
@on-change="changeManage"
|
||||
@on-clear="clearManage"
|
||||
style="width:100px"
|
||||
:loading="loading"
|
||||
size="default"
|
||||
filterable
|
||||
clearable
|
||||
remote
|
||||
>
|
||||
<Option v-for="(child,i) in branchManagerList" :label="child.name" :value="child.id" :key="`dept-${i}`">
|
||||
<span>{{child.name}}</span>
|
||||
<span style="float:right;color:#999">{{child.dept_name}}</span>
|
||||
</Option>
|
||||
</Select>
|
||||
<span style="margin:0 5px;">-</span>
|
||||
<!-- <div class="department">{{department}}</div> -->
|
||||
<Input v-model="department" placeholder="所属部门" disabled style="width:100px" />
|
||||
</div>
|
||||
</template>
|
||||
</FormItem>
|
||||
<FormItem>
|
||||
<Button type="primary" class="mr-10" @click="handleSubmit()">{{searchText?searchText:'查询'}}</Button>
|
||||
<Button type="default" class="mr-10" @click="handleReset()">{{resetText?resetText:'重置'}}</Button>
|
||||
<template v-if="authButtonUrl!==''"> <!--按钮auth权限-->
|
||||
<Button
|
||||
type="default"
|
||||
class="mr-10"
|
||||
@click="onExportPress()"
|
||||
v-if="exportUrl"
|
||||
:loading="exportLoading"
|
||||
v-auth="authButtonUrl"
|
||||
>{{exportText?exportText:'导出'}}</Button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<Button
|
||||
type="default"
|
||||
class="mr-10"
|
||||
@click="onExportPress()"
|
||||
v-if="exportUrl"
|
||||
:loading="exportLoading"
|
||||
>{{exportText?exportText:'导出'}}</Button>
|
||||
</template>
|
||||
<slot name="extra"></slot>
|
||||
<!-- v-auth="exportUrl" -->
|
||||
</FormItem>
|
||||
</Form>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
// import { userSearch } from '@/api/check'
|
||||
// import { businessList } from '@/api/publicAPI'
|
||||
// import { merchandiserList } from '@/api/checkAllOrder'
|
||||
import { post } from '@/libs/request'
|
||||
import { oneOf } from '@/libs/tools'
|
||||
import { downloadFile } from '@/libs/util'
|
||||
|
||||
export default {
|
||||
name: 'searchForm',
|
||||
props: {
|
||||
list: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}, // 数据列表
|
||||
optionList: {
|
||||
type: Object,
|
||||
default: () => { }
|
||||
}, // 下拉选项
|
||||
searchText: {
|
||||
type: String
|
||||
}, // 自定义搜索名
|
||||
resetText: {
|
||||
type: String
|
||||
}, // 自定义重置名
|
||||
exportUrls: {
|
||||
type: Array
|
||||
},
|
||||
exportUrl: {
|
||||
type: String
|
||||
}, // 导出接口地址
|
||||
exportProcess: {
|
||||
type: Boolean
|
||||
}, // 点击导出 是否执行其他方法
|
||||
exportText: {
|
||||
type: String
|
||||
}, // 自定义导出名
|
||||
authButtonUrl: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
loading: false, // 查询客户经理
|
||||
exportLoading: false, // 导出
|
||||
branchManagerList: [], // 部门经理
|
||||
initValueList: [],
|
||||
valueList: {}, // 查询参数
|
||||
selectList: this.optionList, // 下拉选项
|
||||
department: '', // 所属部门
|
||||
searchList: [], // 下拉搜索列表
|
||||
merchandiserList: [],
|
||||
curExportProcess: this.exportProcess,
|
||||
selectNameList: ['create_uid', 'managerId', 'owner', 'taker_id', 'manager_id', 'business_uid', 'merchandiser_uid'] // 选择部门经理的字段
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.setInitValue() // 生成提交数据结构
|
||||
this.getAssistantList()
|
||||
},
|
||||
watch: {
|
||||
list () {
|
||||
this.initValueList()
|
||||
},
|
||||
optionList (item) {
|
||||
this.selectList = item
|
||||
},
|
||||
curExportProcess (flag) {
|
||||
this.curExportProcess = flag
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
getAssistantList () {
|
||||
this.list.forEach(item => {
|
||||
if (item.name !== 'business_uid' && item.name === 'merchandiser_uid') {
|
||||
this.businessUidSearch()
|
||||
this.getMerchandiserList()
|
||||
}
|
||||
})
|
||||
},
|
||||
isManager (item) {
|
||||
return oneOf(item, this.selectNameList)
|
||||
},
|
||||
setInitValue () {
|
||||
this.initValueList = this.list.map(item => item.value)
|
||||
let valueList = {}
|
||||
this.list.map(item => {
|
||||
valueList[item.name] = item.value
|
||||
})
|
||||
this.valueList = valueList
|
||||
},
|
||||
onChangePress (e, item) {
|
||||
this.$emit(`on${item.name}Press`, e)
|
||||
},
|
||||
// 查询
|
||||
handleSubmit () {
|
||||
this.$emit('search', this.valueList)
|
||||
},
|
||||
// 重置
|
||||
handleReset () {
|
||||
this.department = ''
|
||||
this.$refs['searchForm'].resetFields()
|
||||
this.$emit('search', this.valueList)
|
||||
},
|
||||
// 选择客户经理
|
||||
changeManage (value) {
|
||||
this.branchManagerList.map(item => {
|
||||
if (item.id === value) {
|
||||
this.department = item.dept_name
|
||||
}
|
||||
})
|
||||
},
|
||||
// 清除选择客户经理
|
||||
clearManage () {
|
||||
this.department = ''
|
||||
},
|
||||
clearTakerList () {
|
||||
this.branchManagerList = []
|
||||
},
|
||||
changeDate (item, value) {
|
||||
this.valueList[item] = value
|
||||
},
|
||||
remoteMethod (query) {
|
||||
if (query !== '') {
|
||||
this.loading = true
|
||||
// eslint-disable-next-line no-undef
|
||||
userSearch({ name: query }).then(res => {
|
||||
this.loading = false
|
||||
if (res.code === 1) {
|
||||
this.branchManagerList = res.data
|
||||
} else {
|
||||
this.branchManagerList = []
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.branchManagerList = []
|
||||
}
|
||||
},
|
||||
businessUidSearch (query = '') {
|
||||
this.loading = true
|
||||
// eslint-disable-next-line no-undef
|
||||
businessList({ name: query }).then(res => {
|
||||
this.loading = false
|
||||
if (res.code === 1) {
|
||||
this.searchList = res.data
|
||||
} else {
|
||||
this.searchList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
clearList () {
|
||||
this.businessUidSearch()
|
||||
this.getMerchandiserList()
|
||||
},
|
||||
getMerchandiserList (query = '') {
|
||||
this.loading = true
|
||||
// eslint-disable-next-line no-undef
|
||||
merchandiserList({ name: query }).then(res => {
|
||||
this.loading = false
|
||||
if (res.code === 1) {
|
||||
this.merchandiserList = res.data
|
||||
this.merchandiserList.unshift({ name: '空', id: -1 })
|
||||
} else {
|
||||
this.merchandiserList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
onExportPress () {
|
||||
// 点击导出按钮 是否执行其他方法
|
||||
if (this.curExportProcess) {
|
||||
this.$emit('exportMethod')
|
||||
return
|
||||
}
|
||||
this.exportExcel()
|
||||
},
|
||||
exportExcel (param) {
|
||||
this.exportLoading = true
|
||||
post(this.exportUrl, param || this.valueList, {}, 'blob').then(({ data, fileName }) => {
|
||||
this.exportLoading = false
|
||||
return downloadFile(data, fileName)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
/deep/ .ivu-select-dropdown {
|
||||
min-width: 210px !important;
|
||||
}
|
||||
/deep/.manageSelect .ivu-input {
|
||||
background: #f5f5f5;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
}
|
||||
/deep/.ivu-form-item {
|
||||
margin-bottom: 10px !important;
|
||||
}
|
||||
</style>
|
||||