@@ -9,7 +9,7 @@ | |||||
<script src="/static/js/ol.js"></script> | <script src="/static/js/ol.js"></script> | ||||
<!-- <script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=cc4aba6e967096098249efa069733067"></script>--> | <!-- <script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=cc4aba6e967096098249efa069733067"></script>--> | ||||
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=XzwOBaO4CElCsPdl8LIFEvv5rTemG6w1"></script> | <script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=XzwOBaO4CElCsPdl8LIFEvv5rTemG6w1"></script> | ||||
<title>农燊高科</title> | |||||
<title>COMPANY</title> | |||||
</head> | </head> | ||||
<body> | <body> | ||||
@@ -5,25 +5,20 @@ | |||||
"requires": true, | "requires": true, | ||||
"dependencies": { | "dependencies": { | ||||
"@babel/runtime": { | "@babel/runtime": { | ||||
"version": "7.13.9", | |||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.9.tgz", | |||||
"integrity": "sha512-aY2kU+xgJ3dJ1eU6FMB9EH8dIe8dmusF1xEku52joLvw6eAFN0AI+WxCLDnpev2LEejWBAy2sBvBOBAjI3zmvA==", | |||||
"version": "7.24.4", | |||||
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.4.tgz", | |||||
"integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", | |||||
"requires": { | "requires": { | ||||
"regenerator-runtime": "^0.13.4" | |||||
"regenerator-runtime": "^0.14.0" | |||||
}, | }, | ||||
"dependencies": { | "dependencies": { | ||||
"regenerator-runtime": { | "regenerator-runtime": { | ||||
"version": "0.13.7", | |||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", | |||||
"integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" | |||||
"version": "0.14.1", | |||||
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", | |||||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"@popperjs/core": { | |||||
"version": "2.9.0", | |||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.0.tgz", | |||||
"integrity": "sha512-wjtKehFAIARq2OxK8j3JrggNlEslJfNuSm2ArteIbKyRMts2g0a7KzTxfRVNUM+O0gnBJ2hNV8nWPOYBgI1sew==" | |||||
}, | |||||
"@types/json-schema": { | "@types/json-schema": { | ||||
"version": "7.0.11", | "version": "7.0.11", | ||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", | ||||
@@ -41,22 +36,19 @@ | |||||
"integrity": "sha512-efv7Yl/OTHjyy0irhJJPtgZb5mJZmroEtVOa8vkGRNTLY93+NgEcVuIBaC35hYCMsTrPHDQRvQGnI9Hyhtto0Q==" | "integrity": "sha512-efv7Yl/OTHjyy0irhJJPtgZb5mJZmroEtVOa8vkGRNTLY93+NgEcVuIBaC35hYCMsTrPHDQRvQGnI9Hyhtto0Q==" | ||||
}, | }, | ||||
"@vant/icons": { | "@vant/icons": { | ||||
"version": "1.5.2", | |||||
"resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.5.2.tgz", | |||||
"integrity": "sha512-Gy2mFIgObvCh1azp6LklQYsNFrCjMLxf/mEzHD6WV0pZbMBNjsb7bWvAjPo3Wygo9IVtGqi/36wrtosv3PkyRg==" | |||||
"version": "3.0.2", | |||||
"resolved": "https://registry.npmmirror.com/@vant/icons/-/icons-3.0.2.tgz", | |||||
"integrity": "sha512-4OlRVMd0uiDtD9hgSISZW8hB95vU0fFtc41tQchRIyiXkR0tS+DydZOLb8/bQkithrNWhW7Uud38MbKjlJ9lJw==" | |||||
}, | }, | ||||
"@vant/popperjs": { | "@vant/popperjs": { | ||||
"version": "1.0.4", | |||||
"resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.0.4.tgz", | |||||
"integrity": "sha512-bqbmOoX0kYexGw65awNX9wxePR0ZIdTlVP+7JRahrbUjKW0+HxC2T27NE90cCDmqiFL/6+QYazhLvVa436jV0A==", | |||||
"requires": { | |||||
"@popperjs/core": "^2.5.4" | |||||
} | |||||
"version": "1.3.0", | |||||
"resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz", | |||||
"integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==" | |||||
}, | }, | ||||
"@vue/babel-helper-vue-jsx-merge-props": { | "@vue/babel-helper-vue-jsx-merge-props": { | ||||
"version": "1.2.1", | |||||
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", | |||||
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==" | |||||
"version": "1.4.0", | |||||
"resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", | |||||
"integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==" | |||||
}, | }, | ||||
"@zxing/library": { | "@zxing/library": { | ||||
"version": "0.18.6", | "version": "0.18.6", | ||||
@@ -4286,7 +4278,7 @@ | |||||
"fastclick": { | "fastclick": { | ||||
"version": "1.0.6", | "version": "1.0.6", | ||||
"resolved": "https://registry.npmjs.org/fastclick/-/fastclick-1.0.6.tgz", | "resolved": "https://registry.npmjs.org/fastclick/-/fastclick-1.0.6.tgz", | ||||
"integrity": "sha1-FhYlsnsaWAZAWTa9qaLBkm0Gvmo=", | |||||
"integrity": "sha512-cXyDBT4g0uWl/Xe75QspBDAgAWQ0lkPi/zgp6YFEUHj6WV6VIZl7R6TiDZhdOVU3W4ehp/8tG61Jev1jit+ztQ==", | |||||
"dev": true | "dev": true | ||||
}, | }, | ||||
"fastparse": { | "fastparse": { | ||||
@@ -4441,7 +4433,7 @@ | |||||
"font-awesome.css": { | "font-awesome.css": { | ||||
"version": "4.7.2", | "version": "4.7.2", | ||||
"resolved": "https://registry.npmjs.org/font-awesome.css/-/font-awesome.css-4.7.2.tgz", | "resolved": "https://registry.npmjs.org/font-awesome.css/-/font-awesome.css-4.7.2.tgz", | ||||
"integrity": "sha1-B1pCARQo8gJyVO9phgx1ergWyVI=" | |||||
"integrity": "sha512-FIyRbig4PDY15NGzejM3b8OQ/lWvId8PHnE4CnuDtc8/YYs07cvnqLCyfvIJPwJl5SA/Rq+9jAe9W+Fr1pv0DA==" | |||||
}, | }, | ||||
"for-in": { | "for-in": { | ||||
"version": "1.0.2", | "version": "1.0.2", | ||||
@@ -12277,13 +12269,13 @@ | |||||
} | } | ||||
}, | }, | ||||
"vant": { | "vant": { | ||||
"version": "2.12.8", | |||||
"resolved": "https://registry.npmjs.org/vant/-/vant-2.12.8.tgz", | |||||
"integrity": "sha512-2Rs/LDGg+Dz2AbWRM88EmnH1OTDSB1vcWFZ8pIlHEUraLUM6SvwsqtMpLrnn15KZA1RToeKbrv0MZOVfzoEpSQ==", | |||||
"version": "2.13.2", | |||||
"resolved": "https://registry.npmmirror.com/vant/-/vant-2.13.2.tgz", | |||||
"integrity": "sha512-anZbbLqXCq+rUJk10D67mn+V/1/i9tfOTdoR+64B0e+0BzV3KFgpHBF76noLa+yX9i/L+8DeL560WMk0GEN38g==", | |||||
"requires": { | "requires": { | ||||
"@babel/runtime": "7.x", | "@babel/runtime": "7.x", | ||||
"@vant/icons": "1.5.2", | |||||
"@vant/popperjs": "^1.0.0", | |||||
"@vant/icons": "^3.0.2", | |||||
"@vant/popperjs": "^1.1.0", | |||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", | "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", | ||||
"vue-lazyload": "1.2.3" | "vue-lazyload": "1.2.3" | ||||
} | } | ||||
@@ -12360,7 +12352,7 @@ | |||||
"vue-html5-editor": { | "vue-html5-editor": { | ||||
"version": "1.1.1", | "version": "1.1.1", | ||||
"resolved": "https://registry.npmjs.org/vue-html5-editor/-/vue-html5-editor-1.1.1.tgz", | "resolved": "https://registry.npmjs.org/vue-html5-editor/-/vue-html5-editor-1.1.1.tgz", | ||||
"integrity": "sha1-WRAhCoMNjI00eaHx/shHMZKqA7M=", | |||||
"integrity": "sha512-Ckmb8djta+XQMUQaxRcCUNBXEzjPF5p6c2nQ5ICcIuR8eYz4b0HAGzXlSDfL3ZxkrVHO2Hx0VrUORLu2Lwem4g==", | |||||
"dev": true | "dev": true | ||||
}, | }, | ||||
"vue-lazyload": { | "vue-lazyload": { | ||||
@@ -10,9 +10,9 @@ | |||||
"build": "node build/build.js" | "build": "node build/build.js" | ||||
}, | }, | ||||
"dependencies": { | "dependencies": { | ||||
"bignumber.js": "^9.1.2", | |||||
"@vant/area-data": "^1.2.2", | "@vant/area-data": "^1.2.2", | ||||
"axios": "^0.21.1", | "axios": "^0.21.1", | ||||
"bignumber.js": "^9.1.2", | |||||
"echarts": "^5.3.3", | "echarts": "^5.3.3", | ||||
"element-ui": "^2.15.6", | "element-ui": "^2.15.6", | ||||
"font-awesome": "^4.7.0", | "font-awesome": "^4.7.0", | ||||
@@ -29,7 +29,7 @@ | |||||
"quill": "^1.3.7", | "quill": "^1.3.7", | ||||
"sass": "^1.32.8", | "sass": "^1.32.8", | ||||
"sass-loader": "^6.0.6", | "sass-loader": "^6.0.6", | ||||
"vant": "^2.12.8", | |||||
"vant": "^2.13.2", | |||||
"vue": "^2.5.2", | "vue": "^2.5.2", | ||||
"vue-baidu-map": "^0.21.22", | "vue-baidu-map": "^0.21.22", | ||||
"vue-cookies": "^1.7.4", | "vue-cookies": "^1.7.4", | ||||
@@ -0,0 +1,17 @@ | |||||
export const AAUDIT_INTENT = { | |||||
NONE: '', // 无 | |||||
VIEW: 'VIEW', // 查看 | |||||
AUDIT: 'audit', // 审批 | |||||
HISTORY: 'history', // 审批历史 | |||||
PIPELINE: 'pipeline', // 审批流程图 | |||||
}; | |||||
export const AAUDIT_STATUS = { | |||||
/* READY : "1", // 未提交 | |||||
AUDITING : "3", // 审批中 | |||||
PASS : "5", // 审批通过 | |||||
REJECT : "7", // 审批驳回 */ | |||||
READY : "0", // 未提交 | |||||
AUDITING : "1", // 审批中 | |||||
PASS : "3", // 审批通过 | |||||
REJECT : "2", // 审批驳回 | |||||
}; |
@@ -0,0 +1,44 @@ | |||||
import request from '@/utils/request' | |||||
// 查询审批模板列表 | |||||
export function A_listAuditModel(query) { | |||||
return request({ | |||||
url: '/open/home/mobile/modelList', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 查询审批模板详细 | |||||
export function A_getAuditModel(id) { | |||||
return request({ | |||||
url: '/approval/auditmodel/get/' + id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 新增审批模板 | |||||
export function A_addAuditModel(data) { | |||||
return request({ | |||||
url: '/approval/auditmodel/add', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 修改审批模板 | |||||
export function A_updateAuditModel(data) { | |||||
return request({ | |||||
url: '/approval/auditmodel/edit', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 删除审批模板 | |||||
export function A_deleteAuditModel(id) { | |||||
return request({ | |||||
url: '/approval/auditmodel/remove/' + id, | |||||
method: 'post' | |||||
}) | |||||
} |
@@ -0,0 +1,76 @@ | |||||
import request from '@/utils/request' | |||||
// 我的待办列表 | |||||
export function A_myTodoList(query) { | |||||
return request({ | |||||
url: '/approval/audit/todoList', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 我的已办列表 | |||||
export function A_myDoneList(query) { | |||||
return request({ | |||||
url: '/approval/audit/doneList', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 审批历史列表 | |||||
export function A_auditHistoryList(id, query) { | |||||
return request({ | |||||
url: '/approval/audit/historyList/' + id, | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 获取后台流程图地址 | |||||
export function A_pipelineImageUrl(no, format = 'png') { | |||||
return `/approval/audit/pipeline/${no}.${format}`; | |||||
} | |||||
// 审批状态列表 | |||||
export function A_pipelineState(no) { | |||||
return request({ | |||||
url: '/approval/audit/pipelineState/' + no, | |||||
method: 'get', | |||||
}) | |||||
} | |||||
// 审批批次列表 | |||||
export function A_auditBatchList(no) { | |||||
return request({ | |||||
url: '/approval/audit/auditBatchList/' + no, | |||||
method: 'get', | |||||
}) | |||||
} | |||||
// 审批历史详情 | |||||
export function A_auditHistoryDetail(id, parms) { | |||||
return request({ | |||||
url: '/approval/audit/history/' + id, | |||||
method: 'get', | |||||
params: parms, | |||||
}) | |||||
} | |||||
// 审批 | |||||
export function A_audit(data) { | |||||
return request({ | |||||
url: '/approval/audit/audit', | |||||
method: 'post', | |||||
data: data, | |||||
}) | |||||
} | |||||
// 提交 | |||||
export function A_start(data) { | |||||
return request({ | |||||
url: '/open/home/mobile/start', | |||||
method: 'post', | |||||
data: data, | |||||
}) | |||||
} |
@@ -46,7 +46,7 @@ export function updateCbf(data) { | |||||
// 删除承包方信息 | // 删除承包方信息 | ||||
export function deleteCbf(id) { | export function deleteCbf(id) { | ||||
return request({ | return request({ | ||||
url: '/service/cbf/mobile/remove/' + id, | |||||
url: '/service/cbf/delete/' + id, | |||||
method: 'get' | method: 'get' | ||||
}); | }); | ||||
} | } | ||||
@@ -0,0 +1,80 @@ | |||||
import request from '@/utils/request' | |||||
// 查询资金审批申请列表 | |||||
export function listCashExpense(query) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/list', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 统计查询资金审批申请列表 | |||||
export function statisticCashExpense(query) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/statistic', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 导出资金审批申请 | |||||
export function exportCashExpense(query) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/export', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 查询资金审批申请详细 | |||||
export function getCashExpense(id) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/get/' + id, | |||||
method: 'get', | |||||
params: arguments[1] || {} | |||||
}) | |||||
} | |||||
// 新增资金审批申请 | |||||
export function addCashExpense(data) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/add', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 修改资金审批申请 | |||||
export function updateCashExpense(data) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/edit', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 删除资金审批申请 | |||||
export function delCashExpense(id) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/remove/' + id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 资金申请审批 | |||||
export function applyCashExpense(id) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/submitApply/' + id, | |||||
method: 'get' | |||||
}); | |||||
} | |||||
// 撤销资金申请审批 | |||||
export function revokeCashExpense(id) { | |||||
return request({ | |||||
url: '/yinnong/cashExpense/revokeApply/' + id, | |||||
method: 'get' | |||||
}); | |||||
} | |||||
@@ -194,7 +194,7 @@ export function addCashdetail(data) { | |||||
// 查询转账账户详情详细 | // 查询转账账户详情详细 | ||||
export function getTransferProcess(id) { | export function getTransferProcess(id) { | ||||
return request({ | return request({ | ||||
url: '/yinnong/transfer/getProcessSchedule/' + id, | |||||
url: '/yinnong/transfer/getProcessScheduleInfoNew/' + id, | |||||
method: 'get' | method: 'get' | ||||
}) | }) | ||||
} | } | ||||
@@ -223,12 +223,12 @@ export function getQmyeFlow(id) { | |||||
}) | }) | ||||
} | } | ||||
// 查询当前账期余额 | |||||
// 审批 | |||||
export function approval(data) { | export function approval(data) { | ||||
return request({ | return request({ | ||||
url: '/activiti/process/complete', | |||||
url: '/approval/audit/audit', | |||||
method: 'post', | method: 'post', | ||||
params:data | |||||
data:data | |||||
}) | }) | ||||
} | } | ||||
@@ -316,6 +316,13 @@ export function getTransferProcess1(id) { | |||||
method: 'get' | method: 'get' | ||||
}) | }) | ||||
} | } | ||||
// 查询出纳账户设置详细 | |||||
export function getCashierAccount(id) { | |||||
return request({ | |||||
url: '/cashier/account/get/' + id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询出纳账户设置列表 | // 查询出纳账户设置列表 | ||||
export function listAccount(query) { | export function listAccount(query) { | ||||
@@ -43,8 +43,22 @@ export function ycsyAdd(data){ | |||||
data:data | data:data | ||||
}) | }) | ||||
} | } | ||||
// 生成收费计划 | |||||
export function generateFeePlan(data) { | |||||
return request({ | |||||
url: '/home/ycsy/generateFeePlan', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
//有偿使用超期 | |||||
export function overdueList(data) { | |||||
return request({ | |||||
url:'/home/ycsy/overdueList', | |||||
method:'get', | |||||
params:data | |||||
}) | |||||
} | |||||
//使用权人查询 | //使用权人查询 | ||||
export function listByDeptId(){ | export function listByDeptId(){ | ||||
return request({ | return request({ | ||||
@@ -0,0 +1,64 @@ | |||||
import request from '@/utils/request' | |||||
// 查询有偿收费明细列表 | |||||
export function listYcsysfmx(query) { | |||||
return request({ | |||||
url: '/home/ycsysfmx/list', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 统计查询有偿收费明细列表 | |||||
export function statisticYcsysfmx(query) { | |||||
return request({ | |||||
url: '/home/ycsysfmx/statistic', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 导出有偿收费明细 | |||||
export function exportYcsysfmx(query) { | |||||
return request({ | |||||
url: '/home/ycsysfmx/export', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 查询有偿收费明细详细 | |||||
export function getYcsysfmx(id) { | |||||
return request({ | |||||
url: '/home/ycsysfmx/get/' + id, | |||||
method: 'get', | |||||
params: arguments[1] || {} | |||||
}) | |||||
} | |||||
// 新增有偿收费明细 | |||||
export function addYcsysfmx(data) { | |||||
return request({ | |||||
url: '/home/ycsysfmx/add', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 修改有偿收费明细 | |||||
export function updateYcsysfmx(data) { | |||||
return request({ | |||||
url: '/home/ycsysfmx/edit', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 删除有偿收费明细 | |||||
export function delYcsysfmx(id) { | |||||
return request({ | |||||
url: '/home/ycsysfmx/remove/' + id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
@@ -196,6 +196,22 @@ export function customSubmitWLHT(id) { | |||||
method: 'post' | method: 'post' | ||||
}) | }) | ||||
} | } | ||||
//新增地房申请(新) | |||||
export function submitApplication(id) { | |||||
return request({ | |||||
url: '/open/home/mobile/submitApplication/' + id, | |||||
method: 'post' | |||||
}) | |||||
} | |||||
// 新增地房申请-开工申请(新) | |||||
export function submitStart(id) { | |||||
return request({ | |||||
url: '/open/home/mobile/submitStart/'+id, | |||||
method: 'post', | |||||
}) | |||||
} | |||||
// 新增地房申请-开工申请 | // 新增地房申请-开工申请 | ||||
export function submitStartWLHT(id) { | export function submitStartWLHT(id) { | ||||
return request({ | return request({ | ||||
@@ -213,6 +229,14 @@ export function updateStart(data) { | |||||
}) | }) | ||||
} | } | ||||
// 提交地房申请-验收意见(新) | |||||
export function submitCheck(id) { | |||||
return request({ | |||||
url: '/open/home/mobile/submitCheck/'+id, | |||||
method: 'post', | |||||
}) | |||||
} | |||||
// 提交地房申请-验收意见(乌兰浩特 简化流程) | // 提交地房申请-验收意见(乌兰浩特 简化流程) | ||||
export function submitEndWLHT(id) { | export function submitEndWLHT(id) { | ||||
return request({ | return request({ | ||||
@@ -257,3 +281,12 @@ export function updateOpretion(id) { | |||||
method: 'post' | method: 'post' | ||||
}) | }) | ||||
} | } | ||||
//获取用地建房申请状态信息 | |||||
export function getHomeApplyStatus(id) { | |||||
return request({ | |||||
url: '/open/home/mobile/homeApplyStatusNew/'+id, | |||||
method: 'get' | |||||
}) | |||||
} |
@@ -87,7 +87,12 @@ export function zyyctcApply(id){ | |||||
method:'post', | method:'post', | ||||
}) | }) | ||||
} | } | ||||
export function zyyctcApplyNew(id){ | |||||
return request({ | |||||
url:'/open/home/mobile/paidExitSubmitApplyNew/'+id, | |||||
method:'post', | |||||
}) | |||||
} | |||||
// 查询权利人列表 | // 查询权利人列表 | ||||
export function getShyqrs(query) { | export function getShyqrs(query) { | ||||
return request({ | return request({ | ||||
@@ -193,6 +193,15 @@ export function realtimeList(query){ | |||||
}) | }) | ||||
} | } | ||||
// 查询审批历史 | |||||
export function auditHistoryList(params) { | |||||
return request({ | |||||
url: '/transaction/website/auditHistory/list', | |||||
method: 'get', | |||||
params: params | |||||
}); | |||||
} | |||||
export const options = [ | export const options = [ | ||||
{ | { | ||||
"value": "北京", | "value": "北京", | ||||
@@ -1289,23 +1298,23 @@ export const options = [ | |||||
"value": "海东", | "value": "海东", | ||||
"label": "海东", | "label": "海东", | ||||
}, { | }, { | ||||
"value": "海北州", | |||||
"label": "海北州", | |||||
"value": "海北", | |||||
"label": "海北", | |||||
}, { | }, { | ||||
"value": "黄南州", | |||||
"label": "黄南州", | |||||
"value": "黄南", | |||||
"label": "黄南", | |||||
}, { | }, { | ||||
"value": "海南州", | |||||
"label": "海南州", | |||||
"value": "海南", | |||||
"label": "海南", | |||||
}, { | }, { | ||||
"value": "果洛州", | |||||
"label": "果洛州", | |||||
"value": "果洛", | |||||
"label": "果洛", | |||||
}, { | }, { | ||||
"value": "玉树州", | |||||
"label": "玉树州", | |||||
"value": "玉树", | |||||
"label": "玉树", | |||||
}, { | }, { | ||||
"value": "海西州", | |||||
"label": "海西州", | |||||
"value": "海西", | |||||
"label": "海西", | |||||
}] | }] | ||||
}, { | }, { | ||||
"value": "宁夏", | "value": "宁夏", | ||||
@@ -0,0 +1,111 @@ | |||||
<template> | |||||
<div> | |||||
<div | |||||
:class='[background == "1"?"nav-wrap":"nav-wrap1",positionType=="fixed"?"nav-position-fixed":"nav-position-relative"]' | |||||
:style='{"height": 50+"px","overflow": "hidden"}' | |||||
> | |||||
<!-- // 导航栏 中间的标题 --> | |||||
<div class='nav-title' :style='{"line-height": 50+"px"}'>{{title}}</div> | |||||
<div style='display: flex; justify-content: center;flex-direction: column;height: 50px;padding-left: 2%;'> | |||||
<!-- // 其中wx:if='{{navbarData.showCapsule}}' 是控制左上角按钮的显示隐藏,首页不显示 --> | |||||
<van-icon name="arrow-left" color="#333333" size="25" @click="onClickLeft()" /> | |||||
</div> | |||||
</div> | |||||
<div :style='{"height": 50+"px"}' v-if="positionType == 'fixed'"></div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
export default { | |||||
name: "nav_bar", | |||||
props: [ | |||||
"background", | |||||
"positionType", | |||||
"showCapsule", | |||||
"title", | |||||
], | |||||
data() { | |||||
return { | |||||
height: '', | |||||
navHeight:'', | |||||
} | |||||
}, | |||||
created() { | |||||
}, | |||||
methods: { | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.nav-wrap { | |||||
width: 100%; | |||||
top: 0; | |||||
background: transparent; | |||||
color: #000; | |||||
z-index: 9999999; | |||||
} | |||||
.nav-wrap1 { | |||||
width: 100%; | |||||
top: 0; | |||||
background: linear-gradient(to bottom right,#91E1CA,#E0F4E4); | |||||
color: #333333; | |||||
z-index: 9999999; | |||||
} | |||||
/* 标题要居中 */ | |||||
.nav-title { | |||||
position: absolute; | |||||
text-align: center; | |||||
max-width: 200px; | |||||
overflow: hidden; | |||||
text-overflow: ellipsis; | |||||
white-space: nowrap; | |||||
top: 0; | |||||
left: 0; | |||||
right: 0; | |||||
bottom: 0; | |||||
margin: auto; | |||||
font-size: 16Px; | |||||
} | |||||
.nav-capsule { | |||||
display: flex; | |||||
align-items: center; | |||||
margin-left: 5px; | |||||
width: 70px; | |||||
justify-content: space-between; | |||||
height: 100%; | |||||
} | |||||
.navbar-v-line { | |||||
width: 1px; | |||||
height: 16px; | |||||
background-color: #e5e5e5; | |||||
} | |||||
/*.back-pre,*/ | |||||
/*.back-home {*/ | |||||
/* width: 18Px;*/ | |||||
/* height: 25Px;*/ | |||||
/* margin-top: 2px;*/ | |||||
/* padding: 5px;*/ | |||||
/* border-radius: 50%;*/ | |||||
/*}*/ | |||||
.nav-capsule .back-home { | |||||
width: 30px; | |||||
height: 30px; | |||||
margin-top: 1.5px; | |||||
} | |||||
.nav-position-fixed{ | |||||
position: fixed; | |||||
} | |||||
.nav-position-relative{ | |||||
position: relative; | |||||
} | |||||
</style> |
@@ -23,7 +23,7 @@ export default { | |||||
name: "SubjectTreeChooser", | name: "SubjectTreeChooser", | ||||
components: {SubjectTreeChooserNodeItem}, | components: {SubjectTreeChooserNodeItem}, | ||||
props: [ | props: [ | ||||
'value', 'visible', 'height', 'canSelectNonLeaf', | |||||
'year','value', 'visible', 'height', 'canSelectNonLeaf', | |||||
], | ], | ||||
watch: { | watch: { | ||||
value: function (newVal, oldVal) { | value: function (newVal, oldVal) { | ||||
@@ -33,6 +33,14 @@ export default { | |||||
this.syncIndex(); | this.syncIndex(); | ||||
} | } | ||||
}, | }, | ||||
year: function (newVal, oldVal) { | |||||
console.log(newVal) | |||||
if(newVal != this.yearNews) | |||||
{ | |||||
this.yearNews = newVal; | |||||
this.getSubjects(); | |||||
} | |||||
}, | |||||
visible: function(newVal, oldVal) { | visible: function(newVal, oldVal) { | ||||
if(this.popupVisible !== newVal) | if(this.popupVisible !== newVal) | ||||
{ | { | ||||
@@ -53,6 +61,7 @@ export default { | |||||
return { | return { | ||||
popupVisible: false, | popupVisible: false, | ||||
internalValue: this.value, | internalValue: this.value, | ||||
yearNews: this.year, | |||||
searchValue: '', | searchValue: '', | ||||
active: '1', | active: '1', | ||||
subjects: [], | subjects: [], | ||||
@@ -76,7 +85,7 @@ export default { | |||||
map[x.dictValue] = item; | map[x.dictValue] = item; | ||||
return item; | return item; | ||||
}); | }); | ||||
let url = '/finance/subject/listAll'; // '/open/villageAffairs/public/subjects/153' | |||||
let url = '/finance/subject/listAll?year='+this.yearNews; // '/open/villageAffairs/public/subjects/153' | |||||
request(url).then((resp) => { | request(url).then((resp) => { | ||||
let list = this.makeTree(resp.rows || resp.data); | let list = this.makeTree(resp.rows || resp.data); | ||||
for(let v of list) | for(let v of list) | ||||
@@ -30,185 +30,214 @@ | |||||
</template> | </template> | ||||
<script> | <script> | ||||
import { treeSingleProcessView , attach , removeFile , getAttachmentConfigTree, attachmentFind } from "@/api/sunVillage_info/homestead/application"; | |||||
import {getToken} from "@/utils/auth"; | |||||
import request from '@/utils/request' | |||||
import {Notify} from "vant"; | |||||
/** 导入JS方法 */ | |||||
import { | |||||
treeSingleProcessView, | |||||
attach, | |||||
removeFile, | |||||
getAttachmentConfigTree, | |||||
attachmentFind | |||||
} from "@/api/sunVillage_info/homestead/application"; | |||||
import {getToken} from "@/utils/auth"; | |||||
import request from '@/utils/request' | |||||
import {Notify} from "vant"; | |||||
export default { | |||||
name: "houseApplyUploadComp", | |||||
components: {}, | |||||
props: ["businessType", "proposerId", "houseApplyStatus", "processKey", "tableName", "readonly", 'full',"userName"], | |||||
data() { | |||||
return { | |||||
disabled: this.readonly, | |||||
loading: false, | |||||
attachmentList: [], | |||||
uploadImg: { | |||||
//上传图片配置 | |||||
uploadImgUrl: "/open/home/mobile/common/attach", | |||||
/** 导入JS方法 */ | |||||
export default { | |||||
name: "houseApplyUploadComp", | |||||
components: {}, | |||||
props: ["businessType", "proposerId", "houseApplyStatus", "processKey", "tableName", "readonly", 'full', "userName"], | |||||
data() { | |||||
return { | |||||
disabled: this.readonly, | |||||
loading: false, | |||||
attachmentList: [], | |||||
uploadImg: { | |||||
//上传图片配置 | |||||
uploadImgUrl: "/open/home/mobile/common/attach", | |||||
}, | |||||
newAttachments: [], | |||||
fileTypeList:[], | |||||
active: -1, | |||||
has: false, | |||||
} | |||||
}, | |||||
watch: { | |||||
proposerId: function (newVal, oldVal) { | |||||
this.showAttachmentComp(this.businessType, newVal, this.houseApplyStatus, this.processKey, this.tableName, this.full); | |||||
}, | |||||
readonly: function (newVal, oldVal) { | |||||
this.disabled = newVal; | |||||
}, | }, | ||||
newAttachments: [], | |||||
active: -1, | |||||
has: false, | |||||
} | |||||
}, | |||||
watch: { | |||||
proposerId: function (newVal, oldVal) { | |||||
this.showAttachmentComp(this.businessType, newVal, this.houseApplyStatus, this.processKey, this.tableName, this.full); | |||||
}, | }, | ||||
readonly: function (newVal, oldVal) { | |||||
this.disabled = newVal; | |||||
created() { | |||||
if (this.businessType !== null && this.proposerId == -1) { | |||||
this.showAttachmentComp(this.businessType, this.proposerId, this.houseApplyStatus, this.processKey, this.tableName, this.full) | |||||
} | |||||
}, | }, | ||||
}, | |||||
created() { | |||||
if (this.businessType !== null && this.proposerId == -1) { | |||||
this.showAttachmentComp(this.businessType, this.proposerId, this.houseApplyStatus, this.processKey, this.tableName, this.full) | |||||
} | |||||
}, | |||||
methods: { | |||||
handleUploadSuccess(file, detail, item) { | |||||
this.setFileStatus(file, 'uploading', '文件上传中...'); | |||||
let formData = new FormData; | |||||
formData.set('file', file.file); | |||||
this.$set(item.postData, 'userName', this.userName); | |||||
request({ | |||||
url: this.uploadImg.uploadImgUrl, | |||||
method: "post", | |||||
params: item.postData, | |||||
data: formData, | |||||
}).then((resp) => { | |||||
if(resp.code == 200) | |||||
{ | |||||
file.response = resp; | |||||
console.log(resp); | |||||
file.fileList = item.fileList; | |||||
this.onFileListChanged("ADD", resp.id); | |||||
this.setFileStatus(file, 'done', '文件上传成功'); | |||||
this.$emit('onUploadSuccess', file); | |||||
} | |||||
else | |||||
methods: { | |||||
handleUploadSuccess(file, detail, item) { | |||||
this.setFileStatus(file, 'uploading', '文件上传中...'); | |||||
let formData = new FormData; | |||||
formData.set('file', file.file); | |||||
this.$set(item.postData, 'userName', this.userName); | |||||
request({ | |||||
url: this.uploadImg.uploadImgUrl, | |||||
method: "post", | |||||
params: item.postData, | |||||
data: formData, | |||||
}).then((resp) => { | |||||
if (resp.code === 200) { | |||||
file.response = resp; | |||||
file.fileList = item.fileList; | |||||
this.onFileListChanged("ADD", resp); | |||||
this.setFileStatus(file, 'done', '文件上传成功'); | |||||
this.$emit('onUploadSuccess', file); | |||||
} else | |||||
this.setFileStatus(file, 'fail', '文件上传失败!'); | |||||
}).catch((e) => { | |||||
this.setFileStatus(file, 'fail', '文件上传失败!'); | this.setFileStatus(file, 'fail', '文件上传失败!'); | ||||
}).catch((e) => { | |||||
this.setFileStatus(file, 'fail', '文件上传失败!'); | |||||
}); | |||||
return true; | |||||
}, | |||||
handleRemove(file, detail) { | |||||
console.log(file, detail); | |||||
this.setFileStatus(file, 'uploading', '文件删除中...'); | |||||
let id = file.id || file.response.id; | |||||
removeFile(id).then(resp => { | |||||
if(this.proposerId != -1 && false) // 不刷新 | |||||
this.showAttachmentComp(this.businessType, this.proposerId, this.houseApplyStatus, this.processKey, this.tableName, this.full) | |||||
/* else // 新增时 | |||||
{ | |||||
let fileList = file.fileList; | |||||
//console.log(fileList); | |||||
fileList.splice(fileList.indexOf(file), 1); | |||||
}*/ | |||||
this.setFileStatus(file, 'done', '文件删除成功'); | |||||
}); | |||||
return true; | |||||
}, | |||||
//获取ip | |||||
getPath() { | |||||
// 获取当前页面的URL | |||||
const url = window.location.href; | |||||
// 使用正则表达式解析URL以获取IP和端口 | |||||
const ipAndPortRegex = /^(?:https?:\/\/)?(?:([^\s:@\/]+)(?::([^\s:@\/]+))?@)?([\da-z\.-]+)(?::(\d+))?(?:\/([^\?#]+))?(?:\?([^#]+))?(?:#(.+))?$/; | |||||
const match = url.match(ipAndPortRegex); | |||||
// 提取IP和端口 | |||||
const ip = match[3]; | |||||
const port = match[4]; | |||||
return "http://"+ip + ":" + port + "/api" | |||||
}, | |||||
handleRemove(file, detail) { | |||||
console.log(file); | |||||
this.setFileStatus(file, 'uploading', '文件删除中...'); | |||||
let id = file.id || file.response.id; | |||||
this.onFileListChanged("REMOVE", id); | this.onFileListChanged("REMOVE", id); | ||||
}).catch((e) => { | |||||
this.setFileStatus(file, 'fail', '文件删除失败!'); | |||||
}).finally(() => { | |||||
//loading.close(); | |||||
}); | |||||
return true; | |||||
}, | |||||
showAttachmentComp(businessType, proposerId, houseApplyStatus, processKey, tableName, full) { | |||||
this.attachmentList = []; | |||||
this.active = -1; | |||||
this.has = false; | |||||
if(!full && 0) | |||||
{ | |||||
this.getCurrentFiles(businessType, proposerId, houseApplyStatus, processKey, tableName); | |||||
} | |||||
else | |||||
{ | |||||
this.getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName); | |||||
} | |||||
}, | |||||
formatFile(list) { | |||||
if (list !== null && list !== undefined) { | |||||
const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||||
let UfileList = []; //上传图片列表 | |||||
list.forEach((value, index) => { | |||||
UfileList.push({ | |||||
name: value.fileName, | |||||
fileUrl: value.fileUrl, | |||||
url: baseImgUrl + value.fileUrl, | |||||
id: value.id, | |||||
fileList: UfileList, | |||||
}); | |||||
removeFile(id).then(resp => { | |||||
if (this.proposerId != -1 && false) // 不刷新 | |||||
this.showAttachmentComp(this.businessType, this.proposerId, this.houseApplyStatus, this.processKey, this.tableName, this.full) | |||||
/* else // 新增时 | |||||
{ | |||||
let fileList = file.fileList; | |||||
//console.log(fileList); | |||||
fileList.splice(fileList.indexOf(file), 1); | |||||
}*/ | |||||
this.setFileStatus(file, 'done', '文件删除成功'); | |||||
}).catch((e) => { | |||||
this.setFileStatus(file, 'fail', '文件删除失败!'); | |||||
}).finally(() => { | |||||
//loading.close(); | |||||
}); | }); | ||||
return UfileList; | |||||
} | |||||
}, | |||||
onFileListChanged(type, id) { | |||||
if(this.proposerId != -1) return; | |||||
if(type === "ADD") | |||||
{ | |||||
this.newAttachments.push(id); | |||||
} | |||||
else if(type === "REMOVE") | |||||
{ | |||||
let index = this.newAttachments.indexOf(id); | |||||
if(index !== -1) | |||||
this.newAttachments.splice(index, 1); | |||||
} | |||||
console.log(this.newAttachments); | |||||
this.$emit('uploadFinished', this.newAttachments); | |||||
}, | |||||
getCurrentFiles(businessType, proposerId, houseApplyStatus, processKey, tableName) { | |||||
this.loading = true; | |||||
treeSingleProcessView({ | |||||
businessType: businessType, | |||||
houseApplyStatus: houseApplyStatus, | |||||
processKey: processKey, | |||||
tableName: tableName, | |||||
}).then(res => { | |||||
this.handleResponse(res.rows, proposerId, houseApplyStatus, tableName); | |||||
if(this.attachmentList.length === 0) | |||||
{ | |||||
this.disabled = true; | |||||
return true; | |||||
}, | |||||
showAttachmentComp(businessType, proposerId, houseApplyStatus, processKey, tableName, full) { | |||||
this.attachmentList = []; | |||||
this.active = -1; | |||||
this.has = false; | |||||
if (!full && 0) { | |||||
this.getCurrentFiles(businessType, proposerId, houseApplyStatus, processKey, tableName); | |||||
} else { | |||||
this.getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName); | this.getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName); | ||||
} | } | ||||
}).finally(() => { | |||||
this.loading = false; | |||||
}); | |||||
}, | |||||
getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName) { | |||||
this.loading = true; | |||||
getAttachmentConfigTree({ | |||||
businessType: businessType, | |||||
nodeStatus: houseApplyStatus, | |||||
processKey: processKey, | |||||
dictTypeSort: 'home_stage_status', | |||||
nodeStatusSort: '', | |||||
}).then(resp => { | |||||
//console.log(resp); | |||||
try { | |||||
if(!resp.data || resp.data.length === 0) | |||||
return; | |||||
let rows = resp.data[0].children; | |||||
rows.forEach((value, index) => { | |||||
if (!value.children) | |||||
return; | |||||
this.handleResponse(value.children, proposerId, houseApplyStatus, tableName); | |||||
}, | |||||
formatFile(list) { | |||||
if (list !== null && list !== undefined) { | |||||
let baseImgUrl = this.$store.getters.baseRoutingUrl; | |||||
if (baseImgUrl === "") { | |||||
baseImgUrl = this.getPath(); | |||||
} | |||||
let UfileList = []; //上传图片列表 | |||||
list.forEach((value, index) => { | |||||
UfileList.push({ | |||||
name: value.fileName, | |||||
fileUrl: value.fileUrl, | |||||
url: baseImgUrl + value.fileUrl, | |||||
id: value.id, | |||||
fileList: UfileList, | |||||
}); | |||||
if(list.length > 0){ | |||||
this.newAttachments.push(value); | |||||
this.fileTypeList.push(value.fileType) | |||||
} | |||||
}); | }); | ||||
return UfileList; | |||||
} | } | ||||
catch (e) | |||||
}, | |||||
onFileListChanged(type, data) { | |||||
console.info(data); | |||||
if(type === "ADD") | |||||
{ | { | ||||
console.error(e); | |||||
this.newAttachments.push(data); | |||||
this.fileTypeList.push(data.fileType); | |||||
} | } | ||||
}).finally(() => { | |||||
this.loading = false; | |||||
}); | |||||
}, | |||||
handleResponse(rows, proposerId, houseApplyStatus, tableName) { | |||||
rows.forEach((value, index) => { | |||||
else if(type === "REMOVE") | |||||
{ | |||||
this.fileTypeList = []; | |||||
this.newAttachments = this.newAttachments.filter((item)=>{ | |||||
return item.id !== data; | |||||
}); | |||||
this.newAttachments.forEach((item)=>{ | |||||
this.fileTypeList.push(item.fileType); | |||||
}); | |||||
} | |||||
console.log(this.newAttachments); | |||||
this.$emit('uploadFinished', this.newAttachments,this.fileTypeList); | |||||
}, | |||||
getCurrentFiles(businessType, proposerId, houseApplyStatus, processKey, tableName) { | |||||
this.loading = true; | |||||
treeSingleProcessView({ | |||||
businessType: businessType, | |||||
houseApplyStatus: houseApplyStatus, | |||||
processKey: processKey, | |||||
tableName: tableName, | |||||
}).then(res => { | |||||
this.handleResponse(res.rows, proposerId, houseApplyStatus, tableName); | |||||
if (this.attachmentList.length === 0) { | |||||
this.disabled = true; | |||||
this.getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName); | |||||
} | |||||
}).finally(() => { | |||||
this.loading = false; | |||||
}); | |||||
}, | |||||
getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName) { | |||||
this.loading = true; | |||||
getAttachmentConfigTree({ | |||||
businessType: businessType, | |||||
nodeStatus: houseApplyStatus, | |||||
processKey: processKey, | |||||
dictTypeSort: 'home_stage_status', | |||||
nodeStatusSort: '', | |||||
tableId: proposerId, | |||||
}).then(resp => { | |||||
//console.log(resp); | |||||
try { | |||||
if (!resp.data || resp.data.length === 0) | |||||
return; | |||||
let rows = resp.data[0].children; | |||||
rows.forEach((value, index) => { | |||||
if (!value.children) | |||||
return; | |||||
this.handleResponse(value.children, proposerId, houseApplyStatus, tableName); | |||||
}); | |||||
} catch (e) { | |||||
console.error(e); | |||||
} | |||||
}).finally(() => { | |||||
this.loading = false; | |||||
}); | |||||
}, | |||||
handleResponse(rows, proposerId, houseApplyStatus, tableName) { | |||||
rows.forEach((value, index) => { | |||||
let obj = { | let obj = { | ||||
fileTypeName: value.fileTypeName, | fileTypeName: value.fileTypeName, | ||||
tableId: proposerId, | tableId: proposerId, | ||||
@@ -224,76 +253,75 @@ export default { | |||||
current: value.nodeStatus == houseApplyStatus, | current: value.nodeStatus == houseApplyStatus, | ||||
collapse: this.disabled || value.nodeStatus == houseApplyStatus ? 0 : '', | collapse: this.disabled || value.nodeStatus == houseApplyStatus ? 0 : '', | ||||
}; | }; | ||||
if(value.nodeStatus != houseApplyStatus && !this.has) | |||||
if (value.nodeStatus != houseApplyStatus && !this.has) | |||||
this.active++; | this.active++; | ||||
if(value.nodeStatus == houseApplyStatus) | |||||
{ | |||||
if(!this.has) | |||||
if (value.nodeStatus == houseApplyStatus) { | |||||
if (!this.has) | |||||
this.active++; | this.active++; | ||||
this.has = true; | this.has = true; | ||||
} | } | ||||
this.attachmentList.push(obj); | |||||
}); | |||||
if (proposerId !== -1) { | |||||
this.attachmentList.forEach((value, index) => { | |||||
attachmentFind(value).then(resp => { | |||||
let list = this.formatFile(resp.data); | |||||
this.$set(this.attachmentList[index], "fileList", list); | |||||
}); | |||||
if(value.attachmentList != null){ | |||||
if(value.attachmentList.length > 0){ | |||||
let list = this.formatFile( value.attachmentList); | |||||
this.$set(obj, "fileList", list); | |||||
} | |||||
} | |||||
this.attachmentList.push(obj); | |||||
console.info(this.attachmentList); | |||||
}); | }); | ||||
} | |||||
console.info(this.attachmentList); | |||||
}, | |||||
setFileStatus(file, status, message) { | |||||
file.status = status; | |||||
file.message = message; | |||||
}, | |||||
checkFile(file) { | |||||
let mime = file.type; | |||||
if([ | |||||
"image/png", | |||||
"image/jpeg", | |||||
"image/gif", | |||||
"image/bmp", | |||||
].indexOf(mime) === -1) | |||||
{ | |||||
this.notify('请上传jpg/png/gif/bmp等格式图片!', 'danger'); | |||||
return false; | |||||
} | |||||
return true; | |||||
}, | |||||
notify(message, type) { | |||||
Notify.clear(); | |||||
Notify({ type: type || 'primary', message: message }); | |||||
}, | |||||
} | |||||
}; | |||||
if (proposerId !== -1) { | |||||
this.$emit('uploadFinished',this.newAttachments,this.fileTypeList); | |||||
} | |||||
}, | |||||
setFileStatus(file, status, message) { | |||||
file.status = status; | |||||
file.message = message; | |||||
}, | |||||
checkFile(file) { | |||||
let mime = file.type; | |||||
if ([ | |||||
"image/png", | |||||
"image/jpeg", | |||||
"image/gif", | |||||
"image/bmp", | |||||
].indexOf(mime) === -1) { | |||||
this.notify('请上传jpg/png/gif/bmp等格式图片!', 'danger'); | |||||
return false; | |||||
} | |||||
return true; | |||||
}, | |||||
notify(message, type) { | |||||
Notify.clear(); | |||||
Notify({type: type || 'primary', message: message}); | |||||
}, | |||||
} | |||||
}; | |||||
</script> | </script> | ||||
<style scoped> | <style scoped> | ||||
.my_class >>> .el-upload--picture-card { | |||||
width: 72px; | |||||
height: 72px; | |||||
line-height: 78px; | |||||
} | |||||
.my_class >>> .el-upload--picture-card { | |||||
width: 72px; | |||||
height: 72px; | |||||
line-height: 78px; | |||||
} | |||||
.my_class >>> .el-upload-list__item { | |||||
width: 72px; | |||||
height: 72px; | |||||
} | |||||
.my_class >>> .el-upload-list__item { | |||||
width: 72px; | |||||
height: 72px; | |||||
} | |||||
.my_class >>> .el-upload-list__item-preview { | |||||
width: 20px; | |||||
} | |||||
.my_class >>> .el-upload-list__item-preview { | |||||
width: 20px; | |||||
} | |||||
.my_class >>> .el-upload-list__item-delete { | |||||
width: 20px; | |||||
} | |||||
.my_class >>> .el-upload-list__item-delete { | |||||
width: 20px; | |||||
} | |||||
.main_title{ | |||||
font-size: 0.4rem; | |||||
color: #1D6FE9; | |||||
margin: 0.2rem 6%; | |||||
position: relative; | |||||
} | |||||
.main_title { | |||||
font-size: 0.4rem; | |||||
color: #1D6FE9; | |||||
margin: 0.2rem 6%; | |||||
position: relative; | |||||
} | |||||
</style> | </style> |
@@ -85,7 +85,7 @@ export default { | |||||
file.response = resp; | file.response = resp; | ||||
console.log(resp); | console.log(resp); | ||||
file.fileList = item.fileList; | file.fileList = item.fileList; | ||||
this.onFileListChanged("ADD", resp.id); | |||||
this.onFileListChanged("ADD", resp); | |||||
this.setFileStatus(file, 'done', '文件上传成功'); | this.setFileStatus(file, 'done', '文件上传成功'); | ||||
this.$emit('onUploadSuccess', file); | this.$emit('onUploadSuccess', file); | ||||
} | } | ||||
@@ -147,15 +147,15 @@ export default { | |||||
return UfileList; | return UfileList; | ||||
} | } | ||||
}, | }, | ||||
onFileListChanged(type, id) { | |||||
onFileListChanged(type, data) { | |||||
if(this.proposerId != -1) return; | if(this.proposerId != -1) return; | ||||
if(type === "ADD") | if(type === "ADD") | ||||
{ | { | ||||
this.newAttachments.push(id); | |||||
this.newAttachments.push(data); | |||||
} | } | ||||
else if(type === "REMOVE") | else if(type === "REMOVE") | ||||
{ | { | ||||
let index = this.newAttachments.indexOf(id); | |||||
let index = this.newAttachments.indexOf(data.id); | |||||
if(index !== -1) | if(index !== -1) | ||||
this.newAttachments.splice(index, 1); | this.newAttachments.splice(index, 1); | ||||
} | } | ||||
@@ -207,6 +207,7 @@ export default { | |||||
return this.setLayerVisible(name, true); | return this.setLayerVisible(name, true); | ||||
}, | }, | ||||
setDraw(on) { | setDraw(on) { | ||||
if(!this.mapObject) | if(!this.mapObject) | ||||
return; | return; | ||||
/* if(this.allowDraw === on) | /* if(this.allowDraw === on) | ||||
@@ -214,7 +215,6 @@ export default { | |||||
if(on) { | if(on) { | ||||
let self = this; | let self = this; | ||||
let draw; | let draw; | ||||
// 不要使用 $('DOM-selector').click(function), 动态加载按钮时手机端会失效 | // 不要使用 $('DOM-selector').click(function), 动态加载按钮时手机端会失效 | ||||
$(document).on('click', "#drawPolygon" + this.elementId, function () { | $(document).on('click', "#drawPolygon" + this.elementId, function () { | ||||
self.drawResult = null; | self.drawResult = null; | ||||
@@ -274,7 +274,6 @@ export default { | |||||
addLayer(name, theGeom) { | addLayer(name, theGeom) { | ||||
if(!this.mapObject) | if(!this.mapObject) | ||||
return false; | return false; | ||||
//地图只加载一次 | //地图只加载一次 | ||||
//加载地图编辑 | //加载地图编辑 | ||||
//图层查询定位开始 ---------start | //图层查询定位开始 ---------start | ||||
@@ -44,9 +44,9 @@ export default { | |||||
return { | return { | ||||
uploadImg: { | uploadImg: { | ||||
//上传图片配置 | //上传图片配置 | ||||
attachImgUrl: "/common/attach", | |||||
uploadImgUrl: "/common/upload", | |||||
removeImgUrl: "/system/attachment/remove", | |||||
attachImgUrl: "/open/home/mobile/common/attach", | |||||
uploadImgUrl: "/open/home/mobile/common/upload", | |||||
removeImgUrl: "/open/home/mobile/attach/remove", | |||||
uploadImgHeaders: { | uploadImgHeaders: { | ||||
Authorization: "Bearer " + getToken(), | Authorization: "Bearer " + getToken(), | ||||
}, | }, | ||||
@@ -79,7 +79,7 @@ export default { | |||||
file.path = resp.fileName; | file.path = resp.fileName; | ||||
} | } | ||||
file.fileList = this.uploadImg.fileList; | file.fileList = this.uploadImg.fileList; | ||||
this.$emit('fileChanged', this.uploadImg.fileList); | |||||
this.$emit('fileChanged', resp.fileUrl); | |||||
this.updateValue(); | this.updateValue(); | ||||
console.log('新增', this.uploadImg.fileList); | console.log('新增', this.uploadImg.fileList); | ||||
}).catch((e) => { | }).catch((e) => { | ||||
@@ -96,7 +96,7 @@ export default { | |||||
Notify({ type: type || 'primary', message: message }); | Notify({ type: type || 'primary', message: message }); | ||||
}, | }, | ||||
handleRemove(file, detail) { | handleRemove(file, detail) { | ||||
console.log(file, detail); | |||||
console.log(file.id); | |||||
if(file.id) // new upload | if(file.id) // new upload | ||||
{ | { | ||||
this.setFileStatus(file, 'uploading', '文件删除中...'); | this.setFileStatus(file, 'uploading', '文件删除中...'); | ||||
@@ -107,7 +107,7 @@ export default { | |||||
if(index !== -1) | if(index !== -1) | ||||
this.uploadImg.fileList.splice(index, 1); | this.uploadImg.fileList.splice(index, 1); | ||||
console.log(this.uploadImg.fileList); | console.log(this.uploadImg.fileList); | ||||
this.$emit('fileChanged', this.uploadImg.fileList); | |||||
this.$emit('fileChanged', null); | |||||
this.updateValue(); | this.updateValue(); | ||||
console.log('删除', this.uploadImg.fileList); | console.log('删除', this.uploadImg.fileList); | ||||
}) | }) | ||||
@@ -109,11 +109,17 @@ const whiteList = [ | |||||
'/sunVillage_info/list_message_add', //详情页 | '/sunVillage_info/list_message_add', //详情页 | ||||
'/sunVillage_info/list_message_detail', //详情页 | '/sunVillage_info/list_message_detail', //详情页 | ||||
'/sunVillage_info/homeApplication/applicationList', //列表页面 | '/sunVillage_info/homeApplication/applicationList', //列表页面 | ||||
'/sunVillage_info/homeApplication/applicationNewList', //列表页面 | |||||
'/sunVillage_info/proposerLite', | '/sunVillage_info/proposerLite', | ||||
'/sunVillage_info/proposerLiteNew', | |||||
'/sunVillage_info/paidExitAddNew', | |||||
'/sunVillage_info/paidExit/paidExitList', //列表页面 | '/sunVillage_info/paidExit/paidExitList', //列表页面 | ||||
'/sunVillage_info/paidExit/paidExitNewList', //宅基地退出列表页面(新) | |||||
'/sunVillage_info/paidExitAdd', | '/sunVillage_info/paidExitAdd', | ||||
'/sunVillage_info/paidExitModify', | '/sunVillage_info/paidExitModify', | ||||
'/sunVillage_info/paidExitModifyNew', | |||||
'/sunVillage_info/paidExitDetail', | '/sunVillage_info/paidExitDetail', | ||||
'/sunVillage_info/paidExitDetailNew', | |||||
'/sunVillage_info/arbitrationList', | '/sunVillage_info/arbitrationList', | ||||
'/sunVillage_info/arbitrationDetail', | '/sunVillage_info/arbitrationDetail', | ||||
'/sunVillage_info/familyMember', | '/sunVillage_info/familyMember', | ||||
@@ -189,6 +195,16 @@ const whiteList = [ | |||||
'/contracted/login',//登录 | '/contracted/login',//登录 | ||||
'/contracted/index',//首页 | '/contracted/index',//首页 | ||||
//虫害APP | |||||
'/pest/pestLogin',//登录 | |||||
'/pest/index',//首页 | |||||
'/pest/agriculturalRecords',//农事记录 | |||||
'/pest/agriculturalRecordsAdd',//农事记录(新增) | |||||
'/pest/soilTesting',//土壤检测 | |||||
'/pest/weather',//气象服务 | |||||
'/pest/growthMonitoring',//长势监测 | |||||
'/pest/temperatureAndHumidity',//温湿度 | |||||
] | ] | ||||
router.beforeEach((to, from, next) => { | router.beforeEach((to, from, next) => { | ||||
@@ -205,6 +221,7 @@ router.beforeEach((to, from, next) => { | |||||
store.dispatch('GetInfo').then(res => { | store.dispatch('GetInfo').then(res => { | ||||
// 拉取user_info | // 拉取user_info | ||||
const roles = res.roles | const roles = res.roles | ||||
Cookies.set('user',res.user) | |||||
// store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => { | // store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => { | ||||
// // 根据roles权限生成可访问的路由表 | // // 根据roles权限生成可访问的路由表 | ||||
// router.addRoutes(accessRoutes) // 动态添加可访问路由表 | // router.addRoutes(accessRoutes) // 动态添加可访问路由表 | ||||
@@ -279,6 +296,8 @@ router.beforeEach((to, from, next) => { | |||||
next(`/lawEnforcement/login?redirect=${to.fullPath}`) | next(`/lawEnforcement/login?redirect=${to.fullPath}`) | ||||
} else if (to.path.indexOf('/sunVillage') !== -1) { | } else if (to.path.indexOf('/sunVillage') !== -1) { | ||||
next(`/sunVillage/login`) | next(`/sunVillage/login`) | ||||
} else if (to.path.indexOf('/pest') !== -1) { | |||||
next(`/pest/pestLogin`) | |||||
} else { | } else { | ||||
next(`/login?redirect=${to.fullPath}`) | next(`/login?redirect=${to.fullPath}`) | ||||
} | } | ||||
@@ -1068,6 +1068,33 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/yinnong/homestead/paidUtilize/paidUtilizeList'], resolve) | component: (resolve) => require(['@/views/yinnong/homestead/paidUtilize/paidUtilizeList'], resolve) | ||||
}, | }, | ||||
{ | |||||
path: '/paidUtilizeCqList', | |||||
name: 'paidUtilizeCqList', | |||||
meta: { | |||||
title: '有偿使用', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/homestead/paidUtilize/paidUtilizeCqList'], resolve) | |||||
}, | |||||
{ | |||||
path: '/paidUtilizeFeeplanList', | |||||
name: 'paidUtilizeFeeplanList', | |||||
meta: { | |||||
title: '收费计划', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/homestead/paidUtilizeFeeplan/paidUtilizeFeeplanList'], resolve) | |||||
}, | |||||
{ | |||||
path: '/paidUtilizeFeeplanDteail', | |||||
name: 'paidUtilizeFeeplanDteail', | |||||
meta: { | |||||
title: '收费计划详情', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/homestead/paidUtilizeFeeplan/paidUtilizeFeeplanDteail'], resolve) | |||||
}, | |||||
{ | { | ||||
path: '/paidUtilizeModify', | path: '/paidUtilizeModify', | ||||
name: 'paidUtilizeModify', | name: 'paidUtilizeModify', | ||||
@@ -1979,31 +2006,22 @@ export const constantRoutes = [ | |||||
component: (resolve) => require(['@/views/yinnong/personalPicture'], resolve) | component: (resolve) => require(['@/views/yinnong/personalPicture'], resolve) | ||||
}, | }, | ||||
{ | { | ||||
path: '/yinnong/done', | |||||
name: 'yinnongDone', | |||||
path: '/yinnong/doneCompleted/doneNew', | |||||
name: 'yinnongDoneCompletedDoneNew', | |||||
meta: { | meta: { | ||||
title: '我的已办', | title: '我的已办', | ||||
hidden: true, | hidden: true, | ||||
}, | }, | ||||
component: (resolve) => require(['@/views/yinnong/done'], resolve) | |||||
component: (resolve) => require(['@/views/yinnong/doneCompleted/doneNew'], resolve) | |||||
}, | }, | ||||
{ | { | ||||
path: '/yinnong/doneCompleted/done', | |||||
name: 'yinnongDoneCompletedDone', | |||||
path: '/yinnong/doneCompleted/completedNew', | |||||
name: 'yinnongDoneCompletedCompletedNew', | |||||
meta: { | meta: { | ||||
title: '我的已办', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/doneCompleted/done'], resolve) | |||||
}, | |||||
{ | |||||
path: '/yinnong/doneCompleted/completed', | |||||
name: 'yinnongDoneCompletedCompleted', | |||||
meta: { | |||||
title: '我的待办', | |||||
title: '我的待办(新)', | |||||
hidden: true, | hidden: true, | ||||
}, | }, | ||||
component: (resolve) => require(['@/views/yinnong/doneCompleted/completed'], resolve) | |||||
component: (resolve) => require(['@/views/yinnong/doneCompleted/completedNew'], resolve) | |||||
}, | }, | ||||
{ | { | ||||
path: '/yinnong/advice', | path: '/yinnong/advice', | ||||
@@ -2668,6 +2686,51 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionDetail'], resolve) | component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionDetail'], resolve) | ||||
}, | }, | ||||
{ | |||||
path: '/yinnong/cashExpenseList', | |||||
name: 'yinnongCashExpenseList', | |||||
meta: { | |||||
title: '资金审批申请列表', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseList'], resolve) | |||||
}, | |||||
{ | |||||
path: '/yinnong/cashExpenseForm', | |||||
name: 'yinnongCashExpenseForm', | |||||
meta: { | |||||
title: '资金审批申请表单', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseForm'], resolve) | |||||
}, | |||||
{ | |||||
path: '/yinnong/cashExpenseDetail', | |||||
name: 'yinnongCashExpenseDetail', | |||||
meta: { | |||||
title: '资金审批申请详情', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseDetail'], resolve) | |||||
}, | |||||
{ | |||||
path: '/yinnong/cashExpenseApproval', | |||||
name: 'yinnongCashExpenseApproval', | |||||
meta: { | |||||
title: '资金审批申请', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseApproval'], resolve) | |||||
}, | |||||
{ | |||||
path: '/yinnong/cashExpenseProcess', | |||||
name: 'yinnongCashExpenseProcess', | |||||
meta: { | |||||
title: '资金审批申请流程', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseProcess'], resolve) | |||||
}, | |||||
{ | { | ||||
path: '/lawEnforcement', | path: '/lawEnforcement', | ||||
name: 'lawEnforcement', | name: 'lawEnforcement', | ||||
@@ -4002,6 +4065,15 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/applicationList'], resolve) | component: (resolve) => require(['@/views/sunVillage_info/homeApplication/applicationList'], resolve) | ||||
}, | }, | ||||
{ ////阳光村务(新)-- 宅基地申请 | |||||
path: '/sunVillage_info/homeApplication/applicationNewList', | |||||
name: 'sunVillageInfoApplicationNewList', | |||||
meta: { | |||||
title: '宅基地申请(新)', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/applicationNewList'], resolve) | |||||
}, | |||||
{ | { | ||||
path: '/sunVillage_info/proposerLite', | path: '/sunVillage_info/proposerLite', | ||||
name: 'sunVillageInfoProposerLite', | name: 'sunVillageInfoProposerLite', | ||||
@@ -4011,6 +4083,15 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/proposerLite'], resolve) | component: (resolve) => require(['@/views/sunVillage_info/homeApplication/proposerLite'], resolve) | ||||
}, | }, | ||||
{ | |||||
path: '/sunVillage_info/proposerLiteNew', | |||||
name: 'sunVillageInfoProposerLiteNew', | |||||
meta: { | |||||
title: '农村宅基地申请(新)', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/proposerLiteNew'], resolve) | |||||
}, | |||||
{ | { | ||||
path: '/homesteadProposerLite', | path: '/homesteadProposerLite', | ||||
name: 'homesteadProposerLite', | name: 'homesteadProposerLite', | ||||
@@ -4029,6 +4110,15 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitList'], resolve) | component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitList'], resolve) | ||||
}, | }, | ||||
{ | |||||
path: '/sunVillage_info/paidExit/paidExitNewList', | |||||
name: 'sunVillageInfoPaidExitNewList', | |||||
meta: { | |||||
title: '有偿退出', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitNewList'], resolve) | |||||
}, | |||||
{ | { | ||||
path: '/sunVillage_info/paidExitAdd', | path: '/sunVillage_info/paidExitAdd', | ||||
name: 'sunVillageInfoPaidExitAdd', | name: 'sunVillageInfoPaidExitAdd', | ||||
@@ -4039,13 +4129,22 @@ export const constantRoutes = [ | |||||
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitAdd'], resolve) | component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitAdd'], resolve) | ||||
}, | }, | ||||
{ | { | ||||
path: '/sunVillage_info/paidExitModify', | |||||
name: 'sunVillageInfoPaidExitModify', | |||||
path: '/sunVillage_info/paidExitAddNew', | |||||
name: 'sunVillageInfoPaidExitAddNew', | |||||
meta: { | meta: { | ||||
title: '有偿退出修改', | |||||
title: '有偿退出新增(新)', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitAddNew'], resolve) | |||||
}, | |||||
{ | |||||
path: '/sunVillage_info/paidExitModifyNew', | |||||
name: 'sunVillageInfoPaidExitModifyNew', | |||||
meta: { | |||||
title: '有偿退出修改(新)', | |||||
hidden: true, | hidden: true, | ||||
}, | }, | ||||
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitModify'], resolve) | |||||
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitModifyNew'], resolve) | |||||
}, | }, | ||||
{ | { | ||||
path: '/sunVillage_info/paidExitDetail', | path: '/sunVillage_info/paidExitDetail', | ||||
@@ -4056,6 +4155,15 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitDetail'], resolve) | component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitDetail'], resolve) | ||||
}, | }, | ||||
{ | |||||
path: '/sunVillage_info/paidExitDetailNew', | |||||
name: 'sunVillageInfoPaidExitDetailNew', | |||||
meta: { | |||||
title: '有偿退出审批', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitDetailNew'], resolve) | |||||
}, | |||||
{ | { | ||||
path: '/sunVillage_info/arbitrationList', | path: '/sunVillage_info/arbitrationList', | ||||
name: 'sunVillageInfoArbitrationList', | name: 'sunVillageInfoArbitrationList', | ||||
@@ -5873,6 +5981,88 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/contracted/user/passWord'], resolve) | component: (resolve) => require(['@/views/contracted/user/passWord'], resolve) | ||||
}, | }, | ||||
//<--------------------------------------虫害APP--------------------------------------> | |||||
{ | |||||
path: '/pest/pestLogin', | |||||
name: 'pestLogin', | |||||
meta: { | |||||
title: '登录', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/pestLogin'], resolve) | |||||
}, | |||||
{ | |||||
path: '/pest/index', | |||||
name: 'pestIndex', | |||||
meta: { | |||||
title: '首页', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/index'], resolve) | |||||
}, | |||||
{ | |||||
path: '/pest/agriculturalRecords', | |||||
name: 'pestAgriculturalRecords', | |||||
meta: { | |||||
title: '农事记录', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/agriculturalRecords/agriculturalRecords'], resolve) | |||||
}, | |||||
{ | |||||
path: '/pest/agriculturalRecordsAdd', | |||||
name: 'agriculturalRecordsAdd', | |||||
meta: { | |||||
title: '新增农事记录', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/agriculturalRecords/agriculturalRecordsAdd'], resolve) | |||||
}, | |||||
{ | |||||
path: '/pest/insectMonitoring', | |||||
name: 'insectMonitoring', | |||||
meta: { | |||||
title: '虫情监测', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/insectMonitoring/insectMonitoring'], resolve) | |||||
}, | |||||
{ | |||||
path: '/pest/soilTesting', | |||||
name: 'soilTesting', | |||||
meta: { | |||||
title: '土壤检测', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/soilTesting/soilTesting'], resolve) | |||||
}, | |||||
{ | |||||
path: '/pest/weather', | |||||
name: 'weather', | |||||
meta: { | |||||
title: '气象服务', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/weather/weather'], resolve) | |||||
}, | |||||
{ | |||||
path: '/pest/growthMonitoring', | |||||
name: 'growthMonitoring', | |||||
meta: { | |||||
title: '长势监测', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/growthMonitoring/growthMonitoring'], resolve) | |||||
}, | |||||
{ | |||||
path: '/pest/temperatureAndHumidity', | |||||
name: 'temperatureAndHumidity', | |||||
meta: { | |||||
title: '温湿度', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/pest/temperatureAndHumidity/temperatureAndHumidity'], resolve) | |||||
}, | |||||
]; | ]; | ||||
@@ -41,6 +41,9 @@ const user = { | |||||
SET_LOGINDEPTID: (state, loginDeptId) => { | SET_LOGINDEPTID: (state, loginDeptId) => { | ||||
state.loginDeptId = loginDeptId | state.loginDeptId = loginDeptId | ||||
}, | }, | ||||
SET_DEPTID: (state, deptId) => { | |||||
state.deptId = deptId | |||||
}, | |||||
SET_LOGINBOOKID: (state, loginBookId) => { | SET_LOGINBOOKID: (state, loginBookId) => { | ||||
state.loginBookId = loginBookId | state.loginBookId = loginBookId | ||||
}, | }, | ||||
@@ -74,7 +77,7 @@ const user = { | |||||
commit('SET_TOKEN', res.token) | commit('SET_TOKEN', res.token) | ||||
getInfo(res.token).then(response => { | getInfo(res.token).then(response => { | ||||
const user = response.user | const user = response.user | ||||
console.info(user.nickName); | |||||
//console.info(user.nickName); | |||||
// const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; | // const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; | ||||
const avatar = ""; | const avatar = ""; | ||||
if (response.roles && response.roles.length > 0) { // 验证返回的roles是否是一个非空数组 | if (response.roles && response.roles.length > 0) { // 验证返回的roles是否是一个非空数组 | ||||
@@ -86,6 +89,7 @@ const user = { | |||||
commit('SET_BOOKNAME', user.bookName) | commit('SET_BOOKNAME', user.bookName) | ||||
commit('SET_NAME', user.userName) | commit('SET_NAME', user.userName) | ||||
commit('SET_USERID', user.userId) | commit('SET_USERID', user.userId) | ||||
commit('SET_DEPTID', user.deptId) | |||||
commit('SET_LOGINDEPTID', user.loginDeptId) | commit('SET_LOGINDEPTID', user.loginDeptId) | ||||
commit('SET_LOGINBOOKID', user.loginBookId) | commit('SET_LOGINBOOKID', user.loginBookId) | ||||
commit('SET_DEPTNAME', user.deptName) | commit('SET_DEPTNAME', user.deptName) | ||||
@@ -157,6 +161,7 @@ const user = { | |||||
commit('SET_BOOKNAME', user.bookName) | commit('SET_BOOKNAME', user.bookName) | ||||
commit('SET_NAME', user.userName) | commit('SET_NAME', user.userName) | ||||
commit('SET_USERID', user.userId) | commit('SET_USERID', user.userId) | ||||
commit('SET_DEPTID', user.deptId) | |||||
commit('SET_LOGINDEPTID', user.loginDeptId) | commit('SET_LOGINDEPTID', user.loginDeptId) | ||||
commit('SET_LOGINBOOKID', user.loginBookId) | commit('SET_LOGINBOOKID', user.loginBookId) | ||||
commit('SET_DEPTNAME', user.deptName) | commit('SET_DEPTNAME', user.deptName) | ||||
@@ -227,6 +232,7 @@ const user = { | |||||
commit('SET_BOOKNAME', user.bookName) | commit('SET_BOOKNAME', user.bookName) | ||||
commit('SET_NAME', user.userName) | commit('SET_NAME', user.userName) | ||||
commit('SET_USERID', user.userId) | commit('SET_USERID', user.userId) | ||||
commit('SET_DEPTID', user.deptId) | |||||
commit('SET_LOGINDEPTID', user.loginDeptId) | commit('SET_LOGINDEPTID', user.loginDeptId) | ||||
commit('SET_LOGINBOOKID', user.loginBookId) | commit('SET_LOGINBOOKID', user.loginBookId) | ||||
commit('SET_DEPTNAME', user.deptName) | commit('SET_DEPTNAME', user.deptName) | ||||
@@ -1,10 +1,8 @@ | |||||
const deptId = 100 ; | const deptId = 100 ; | ||||
const severApi = 'http://192.168.31.107:8080'; | |||||
export default | export default | ||||
{ | { | ||||
deptId,//区县ID | deptId,//区县ID | ||||
severApi,//全局API | |||||
} | } | ||||
export const REGION = { | export const REGION = { | ||||
YI_LONG_XIAN: '仪陇', | YI_LONG_XIAN: '仪陇', | ||||
@@ -65,10 +65,11 @@ if(responseInterceptor === undefined){ | |||||
responseInterceptor = service.interceptors.response.use(res => { | responseInterceptor = service.interceptors.response.use(res => { | ||||
Toast.clear(); | Toast.clear(); | ||||
// 未设置状态码则默认成功状态 | // 未设置状态码则默认成功状态 | ||||
const code = res.data.code || 200; | |||||
const code = res.data.code || 200 || '200'; | |||||
// 获取错误信息 | // 获取错误信息 | ||||
const msg = errorCode[code] || res.data.msg || errorCode['default'] | const msg = errorCode[code] || res.data.msg || errorCode['default'] | ||||
// console.info(gqnum); && gqnum === 0 | // console.info(gqnum); && gqnum === 0 | ||||
console.log(code) | |||||
if (code === 401) { | if (code === 401) { | ||||
// gqnum++; | // gqnum++; | ||||
Dialog.confirm({ | Dialog.confirm({ | ||||
@@ -135,7 +136,7 @@ if(responseInterceptor === undefined){ | |||||
} else if (code === 500) { | } else if (code === 500) { | ||||
Dialog.alert({ type: 'warning', message: msg }); | Dialog.alert({ type: 'warning', message: msg }); | ||||
return Promise.reject(new Error(msg)) | return Promise.reject(new Error(msg)) | ||||
} else if (code !== 200 && code !== 401) { | |||||
} else if (code !== 200 && code !== 401 && code !== '200') { | |||||
Dialog.alert({ type: 'warning', message: msg }); | Dialog.alert({ type: 'warning', message: msg }); | ||||
return Promise.reject('error') | return Promise.reject('error') | ||||
} else { | } else { | ||||
@@ -25,7 +25,9 @@ | |||||
</template> | </template> | ||||
</van-field> | </van-field> | ||||
<van-field v-model="form.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="left" maxlength="19" /> | <van-field v-model="form.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="left" maxlength="19" /> | ||||
<van-field v-model="form.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="14" /> | |||||
<van-field v-model="form.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" :disabled="isDisabled" maxlength="14" /> | |||||
<van-field v-model="form.cbfbm" label="承包方代码:" placeholder="请输入承包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" :disabled="isDisabled" maxlength="18" /> | |||||
<van-field v-model="form.cbfmc" label="承包方名称:" placeholder="请输入承包方名称" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="50" /> | |||||
<van-field | <van-field | ||||
v-model="cbflxText" | v-model="cbflxText" | ||||
label="承包方类型:" | label="承包方类型:" | ||||
@@ -48,8 +50,6 @@ | |||||
@cancel="showType = false" | @cancel="showType = false" | ||||
/> | /> | ||||
</van-popup> | </van-popup> | ||||
<van-field v-model="form.cbfbm" label="承包方代码:" placeholder="请输入承包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" :disabled="isDisabled" maxlength="18" /> | |||||
<van-field v-model="form.cbfmc" label="承包方名称:" placeholder="请输入承包方名称" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="50" /> | |||||
<van-field | <van-field | ||||
v-model="cbfsText" | v-model="cbfsText" | ||||
label="承包方式:" | label="承包方式:" | ||||
@@ -149,8 +149,9 @@ | |||||
@cancel="showCbqxz = false" | @cancel="showCbqxz = false" | ||||
/> | /> | ||||
</van-popup> | </van-popup> | ||||
<van-field v-model="form.cbdkzs" label="承包地块数:" placeholder="请输入承包地块数" required :rules="[{ required: true }]" :border="false" input-align="left" type="digit" /> | |||||
<van-field v-model="form.htzmjm" label="合同面积(亩):" placeholder="请输入合同面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" /> | |||||
<van-field v-model="form.cbdkzs" label="承包地块总数:" placeholder="请输入承包地块总数" required :rules="[{ required: true }]" :border="false" input-align="left" type="digit" /> | |||||
<van-field v-model="form.htzmjm" label="合同总面积(亩):" placeholder="请输入合同总面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" /> | |||||
<van-field v-model="form.yhtzmjm" label="原合同总面积(亩):" placeholder="请输入原合同总面积(亩)" :border="false" input-align="left" type="number" /> | |||||
</van-form> | </van-form> | ||||
<p class="btn" @click="submitForm" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">保存</p> | <p class="btn" @click="submitForm" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">保存</p> | ||||
</div> | </div> | ||||
@@ -248,6 +249,16 @@ | |||||
}); | }); | ||||
}, | }, | ||||
submitForm() { | submitForm() { | ||||
let householdStatus = Cookies.get('householdStatus'); | |||||
if (householdStatus !== '1') { | |||||
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能保存承包合同信息'; | |||||
this.$toast({ | |||||
icon: 'fail', // 找到自己需要的图标 | |||||
message: msg, | |||||
duration:"2000" | |||||
}); | |||||
return; | |||||
} | |||||
this.$refs.formData.validate().then(() => { | this.$refs.formData.validate().then(() => { | ||||
if (this.form.id) { | if (this.form.id) { | ||||
updateCbht(this.form).then(response => { | updateCbht(this.form).then(response => { | ||||
@@ -293,6 +304,7 @@ | |||||
cbqxz: null, | cbqxz: null, | ||||
cbdkzs: null, | cbdkzs: null, | ||||
htzmjm: null, | htzmjm: null, | ||||
yhtzmjm: null, | |||||
}; | }; | ||||
this.cbfsText = '家庭承包'; | this.cbfsText = '家庭承包'; | ||||
this.cbflxText = '农户'; | this.cbflxText = '农户'; | ||||
@@ -359,7 +371,7 @@ | |||||
} | } | ||||
/deep/ .van-field__label { | /deep/ .van-field__label { | ||||
width: 225px; | |||||
width: 245px; | |||||
} | } | ||||
/deep/ .van-field--disabled .van-field__label { | /deep/ .van-field--disabled .van-field__label { | ||||
@@ -186,7 +186,7 @@ | |||||
}, | }, | ||||
deleteContractor(id, index) { | deleteContractor(id, index) { | ||||
this.$dialog.confirm({ | this.$dialog.confirm({ | ||||
message: '是否确认删除此条承包方信息?', | |||||
message: '是否确认删除此条承包方信息以及与其相关联的家庭成员、承包合同、承包地块?', | |||||
}).then(() => { | }).then(() => { | ||||
// on confirm | // on confirm | ||||
deleteCbf(id).then(res => { | deleteCbf(id).then(res => { | ||||
@@ -70,7 +70,82 @@ | |||||
<van-field v-model="form.cbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="100" /> | <van-field v-model="form.cbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="100" /> | ||||
<van-field v-model="form.yzbm" label="邮编:" placeholder="请输入邮编" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="6" /> | <van-field v-model="form.yzbm" label="邮编:" placeholder="请输入邮编" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="6" /> | ||||
<van-field v-model="form.lxdh" label="电话:" placeholder="请输入电话" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="15" /> | <van-field v-model="form.lxdh" label="电话:" placeholder="请输入电话" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="15" /> | ||||
<van-field v-model="form.cbfcysl" label="成员数量:" placeholder="请输入成员数量" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" /> | |||||
<van-field name="radio" label="是否有住房" :border="false" input-align="left"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.sfyzf" direction="horizontal"> | |||||
<van-radio name="Y">是</van-radio> | |||||
<van-radio name="N">否</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<van-field name="radio" label="是否在村居住" :border="false" input-align="left"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.sfzcjz" direction="horizontal"> | |||||
<van-radio name="Y">是</van-radio> | |||||
<van-radio name="N">否</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<van-field | |||||
v-model="form.householdStatusText" | |||||
label="整户状态:" | |||||
placeholder="请选择整户状态" | |||||
:border="false" | |||||
input-align="left" | |||||
right-icon="arrow-down" | |||||
readonly | |||||
clickable | |||||
@click="showZhzt = true" | |||||
/> | |||||
<van-popup v-model="showZhzt" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="householdStatusOptions" | |||||
value-key="dictLabel" | |||||
@confirm="onConfirmHouseholdStatusOptions" | |||||
@cancel="showZhzt = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field v-model="form.totalArea" label="总面积(亩):" placeholder="请输入总面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.qqArea" label="确权面积(亩):" placeholder="请输入确权面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.qtArea" label="其他面积(亩):" placeholder="请输入其他面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.dks" label="地块数(块):" placeholder="请输入地块数(块)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.zzjyArea" label="自主经营面积(亩):" placeholder="请输入自主经营面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.lzcArea" label="流转出面积(亩):" placeholder="请输入流转出面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.shArea" label="损毁面积(亩):" placeholder="请输入损毁面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.zzArea" label="征占面积(亩):" placeholder="请输入征占面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.cbfdcy" label="调查员:" placeholder="请输入调查员" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="50" /> | |||||
<van-field v-model="form.cbfdcrq" label="调查日期:" placeholder="请选择调查日期" required :rules="[{ required: true }]" | |||||
:border="false" input-align="left" right-icon="arrow-down" readonly clickable @click="showDcrq = true" /> | |||||
<van-popup v-model="showDcrq" position="bottom"> | |||||
<van-datetime-picker | |||||
:value="form.cbfdcrq ? new Date(form.cbfdcrq) : new Date()" | |||||
type="date" | |||||
title="请选择调查日期" | |||||
:min-date="minDate" | |||||
:max-date="maxDate" | |||||
@confirm="onConfirmDcrq" | |||||
@cancel="showDcrq = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field v-model="form.cbfdcjs" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="250" /> | <van-field v-model="form.cbfdcjs" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="250" /> | ||||
<van-field v-model="form.gsjsr" label="公示记事人:" placeholder="请输入公示记事人" :border="false" input-align="left" maxlength="50" /> | |||||
<van-field v-model="form.gsjs" label="公示记事:" type="textarea" rows="3" placeholder="请输入公示记事" :border="false" input-align="left" maxlength="250" /> | |||||
<van-field v-model="form.gsshr" label="公示审核人:" placeholder="请输入公示审核人" :border="false" input-align="left" maxlength="20" /> | |||||
<van-field v-model="form.gsshrq" label="公示审核日期:" placeholder="请选择公示审核日期" :border="false" input-align="left" right-icon="arrow-down" | |||||
readonly clickable @click="showGsshrq = true" /> | |||||
<van-popup v-model="showGsshrq" position="bottom"> | |||||
<van-datetime-picker | |||||
:value="form.gsshrq ? new Date(form.gsshrq) : new Date()" | |||||
type="date" | |||||
title="请选择公示审核日期" | |||||
:min-date="minDate" | |||||
:max-date="maxDate" | |||||
@confirm="onConfirmGsshrq" | |||||
@cancel="showGsshrq = false" | |||||
/> | |||||
</van-popup> | |||||
</van-form> | </van-form> | ||||
<p class="btn" @click="submitForm" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">保存</p> | <p class="btn" @click="submitForm" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">保存</p> | ||||
</div> | </div> | ||||
@@ -81,17 +156,21 @@ | |||||
<script> | <script> | ||||
import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
import contractorHeader from "./contractorHeader"; | import contractorHeader from "./contractorHeader"; | ||||
import FieldRadio from "@/components/form/FieldRadio"; | |||||
import { getCbf, updateCbf } from "@/api/contracted/cbf"; | import { getCbf, updateCbf } from "@/api/contracted/cbf"; | ||||
export default { | export default { | ||||
name: "contractedVillageContractor", | name: "contractedVillageContractor", | ||||
components: { | components: { | ||||
contractorHeader | |||||
contractorHeader,FieldRadio | |||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
showType:false, | showType:false, | ||||
showZjType:false, | showZjType:false, | ||||
showZhzt:false, | |||||
showDcrq: false, | |||||
showGsshrq: false, | |||||
// 承包方信息表单 | // 承包方信息表单 | ||||
form: {}, | form: {}, | ||||
// 承包方类型字典 | // 承包方类型字典 | ||||
@@ -100,6 +179,10 @@ | |||||
credentialTypeOptions: [], | credentialTypeOptions: [], | ||||
// 调查任务的完成状态:1表示已完成,2表示未完成 | // 调查任务的完成状态:1表示已完成,2表示未完成 | ||||
taskStatus: null, | taskStatus: null, | ||||
// 整户状态类型字典 | |||||
householdStatusOptions: [], | |||||
minDate: new Date(1978, 0, 1), | |||||
maxDate: new Date(2100, 11, 31), | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -110,6 +193,9 @@ | |||||
this.getDicts("cert_type").then(response => { | this.getDicts("cert_type").then(response => { | ||||
this.credentialTypeOptions = response.data; | this.credentialTypeOptions = response.data; | ||||
}); | }); | ||||
this.getDicts("household_status").then(response => { | |||||
this.householdStatusOptions = response.data; | |||||
}); | |||||
}, | }, | ||||
mounted() { | mounted() { | ||||
setTimeout(() => { | setTimeout(() => { | ||||
@@ -122,6 +208,9 @@ | |||||
this.form = response.data; | this.form = response.data; | ||||
this.$set(this.form, 'cbflxText', this.selectDictLabel(this.contractorTypeOptions, response.data.cbflx)); | this.$set(this.form, 'cbflxText', this.selectDictLabel(this.contractorTypeOptions, response.data.cbflx)); | ||||
this.$set(this.form, 'cbfzjlxText', this.selectDictLabel(this.credentialTypeOptions, response.data.cbfzjlx)); | this.$set(this.form, 'cbfzjlxText', this.selectDictLabel(this.credentialTypeOptions, response.data.cbfzjlx)); | ||||
this.$set(this.form, 'householdStatusText', this.selectDictLabel(this.householdStatusOptions, response.data.householdStatus)); | |||||
Cookies.set('householdStatus', this.form.householdStatus, { expires: 30 }); | |||||
Cookies.set('householdStatusText', this.form.householdStatusText, { expires: 30 }); | |||||
}); | }); | ||||
}, | }, | ||||
onConfirmTypeOptions(value){ | onConfirmTypeOptions(value){ | ||||
@@ -134,6 +223,19 @@ | |||||
this.form.cbfzjlxText = value.dictLabel; | this.form.cbfzjlxText = value.dictLabel; | ||||
this.showZjType = false; | this.showZjType = false; | ||||
}, | }, | ||||
onConfirmHouseholdStatusOptions(value){ | |||||
this.form.householdStatus = value.dictValue; | |||||
this.form.householdStatusText = value.dictLabel; | |||||
this.showZhzt = false; | |||||
}, | |||||
onConfirmDcrq(data) { | |||||
this.form.cbfdcrq = this.format(data, 'yyyy-MM-dd'); | |||||
this.showDcrq = false; | |||||
}, | |||||
onConfirmGsshrq(data) { | |||||
this.form.gsshrq = this.format(data, 'yyyy-MM-dd'); | |||||
this.showGsshrq = false; | |||||
}, | |||||
submitForm() { | submitForm() { | ||||
this.$refs.formData.validate().then(() => { | this.$refs.formData.validate().then(() => { | ||||
updateCbf(this.form).then(response => { | updateCbf(this.form).then(response => { | ||||
@@ -178,7 +280,16 @@ | |||||
padding: 0 4vw; | padding: 0 4vw; | ||||
overflow: hidden; | overflow: hidden; | ||||
} | } | ||||
/deep/ .van-field__label { | |||||
-webkit-box-flex: 0; | |||||
flex: none; | |||||
box-sizing: border-box; | |||||
width: 9em; | |||||
margin-right: 0.32rem; | |||||
color: #646566; | |||||
text-align: left; | |||||
word-wrap: break-word; | |||||
} | |||||
/deep/ .van-nav-bar{ | /deep/ .van-nav-bar{ | ||||
background: transparent; | background: transparent; | ||||
} | } | ||||
@@ -11,7 +11,7 @@ | |||||
<div class="list_main"> | <div class="list_main"> | ||||
<van-form ref="formData"> | <van-form ref="formData"> | ||||
<van-field v-model="form.cbfbm" label="代码:" placeholder="<自动生成>" :border="false" input-align="left" maxlength="18"> | |||||
<van-field v-model="form.cbfbm" label="代码:" placeholder="<自动生成>" :border="false" input-align="left" :disabled="true" maxlength="18"> | |||||
<!-- <template #button> | <!-- <template #button> | ||||
<van-button size="mini" type="primary" native-type="button" @click="generateCode">生成代码</van-button> | <van-button size="mini" type="primary" native-type="button" @click="generateCode">生成代码</van-button> | ||||
</template> --> | </template> --> | ||||
@@ -66,7 +66,82 @@ | |||||
<van-field v-model="form.cbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="100" /> | <van-field v-model="form.cbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="100" /> | ||||
<van-field v-model="form.yzbm" label="邮编:" placeholder="请输入邮编" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="6" /> | <van-field v-model="form.yzbm" label="邮编:" placeholder="请输入邮编" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="6" /> | ||||
<van-field v-model="form.lxdh" label="电话:" placeholder="请输入电话" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="15" /> | <van-field v-model="form.lxdh" label="电话:" placeholder="请输入电话" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="15" /> | ||||
<van-field v-model="form.cbfcysl" label="成员数量:" placeholder="请输入成员数量" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" /> | |||||
<van-field name="radio" label="是否有住房" :border="false" input-align="left"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.sfyzf" direction="horizontal"> | |||||
<van-radio name="Y">是</van-radio> | |||||
<van-radio name="N">否</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<van-field name="radio" label="是否在村居住" :border="false" input-align="left"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.sfzcjz" direction="horizontal"> | |||||
<van-radio name="Y">是</van-radio> | |||||
<van-radio name="N">否</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<van-field | |||||
v-model="householdStatusText" | |||||
label="整户状态:" | |||||
placeholder="请选择整户状态" | |||||
:border="false" | |||||
input-align="left" | |||||
right-icon="arrow-down" | |||||
readonly | |||||
clickable | |||||
@click="showZhzt = true" | |||||
/> | |||||
<van-popup v-model="showZhzt" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="householdStatusOptions" | |||||
value-key="dictLabel" | |||||
@confirm="onConfirmHouseholdStatusOptions" | |||||
@cancel="showZhzt = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field v-model="form.totalArea" label="总面积(亩):" placeholder="请输入总面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.qqArea" label="确权面积(亩):" placeholder="请输入确权面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.qtArea" label="其他面积(亩):" placeholder="请输入其他面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.dks" label="地块数(块):" placeholder="请输入地块数(块)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.zzjyArea" label="自主经营面积(亩):" placeholder="请输入自主经营面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.lzcArea" label="流转出面积(亩):" placeholder="请输入流转出面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.shArea" label="损毁面积(亩):" placeholder="请输入损毁面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.zzArea" label="征占面积(亩):" placeholder="请输入征占面积(亩)" :border="false" input-align="left" type="number"/> | |||||
<van-field v-model="form.cbfdcy" label="调查员:" placeholder="请输入调查员" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="50" /> | |||||
<van-field v-model="form.cbfdcrq" label="调查日期:" placeholder="请选择调查日期" required :rules="[{ required: true }]" | |||||
:border="false" input-align="left" right-icon="arrow-down" readonly clickable @click="showDcrq = true" /> | |||||
<van-popup v-model="showDcrq" position="bottom"> | |||||
<van-datetime-picker | |||||
:value="new Date()" | |||||
type="date" | |||||
title="请选择调查日期" | |||||
:min-date="minDate" | |||||
:max-date="maxDate" | |||||
@confirm="onConfirmDcrq" | |||||
@cancel="showDcrq = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field v-model="form.cbfdcjs" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="250" /> | <van-field v-model="form.cbfdcjs" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="250" /> | ||||
<van-field v-model="form.gsjsr" label="公示记事人:" placeholder="请输入公示记事人" :border="false" input-align="left" maxlength="50" /> | |||||
<van-field v-model="form.gsjs" label="公示记事:" type="textarea" rows="3" placeholder="请输入公示记事" :border="false" input-align="left" maxlength="250" /> | |||||
<van-field v-model="form.gsshr" label="公示审核人:" placeholder="请输入公示审核人" :border="false" input-align="left" maxlength="20" /> | |||||
<van-field v-model="form.gsshrq" label="公示审核日期:" placeholder="请选择公示审核日期" :border="false" input-align="left" right-icon="arrow-down" | |||||
readonly clickable @click="showGsshrq = true" /> | |||||
<van-popup v-model="showGsshrq" position="bottom"> | |||||
<van-datetime-picker | |||||
:value="new Date()" | |||||
type="date" | |||||
title="请选择公示审核日期" | |||||
:min-date="minDate" | |||||
:max-date="maxDate" | |||||
@confirm="onConfirmGsshrq" | |||||
@cancel="showGsshrq = false" | |||||
/> | |||||
</van-popup> | |||||
</van-form> | </van-form> | ||||
<p class="btn" @click="submitForm">保存</p> | <p class="btn" @click="submitForm">保存</p> | ||||
</div> | </div> | ||||
@@ -77,13 +152,21 @@ | |||||
<script> | <script> | ||||
import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
import { addCbf, generateContractorCode } from "@/api/contracted/cbf"; | import { addCbf, generateContractorCode } from "@/api/contracted/cbf"; | ||||
import FieldRadio from "@/components/form/FieldRadio"; | |||||
import FieldSelect from "@/components/form/FieldSelect"; | |||||
export default { | export default { | ||||
name: "contractedVillageContractorAdd", | name: "contractedVillageContractorAdd", | ||||
components: { | |||||
FieldRadio,FieldSelect | |||||
}, | |||||
data() { | data() { | ||||
return { | return { | ||||
showType:false, | showType:false, | ||||
showZjType:false, | showZjType:false, | ||||
showZhzt:false, | |||||
showDcrq: false, | |||||
showGsshrq: false, | |||||
// 承包方信息表单 | // 承包方信息表单 | ||||
form: { | form: { | ||||
deptId: null, | deptId: null, | ||||
@@ -96,16 +179,38 @@ | |||||
yzbm: null, | yzbm: null, | ||||
lxdh: null, | lxdh: null, | ||||
cbfcysl: null, | cbfcysl: null, | ||||
cbfdcy: null, | |||||
cbfdcrq: null, | |||||
cbfdcjs: null, | cbfdcjs: null, | ||||
gsjsr: null, | |||||
gsjs: null, | |||||
gsshr: null, | |||||
gsshrq: null, | |||||
sfyzf: 'Y', | |||||
sfzcjz: 'Y', | |||||
householdStatus: '1', | |||||
totalArea: null, | |||||
qqArea: null, | |||||
qtArea: null, | |||||
dks: null, | |||||
zzjyArea: null, | |||||
lzcArea: null, | |||||
shArea: null, | |||||
zzArea: null, | |||||
}, | }, | ||||
// 承包方类型(标签名) | // 承包方类型(标签名) | ||||
cbflxText: '农户', | cbflxText: '农户', | ||||
// 承包方证件类型(标签名) | // 承包方证件类型(标签名) | ||||
cbfzjlxText: '居民身份证', | cbfzjlxText: '居民身份证', | ||||
householdStatusText: "正常", | |||||
// 承包方类型字典 | // 承包方类型字典 | ||||
contractorTypeOptions: [], | contractorTypeOptions: [], | ||||
// 承包方证件类型字典 | // 承包方证件类型字典 | ||||
credentialTypeOptions: [], | credentialTypeOptions: [], | ||||
// 整户状态类型字典 | |||||
householdStatusOptions: [], | |||||
minDate: new Date(1978, 0, 1), | |||||
maxDate: new Date(2100, 11, 31), | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -115,6 +220,9 @@ | |||||
this.getDicts("cert_type").then(response => { | this.getDicts("cert_type").then(response => { | ||||
this.credentialTypeOptions = response.data; | this.credentialTypeOptions = response.data; | ||||
}); | }); | ||||
this.getDicts("household_status").then(response => { | |||||
this.householdStatusOptions = response.data; | |||||
}); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
onConfirmTypeOptions(value){ | onConfirmTypeOptions(value){ | ||||
@@ -127,10 +235,23 @@ | |||||
this.cbfzjlxText = value.dictLabel; | this.cbfzjlxText = value.dictLabel; | ||||
this.showZjType = false; | this.showZjType = false; | ||||
}, | }, | ||||
onConfirmHouseholdStatusOptions(value){ | |||||
this.form.householdStatus = value.dictValue; | |||||
this.householdStatusText = value.dictLabel; | |||||
this.showZhzt = false; | |||||
}, | |||||
onConfirmDcrq(data) { | |||||
this.form.cbfdcrq = this.format(data, 'yyyy-MM-dd'); | |||||
this.showDcrq = false; | |||||
}, | |||||
onConfirmGsshrq(data) { | |||||
this.form.gsshrq = this.format(data, 'yyyy-MM-dd'); | |||||
this.showGsshrq = false; | |||||
}, | |||||
submitForm() { | submitForm() { | ||||
this.$refs.formData.validate().then(() => { | this.$refs.formData.validate().then(() => { | ||||
this.form.deptId = this.$route.params.deptId; | this.form.deptId = this.$route.params.deptId; | ||||
this.form.cbfcysl = 1; | |||||
// this.form.cbfcysl = 1; | |||||
addCbf(this.form).then(response => { | addCbf(this.form).then(response => { | ||||
if (response.code == 200) { | if (response.code == 200) { | ||||
this.$toast({ | this.$toast({ | ||||
@@ -164,7 +285,16 @@ | |||||
padding: 0 4vw; | padding: 0 4vw; | ||||
overflow: hidden; | overflow: hidden; | ||||
} | } | ||||
/deep/ .van-field__label { | |||||
-webkit-box-flex: 0; | |||||
flex: none; | |||||
box-sizing: border-box; | |||||
width: 9em; | |||||
margin-right: 0.32rem; | |||||
color: #646566; | |||||
text-align: left; | |||||
word-wrap: break-word; | |||||
} | |||||
/deep/ .van-nav-bar{ | /deep/ .van-nav-bar{ | ||||
background: transparent; | background: transparent; | ||||
} | } | ||||
@@ -59,8 +59,8 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
</van-swipe-cell> | </van-swipe-cell> | ||||
<!-- getDetail不加(), 第一个参数默认传递的是event,getDetail加(), 需要手动传递$event --> | |||||
<p class="btn" @click="goDetail()" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">新增</p> | |||||
<!-- addMember不加(), 第一个参数默认传递的是event,addMember加(), 需要手动传递$event --> | |||||
<p class="btn" @click="addMember()" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">新增</p> | |||||
</div> | </div> | ||||
<van-popup v-model="showContractorPopup" position="bottom"> | <van-popup v-model="showContractorPopup" position="bottom"> | ||||
<van-search v-model="searchKeyword" placeholder="请输入姓名搜索" /> | <van-search v-model="searchKeyword" placeholder="请输入姓名搜索" /> | ||||
@@ -120,7 +120,7 @@ | |||||
}); | }); | ||||
}, | }, | ||||
getContractorList() { | getContractorList() { | ||||
listCbf({deptId: this.$route.params.deptId}).then(response => { | |||||
listCbf({deptId: this.$route.params.deptId, householdStatus: '1'}).then(response => { | |||||
this.contractorList = response.rows; | this.contractorList = response.rows; | ||||
}); | }); | ||||
}, | }, | ||||
@@ -135,6 +135,28 @@ | |||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||
addMember() { | |||||
let householdStatus = Cookies.get('householdStatus'); | |||||
if (householdStatus !== '1') { | |||||
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能新增家庭成员信息'; | |||||
this.$toast({ | |||||
icon: 'fail', // 找到自己需要的图标 | |||||
message: msg, | |||||
duration:"2000" | |||||
}); | |||||
return; | |||||
} | |||||
this.$router.push({ | |||||
name: 'contractedVillageContractorFamilyDetail', | |||||
params: { | |||||
id: undefined, | |||||
deptId: this.$route.params.deptId, | |||||
cbfbm: this.$route.params.cbfbm, | |||||
cbfmc: this.$route.params.cbfmc, | |||||
surveyStatus: this.$route.params.surveyStatus | |||||
} | |||||
}); | |||||
}, | |||||
goDetail(id) { | goDetail(id) { | ||||
this.$router.push({ | this.$router.push({ | ||||
name: 'contractedVillageContractorFamilyDetail', | name: 'contractedVillageContractorFamilyDetail', | ||||
@@ -148,6 +170,16 @@ | |||||
}); | }); | ||||
}, | }, | ||||
deleteFamilyMember(id, index) { | deleteFamilyMember(id, index) { | ||||
let householdStatus = Cookies.get('householdStatus'); | |||||
if (householdStatus !== '1') { | |||||
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能删除家庭成员信息'; | |||||
this.$toast({ | |||||
icon: 'fail', // 找到自己需要的图标 | |||||
message: msg, | |||||
duration:"2000" | |||||
}); | |||||
return; | |||||
} | |||||
this.$dialog.confirm({ | this.$dialog.confirm({ | ||||
message: '是否确认删除此条家庭成员信息?', | message: '是否确认删除此条家庭成员信息?', | ||||
}).then(() => { | }).then(() => { | ||||
@@ -163,6 +195,16 @@ | |||||
}); | }); | ||||
}, | }, | ||||
householdDivision(item, index) { | householdDivision(item, index) { | ||||
let householdStatus = Cookies.get('householdStatus'); | |||||
if (householdStatus !== '1') { | |||||
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能执行分户操作'; | |||||
this.$toast({ | |||||
icon: 'fail', // 找到自己需要的图标 | |||||
message: msg, | |||||
duration:"2000" | |||||
}); | |||||
return; | |||||
} | |||||
if (item.yhzgx === '户主') { | if (item.yhzgx === '户主') { | ||||
this.$toast.fail('该成员身份为户主,不能分户'); | this.$toast.fail('该成员身份为户主,不能分户'); | ||||
return false; | return false; | ||||
@@ -188,6 +230,16 @@ | |||||
}); | }); | ||||
}, | }, | ||||
householdTransfer(item) { | householdTransfer(item) { | ||||
let householdStatus = Cookies.get('householdStatus'); | |||||
if (householdStatus !== '1') { | |||||
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能执行移户操作'; | |||||
this.$toast({ | |||||
icon: 'fail', // 找到自己需要的图标 | |||||
message: msg, | |||||
duration:"2000" | |||||
}); | |||||
return; | |||||
} | |||||
if (item.yhzgx === '户主') { | if (item.yhzgx === '户主') { | ||||
this.$toast.fail('该成员身份为户主,不能移户'); | this.$toast.fail('该成员身份为户主,不能移户'); | ||||
return false; | return false; | ||||
@@ -220,6 +272,16 @@ | |||||
}); | }); | ||||
}, | }, | ||||
houseHolder(item) { | houseHolder(item) { | ||||
let householdStatus = Cookies.get('householdStatus'); | |||||
if (householdStatus !== '1') { | |||||
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能执行设为户主操作'; | |||||
this.$toast({ | |||||
icon: 'fail', // 找到自己需要的图标 | |||||
message: msg, | |||||
duration:"2000" | |||||
}); | |||||
return; | |||||
} | |||||
if (item.yhzgx === '户主') { | if (item.yhzgx === '户主') { | ||||
this.$toast.fail('该成员身份为户主,无需设置'); | this.$toast.fail('该成员身份为户主,无需设置'); | ||||
return false; | return false; | ||||
@@ -27,6 +27,29 @@ | |||||
</van-radio-group> | </van-radio-group> | ||||
</template> | </template> | ||||
</van-field> | </van-field> | ||||
<van-field | |||||
v-model="cyzjlxText" | |||||
label="证件类型:" | |||||
placeholder="请选择证件类型" | |||||
required | |||||
:rules="[{ required: true }]" | |||||
:border="false" | |||||
input-align="right" | |||||
right-icon="arrow-down" | |||||
readonly | |||||
clickable | |||||
@click="showCredentialType = true" | |||||
/> | |||||
<van-popup v-model="showCredentialType" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="cyzjlxOptions" | |||||
value-key="dictLabel" | |||||
@confirm="onConfirmCredentialTypeOptions" | |||||
@cancel="showCredentialType = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field v-model="form.cyzjhm" label="证件号码:" placeholder="请输入证件号码" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="20" /> | |||||
<van-field | <van-field | ||||
v-model="familyStatusText" | v-model="familyStatusText" | ||||
label="与户主关系:" | label="与户主关系:" | ||||
@@ -56,29 +79,74 @@ | |||||
</van-radio-group> | </van-radio-group> | ||||
</template> | </template> | ||||
</van-field> | </van-field> | ||||
<van-field | |||||
v-model="cyzjlxText" | |||||
label="证件类型:" | |||||
placeholder="请选择证件类型" | |||||
required | |||||
:rules="[{ required: true }]" | |||||
:border="false" | |||||
input-align="right" | |||||
right-icon="arrow-down" | |||||
readonly | |||||
clickable | |||||
@click="showCredentialType = true" | |||||
<field-select | |||||
v-if="form.sfgyr === '2'" | |||||
v-model="form.wdyy" | |||||
label="无地原因:" | |||||
value-key="dictLabel" | |||||
data-key="dictValue" | |||||
placeholder="选择无地原因" | |||||
remote-url="/open/zdzh/list/wdyy_type" | |||||
:on-remote-response="'data'" | |||||
/> | /> | ||||
<van-popup v-model="showCredentialType" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="cyzjlxOptions" | |||||
value-key="dictLabel" | |||||
@confirm="onConfirmCredentialTypeOptions" | |||||
@cancel="showCredentialType = false" | |||||
<FieldRadio | |||||
v-if="form.sfgyr === '2'" | |||||
v-model="form.sfhdr" | |||||
label="是否侯地人员:" | |||||
value-key="dictLabel" | |||||
data-key="dictValue" | |||||
remote-url="/open/zdzh/list/sys_yes_no" | |||||
:on-remote-response="'data'" | |||||
/> | |||||
<FieldRadio | |||||
v-model="form.sfjtjjzzcy" | |||||
label="是否集体经济组织成员:" | |||||
value-key="dictLabel" | |||||
data-key="dictValue" | |||||
remote-url="/open/zdzh/list/sys_yes_no" | |||||
:on-remote-response="'data'" | |||||
/> | |||||
<FieldRadio | |||||
v-model="form.isNew" | |||||
label="是否新数据:" | |||||
value-key="dictLabel" | |||||
data-key="dictValue" | |||||
remote-url="/open/zdzh/list/sys_yes_no" | |||||
:on-remote-response="'data'" | |||||
/> | |||||
<!-- <field-date-picker--> | |||||
<!-- v-model="form.newAt"--> | |||||
<!-- label="新增时间"--> | |||||
<!-- placeholder="请选择新增时间"--> | |||||
<!-- formatter="yyyy-MM-dd"--> | |||||
<!-- input-align="right"--> | |||||
<!-- />--> | |||||
<van-field v-model="form.newAt" label="新增时间:" placeholder="请选择新增时间" :border="false" | |||||
input-align="right" right-icon="arrow-down" readonly clickable @click="showNewAt = true" /> | |||||
<van-popup v-model="showNewAt" position="bottom"> | |||||
<van-datetime-picker | |||||
:value="form.newAt ? new Date(form.newAt) : new Date()" | |||||
type="date" | |||||
title="请选择新增时间" | |||||
:min-date="minDate" | |||||
:max-date="maxDate" | |||||
@confirm="onConfirmNewAt" | |||||
@cancel="showNewAt = false" | |||||
/> | /> | ||||
</van-popup> | </van-popup> | ||||
<van-field v-model="form.cyzjhm" label="证件号码:" placeholder="请输入证件号码" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="20" /> | |||||
<van-field v-model="form.elcbshjd" class="elcbshjd_css" label="二轮承包时户籍地:" placeholder="请输入二轮承包时户籍地" :border="false" input-align="right" maxlength="100" /> | |||||
<van-field v-model="form.xhjd" label="现户籍地:" placeholder="请输入现户籍地" :border="false" input-align="right" maxlength="100" /> | |||||
<!-- <field-select | |||||
v-model="form.householdStatus" | |||||
label="整户状态:" | |||||
value-key="dictLabel" | |||||
data-key="dictValue" | |||||
placeholder="请选择整户状态" | |||||
remote-url="/open/zdzh/list/household_status" | |||||
:on-remote-response="'data'" | |||||
/> --> | |||||
<van-field | <van-field | ||||
v-model="cybzText" | v-model="cybzText" | ||||
label="成员备注:" | label="成员备注:" | ||||
@@ -111,10 +179,16 @@ | |||||
</template> | </template> | ||||
<script> | <script> | ||||
import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
import FieldRadio from "@/components/form/FieldRadio"; | |||||
import FieldSelect from "@/components/form/FieldSelect"; | |||||
import FieldDatePicker from "@/components/form/FieldDatePicker"; | |||||
import { getJtcy, addJtcy, updateJtcy } from "@/api/contracted/cbfjtcy"; | import { getJtcy, addJtcy, updateJtcy } from "@/api/contracted/cbfjtcy"; | ||||
export default { | export default { | ||||
name: "contractedVillageContractor", | name: "contractedVillageContractor", | ||||
components: { | |||||
FieldRadio, FieldSelect, FieldDatePicker | |||||
}, | |||||
data() { | data() { | ||||
return { | return { | ||||
titleName: '', // 顶部标题名 | titleName: '', // 顶部标题名 | ||||
@@ -131,6 +205,9 @@ | |||||
familyStatusText: null, // 家庭身份标签名 | familyStatusText: null, // 家庭身份标签名 | ||||
showFamilyStatus: false, // 控制家庭身份字典弹出层的显示和隐藏 | showFamilyStatus: false, // 控制家庭身份字典弹出层的显示和隐藏 | ||||
taskStatus: null, // 调查任务的完成状态:1表示已完成,2表示未完成 | taskStatus: null, // 调查任务的完成状态:1表示已完成,2表示未完成 | ||||
showNewAt: false, // 控制新建日期弹出层的显示和隐藏 | |||||
minDate: new Date(1978, 0, 1), | |||||
maxDate: new Date(2100, 11, 31), | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -186,6 +263,10 @@ | |||||
this.cybzText = value.dictLabel; | this.cybzText = value.dictLabel; | ||||
this.showMemberRemark = false; | this.showMemberRemark = false; | ||||
}, | }, | ||||
onConfirmNewAt(data) { | |||||
this.form.newAt = this.format(data, 'yyyy-MM-dd'); | |||||
this.showNewAt = false; | |||||
}, | |||||
goBack() { | goBack() { | ||||
this.$router.push({ | this.$router.push({ | ||||
name: 'contractedVillageContractorFamily', | name: 'contractedVillageContractorFamily', | ||||
@@ -198,6 +279,18 @@ | |||||
}); | }); | ||||
}, | }, | ||||
submitForm() { | submitForm() { | ||||
if (this.$route.params.id) { | |||||
let householdStatus = Cookies.get('householdStatus'); | |||||
if (householdStatus !== '1') { | |||||
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能修改家庭成员信息'; | |||||
this.$toast({ | |||||
icon: 'fail', // 找到自己需要的图标 | |||||
message: msg, | |||||
duration:"2000" | |||||
}); | |||||
return; | |||||
} | |||||
} | |||||
this.$refs.formData.validate().then(() => { | this.$refs.formData.validate().then(() => { | ||||
if (this.$route.params.id) { | if (this.$route.params.id) { | ||||
updateJtcy(this.form).then(response => { | updateJtcy(this.form).then(response => { | ||||
@@ -251,7 +344,15 @@ | |||||
cybz: null, | cybz: null, | ||||
cybzsm: null, | cybzsm: null, | ||||
cycgfs: null, | cycgfs: null, | ||||
gqzbh: null | |||||
gqzbh: null, | |||||
sfjtjjzzcy: 'Y', | |||||
isNew: 'N', | |||||
newAt: null, | |||||
elcbshjd: null, | |||||
xhjd: null, | |||||
wdyy: null, | |||||
sfhdr: 'N', | |||||
// householdStatus: '1', | |||||
}; | }; | ||||
this.cyzjlxText = '居民身份证'; | this.cyzjlxText = '居民身份证'; | ||||
} | } | ||||
@@ -267,7 +368,17 @@ | |||||
padding: 0 4vw; | padding: 0 4vw; | ||||
overflow: hidden; | overflow: hidden; | ||||
} | } | ||||
/deep/ .elcbshjd_css .van-field__label { | |||||
-webkit-box-flex: 0; | |||||
-webkit-flex: none; | |||||
flex: none; | |||||
box-sizing: border-box; | |||||
width: 10.2em; | |||||
margin-right: 0.32rem; | |||||
color: #646566; | |||||
text-align: left; | |||||
word-wrap: break-word; | |||||
} | |||||
/deep/ .van-nav-bar{ | /deep/ .van-nav-bar{ | ||||
background: transparent; | background: transparent; | ||||
} | } | ||||
@@ -45,6 +45,7 @@ | |||||
import { contractorSignature, hangUp } from "@/api/contracted/cbf"; | import { contractorSignature, hangUp } from "@/api/contracted/cbf"; | ||||
import vueEsign from "vue-esign"; | import vueEsign from "vue-esign"; | ||||
import $ from "jquery"; | import $ from "jquery"; | ||||
import Cookies from "js-cookie"; | |||||
export default { | export default { | ||||
name: 'contractedVillageHeader', | name: 'contractedVillageHeader', | ||||
@@ -86,6 +87,8 @@ | |||||
goBack() { | goBack() { | ||||
getDept(this.deptId).then(response => { | getDept(this.deptId).then(response => { | ||||
this.$router.push({path:'/contracted/village/contractor', query: { deptId: this.deptId, deptName: response.data.deptName }}); | this.$router.push({path:'/contracted/village/contractor', query: { deptId: this.deptId, deptName: response.data.deptName }}); | ||||
Cookies.remove('householdStatus'); | |||||
Cookies.remove('householdStatusText'); | |||||
}); | }); | ||||
}, | }, | ||||
handleSign() { | handleSign() { | ||||
@@ -122,7 +122,7 @@ | |||||
}); | }); | ||||
}, | }, | ||||
getContractorList() { | getContractorList() { | ||||
listCbf({deptId: this.$route.params.deptId}).then(response => { | |||||
listCbf({deptId: this.$route.params.deptId, householdStatus: '1'}).then(response => { | |||||
this.contractorList = response.rows; | this.contractorList = response.rows; | ||||
}); | }); | ||||
}, | }, | ||||
@@ -30,6 +30,28 @@ | |||||
</van-picker> | </van-picker> | ||||
</van-popup> | </van-popup> | ||||
<van-field v-model="form.dkmc" label="地块名称:" placeholder="请输入地块名称" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | <van-field v-model="form.dkmc" label="地块名称:" placeholder="请输入地块名称" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | ||||
<van-field | |||||
v-model="syqxzText" | |||||
label="所有权性质:" | |||||
placeholder="请选择所有权性质" | |||||
required | |||||
:rules="[{ required: true }]" | |||||
:border="false" | |||||
input-align="right" | |||||
right-icon="arrow-down" | |||||
readonly | |||||
clickable | |||||
@click="showOwnership = true" | |||||
/> | |||||
<van-popup v-model="showOwnership" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="syqxzOptions" | |||||
value-key="dictLabel" | |||||
@confirm="onConfirmOwnershipOptions" | |||||
@cancel="showOwnership = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field | <van-field | ||||
v-model="tdlylxText" | v-model="tdlylxText" | ||||
label="土地利用类型:" | label="土地利用类型:" | ||||
@@ -103,13 +125,45 @@ | |||||
</van-radio-group> | </van-radio-group> | ||||
</template> | </template> | ||||
</van-field> | </van-field> | ||||
<van-field v-model="form.htmjm" type="number" label="合同面积(亩):" placeholder="请输入合同面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||||
<van-field v-model="form.zjrxm" label="指界人姓名:" placeholder="请输入指界人姓名" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="100" /> | <van-field v-model="form.zjrxm" label="指界人姓名:" placeholder="请输入指界人姓名" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="100" /> | ||||
<van-field v-model="form.dkdz" label="地块东至:" placeholder="请输入地块东至" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | <van-field v-model="form.dkdz" label="地块东至:" placeholder="请输入地块东至" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | ||||
<van-field v-model="form.dkxz" label="地块西至:" placeholder="请输入地块西至" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | <van-field v-model="form.dkxz" label="地块西至:" placeholder="请输入地块西至" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | ||||
<van-field v-model="form.dknz" label="地块南至:" placeholder="请输入地块南至" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | <van-field v-model="form.dknz" label="地块南至:" placeholder="请输入地块南至" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | ||||
<van-field v-model="form.dkbz" label="地块北至:" placeholder="请输入地块北至" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | <van-field v-model="form.dkbz" label="地块北至:" placeholder="请输入地块北至" required :rules="[{ required: true }]" :border="false" input-align="right" maxlength="50" /> | ||||
<van-field v-model="form.dkbzxx" label="地块备注信息:" placeholder="请输入地块备注信息" type="textarea" rows="3" :border="false" input-align="right" maxlength="250" /> | |||||
<van-field v-model="form.dkbzxx" label="地块备注信息:" placeholder="请输入地块备注信息" :border="false" input-align="right" maxlength="250" /> <!-- type="textarea" rows="3" --> | |||||
<van-field | |||||
v-model="qdfsText" | |||||
label="经营权取得方式:" | |||||
placeholder="请选择经营权取得方式" | |||||
required | |||||
:rules="[{ required: true }]" | |||||
:border="false" | |||||
input-align="right" | |||||
right-icon="arrow-down" | |||||
readonly | |||||
clickable | |||||
@click="showQdfs = true" | |||||
/> | |||||
<van-popup v-model="showQdfs" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="qdfsOptions" | |||||
value-key="dictLabel" | |||||
@confirm="onConfirmQdfsOptions" | |||||
@cancel="showQdfs = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field v-model="form.htmjm" type="number" label="合同面积(亩):" placeholder="请输入合同面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||||
<van-field v-model="form.yhtmjm" type="number" label="原合同面积(亩):" placeholder="请输入原合同面积(亩)" :border="false" input-align="right" /> | |||||
<van-field v-model="form.lzhtbm" label="流转合同代码:" placeholder="请输入流转合同代码" :border="false" input-align="right" maxlength="18" /> | |||||
<van-field v-model="form.sfqqqg" label="是否确权确股:" placeholder="请选择是否确权确股" :border="false" input-align="right"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.sfqqqg" direction="horizontal"> | |||||
<van-radio v-for="item in sfqqqgOptions" :key="item.dictValue" :name="item.dictValue">{{ item.dictLabel }}</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<div class="mapBox"> | <div class="mapBox"> | ||||
<common-map ref="contractedLandMap" :minMapZoom="15" :maxMapZoom="18" :allowDraw="true" @drawFinished="onMapDrawFinished" /> | <common-map ref="contractedLandMap" :minMapZoom="15" :maxMapZoom="18" :allowDraw="true" @drawFinished="onMapDrawFinished" /> | ||||
@@ -139,6 +193,9 @@ | |||||
isDisabled: false, // 是否禁用 | isDisabled: false, // 是否禁用 | ||||
form: {}, // 承包地信息表单 | form: {}, // 承包地信息表单 | ||||
showLandCode: false, // 控制地块代码弹出层的显示和隐藏 | showLandCode: false, // 控制地块代码弹出层的显示和隐藏 | ||||
syqxzOptions: [], // 所有权性质字典 | |||||
syqxzText: null, // 所有权性质标签名 | |||||
showOwnership: false, // 控制所有权性质字典弹出层的显示和隐藏 | |||||
tdlylxOptions: [], // 土地利用类型字典 | tdlylxOptions: [], // 土地利用类型字典 | ||||
tdlylxText: null, // 土地利用类型标签名 | tdlylxText: null, // 土地利用类型标签名 | ||||
showLandUseType: false, // 控制土地利用类型字典弹出层的显示和隐藏 | showLandUseType: false, // 控制土地利用类型字典弹出层的显示和隐藏 | ||||
@@ -149,6 +206,10 @@ | |||||
tdytText: null, // 土地用途标签名 | tdytText: null, // 土地用途标签名 | ||||
showLandPurpose: false, // 控制土地用途字典弹出层的显示和隐藏 | showLandPurpose: false, // 控制土地用途字典弹出层的显示和隐藏 | ||||
sfjbntOptions: [], // 是否基本农田字典 | sfjbntOptions: [], // 是否基本农田字典 | ||||
qdfsOptions: [], // 承包经营权取得方式字典 | |||||
qdfsText: null, // 经营权取得方式标签名 | |||||
showQdfs: false, // 控制土地用途字典弹出层的显示和隐藏 | |||||
sfqqqgOptions: [], // 是否确权确股字典 | |||||
landList: [], // 地块信息列表 | landList: [], // 地块信息列表 | ||||
taskStatus: null, // 调查任务的完成状态:1表示已完成,2表示未完成 | taskStatus: null, // 调查任务的完成状态:1表示已完成,2表示未完成 | ||||
searchKeyword: '', // 弹出框查询关键字 | searchKeyword: '', // 弹出框查询关键字 | ||||
@@ -156,6 +217,9 @@ | |||||
}, | }, | ||||
created() { | created() { | ||||
this.taskStatus = Cookies.get('taskStatus'); | this.taskStatus = Cookies.get('taskStatus'); | ||||
this.getDicts("land_ownership").then(response => { | |||||
this.syqxzOptions = response.data; | |||||
}); | |||||
this.getDicts("land_use").then(response => { | this.getDicts("land_use").then(response => { | ||||
this.tdlylxOptions = response.data; | this.tdlylxOptions = response.data; | ||||
}); | }); | ||||
@@ -167,6 +231,10 @@ | |||||
}); | }); | ||||
this.getDicts("is_common").then(response => { | this.getDicts("is_common").then(response => { | ||||
this.sfjbntOptions = response.data; | this.sfjbntOptions = response.data; | ||||
this.sfqqqgOptions = response.data; | |||||
}); | |||||
this.getDicts("jyq_method").then(response => { | |||||
this.qdfsOptions = response.data; | |||||
}); | }); | ||||
}, | }, | ||||
mounted() { | mounted() { | ||||
@@ -211,9 +279,11 @@ | |||||
getDetail(){ | getDetail(){ | ||||
getCbdkxx(this.$route.params.id).then(response => { | getCbdkxx(this.$route.params.id).then(response => { | ||||
this.form = response.data; | this.form = response.data; | ||||
this.syqxzText = this.selectDictLabel(this.syqxzOptions, response.data.syqxz); | |||||
this.tdlylxText = this.selectDictLabel(this.tdlylxOptions, response.data.tdlylx); | this.tdlylxText = this.selectDictLabel(this.tdlylxOptions, response.data.tdlylx); | ||||
this.dldjText = this.selectDictLabel(this.dldjOptions, response.data.dldj); | this.dldjText = this.selectDictLabel(this.dldjOptions, response.data.dldj); | ||||
this.tdytText = this.selectDictLabel(this.tdytOptions, response.data.tdyt); | this.tdytText = this.selectDictLabel(this.tdytOptions, response.data.tdyt); | ||||
this.qdfsText = this.selectDictLabel(this.qdfsOptions, response.data.cbjyqqdfs); | |||||
if (response.data.theGeomJson) { | if (response.data.theGeomJson) { | ||||
this.form.theGeom = JSON.stringify(JSON.parse(response.data.theGeomJson).coordinates); | this.form.theGeom = JSON.stringify(JSON.parse(response.data.theGeomJson).coordinates); | ||||
this.$nextTick(() => { | this.$nextTick(() => { | ||||
@@ -230,19 +300,25 @@ | |||||
cbfbm: null, | cbfbm: null, | ||||
dkbm: null, | dkbm: null, | ||||
dkmc: null, | dkmc: null, | ||||
syqxz: null, | |||||
tdlylx: null, | tdlylx: null, | ||||
dldj: null, | dldj: null, | ||||
tdyt: null, | tdyt: null, | ||||
sfjbnt: null, | sfjbnt: null, | ||||
htmjm: null, | |||||
zjrxm: null, | zjrxm: null, | ||||
dkdz: null, | dkdz: null, | ||||
dkxz: null, | dkxz: null, | ||||
dknz: null, | dknz: null, | ||||
dkbz: null, | dkbz: null, | ||||
dkbzxx: null, | dkbzxx: null, | ||||
theGeom: null | |||||
theGeom: null, | |||||
cbjyqqdfs: '110', | |||||
htmjm: null, | |||||
yhtmjm: null, | |||||
lzhtbm: null, | |||||
sfqqqg: null | |||||
}; | }; | ||||
this.qdfsText = '家庭承包'; | |||||
}, | }, | ||||
openLandCodePopup() { | openLandCodePopup() { | ||||
/* if (this.form.dkbm) { | /* if (this.form.dkbm) { | ||||
@@ -257,6 +333,8 @@ | |||||
onConfirmLandCodeOptions(value) { | onConfirmLandCodeOptions(value) { | ||||
this.form.dkbm = value.dkbm; | this.form.dkbm = value.dkbm; | ||||
this.form.dkmc = value.dkmc; | this.form.dkmc = value.dkmc; | ||||
this.form.syqxz = value.syqxz; | |||||
this.syqxzText = this.selectDictLabel(this.syqxzOptions, value.syqxz); | |||||
this.form.tdlylx = value.tdlylx; | this.form.tdlylx = value.tdlylx; | ||||
this.tdlylxText = this.selectDictLabel(this.tdlylxOptions, value.tdlylx); | this.tdlylxText = this.selectDictLabel(this.tdlylxOptions, value.tdlylx); | ||||
this.form.dldj = value.dldj; | this.form.dldj = value.dldj; | ||||
@@ -279,6 +357,11 @@ | |||||
} | } | ||||
this.showLandCode = false; | this.showLandCode = false; | ||||
}, | }, | ||||
onConfirmOwnershipOptions(value){ | |||||
this.form.syqxz = value.dictValue; | |||||
this.syqxzText = value.dictLabel; | |||||
this.showOwnership = false; | |||||
}, | |||||
onConfirmLandUseTypeOptions(value) { | onConfirmLandUseTypeOptions(value) { | ||||
this.form.tdlylx = value.dictValue; | this.form.tdlylx = value.dictValue; | ||||
this.tdlylxText = value.dictLabel; | this.tdlylxText = value.dictLabel; | ||||
@@ -294,6 +377,11 @@ | |||||
this.tdytText = value.dictLabel; | this.tdytText = value.dictLabel; | ||||
this.showLandPurpose = false; | this.showLandPurpose = false; | ||||
}, | }, | ||||
onConfirmQdfsOptions(value) { | |||||
this.form.cbjyqqdfs = value.dictValue; | |||||
this.qdfsText = value.dictLabel; | |||||
this.showQdfs = false; | |||||
}, | |||||
goBack() { | goBack() { | ||||
this.$router.push({ | this.$router.push({ | ||||
name: 'contractedVillageContractorLand', | name: 'contractedVillageContractorLand', | ||||
@@ -382,7 +470,7 @@ | |||||
} | } | ||||
/deep/ .van-field__label { | /deep/ .van-field__label { | ||||
width: 7em; | |||||
width: 8em; | |||||
} | } | ||||
.tb_main{ | .tb_main{ | ||||
@@ -50,6 +50,20 @@ | |||||
<van-field v-model="form.lxdh" label="联系电话:" placeholder="请输入联系电话" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="15" /> | <van-field v-model="form.lxdh" label="联系电话:" placeholder="请输入联系电话" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="15" /> | ||||
<van-field v-model="form.fbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="100" /> | <van-field v-model="form.fbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="100" /> | ||||
<van-field v-model="form.yzbm" label="邮政编码:" placeholder="请输入邮政编码" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="6" /> | <van-field v-model="form.yzbm" label="邮政编码:" placeholder="请输入邮政编码" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="6" /> | ||||
<van-field v-model="form.fbfdcy" label="调查员:" placeholder="请输入调查员" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="30" /> | |||||
<van-field v-model="form.fbfdcrq" label="调查日期:" placeholder="请选择调查日期" required :rules="[{ required: true }]" | |||||
:border="false" input-align="right" right-icon="arrow-down" readonly clickable @click="showDcrq = true" /> | |||||
<van-popup v-model="showDcrq" position="bottom"> | |||||
<van-datetime-picker | |||||
:value="form.fbfdcrq ? new Date(form.fbfdcrq) : new Date()" | |||||
type="date" | |||||
title="请选择调查日期" | |||||
:min-date="minDate" | |||||
:max-date="maxDate" | |||||
@confirm="onConfirmDcrq" | |||||
@cancel="showDcrq = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field v-model="form.fbfdcjs" label="调查记事:" placeholder="请输入调查记事" type="textarea" rows="3" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="200" /> | <van-field v-model="form.fbfdcjs" label="调查记事:" placeholder="请输入调查记事" type="textarea" rows="3" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" maxlength="200" /> | ||||
<van-field label="签字图片:" readonly :border="false" label-width="auto" /> | <van-field label="签字图片:" readonly :border="false" label-width="auto" /> | ||||
<img :src="'/api'+form.fbfdcqz" width="100%" alt="" /> | <img :src="'/api'+form.fbfdcqz" width="100%" alt="" /> | ||||
@@ -115,6 +129,10 @@ | |||||
resultImg: "", // 最终画布生成的base64图片 | resultImg: "", // 最终画布生成的base64图片 | ||||
isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | ||||
}, | }, | ||||
// 调查日期弹出层 | |||||
showDcrq: false, | |||||
minDate: new Date(1978, 0, 1), | |||||
maxDate: new Date(2100, 11, 31), | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -123,6 +141,8 @@ | |||||
this.getDicts("cert_type").then(response => { | this.getDicts("cert_type").then(response => { | ||||
this.credentialTypeOptions = response.data; | this.credentialTypeOptions = response.data; | ||||
}); | }); | ||||
}, | |||||
mounted() { | |||||
this.getDetail(); | this.getDetail(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
@@ -150,6 +170,10 @@ | |||||
this.credentialTypeText = value.dictLabel; | this.credentialTypeText = value.dictLabel; | ||||
this.showCredentialType = false; | this.showCredentialType = false; | ||||
}, | }, | ||||
onConfirmDcrq(data) { | |||||
this.form.fbfdcrq = this.format(data, 'yyyy-MM-dd'); | |||||
this.showDcrq = false; | |||||
}, | |||||
submitForm() { | submitForm() { | ||||
this.$refs.formData.validate().then(() => { | this.$refs.formData.validate().then(() => { | ||||
if (this.form.id) { | if (this.form.id) { | ||||
@@ -192,6 +216,8 @@ | |||||
lxdh: null, | lxdh: null, | ||||
fbfdz: null, | fbfdz: null, | ||||
yzbm: null, | yzbm: null, | ||||
fbfdcy: null, | |||||
fbfdcrq: null, | |||||
fbfdcjs: null, | fbfdcjs: null, | ||||
fbfdcqz: null | fbfdcqz: null | ||||
}; | }; | ||||
@@ -165,7 +165,7 @@ export default { | |||||
}) | }) | ||||
}, | }, | ||||
/** 查询待办列表 */ | /** 查询待办列表 */ | ||||
getTaskList() { | |||||
/*getTaskList() { | |||||
this.loading = true; | this.loading = true; | ||||
return request({ | return request({ | ||||
url: "/activiti/process/taskList", | url: "/activiti/process/taskList", | ||||
@@ -181,7 +181,7 @@ export default { | |||||
}) | }) | ||||
.then(() => { | .then(() => { | ||||
}); | }); | ||||
}, | |||||
},*/ | |||||
getList(){ | getList(){ | ||||
this.loading = true; | this.loading = true; | ||||
this.queryParams.number = 2 ; | this.queryParams.number = 2 ; | ||||
@@ -188,10 +188,10 @@ export default { | |||||
console.log(res.data.companyName) | console.log(res.data.companyName) | ||||
this.companyName = res.data.companyName; | this.companyName = res.data.companyName; | ||||
}); | }); | ||||
this.getTaskList(); | |||||
//this.getTaskList(); | |||||
}); | }); | ||||
}, | }, | ||||
getTaskList() { | |||||
/*getTaskList() { | |||||
this.loading = true; | this.loading = true; | ||||
return request({ | return request({ | ||||
url: "/activiti/process/taskList", | url: "/activiti/process/taskList", | ||||
@@ -208,7 +208,7 @@ export default { | |||||
.then(() => { | .then(() => { | ||||
}); | }); | ||||
}, | |||||
},*/ | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -169,7 +169,7 @@ export default { | |||||
}); | }); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
getTaskList() { | |||||
/*getTaskList() { | |||||
this.loading = true; | this.loading = true; | ||||
return request({ | return request({ | ||||
url: "/activiti/process/taskList", | url: "/activiti/process/taskList", | ||||
@@ -189,8 +189,8 @@ export default { | |||||
}).then(() => { | }).then(() => { | ||||
}); | }); | ||||
}, | |||||
getTaskDoneList(){ | |||||
},*/ | |||||
/*getTaskDoneList(){ | |||||
this.doneLoading = true; | this.doneLoading = true; | ||||
return request({ | return request({ | ||||
url: "/activiti/process/taskDoneList", | url: "/activiti/process/taskDoneList", | ||||
@@ -211,18 +211,18 @@ export default { | |||||
}) | }) | ||||
.then(() => { | .then(() => { | ||||
}); | }); | ||||
}, | |||||
},*/ | |||||
getListchange(type){ | getListchange(type){ | ||||
if(type == 'db'){ | if(type == 'db'){ | ||||
this.taskList = []; | this.taskList = []; | ||||
this.queryParamsTask.pageNum = 1; | this.queryParamsTask.pageNum = 1; | ||||
this.finished = false; | this.finished = false; | ||||
this.getTaskList() | |||||
//this.getTaskList() | |||||
} else { | } else { | ||||
this.taskDoneList = []; | this.taskDoneList = []; | ||||
this.queryParams.pageNum = 1 ; | this.queryParams.pageNum = 1 ; | ||||
this.doneFinished = false; | this.doneFinished = false; | ||||
this.getTaskDoneList() | |||||
//this.getTaskDoneList() | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
@@ -134,10 +134,10 @@ export default { | |||||
console.log(res.data.companyName) | console.log(res.data.companyName) | ||||
this.companyName = res.data.companyName; | this.companyName = res.data.companyName; | ||||
}); | }); | ||||
this.getTaskList(); | |||||
//this.getTaskList(); | |||||
}); | }); | ||||
}, | }, | ||||
getTaskList() { | |||||
/*getTaskList() { | |||||
this.loading = true; | this.loading = true; | ||||
return request({ | return request({ | ||||
url: "/activiti/process/taskList", | url: "/activiti/process/taskList", | ||||
@@ -154,7 +154,7 @@ export default { | |||||
.then(() => { | .then(() => { | ||||
}); | }); | ||||
}, | |||||
},*/ | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -7,21 +7,48 @@ | |||||
placeholder | placeholder | ||||
@click-left="onClickLeft" | @click-left="onClickLeft" | ||||
/> | /> | ||||
<van-list | |||||
v-model="loading" | |||||
:finished="finished" | |||||
finished-text="没有更多了" | |||||
@load="getList()" | |||||
> | |||||
<!-- @load="newList"--> | |||||
<van-cell v-for="item in newList" :key="item.id" :title="item.title" :label="item.newsTime" :to="{name:'newDetailCJ', query: {id:item.id}}"> | |||||
<!-- 使用 right-icon 插槽来自定义右侧图标 --> | |||||
<template #right-icon> | |||||
<van-image :src="item.img" class="search-icon" width="30%" style="margin-left: 10px;" v-if="item.img" /> | |||||
<van-image src="../../static/images/zwtpxw.jpg" class="search-icon" width="30%" v-else/> | |||||
</template> | |||||
</van-cell> | |||||
</van-list> | |||||
<van-tabs animated type="card" color="#007b76" style="margin-top: 10px;"> | |||||
<van-tab title="新闻资讯"> | |||||
<van-list | |||||
v-model="loading" | |||||
:finished="finished" | |||||
finished-text="没有更多了" | |||||
style="margin-top: 10px;" | |||||
@load="getList()" | |||||
> | |||||
<!-- @load="newList"--> | |||||
<van-cell v-for="item in newList" :key="item.id" :title="item.title" :label="item.newsTime" :to="{name:'newDetailCJ', query: {id:item.id}}"> | |||||
<!-- 使用 right-icon 插槽来自定义右侧图标 --> | |||||
<template #right-icon> | |||||
<van-image :src="item.img" class="search-icon" width="30%" style="margin-left: 10px;" v-if="item.img" /> | |||||
<van-image src="../../static/images/zwtpxw.jpg" class="search-icon" width="30%" v-else/> | |||||
</template> | |||||
</van-cell> | |||||
</van-list> | |||||
</van-tab> | |||||
<van-tab title="价格指数"> | |||||
<van-list | |||||
v-model="secondLoading" | |||||
:finished="secondFinished" | |||||
finished-text="没有更多了" | |||||
style="margin-top: 10px;" | |||||
@load="getSecondList" | |||||
> | |||||
<van-cell v-for="item in secondList" :key="item.id" :title="item.title" :label="item.newsTime" :to="{name:'newDetailCJ', query: {id:item.id}}"> | |||||
<!-- 使用 right-icon 插槽来自定义右侧图标 --> | |||||
<template #right-icon> | |||||
<van-image :src="item.img" class="search-icon" width="30%" style="margin-left: 10px;" v-if="item.img" /> | |||||
<van-image src="../../static/images/zwtpxw.jpg" class="search-icon" width="30%" v-else/> | |||||
</template> | |||||
</van-cell> | |||||
</van-list> | |||||
</van-tab> | |||||
</van-tabs> | |||||
</div> | </div> | ||||
</template> | </template> | ||||
@@ -35,8 +62,14 @@ export default { | |||||
loading: false, | loading: false, | ||||
//是否滚动到底部 | //是否滚动到底部 | ||||
finished: false, | finished: false, | ||||
//是否显示加载 | |||||
secondLoading: false, | |||||
//是否滚动到底部 | |||||
secondFinished: false, | |||||
//新闻集合 | //新闻集合 | ||||
newList:[], | newList:[], | ||||
//交易规则集合 | |||||
secondList:[], | |||||
//查询参数 | //查询参数 | ||||
queryParams: { | queryParams: { | ||||
pageNum: 1, | pageNum: 1, | ||||
@@ -44,6 +77,13 @@ export default { | |||||
deptId:100, | deptId:100, | ||||
number:2 | number:2 | ||||
}, | }, | ||||
//交易规则查询参数 | |||||
querySecondParams: { | |||||
deptId:100, | |||||
pageNum:1, | |||||
pageSize:10, | |||||
number:9 | |||||
}, | |||||
}; | }; | ||||
}, | }, | ||||
created() {}, | created() {}, | ||||
@@ -70,6 +110,28 @@ export default { | |||||
this.loading = false; | this.loading = false; | ||||
}); | }); | ||||
}, | }, | ||||
getSecondList(){ | |||||
this.loading = true; | |||||
newList(this.querySecondParams).then(response => { | |||||
console.log(response); | |||||
for (var i = 0; i < response.rows.length; i++) { | |||||
this.secondList.push(response.rows[i]); | |||||
var imgStrs = response.rows[i].content.match(/<IMG src=\"([^\"]*?)\">/gi) | |||||
if (imgStrs != null && imgStrs != '') { | |||||
console.log(imgStrs[0].length-2) | |||||
console.log(imgStrs[0]) | |||||
this.secondList[i].img = imgStrs[0].substr(10,(imgStrs[0].length-12)); | |||||
} | |||||
} | |||||
console.log(this.secondList) | |||||
if(this.secondList.length >= response.total){ | |||||
this.secondFinished = true; | |||||
return; | |||||
} | |||||
this.querySecondParams.pageNum += 1 ; | |||||
this.secondLoading = false; | |||||
}); | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -15,6 +15,16 @@ | |||||
<van-col span="2"></van-col> | <van-col span="2"></van-col> | ||||
</van-row> | </van-row> | ||||
<div id="content"></div> | <div id="content"></div> | ||||
<div v-if="attachmentQueryList.length>0"> | |||||
<van-divider>附件</van-divider> | |||||
<van-cell :title="item.fileName" :url="'/api'+item.fileUrl" is-link v-for="(item,index) in attachmentQueryList"> | |||||
<!-- 使用 right-icon 插槽来自定义右侧图标 --> | |||||
<template #icon> | |||||
<img src="../../assets/images/file_icon.png" style="display: block;width: 24px;margin-right: 5px;" alt=""> | |||||
</template> | |||||
</van-cell> | |||||
</div> | |||||
</div> | </div> | ||||
</template> | </template> | ||||
@@ -25,6 +35,7 @@ export default { | |||||
data() { | data() { | ||||
return { | return { | ||||
detail:'', | detail:'', | ||||
attachmentQueryList:[] | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -36,6 +47,19 @@ export default { | |||||
console.log(response) | console.log(response) | ||||
this.detail = response.data | this.detail = response.data | ||||
document.getElementById('content').innerHTML = response.data.content; | document.getElementById('content').innerHTML = response.data.content; | ||||
if(response.data.attachment){ | |||||
var content = response.data.attachment.split(','); | |||||
let list = []; | |||||
content.map(rr=>{ | |||||
list.push({ | |||||
fileUrl:rr, | |||||
fileName:rr.substr(27,rr.length) | |||||
}) | |||||
}) | |||||
this.attachmentQueryList = list; | |||||
} | |||||
}); | }); | ||||
}, | }, | ||||
}, | }, | ||||
@@ -60,4 +84,11 @@ export default { | |||||
img{ | img{ | ||||
width: 100%; | width: 100%; | ||||
} | } | ||||
/deep/.van-cell__title, .van-cell__value{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
} | |||||
</style> | </style> |
@@ -152,7 +152,7 @@ export default { | |||||
getTransfer(id).then((response) => { | getTransfer(id).then((response) => { | ||||
this.form = response.data; | this.form = response.data; | ||||
this.processList = {} | this.processList = {} | ||||
this.getTransferProcess(this.$route.query.id); | |||||
this.getTransferProcess(id); | |||||
if(this.form.capitalExpenditureType==2){ | if(this.form.capitalExpenditureType==2){ | ||||
this.capitalExpenditureOpen = true | this.capitalExpenditureOpen = true | ||||
let param={ | let param={ | ||||
@@ -0,0 +1,344 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<van-nav-bar | |||||
title="农事记录" | |||||
left-arrow | |||||
fixed | |||||
placeholder | |||||
@click-left="$router.push({path:'/pest/index'})" | |||||
@click-right="$router.push({path:'/pest/agriculturalRecordsAdd'})" | |||||
> | |||||
<template #right> | |||||
<van-icon name="add-o" size="20" /> | |||||
</template> | |||||
</van-nav-bar> | |||||
<van-search align="center" placeholder="请输入搜索关键词" left-icon="../../../static/images/pest/search_icon.png" /> | |||||
<div class="file_main"> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="地块选择 |" | |||||
placeholder="请选择" | |||||
@click="showLand = true" | |||||
right-icon="list-switching" | |||||
label-width="auto" | |||||
:border="false" | |||||
:rules="[{ required: true , message:'请选择折旧方式' }]" | |||||
/> | |||||
<van-popup v-model="showLand" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="landOptions" | |||||
@cancel="showLand = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="时间选择 |" | |||||
placeholder="请选择" | |||||
@click="showTime = true" | |||||
right-icon="notes-o" | |||||
label-width="auto" | |||||
:border="false" | |||||
:rules="[{ required: true , message:'请选择折旧方式' }]" | |||||
/> | |||||
<van-popup v-model="showTime" position="bottom"> | |||||
<van-datetime-picker | |||||
v-model="currentDate" | |||||
type="date" | |||||
title="选择年月日" | |||||
:min-date="minDate" | |||||
:max-date="maxDate" | |||||
/> | |||||
</van-popup> | |||||
<van-field readonly label="标题名称 |" placeholder="请输入" label-width="auto" :border="false" > | |||||
<template #button> | |||||
<p class="clear_file">重置</p> | |||||
</template> | |||||
</van-field> | |||||
</div> | |||||
<div class="statistics_main"> | |||||
<p class="statistics_tt">共14条</p> | |||||
<div class="statistics_block"> | |||||
<p>排序</p> | |||||
<van-icon name="exchange" style="transform: rotate(90deg)" /> | |||||
</div> | |||||
</div> | |||||
<div class="list_main"> | |||||
<van-list> | |||||
<van-swipe-cell v-for="(item,index) in 10" :key="index" > | |||||
<div class="item" @click="goDetail(item)"> | |||||
<img src="../../../../static/images/pest/list_img.png" alt=""> | |||||
<div class="info"> | |||||
<div class="title"> | |||||
<p class="news_title">记录人员</p> | |||||
<p class="tips_mark">王响</p> | |||||
</div> | |||||
<div class="title"> | |||||
<p class="news_title">农事记录</p> | |||||
<p class="tips_mark">耕地浇灌农事记录</p> | |||||
</div> | |||||
<div class="title"> | |||||
<p class="news_title">记录日期</p> | |||||
<p class="tips_mark">2023.02.02 21:57 星期四</p> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<!-- <template #right> | |||||
<div class="operation"> | |||||
delete 删除 edit编辑 view查看 list榜单 | |||||
<div class="opera_btn"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35"> | |||||
<p>签名</p> | |||||
</div> | |||||
<div class="opera_btn" style="margin: 0 10px;"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | |||||
<p>预览</p> | |||||
</div> | |||||
<div class="opera_btn"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_04.png" alt="" width="35"> | |||||
<p>电子合同</p> | |||||
</div> | |||||
<div class="opera_btn"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_04.png" alt="" width="35"> | |||||
<p>线下合同</p> | |||||
</div> | |||||
</div> | |||||
</template> --> | |||||
</van-swipe-cell> | |||||
</van-list> | |||||
</div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import Cookies from "js-cookie"; | |||||
export default { | |||||
name: "agriculturalRecords", | |||||
data() { | |||||
return { | |||||
landOptions:[], | |||||
showLand:false, | |||||
showTime:false, | |||||
minDate: new Date(2020, 0, 1), | |||||
maxDate: new Date(2025, 10, 1), | |||||
currentDate: new Date(2021, 0, 17), | |||||
}; | |||||
}, | |||||
created() { | |||||
}, | |||||
methods: { | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.app-container{ | |||||
background: #F2F6F2 url("../../../../static/images/pest/index/pest_index_bg.png") no-repeat top; | |||||
background-size: 100% auto; | |||||
height: 100vh; | |||||
padding: 0 4vw; | |||||
} | |||||
.clear_file{ | |||||
background: linear-gradient(to right , #8AE15B , #BBFE9C); | |||||
color: #ffffff; | |||||
padding: 0 25px; | |||||
border-radius: 100vh; | |||||
font-size: .3rem; | |||||
} | |||||
/deep/ .van-nav-bar{ | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-nav-bar .van-icon{ | |||||
color: #000000; | |||||
} | |||||
/deep/ .van-hairline--bottom::after{ | |||||
border: none; | |||||
} | |||||
/deep/ .van-search{ | |||||
padding: 0; | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-search__content{ | |||||
padding: 5px 25px; | |||||
border-radius: 20px; | |||||
} | |||||
/deep/ .van-search .van-cell{ | |||||
align-items: center; | |||||
} | |||||
.file_main{ | |||||
background: #ffffff; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
overflow: hidden; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.statistics_main{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: relative; | |||||
margin-top: 15PX; | |||||
font-size: .35rem; | |||||
line-height: 1; | |||||
.statistics_tt{ | |||||
flex: 1; /* 占据剩余空间 */ | |||||
text-align: center; /* 文字水平居中 */ | |||||
} | |||||
.statistics_block{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: absolute; | |||||
right: 0; | |||||
} | |||||
} | |||||
.list_main{ | |||||
margin-top: 15PX; | |||||
height: 65vh; | |||||
overflow-y: scroll; | |||||
.item{ | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
margin-bottom: 20px; | |||||
display: flex; | |||||
align-items: center; | |||||
img{ | |||||
width: 174px; | |||||
height: 174px; | |||||
border-radius: 10px; | |||||
margin-right: 2vh; | |||||
display: block; | |||||
} | |||||
.info{ | |||||
flex: 1; | |||||
.title{ | |||||
display: flex; | |||||
align-items: center; | |||||
height: 58px; | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
font-size: .35rem; | |||||
color: rgba(28,35,76,.7); | |||||
margin-right: 15px; | |||||
} | |||||
.tips_mark{ | |||||
font-size: .35rem; | |||||
color: #1C234C; | |||||
text-align: center; | |||||
border-radius: 100vh; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 16PX; | |||||
color: #c1c1c1; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 5PX; | |||||
justify-content: space-between; | |||||
p:first-child{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
p:last-child{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
flex-shrink: 0; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: center; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
height: 100%; | |||||
padding: 0 15Px; | |||||
margin-left: 10PX; | |||||
.opera_btn{ | |||||
border-radius: 50%; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.icon{ | |||||
width: 22PX; | |||||
height: 29PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_03.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.edit{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 26PX; | |||||
height: 25PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_02.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.view{ | |||||
background: #3494ff; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29PX; | |||||
height: 21PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_04.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,300 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<van-nav-bar | |||||
title="农事记录" | |||||
left-arrow | |||||
fixed | |||||
placeholder | |||||
@click-left="$router.push({path:'/pest/agriculturalRecords'})" | |||||
/> | |||||
<div class="file_main top"> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="地块选择" | |||||
placeholder="请选择" | |||||
@click="showLand = true" | |||||
right-icon="arrow-down" | |||||
:border="false" | |||||
:rules="[{ required: true , message:'请选择折旧方式' }]" | |||||
/> | |||||
<van-popup v-model="showLand" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="landOptions" | |||||
@cancel="showLand = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field label="记录人" placeholder="请输入" :border="false" /> | |||||
<van-field label="标题" placeholder="请输入" :border="false" /> | |||||
</div> | |||||
<div class="file_main center"> | |||||
<van-field readonly label="内容" :border="false" /> | |||||
<van-field placeholder="请输入" type="textarea" rows="4" autosize :border="false" style="padding-top: 0;" /> | |||||
</div> | |||||
<div class="file_main bottom"> | |||||
<van-field readonly label="农事图片" :border="false" /> | |||||
<div class="load_block"> | |||||
<van-uploader :after-read="afterRead" /> | |||||
</div> | |||||
</div> | |||||
<div class="btn_main"> | |||||
<van-button color="#CECECE" round block>取消</van-button> | |||||
<van-button color="linear-gradient(to right , #8AE15B , #BBFE9C)" round block>确定</van-button> | |||||
</div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import Cookies from "js-cookie"; | |||||
export default { | |||||
name: "agriculturalRecordsAdd", | |||||
data() { | |||||
return { | |||||
landOptions:[], | |||||
showLand:false, | |||||
showTime:false, | |||||
minDate: new Date(2020, 0, 1), | |||||
maxDate: new Date(2025, 10, 1), | |||||
currentDate: new Date(2021, 0, 17), | |||||
}; | |||||
}, | |||||
created() { | |||||
}, | |||||
methods: { | |||||
afterRead(file) { | |||||
// 此时可以自行将文件上传至服务器 | |||||
console.log(file); | |||||
}, | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.app-container{ | |||||
background: #F2F6F2 url("../../../../static/images/pest/index/pest_index_bg.png") no-repeat top; | |||||
background-size: 100% auto; | |||||
height: 100vh; | |||||
padding: 0 4vw; | |||||
} | |||||
.btn_main{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: space-between; | |||||
margin-top: 5vh; | |||||
button:nth-child(2){ | |||||
margin-left: 5vh; | |||||
} | |||||
} | |||||
.clear_file{ | |||||
background: linear-gradient(to right , #8AE15B , #BBFE9C); | |||||
color: #ffffff; | |||||
padding: 0 25px; | |||||
border-radius: 100vh; | |||||
} | |||||
/deep/ .van-nav-bar{ | |||||
background: transparent; | |||||
} | |||||
/deep/ .top.van-field__label{ | |||||
border-right: 1px solid #ddd; | |||||
} | |||||
/deep/ .center textarea{ | |||||
background: #F5F8F6; | |||||
padding: 20px; | |||||
} | |||||
/deep/ .van-nav-bar .van-icon{ | |||||
color: #000000; | |||||
} | |||||
/deep/ .van-hairline--bottom::after{ | |||||
border: none; | |||||
} | |||||
/deep/ .van-search{ | |||||
padding: 0; | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-search__content{ | |||||
padding: 5px 25px; | |||||
border-radius: 20px; | |||||
} | |||||
/deep/ .van-search .van-cell{ | |||||
align-items: center; | |||||
} | |||||
.load_block{ | |||||
padding: 0 32px; | |||||
} | |||||
.file_main{ | |||||
background: #ffffff; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
overflow: hidden; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.statistics_main{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: relative; | |||||
margin-top: 15PX; | |||||
font-size: .35rem; | |||||
line-height: 1; | |||||
.statistics_tt{ | |||||
flex: 1; /* 占据剩余空间 */ | |||||
text-align: center; /* 文字水平居中 */ | |||||
} | |||||
.statistics_block{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: absolute; | |||||
right: 0; | |||||
} | |||||
} | |||||
.list_main{ | |||||
margin-top: 15PX; | |||||
height: 65vh; | |||||
overflow-y: scroll; | |||||
.item{ | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
margin-bottom: 20px; | |||||
display: flex; | |||||
align-items: center; | |||||
img{ | |||||
width: 174px; | |||||
height: 174px; | |||||
border-radius: 10px; | |||||
margin-right: 2vh; | |||||
display: block; | |||||
} | |||||
.info{ | |||||
flex: 1; | |||||
.title{ | |||||
display: flex; | |||||
align-items: center; | |||||
height: 58px; | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
font-size: .35rem; | |||||
color: rgba(28,35,76,.7); | |||||
margin-right: 15px; | |||||
} | |||||
.tips_mark{ | |||||
font-size: .35rem; | |||||
color: #1C234C; | |||||
text-align: center; | |||||
border-radius: 100vh; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 16PX; | |||||
color: #c1c1c1; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 5PX; | |||||
justify-content: space-between; | |||||
p:first-child{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
p:last-child{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
flex-shrink: 0; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: center; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
height: 100%; | |||||
padding: 0 15Px; | |||||
margin-left: 10PX; | |||||
.opera_btn{ | |||||
border-radius: 50%; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.icon{ | |||||
width: 22PX; | |||||
height: 29PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_03.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.edit{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 26PX; | |||||
height: 25PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_02.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.view{ | |||||
background: #3494ff; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29PX; | |||||
height: 21PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_04.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,481 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<van-nav-bar | |||||
title="长势监测" | |||||
left-arrow | |||||
fixed | |||||
placeholder | |||||
@click-left="$router.push({path:'/pest/index'})" | |||||
/> | |||||
<div class="flex_app"> | |||||
<div class="flex_main flex_main_left"> | |||||
<p class="flex_num">小麦<span>(皖麦50号)</span></p> | |||||
<p class="flex_name">当前作物</p> | |||||
<i></i> | |||||
</div> | |||||
<div class="flex_main"> | |||||
<div class="flex_block"> | |||||
<i class="icon icon1"></i> | |||||
<div class="flex_nr"> | |||||
<p class="flex_num">返青期</p> | |||||
<p class="flex_name">物候期</p> | |||||
</div> | |||||
</div> | |||||
<div class="flex_block"> | |||||
<i class="icon icon2"></i> | |||||
<div class="flex_nr"> | |||||
<p class="flex_num">35.5<span class="flex_unit">亩</span></p> | |||||
<p class="flex_name">种植面积</p> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="file_main"> | |||||
<van-field readonly label="作物长势地图" input-align="right"> | |||||
<template #input> | |||||
<p class="time_box">2024-03-01<van-icon name="arrow-down" /></p> | |||||
</template> | |||||
</van-field> | |||||
<div class="file_swipe"> | |||||
<img src="../../../../static/images/pest/map_bg.png" width="100%" alt=""> | |||||
</div> | |||||
</div> | |||||
<div class="file_main"> | |||||
<van-field readonly label="植被指数" input-align="right"/> | |||||
<div class="charts" id="main3"></div> | |||||
</div> | |||||
<div class="bottom"></div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import Cookies from "js-cookie"; | |||||
import * as echarts from "echarts"; | |||||
export default { | |||||
name: "insectMonitoring", | |||||
data() { | |||||
return { | |||||
landOptions:[], | |||||
showLand:false, | |||||
showTime:false, | |||||
minDate: new Date(2020, 0, 1), | |||||
maxDate: new Date(2025, 10, 1), | |||||
currentDate: new Date(2021, 0, 17), | |||||
}; | |||||
}, | |||||
created() { | |||||
}, | |||||
mounted() { | |||||
this.chart3(); | |||||
}, | |||||
methods: { | |||||
chart3(){ | |||||
var chartDom = document.getElementById('main3'); | |||||
var myChart = echarts.init(chartDom); | |||||
var option; | |||||
option = { | |||||
grid: { | |||||
top:'15%', | |||||
left: '3%', | |||||
right: '4%', | |||||
bottom: '3%', | |||||
containLabel: true | |||||
}, | |||||
legend: { | |||||
top: 10, | |||||
right: "5%", | |||||
itemWidth: 10, | |||||
itemHeight: 10, | |||||
// padding: [5, 10], | |||||
textStyle: { | |||||
fontSize: 14, | |||||
color: "#a6c8dd", | |||||
padding: [3, 0, 0, 0], | |||||
}, | |||||
}, | |||||
xAxis: { | |||||
type: 'category', | |||||
data: [ | |||||
'03-03', | |||||
'03-04', | |||||
'03-05', | |||||
'03-06', | |||||
'03-07', | |||||
'03-08', | |||||
'03-09', | |||||
'03-10', | |||||
'03-11', | |||||
'03-12', | |||||
'03-13', | |||||
'03-14', | |||||
'03-15', | |||||
'03-16', | |||||
'03-17', | |||||
'03-18', | |||||
] | |||||
}, | |||||
yAxis: { | |||||
type: 'value', | |||||
name: '虫害只' | |||||
}, | |||||
series: [ | |||||
{ | |||||
data: [ | |||||
1, | |||||
2, | |||||
3, | |||||
4, | |||||
5, | |||||
6, | |||||
10, | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
5, | |||||
0, | |||||
7, | |||||
0, | |||||
], | |||||
type: 'line', | |||||
lineStyle: { | |||||
width: 1, | |||||
color: 'rgba(142, 277, 97, 1)' | |||||
}, | |||||
stack: 'Total', | |||||
smooth: true, | |||||
showSymbol: false, | |||||
areaStyle: { | |||||
opacity: 0.8, | |||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | |||||
{ | |||||
offset: 0, | |||||
color: 'rgba(142, 277, 97, .8)' | |||||
}, | |||||
{ | |||||
offset: 1, | |||||
color: 'rgba(142, 277, 97, 0)' | |||||
} | |||||
]) | |||||
}, | |||||
} | |||||
] | |||||
}; | |||||
option && myChart.setOption(option); | |||||
} | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.app-container{ | |||||
background: #F2F6F2 url("../../../../static/images/pest/index/pest_index_bg.png") no-repeat top; | |||||
background-size: 100% auto; | |||||
height: 100vh; | |||||
padding: 0 4vw; | |||||
} | |||||
.flex_app{ | |||||
display: flex; | |||||
.flex_main_left{ | |||||
flex: 1; | |||||
background: url("../../../../static/images/pest/flex_main_left_bg.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
display: flex; | |||||
flex-direction: column; | |||||
justify-content: space-evenly; | |||||
padding: 0 20px; | |||||
margin-right: 16px; | |||||
.flex_num{font-size: .45rem;color: #ffffff;font-weight: bold;span{font-size: .25rem;font-weight: normal;}} | |||||
.flex_unit{font-size: .25rem;color: #9F9F9F;font-weight: normal;} | |||||
.flex_name{font-size: .3rem;color: #ffffff;} | |||||
i{ | |||||
display: block; | |||||
width: 4.5vh; | |||||
height: 4.5vh; | |||||
background: url("../../../../static/images/pest/flex_main_left_icon.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
} | |||||
.flex_main{ | |||||
flex: 1; | |||||
display: flex; | |||||
margin-top: 16px; | |||||
flex-direction: column; | |||||
.flex_block{ | |||||
flex: 1; | |||||
position: relative; | |||||
padding: 1vh; | |||||
margin-top: 16px; | |||||
display: flex; | |||||
align-items: center; | |||||
border-radius: 15PX; | |||||
background: #ffffff; | |||||
.flex_y{ | |||||
font-size: .35rem; | |||||
position: absolute; | |||||
top: 0; | |||||
right: 0; | |||||
padding: 10px 10px 10px 20px; | |||||
line-height: 1; | |||||
border-bottom-left-radius: 15PX; | |||||
} | |||||
.flex_nr{ | |||||
display: flex; | |||||
flex-direction: column; | |||||
align-items: baseline; | |||||
justify-content: space-evenly; | |||||
.flex_num{font-size: .45rem;color: #000000;font-weight: bold;} | |||||
.flex_unit{font-size: .25rem;color: #9F9F9F;font-weight: normal;} | |||||
.flex_name{font-size: .3rem;color: #9F9F9F;} | |||||
} | |||||
&:nth-child(1){ | |||||
margin-top: 0px; | |||||
} | |||||
i{ | |||||
display: block; | |||||
width: 4.5vh; | |||||
height: 4.5vh; | |||||
margin-right: 15px; | |||||
} | |||||
.icon1{ | |||||
background: url("../../../../static/images/pest/growth_icon_01.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
} | |||||
.icon2{ | |||||
background: url("../../../../static/images/pest/growth_icon_02.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
} | |||||
.time_box{ | |||||
font-size: .3rem; | |||||
background: #F5F8F6; | |||||
color: rgba(28,35,76,.5); | |||||
padding:0 15PX; | |||||
border-radius: 100vh; | |||||
} | |||||
.my-swipe .van-swipe-item { | |||||
color: #fff; | |||||
font-size: 20PX; | |||||
line-height: 300PX; | |||||
text-align: center; | |||||
background-color: #39a9ed; | |||||
border-radius: 15PX; | |||||
} | |||||
.charts{ | |||||
height: 30vh; | |||||
} | |||||
.file_swipe{ | |||||
padding: 36px; | |||||
} | |||||
.bottom{ | |||||
padding-bottom: 10vh; | |||||
} | |||||
/deep/ .center textarea{ | |||||
background: #F5F8F6; | |||||
padding: 20px; | |||||
} | |||||
/deep/ .van-nav-bar{ | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-nav-bar .van-icon{ | |||||
color: #000000; | |||||
} | |||||
/deep/ .van-hairline--bottom::after{ | |||||
border: none; | |||||
} | |||||
/deep/ .van-search{ | |||||
padding: 0; | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-search__content{ | |||||
padding: 5px 25px; | |||||
border-radius: 20px; | |||||
} | |||||
/deep/ .van-search .van-cell{ | |||||
align-items: center; | |||||
} | |||||
.file_main{ | |||||
background: #ffffff; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
overflow: hidden; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.statistics_main{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: relative; | |||||
margin-top: 15PX; | |||||
font-size: .35rem; | |||||
line-height: 1; | |||||
.statistics_tt{ | |||||
flex: 1; /* 占据剩余空间 */ | |||||
text-align: center; /* 文字水平居中 */ | |||||
} | |||||
.statistics_block{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: absolute; | |||||
right: 0; | |||||
} | |||||
} | |||||
.list_main{ | |||||
margin-top: 15PX; | |||||
height: 65vh; | |||||
overflow-y: scroll; | |||||
.item{ | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
margin-bottom: 20px; | |||||
display: flex; | |||||
align-items: center; | |||||
img{ | |||||
width: 174px; | |||||
height: 174px; | |||||
border-radius: 10px; | |||||
margin-right: 2vh; | |||||
display: block; | |||||
} | |||||
.info{ | |||||
flex: 1; | |||||
.title{ | |||||
display: flex; | |||||
align-items: center; | |||||
height: 58px; | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
font-size: .35rem; | |||||
color: rgba(28,35,76,.7); | |||||
margin-right: 15px; | |||||
} | |||||
.tips_mark{ | |||||
font-size: .35rem; | |||||
color: #1C234C; | |||||
text-align: center; | |||||
border-radius: 100vh; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 16PX; | |||||
color: #c1c1c1; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 5PX; | |||||
justify-content: space-between; | |||||
p:first-child{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
p:last-child{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
flex-shrink: 0; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: center; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
height: 100%; | |||||
padding: 0 15Px; | |||||
margin-left: 10PX; | |||||
.opera_btn{ | |||||
border-radius: 50%; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.icon{ | |||||
width: 22PX; | |||||
height: 29PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_03.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.edit{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 26PX; | |||||
height: 25PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_02.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.view{ | |||||
background: #3494ff; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29PX; | |||||
height: 21PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_04.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,479 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<div class="header"> | |||||
<div class="header_block"> | |||||
<img class="header_img" src="../../../static/images/contracted/contracted_index_head.png" alt=""> | |||||
<p>{{ nickName }}</p> | |||||
</div> | |||||
<div class="icon_block"> | |||||
<img class="header_setting" src="../../../static/images/pest/index/index_icon_01.png" alt=""> | |||||
<img class="header_setting" src="../../../static/images/pest/index/login_out.png" alt=""> | |||||
</div> | |||||
</div> | |||||
<div class="tab"> | |||||
<div class="tab_block"> | |||||
<div style="flex: 1;"> | |||||
<p>新住作物有限公司</p> | |||||
<p>部门名称名称</p> | |||||
</div> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_4.png" alt=""> | |||||
</div> | |||||
<div class="tab_block" @click="changeTaskOption('UNFINISHED')"> | |||||
<div style="flex: 1;"> | |||||
<div class="tab_tit"> | |||||
<p>小麦</p> | |||||
<span>切换作物 ></span> | |||||
</div> | |||||
<p>返青期</p> | |||||
</div> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_5.png" alt=""> | |||||
</div> | |||||
</div> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_6.png" width="100%" style="border-radius: 4vw;margin-top: 15px;box-shadow: 0 5PX 10PX #DDDDDD;" alt=""> | |||||
<van-grid :column-num="4" :border="false" style="background-color: #ffffff;border-radius: 4vw;overflow: hidden;margin-top: 15px;box-shadow: 0 5PX 10PX #DDDDDD;"> | |||||
<van-grid-item :to="{name:'pestAgriculturalRecords'}"> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_7.png" alt=""> | |||||
<p>农事记录</p> | |||||
</van-grid-item> | |||||
<van-grid-item :to="{name:'insectMonitoring'}"> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_8.png" alt=""> | |||||
<p>虫情监测</p> | |||||
</van-grid-item> | |||||
<van-grid-item :to="{name:'soilTesting'}"> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_9.png" alt=""> | |||||
<p>土壤检测</p> | |||||
</van-grid-item> | |||||
<van-grid-item :to="{name:'weather'}"> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_10.png" alt=""> | |||||
<p>气象服务</p> | |||||
</van-grid-item> | |||||
<van-grid-item :to="{name:'temperatureAndHumidity'}"> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_11.png" alt=""> | |||||
<p>温湿度</p> | |||||
</van-grid-item> | |||||
<van-grid-item :to="{name:'growthMonitoring'}"> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_12.png" alt=""> | |||||
<p>长势监测</p> | |||||
</van-grid-item> | |||||
<van-grid-item> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_13.png" alt=""> | |||||
<p>物联网设备</p> | |||||
</van-grid-item> | |||||
</van-grid> | |||||
<div class="list_tt"> | |||||
<p>预警 <img src="../../../static/images/pest/index/pest_index_icon_14.png" style="vertical-align: middle;" alt=""></p> | |||||
<p> | |||||
<span>查看全部 ></span> | |||||
</p> | |||||
</div> | |||||
<div class="list_main"> | |||||
<van-list> | |||||
<van-swipe-cell v-for="(item,index) in 10" :key="index" > | |||||
<div class="item" @click="goDetail(item)"> | |||||
<img src="../../../static/images/pest/index/pest_index_icon_15.png" alt=""> | |||||
<div class="info"> | |||||
<div class="title"> | |||||
<p class="news_title">物品名称名称名称名称</p> | |||||
<p class="tips_mark">仓库</p> | |||||
</div> | |||||
<div class="time"> | |||||
<p>库存量 <span>+100</span></p> | |||||
<p>预警值 <span>50</span></p> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<!-- <template #right> | |||||
<div class="operation"> | |||||
delete 删除 edit编辑 view查看 list榜单 | |||||
<div class="opera_btn"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35"> | |||||
<p>签名</p> | |||||
</div> | |||||
<div class="opera_btn" style="margin: 0 10px;"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | |||||
<p>预览</p> | |||||
</div> | |||||
<div class="opera_btn"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_04.png" alt="" width="35"> | |||||
<p>电子合同</p> | |||||
</div> | |||||
<div class="opera_btn"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_04.png" alt="" width="35"> | |||||
<p>线下合同</p> | |||||
</div> | |||||
</div> | |||||
</template> --> | |||||
</van-swipe-cell> | |||||
</van-list> | |||||
</div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import Cookies from "js-cookie"; | |||||
import { listSurveyTask } from "@/api/contracted"; | |||||
import { getInfo, logout } from "@/api/login"; | |||||
export default { | |||||
name: "contractedIndex", | |||||
data() { | |||||
return { | |||||
showPopover: false, | |||||
// 通过 actions 属性来定义菜单选项 | |||||
actions: [ | |||||
{ text: '修改密码',value:1 }, | |||||
{ text: '退出登录',value:2 } | |||||
], | |||||
nickName: null, | |||||
phone: null, | |||||
// 调查任务 | |||||
surveyTask: { | |||||
'FINISHED': [], // 已完成任务 | |||||
'UNFINISHED': [] // 进行中任务 | |||||
}, | |||||
// 任务选项 | |||||
taskOption: 'FINISHED', | |||||
}; | |||||
}, | |||||
created() { | |||||
this.getUserInfo(); | |||||
}, | |||||
methods: { | |||||
getUserInfo() { | |||||
getInfo().then(response => { | |||||
this.nickName = response.user.nickName; | |||||
this.phone = response.user.phonenumber; | |||||
this.getList(response.user.userId); | |||||
}); | |||||
}, | |||||
getList(userId){ | |||||
listSurveyTask({userId: userId}).then(response => { | |||||
this.surveyTask = response.data; | |||||
}); | |||||
}, | |||||
goDetail(item){ | |||||
// 调查任务完成状态:已完成标记为1,未完成标记为2 | |||||
let status = '1'; | |||||
if (item.surStatus === 'UNFINISHED') { | |||||
status = '2'; | |||||
} | |||||
Cookies.set('taskStatus', status, { expires: 30 }); | |||||
this.$router.push({path:'/contracted/village/contractor', query: { deptId: item.deptId, deptName: item.deptName }}) | |||||
}, | |||||
onSelect(action) { | |||||
switch (action.value) { | |||||
case 1: | |||||
this.$router.push({path:'/contracted/user/passWord'}) | |||||
break; | |||||
case 2: | |||||
this.loginOut(); | |||||
break; | |||||
} | |||||
}, | |||||
changeTaskOption(option) { | |||||
this.taskOption = option; | |||||
}, | |||||
loginOut() { | |||||
logout().then(res => { | |||||
this.$router.push({ path: '/contracted/login' }); | |||||
}) | |||||
} | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.app-container{ | |||||
background: #F2F6F2 url("../../../static/images/pest/index/pest_index_bg.png") no-repeat top; | |||||
background-size: 100% auto; | |||||
height: 100vh; | |||||
padding: 0 4vw; | |||||
} | |||||
/deep/ .van-popover__wrapper{ | |||||
margin-left: auto; | |||||
} | |||||
/deep/ .van-grid-item{ | |||||
&:nth-child(-n+4){ | |||||
.van-grid-item__content { | |||||
padding-bottom: 0; | |||||
} | |||||
} | |||||
} | |||||
/deep/ .van-grid-item__content{ | |||||
p{ | |||||
margin-top: 15px; | |||||
color: #1C234C; | |||||
} | |||||
} | |||||
.header{ | |||||
display: flex; | |||||
align-items: center; | |||||
padding: 5vh 0 0; | |||||
.header_img{ | |||||
display: block; | |||||
width: 10vw; | |||||
height: 10vw; | |||||
border-radius: 50%; | |||||
border: 3PX solid #ffffff; | |||||
} | |||||
.header_block{ | |||||
display: flex; | |||||
align-items: center; | |||||
background-color: rgba(255,255,255,.8); | |||||
padding-right: 5vw; | |||||
border-radius: 100vh; | |||||
p{ | |||||
font-size: .4rem; | |||||
margin-left: 10px; | |||||
} | |||||
} | |||||
.icon_block{ | |||||
display: flex; | |||||
margin-left: auto; | |||||
} | |||||
.header_setting{ | |||||
width: 4.5vw; | |||||
margin-bottom: auto; | |||||
margin-left: 40px; | |||||
} | |||||
} | |||||
.tab{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: space-between; | |||||
.tab_block{ | |||||
width: 45vw; | |||||
height: 18vw; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
padding: 0 2vw; | |||||
border-radius: 4vw; | |||||
margin-top: 3vh; | |||||
position: relative; | |||||
box-shadow: 0 5PX 10PX #DDDDDD; | |||||
&:nth-child(1){ | |||||
background: #ffffff url("../../../static/images/pest/index/pest_index_icon_2.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
} | |||||
&:nth-child(2){ | |||||
background: #ffffff url("../../../static/images/pest/index/pest_index_icon_3.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
} | |||||
img{ | |||||
width: 10vw; | |||||
display: block; | |||||
margin-left: 2vw; | |||||
} | |||||
.tab_tit{ | |||||
display: flex; | |||||
align-items: center; | |||||
span{ | |||||
font-size: .25rem; | |||||
border: 1px solid #FCC762; | |||||
background-color: #FED565; | |||||
color: #F58D1F; | |||||
padding: 2px 10px; | |||||
border-radius: 100vh; | |||||
margin-left: auto; | |||||
} | |||||
} | |||||
p{ | |||||
display: flex; | |||||
align-items: center; | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
&:nth-child(1){ | |||||
font-size: .35rem; | |||||
} | |||||
&:nth-child(2){ | |||||
font-size: .3rem; | |||||
align-items: end; | |||||
line-height: 1; | |||||
margin-top: 2vw; | |||||
color: rgba(28,35,76,.5); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.list_tt{ | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
margin-top: 3vh; | |||||
p{ | |||||
&:first-child{ | |||||
font-size: .38rem; | |||||
} | |||||
&:last-child{ | |||||
span{ | |||||
color: #999999; | |||||
margin-left: 2vh; | |||||
i{ | |||||
display: inline-block; | |||||
width: 1vh; | |||||
height: 1vh; | |||||
border-radius: 100%; | |||||
margin-right: 5PX; | |||||
} | |||||
&:first-child i{ | |||||
background: #fc8e13; | |||||
} | |||||
&:last-child i{ | |||||
background: #5fe495; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.list_main{ | |||||
margin-top: 15PX; | |||||
height: 35vh; | |||||
overflow-y: scroll; | |||||
.item{ | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
margin-bottom: 20px; | |||||
display: flex; | |||||
align-items: center; | |||||
img{ | |||||
width: 12%; | |||||
margin-right: 2vh; | |||||
} | |||||
.info{ | |||||
flex: 1; | |||||
.title{ | |||||
display: flex; | |||||
font-size: 32px; | |||||
align-items: center; | |||||
height: 58px; | |||||
justify-content: space-between; | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
font-weight: bold; | |||||
} | |||||
.tips_mark{ | |||||
font-size: 14PX; | |||||
color: #1C234C; | |||||
text-align: center; | |||||
flex-shrink: 0; | |||||
background: linear-gradient(to right,#8AE15B,#BBFE9C); | |||||
padding: 5px 25px; | |||||
border-radius: 100vh; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 16PX; | |||||
color: #c1c1c1; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 5PX; | |||||
justify-content: space-between; | |||||
p:first-child{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
p:last-child{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
flex-shrink: 0; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: center; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
height: 100%; | |||||
padding: 0 15Px; | |||||
margin-left: 10PX; | |||||
.opera_btn{ | |||||
border-radius: 50%; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.icon{ | |||||
width: 22PX; | |||||
height: 29PX; | |||||
background: url('../../assets/images/sunVillage_info/signature_icon_03.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.edit{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 26PX; | |||||
height: 25PX; | |||||
background: url('../../assets/images/sunVillage_info/signature_icon_02.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.view{ | |||||
background: #3494ff; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29PX; | |||||
height: 21PX; | |||||
background: url('../../assets/images/sunVillage_info/signature_icon_04.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,396 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<van-nav-bar | |||||
title="虫情监测" | |||||
left-arrow | |||||
fixed | |||||
placeholder | |||||
@click-left="$router.push({path:'/pest/index'})" | |||||
/> | |||||
<div class="file_main"> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="虫情设备" | |||||
placeholder="请选择" | |||||
@click="showLand = true" | |||||
right-icon="arrow-down" | |||||
label-width="auto" | |||||
:border="false" | |||||
input-align="right" | |||||
:rules="[{ required: true , message:'请选择' }]" | |||||
/> | |||||
<van-popup v-model="showLand" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="landOptions" | |||||
@cancel="showLand = false" | |||||
/> | |||||
</van-popup> | |||||
</div> | |||||
<div class="file_main center"> | |||||
<van-field readonly label="内容" :border="false" /> | |||||
<van-field placeholder="请输入" type="textarea" rows="4" autosize :border="false" style="padding-top: 0;" /> | |||||
</div> | |||||
<div class="file_main"> | |||||
<van-field readonly label="实景图片" input-align="right"> | |||||
<template #input> | |||||
<p class="time_box">2024-03-01<van-icon name="arrow-down" /></p> | |||||
</template> | |||||
</van-field> | |||||
<div class="file_swipe"> | |||||
<van-swipe class="my-swipe" :autoplay="3000" indicator-color="white"> | |||||
<van-swipe-item>1</van-swipe-item> | |||||
<van-swipe-item>2</van-swipe-item> | |||||
<van-swipe-item>3</van-swipe-item> | |||||
<van-swipe-item>4</van-swipe-item> | |||||
</van-swipe> | |||||
</div> | |||||
</div> | |||||
<div class="file_main"> | |||||
<van-field readonly label="虫害趋势" input-align="right"> | |||||
<template #input> | |||||
<p class="time_box">2024-03-01<van-icon name="arrow-down" /></p> | |||||
</template> | |||||
</van-field> | |||||
<div class="charts" id="main3"></div> | |||||
</div> | |||||
<div class="bottom"></div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import Cookies from "js-cookie"; | |||||
import * as echarts from "echarts"; | |||||
export default { | |||||
name: "insectMonitoring", | |||||
data() { | |||||
return { | |||||
landOptions:[], | |||||
showLand:false, | |||||
showTime:false, | |||||
minDate: new Date(2020, 0, 1), | |||||
maxDate: new Date(2025, 10, 1), | |||||
currentDate: new Date(2021, 0, 17), | |||||
}; | |||||
}, | |||||
created() { | |||||
}, | |||||
mounted() { | |||||
this.chart3(); | |||||
}, | |||||
methods: { | |||||
chart3(){ | |||||
var chartDom = document.getElementById('main3'); | |||||
var myChart = echarts.init(chartDom); | |||||
var option; | |||||
option = { | |||||
grid: { | |||||
top:'15%', | |||||
left: '3%', | |||||
right: '4%', | |||||
bottom: '3%', | |||||
containLabel: true | |||||
}, | |||||
legend: { | |||||
top: 10, | |||||
right: "5%", | |||||
itemWidth: 10, | |||||
itemHeight: 10, | |||||
// padding: [5, 10], | |||||
textStyle: { | |||||
fontSize: 14, | |||||
color: "#a6c8dd", | |||||
padding: [3, 0, 0, 0], | |||||
}, | |||||
}, | |||||
xAxis: { | |||||
type: 'category', | |||||
data: [ | |||||
'03-03', | |||||
'03-04', | |||||
'03-05', | |||||
'03-06', | |||||
'03-07', | |||||
'03-08', | |||||
'03-09', | |||||
'03-10', | |||||
'03-11', | |||||
'03-12', | |||||
'03-13', | |||||
'03-14', | |||||
'03-15', | |||||
'03-16', | |||||
'03-17', | |||||
'03-18', | |||||
] | |||||
}, | |||||
yAxis: { | |||||
type: 'value', | |||||
name: '虫害只' | |||||
}, | |||||
series: [ | |||||
{ | |||||
data: [ | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
10, | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
5, | |||||
0, | |||||
0, | |||||
0, | |||||
], | |||||
type: 'line' | |||||
} | |||||
] | |||||
}; | |||||
option && myChart.setOption(option); | |||||
} | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.app-container{ | |||||
background: #F2F6F2 url("../../../../static/images/pest/index/pest_index_bg.png") no-repeat top; | |||||
background-size: 100% auto; | |||||
height: 100vh; | |||||
padding: 0 4vw; | |||||
} | |||||
.time_box{ | |||||
font-size: .3rem; | |||||
background: #F5F8F6; | |||||
color: rgba(28,35,76,.5); | |||||
padding:0 15PX; | |||||
border-radius: 100vh; | |||||
} | |||||
.my-swipe .van-swipe-item { | |||||
color: #fff; | |||||
font-size: 20PX; | |||||
line-height: 300PX; | |||||
text-align: center; | |||||
background-color: #39a9ed; | |||||
border-radius: 15PX; | |||||
} | |||||
.charts{ | |||||
height: 30vh; | |||||
} | |||||
.file_swipe{ | |||||
padding: 36px; | |||||
} | |||||
.bottom{ | |||||
padding-bottom: 10vh; | |||||
} | |||||
/deep/ .center textarea{ | |||||
background: #F5F8F6; | |||||
padding: 20px; | |||||
} | |||||
/deep/ .van-nav-bar{ | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-nav-bar .van-icon{ | |||||
color: #000000; | |||||
} | |||||
/deep/ .van-hairline--bottom::after{ | |||||
border: none; | |||||
} | |||||
/deep/ .van-search{ | |||||
padding: 0; | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-search__content{ | |||||
padding: 5px 25px; | |||||
border-radius: 20px; | |||||
} | |||||
/deep/ .van-search .van-cell{ | |||||
align-items: center; | |||||
} | |||||
.file_main{ | |||||
background: #ffffff; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
overflow: hidden; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.statistics_main{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: relative; | |||||
margin-top: 15PX; | |||||
font-size: .35rem; | |||||
line-height: 1; | |||||
.statistics_tt{ | |||||
flex: 1; /* 占据剩余空间 */ | |||||
text-align: center; /* 文字水平居中 */ | |||||
} | |||||
.statistics_block{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: absolute; | |||||
right: 0; | |||||
} | |||||
} | |||||
.list_main{ | |||||
margin-top: 15PX; | |||||
height: 65vh; | |||||
overflow-y: scroll; | |||||
.item{ | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
margin-bottom: 20px; | |||||
display: flex; | |||||
align-items: center; | |||||
img{ | |||||
width: 174px; | |||||
height: 174px; | |||||
border-radius: 10px; | |||||
margin-right: 2vh; | |||||
display: block; | |||||
} | |||||
.info{ | |||||
flex: 1; | |||||
.title{ | |||||
display: flex; | |||||
align-items: center; | |||||
height: 58px; | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
font-size: .35rem; | |||||
color: rgba(28,35,76,.7); | |||||
margin-right: 15px; | |||||
} | |||||
.tips_mark{ | |||||
font-size: .35rem; | |||||
color: #1C234C; | |||||
text-align: center; | |||||
border-radius: 100vh; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 16PX; | |||||
color: #c1c1c1; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 5PX; | |||||
justify-content: space-between; | |||||
p:first-child{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
p:last-child{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
flex-shrink: 0; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: center; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
height: 100%; | |||||
padding: 0 15Px; | |||||
margin-left: 10PX; | |||||
.opera_btn{ | |||||
border-radius: 50%; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.icon{ | |||||
width: 22PX; | |||||
height: 29PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_03.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.edit{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 26PX; | |||||
height: 25PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_02.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.view{ | |||||
background: #3494ff; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29PX; | |||||
height: 21PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_04.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,470 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<div class="title"> | |||||
<img style="display: block;width: 90%;margin: 0 auto;" src="../../../static/images/pest/pest_login_header.png" alt=""> | |||||
</div> | |||||
<van-tabs v-model="active" color="#1D6FE9" :swipeable="true" style="margin-top:0.5rem;padding:0 10px;"> | |||||
<van-tab title="密码登录" name="1"> | |||||
<van-form style="padding:50px 0;height: 100vh;" v-if="!showMessage"> | |||||
<van-field | |||||
v-model="formData.username" | |||||
placeholder="请输入手机号/账号" | |||||
left-icon="contact" | |||||
:rules="[{ required: true, message:'' }]" | |||||
/> | |||||
<van-field | |||||
v-model="formData.password" | |||||
type="password" | |||||
left-icon="edit" | |||||
style="margin-top: 20px" | |||||
placeholder="请输入密码" | |||||
:rules="[{ required: true, message:'' }]" | |||||
/> | |||||
<div style="display: flex;width: 90%;margin: 20px auto 0;"> | |||||
<van-field | |||||
v-model="formData.code" | |||||
left-icon="shield-o" | |||||
center | |||||
clearable | |||||
placeholder="图形验证码" | |||||
/> | |||||
<div style="border-radius: 100vh;width: 120px;margin-left: 20px;overflow: hidden;flex-shrink: 0;"> | |||||
<img style="width: 120px;display: block;transform: scale(1.1);" :src="codeUrl" @click="getCode" /> | |||||
</div> | |||||
</div> | |||||
<van-checkbox style="float: left;margin-top:10px;margin-left:20px;" v-model="formData.rememberMe" checked-color="#44da6e" shape="square">{{showMessage ? "记住手机号" : "记住密码"}}</van-checkbox> | |||||
<p style="float: right;margin-top:10px;margin-right:20px;color:#44da6e ">忘记密码</p> | |||||
<div class="clear"></div> | |||||
<div style="margin: 50px 16px 16px;border-radius: 100vh;overflow: hidden;"> | |||||
<van-button block type="info" native-type="submit" color="linear-gradient(to right, #a4f68b, #38d375)" @click="handleLogin">登录</van-button> | |||||
<!-- <p style="text-align: center;margin-top: 20px;color:#878787 " @click="showMessagePop">短信验证码登录</p>--> | |||||
</div> | |||||
</van-form> | |||||
</van-tab> | |||||
<van-tab title="短信登录" name="2"> | |||||
<van-form style="padding:50px 0;height: 100vh;"> | |||||
<van-field | |||||
v-model="formData.mobile" | |||||
left-icon="phone-o" | |||||
name="请输入手机号" | |||||
placeholder="请输入手机号" | |||||
:rules="[{ required: true, message: '' }]" | |||||
/> | |||||
<div style="display: flex;width: 90%;margin: 20px auto 0;"> | |||||
<van-field | |||||
v-model="formData.code" | |||||
left-icon="shield-o" | |||||
center | |||||
clearable | |||||
placeholder="图形验证码" | |||||
/> | |||||
<div style="border-radius: 100vh;width: 120px;margin-left: 20px;overflow: hidden;flex-shrink: 0;"> | |||||
<img style="width: 120px;display: block;transform: scale(1.1);" :src="codeUrl" @click="getCode" /> | |||||
</div> | |||||
</div> | |||||
<div style="margin: 50px 16px 16px;"> | |||||
<van-button block type="info" native-type="submit" color="linear-gradient(to right, #a4f68b, #38d375)" @click="getSmsCode">获取验证码</van-button> | |||||
<!-- <p style="text-align: center;margin-top: 20px;color:#878787 " @click="showMessagePop">密码登录</p>--> | |||||
</div> | |||||
</van-form> | |||||
<!-- <van-form style="margin:50px 0;">--> | |||||
<!-- <van-field--> | |||||
<!-- v-model="formData.memberName"--> | |||||
<!-- name="请输入姓名"--> | |||||
<!-- placeholder="请输入姓名"--> | |||||
<!-- :rules="[{ required: true, message: '' }]"--> | |||||
<!-- />--> | |||||
<!-- <van-field--> | |||||
<!-- v-model="formData.idcard"--> | |||||
<!-- name="请输入身份证号"--> | |||||
<!-- style="margin-top: 20px"--> | |||||
<!-- placeholder="请输入身份证号"--> | |||||
<!-- :rules="[{ required: true, message: '' }]"--> | |||||
<!-- />--> | |||||
<!-- <van-field--> | |||||
<!-- v-model="formData.mobile"--> | |||||
<!-- name="请输入手机号"--> | |||||
<!-- style="margin-top: 20px"--> | |||||
<!-- placeholder="请输入手机号"--> | |||||
<!-- :rules="[{ required: true, message: '' }]"--> | |||||
<!-- />--> | |||||
<!-- <van-field--> | |||||
<!-- v-model="formData.code"--> | |||||
<!-- center--> | |||||
<!-- clearable--> | |||||
<!-- label="验证码"--> | |||||
<!-- placeholder="图形验证码"--> | |||||
<!-- >--> | |||||
<!-- <template #button>--> | |||||
<!-- <img style="width: 100px" :src="codeUrl" @click="getCode" />--> | |||||
<!-- </template>--> | |||||
<!-- </van-field>--> | |||||
<!-- <van-field--> | |||||
<!-- v-model="formData.smsCode"--> | |||||
<!-- style="margin-top: 20px"--> | |||||
<!-- placeholder="请输入验证码"--> | |||||
<!-- :rules="[{ required: true, message: '' }]"--> | |||||
<!-- >--> | |||||
<!-- <template #button>--> | |||||
<!-- <!– <van-button size="mini" type="info" @click="getRegisterSmsCode" >获取验证码</van-button> –>--> | |||||
<!-- <div class="registerSmsBtn" @click="getRegisterSmsCode">{{--> | |||||
<!-- computeTime > 0 ? `(${computeTime}s)已发送` : "获取短信码"--> | |||||
<!-- }}</div>--> | |||||
<!-- </template>--> | |||||
<!-- </van-field>--> | |||||
<!-- <div style="margin: 50px 16px 16px;">--> | |||||
<!-- <van-button block type="info" native-type="submit" @click="registerSubmit">注册</van-button>--> | |||||
<!-- </div>--> | |||||
<!-- </van-form>--> | |||||
</van-tab> | |||||
</van-tabs> | |||||
<van-popup v-model="showKeyboard" :style="{ height: '100%',width:'100%' }" > | |||||
<van-nav-bar | |||||
left-arrow | |||||
fixed | |||||
placeholder | |||||
@click-left="showPopup" | |||||
/> | |||||
<div style="padding: 20px"> | |||||
<h1>输入短信验证码</h1> | |||||
<h3 style="color: #878787">验证码已发送至{{(formData.mobile+"").substr(0,3) + "****" + (formData.mobile+"").substr(7)}},请在下方输入框内输入4位数字验证码</h3> | |||||
</div> | |||||
<van-password-input | |||||
:value="smsCodeValue" | |||||
:length="4" | |||||
:focused="showKeyboard" | |||||
@focus="showKeyboard = true" | |||||
/> | |||||
<van-number-keyboard | |||||
v-model="smsCodeValue" | |||||
:show="showKeyboard" | |||||
theme="custom" | |||||
close-button-text="完成" | |||||
/> | |||||
</van-popup> | |||||
</div> | |||||
</template> | |||||
<style scoped> | |||||
.app-container{ | |||||
background: url("../../../static/images/pest/pest_login_bg.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
height: 100vh; | |||||
overflow: hidden; | |||||
} | |||||
/deep/ .van-tabs__content{ | |||||
background: #ffffff; | |||||
border-radius: 30px; | |||||
} | |||||
/deep/ .van-tabs__nav--line{ | |||||
background: transparent; | |||||
} | |||||
.title{ | |||||
/*padding-top: 20%;*/ | |||||
width: 100%; | |||||
margin: 0 auto; | |||||
} | |||||
.van-tab--active{ | |||||
font-size: .6rem; | |||||
font-weight: bold; | |||||
} | |||||
.van-tabs__line{ | |||||
background:#1D6FE9; | |||||
width: 0.15rem; | |||||
height: 0.15rem; | |||||
border-radius: 0.07rem; | |||||
bottom: 0.3rem; | |||||
} | |||||
.van-tabs__nav{ | |||||
padding:0 | |||||
} | |||||
.van-tab{ | |||||
display: inline-block; | |||||
flex: inherit; | |||||
margin-left: 30px; | |||||
line-height: .8rem; | |||||
} | |||||
.van-tab__text--ellipsis { | |||||
overflow: auto; | |||||
} | |||||
.van-password-input{ | |||||
width: 50%; | |||||
margin: 0 auto; | |||||
} | |||||
[class*=van-hairline]::after{ | |||||
border:none; | |||||
} | |||||
.van-password-input__security li{ | |||||
margin: 0 10px; | |||||
border-bottom: 3px solid black; | |||||
} | |||||
.registerSmsBtn{ | |||||
color: rgb(29, 111, 233); | |||||
font-size: 0.34rem; | |||||
} | |||||
/deep/ .van-tabs__line{ | |||||
background-color: transparent!important; | |||||
width: 0; | |||||
height: 0; | |||||
border-top: .5rem solid transparent; | |||||
border-right: .5rem solid transparent; | |||||
border-left: .5rem solid transparent; | |||||
border-bottom: .3rem solid #ffffff; | |||||
} | |||||
/deep/ .van-cell{ | |||||
background: #f6f8f4; | |||||
border-radius: 100vh; | |||||
width: 90%; | |||||
margin: 0 auto; | |||||
} | |||||
</style> | |||||
<script> | |||||
import { getCodeImg, getSmsCode ,getRegisterSmsCode,registerCheck,registerOn} from "../../api/login"; | |||||
import Cookies from "js-cookie"; | |||||
import { encrypt, decrypt } from "../../utils/jsencrypt"; | |||||
//引用wx sdk | |||||
import wx from "weixin-js-sdk"; | |||||
export default { | |||||
name: "yinnongLogin", | |||||
data() { | |||||
return { | |||||
showMessage:false, | |||||
smsCodeValue:"", | |||||
showKeyboard:false, | |||||
formData: { | |||||
username: "", //账号 | |||||
password: "", //密码 | |||||
code: null, //图片验证码 | |||||
uuid: null, //识别uuid | |||||
mobile: null, //手机号 | |||||
smsCode: null, //短信验证码 | |||||
memberName:null, //身份信息 | |||||
idcard:null, //身份号码 | |||||
rememberMe:false | |||||
}, | |||||
loading: false, | |||||
codeUrl: "", //验证码 | |||||
isSmsLogin: false, //是否手机验证码 | |||||
computeTime: 0, | |||||
active:1 | |||||
}; | |||||
}, | |||||
created() { | |||||
this.getCode(); | |||||
this.getCookie(); | |||||
this.reset(); | |||||
}, | |||||
methods: { | |||||
reset(){ | |||||
}, | |||||
showPopup(){ | |||||
this.showKeyboard = !this.showKeyboard | |||||
}, | |||||
showMessagePop(){ | |||||
this.showMessage = !this.showMessage | |||||
}, | |||||
getCode() { | |||||
getCodeImg().then((res) => { | |||||
this.formData.uuid = res.uuid; | |||||
this.codeUrl = "data:image/gif;base64," + res.img; | |||||
}); | |||||
}, | |||||
getCookie() { | |||||
const username = Cookies.get("username"); | |||||
const password = Cookies.get("password"); | |||||
const rememberMe = Cookies.get("rememberMe"); | |||||
this.formData = { | |||||
username: username === undefined ? this.formData.username : username, | |||||
password: | |||||
password === undefined ? this.formData.password : decrypt(password), | |||||
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), | |||||
}; | |||||
}, | |||||
getSmsCode() { | |||||
if (this.formData.code == "") { | |||||
this.$dialog.alert({ | |||||
message: '图片验证码不能为空', | |||||
}); | |||||
return false; | |||||
} | |||||
if (!this.computeTime) { | |||||
let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/; | |||||
if (!myreg.test(this.formData.mobile)) { | |||||
this.$dialog.alert({ | |||||
message: '手机号格式不正确', | |||||
}); | |||||
return false; | |||||
} | |||||
/* getSmsCode(this.formData.mobile).then((res) => { | |||||
if (res.code === 200) { | |||||
this.$dialog.alert({ | |||||
message: '验证码已发送', | |||||
}); | |||||
this.showKeyboard = !this.showKeyboard; | |||||
this.loginForm.uuid = res.uuid; | |||||
this.computeTime = 60; | |||||
this.timer = setInterval(() => { | |||||
this.computeTime--; | |||||
if (this.computeTime <= 0) { | |||||
clearInterval(this.timer); | |||||
} | |||||
}, 1000); | |||||
} | |||||
});*/ | |||||
} | |||||
}, | |||||
handleLogin(values) { | |||||
if (this.isSmsLogin) { | |||||
//短信登录 | |||||
let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/; | |||||
if (!myreg.test(this.formData.mobile)) { | |||||
this.$dialog.alert({ | |||||
message: '手机号格式不正确', | |||||
}); | |||||
return false; | |||||
} else if (this.formData.smsCode == "") { | |||||
this.$dialog.alert({ | |||||
message: '短信验证码不能为空', | |||||
}); | |||||
return false; | |||||
} | |||||
this.loading = true; | |||||
this.$store | |||||
.dispatch("SmsLogin", this.formData) | |||||
.then(() => { | |||||
this.$router.push({ path: "/pest/index" }).catch(() => {}); | |||||
}) | |||||
.catch((error) => { | |||||
this.loading = false; | |||||
}); | |||||
} else { | |||||
if (this.formData.rememberMe) { | |||||
Cookies.set("username", this.formData.username, { expires: 30 }); | |||||
Cookies.set("password", encrypt(this.formData.password), { expires: 30 }); | |||||
Cookies.set("rememberMe", this.formData.rememberMe, { expires: 30 }); | |||||
} else { | |||||
Cookies.remove("username"); | |||||
Cookies.remove("password"); | |||||
Cookies.remove("rememberMe"); | |||||
} | |||||
//账号密码登录 | |||||
if (this.formData.username == "") { | |||||
this.$dialog.alert({ | |||||
message: '账号不能为空', | |||||
}); | |||||
return false; | |||||
} else if (this.formData.password == "") { | |||||
this.$dialog.alert({ | |||||
message: '密码不能为空', | |||||
}); | |||||
return false; | |||||
} else if (!this.formData.code) { | |||||
this.$dialog.alert({ | |||||
message: '图片验证码不能为空', | |||||
}); | |||||
return false; | |||||
} | |||||
this.$store | |||||
.dispatch("Login", this.formData) | |||||
.then(() => { | |||||
this.$router.push({ path: "/pest/index" }).catch(() => {}); | |||||
}) | |||||
.catch((error) => { | |||||
console.log(error) | |||||
this.loading = false; | |||||
this.getCode(); | |||||
}); | |||||
} | |||||
}, | |||||
getRegisterSmsCode(){ | |||||
if (!this.computeTime) { | |||||
let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/; | |||||
if (!myreg.test(this.formData.mobile)) { | |||||
this.$dialog.alert({ | |||||
message: '手机号格式不正确', | |||||
}); | |||||
return false; | |||||
}else if (this.formData.code == "") { | |||||
this.$dialog.alert({ | |||||
message: '图片验证码不能为空', | |||||
}); | |||||
return false; | |||||
} | |||||
if (this.active==2) { | |||||
let formObj = { | |||||
code :this.formData.code, | |||||
mobile:this.formData.mobile, | |||||
uuid:this.formData.uuid | |||||
} | |||||
getRegisterSmsCode(formObj).then((res) => { | |||||
console.log(res) | |||||
console.log(res.code == 200) | |||||
if(res.code == 200) { | |||||
this.$dialog.alert({ | |||||
message: '验证码已发送', | |||||
}); | |||||
this.formData.uuid = res.uuid; | |||||
this.computeTime = 60; | |||||
this.timer = setInterval(() => { | |||||
this.computeTime--; | |||||
if (this.computeTime <= 0) { | |||||
clearInterval(this.timer); | |||||
} | |||||
}, 1000); | |||||
} | |||||
}).catch((res)=>{ | |||||
if(res=='Error: 验证码已失效'){ | |||||
this.getCode() | |||||
} | |||||
}); | |||||
} | |||||
} | |||||
}, | |||||
registerSubmit(){ | |||||
//注册 | |||||
if (this.formData.memberName == "") { | |||||
this.$dialog.alert({ | |||||
message: '姓名不能为空', | |||||
}); | |||||
return false; | |||||
} else if (this.formData.idcard == "") { | |||||
this.$dialog.alert({ | |||||
message: '身份证号不能为空', | |||||
}); | |||||
return false; | |||||
} else if (this.formData.mobile == "") { | |||||
this.$dialog.alert({ | |||||
message: '手机号码不能为空', | |||||
}); | |||||
return false; | |||||
}else if (this.formData.smsCode == "") { | |||||
this.$dialog.alert({ | |||||
message: '短信验证码不能为空', | |||||
}); | |||||
return false; | |||||
} | |||||
//registerCheck,registerOn | |||||
console.log(this.formData) | |||||
registerCheck(this.formData).then((res)=>{ | |||||
if(res.code == 200){ | |||||
registerOn(this.formData).then((res)=>{ | |||||
if(res.code == 200){ | |||||
// | |||||
this.$dialog.alert({ | |||||
message: '您的初始密码:'+res.password, | |||||
}).then(() => { | |||||
this.$router.push({ path: "/pest/index" }).catch(() => {}); | |||||
}); | |||||
} | |||||
}) | |||||
} | |||||
}) | |||||
} | |||||
}, | |||||
}; | |||||
</script> |
@@ -0,0 +1,350 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<van-nav-bar | |||||
title="土壤检测" | |||||
left-arrow | |||||
fixed | |||||
placeholder | |||||
@click-left="$router.push({path:'/pest/index'})" | |||||
/> | |||||
<div class="file_main"> | |||||
<van-field readonly label="土壤检测" input-align="right"> | |||||
<template #input> | |||||
<p class="time_box">采集时间:2024-03-18 17:17</p> | |||||
</template> | |||||
</van-field> | |||||
<div style="padding: 16px;"> | |||||
<div class="flex_main"> | |||||
<div class="flex_block green"> | |||||
<p class="flex_y green">优</p> | |||||
<div class="flex_nr"> | |||||
<p class="flex_num">17.0</p> | |||||
<p class="flex_unit">℃</p> | |||||
<p class="flex_name">土壤温度</p> | |||||
</div> | |||||
</div> | |||||
<div class="flex_block orange"> | |||||
<p class="flex_y orange">良</p> | |||||
<div class="flex_nr"> | |||||
<p class="flex_num">35.5</p> | |||||
<p class="flex_unit">%</p> | |||||
<p class="flex_name">土壤湿度</p> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="flex_main"> | |||||
<div class="flex_block blue"> | |||||
<p class="flex_y blue">优</p> | |||||
<div class="flex_nr"> | |||||
<p class="flex_num">567.86</p> | |||||
<p class="flex_unit">mg/L</p> | |||||
<p class="flex_name">土壤盐分</p> | |||||
</div> | |||||
</div> | |||||
<div class="flex_block green"> | |||||
<div class="flex_nr"> | |||||
<p class="flex_num">-0.631</p> | |||||
<p class="flex_unit">m</p> | |||||
<p class="flex_name">土壤深度</p> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="file_main center"> | |||||
<van-field readonly label="内容" :border="false" /> | |||||
<van-field readonly v-model="textarea" placeholder="请输入" type="textarea" autosize :border="false" style="padding-top: 0;" /> | |||||
</div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import Cookies from "js-cookie"; | |||||
import * as echarts from "echarts"; | |||||
export default { | |||||
name: "soilTesting", | |||||
data() { | |||||
return { | |||||
textarea:'当前土壤湿度较低,土壤温度较低,请注意农事的防护' | |||||
}; | |||||
}, | |||||
created() { | |||||
}, | |||||
mounted() { | |||||
}, | |||||
methods: { | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.app-container{ | |||||
background: #F2F6F2 url("../../../../static/images/pest/index/pest_index_bg.png") no-repeat top; | |||||
background-size: 100% auto; | |||||
height: 100vh; | |||||
padding: 0 4vw; | |||||
} | |||||
.flex_main{ | |||||
display: flex; | |||||
&:nth-child(1){ | |||||
margin-bottom: 16px; | |||||
} | |||||
.flex_block{ | |||||
flex: 1; | |||||
position: relative; | |||||
padding: 2vh 0; | |||||
.flex_y{ | |||||
font-size: .35rem; | |||||
position: absolute; | |||||
top: 0; | |||||
right: 0; | |||||
padding: 10px 10px 10px 20px; | |||||
line-height: 1; | |||||
border-bottom-left-radius: 15PX; | |||||
&.green{ | |||||
background: #ADF1C2; | |||||
color: #19D77C; | |||||
} | |||||
&.orange{ | |||||
background: #FFE9BA; | |||||
color: #FDCD63; | |||||
} | |||||
&.blue{ | |||||
background: #B3DCFB; | |||||
color: #53B1F6; | |||||
} | |||||
} | |||||
.flex_nr{ | |||||
display: flex; | |||||
flex-direction: column; | |||||
align-items: center; | |||||
justify-content: space-evenly; | |||||
.flex_num{font-size: .6rem;color: #000000;font-weight: bold;} | |||||
.flex_unit{font-size: .4rem;color: #9F9F9F;} | |||||
.flex_name{font-size: .35rem;color: #666666;} | |||||
} | |||||
&.green{ | |||||
background: #EDFCE1; | |||||
} | |||||
&.orange{ | |||||
background: #FEF4DF; | |||||
} | |||||
&.blue{ | |||||
background: #DCEFFD; | |||||
} | |||||
&:nth-child(2){ | |||||
margin-left: 16px; | |||||
} | |||||
} | |||||
} | |||||
.time_box{ | |||||
font-size: .3rem; | |||||
color: rgba(28,35,76,.5); | |||||
} | |||||
.file_swipe{ | |||||
padding: 36px; | |||||
} | |||||
.bottom{ | |||||
padding-bottom: 10vh; | |||||
} | |||||
/deep/ .center textarea{ | |||||
background: #FEECEF; | |||||
color: #F7738C; | |||||
padding: 20px; | |||||
} | |||||
/deep/ .van-nav-bar{ | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-nav-bar .van-icon{ | |||||
color: #000000; | |||||
} | |||||
/deep/ .van-hairline--bottom::after{ | |||||
border: none; | |||||
} | |||||
/deep/ .van-search{ | |||||
padding: 0; | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-search__content{ | |||||
padding: 5px 25px; | |||||
border-radius: 20px; | |||||
} | |||||
/deep/ .van-search .van-cell{ | |||||
align-items: center; | |||||
} | |||||
.file_main{ | |||||
background: #ffffff; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
overflow: hidden; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.statistics_main{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: relative; | |||||
margin-top: 15PX; | |||||
font-size: .35rem; | |||||
line-height: 1; | |||||
.statistics_tt{ | |||||
flex: 1; /* 占据剩余空间 */ | |||||
text-align: center; /* 文字水平居中 */ | |||||
} | |||||
.statistics_block{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: absolute; | |||||
right: 0; | |||||
} | |||||
} | |||||
.list_main{ | |||||
margin-top: 15PX; | |||||
height: 65vh; | |||||
overflow-y: scroll; | |||||
.item{ | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
margin-bottom: 20px; | |||||
display: flex; | |||||
align-items: center; | |||||
img{ | |||||
width: 174px; | |||||
height: 174px; | |||||
border-radius: 10px; | |||||
margin-right: 2vh; | |||||
display: block; | |||||
} | |||||
.info{ | |||||
flex: 1; | |||||
.title{ | |||||
display: flex; | |||||
align-items: center; | |||||
height: 58px; | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
font-size: .35rem; | |||||
color: rgba(28,35,76,.7); | |||||
margin-right: 15px; | |||||
} | |||||
.tips_mark{ | |||||
font-size: .35rem; | |||||
color: #1C234C; | |||||
text-align: center; | |||||
border-radius: 100vh; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 16PX; | |||||
color: #c1c1c1; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 5PX; | |||||
justify-content: space-between; | |||||
p:first-child{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
p:last-child{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
flex-shrink: 0; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: center; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
height: 100%; | |||||
padding: 0 15Px; | |||||
margin-left: 10PX; | |||||
.opera_btn{ | |||||
border-radius: 50%; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.icon{ | |||||
width: 22PX; | |||||
height: 29PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_03.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.edit{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 26PX; | |||||
height: 25PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_02.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.view{ | |||||
background: #3494ff; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29PX; | |||||
height: 21PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_04.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,512 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<van-nav-bar | |||||
title="温湿度" | |||||
left-arrow | |||||
fixed | |||||
placeholder | |||||
@click-left="$router.push({path:'/pest/index'})" | |||||
/> | |||||
<div class="file_main"> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="当前地块" | |||||
placeholder="请选择" | |||||
@click="showLand = true" | |||||
right-icon="arrow-down" | |||||
label-width="auto" | |||||
:border="false" | |||||
input-align="right" | |||||
:rules="[{ required: true , message:'请选择' }]" | |||||
/> | |||||
<van-popup v-model="showLand" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
:columns="landOptions" | |||||
@cancel="showLand = false" | |||||
/> | |||||
</van-popup> | |||||
</div> | |||||
<div class="file_main"> | |||||
<van-field readonly label="采集数据" input-align="right"> | |||||
<template #input> | |||||
<p class="time_box">设备1<van-icon name="arrow-down" /></p> | |||||
</template> | |||||
</van-field> | |||||
<div class="charts" id="main3"></div> | |||||
</div> | |||||
<div class="bottom"></div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import Cookies from "js-cookie"; | |||||
import * as echarts from "echarts"; | |||||
export default { | |||||
name: "insectMonitoring", | |||||
data() { | |||||
return { | |||||
landOptions:[], | |||||
showLand:false, | |||||
showTime:false, | |||||
minDate: new Date(2020, 0, 1), | |||||
maxDate: new Date(2025, 10, 1), | |||||
currentDate: new Date(2021, 0, 17), | |||||
}; | |||||
}, | |||||
created() { | |||||
}, | |||||
mounted() { | |||||
this.chart3(); | |||||
}, | |||||
methods: { | |||||
chart3(){ | |||||
var chartDom = document.getElementById('main3'); | |||||
var myChart = echarts.init(chartDom); | |||||
let colors = ['#8CE25E','#2562FE'] | |||||
var option; | |||||
option = { | |||||
grid: { | |||||
top:'15%', | |||||
left: '5%', | |||||
right: '4%', | |||||
bottom: '3%', | |||||
containLabel: true | |||||
}, | |||||
legend: { | |||||
top: 10, | |||||
right: "5%", | |||||
itemWidth: 10, | |||||
itemHeight: 10, | |||||
// padding: [5, 10], | |||||
textStyle: { | |||||
fontSize: 14, | |||||
color: "#a6c8dd", | |||||
padding: [3, 0, 0, 0], | |||||
}, | |||||
}, | |||||
xAxis: { | |||||
type: 'category', | |||||
data: [ | |||||
'03-03', | |||||
'03-04', | |||||
'03-05', | |||||
'03-06', | |||||
'03-07', | |||||
'03-08', | |||||
'03-09', | |||||
'03-10', | |||||
'03-11', | |||||
'03-12', | |||||
'03-13', | |||||
'03-14', | |||||
'03-15', | |||||
'03-16', | |||||
'03-17', | |||||
'03-18', | |||||
] | |||||
}, | |||||
yAxis: [ | |||||
{ | |||||
type: 'value', | |||||
name: '温度\n℃', | |||||
position: 'left', | |||||
alignTicks: true, | |||||
axisLine: { | |||||
show: true, | |||||
lineStyle: { | |||||
color: colors[0] | |||||
} | |||||
} | |||||
}, | |||||
{ | |||||
type: 'value', | |||||
name: '湿度\n%', | |||||
position: 'left', | |||||
alignTicks: true, | |||||
offset: 30, | |||||
axisLine: { | |||||
show: true, | |||||
lineStyle: { | |||||
color: colors[1] | |||||
} | |||||
}, | |||||
} | |||||
], | |||||
series: [ | |||||
{ | |||||
data: [ | |||||
1, | |||||
2, | |||||
3, | |||||
4, | |||||
5, | |||||
6, | |||||
10, | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
0, | |||||
5, | |||||
0, | |||||
7, | |||||
0, | |||||
], | |||||
type: 'line', | |||||
lineStyle: { | |||||
width: 1, | |||||
color: colors[0] | |||||
}, | |||||
stack: 'Total', | |||||
smooth: true, | |||||
showSymbol: false, | |||||
yAxisIndex: 0, // 使用Y轴1 | |||||
}, | |||||
{ | |||||
data: [ | |||||
10, | |||||
20, | |||||
30, | |||||
40, | |||||
50, | |||||
60, | |||||
10, | |||||
11, | |||||
35, | |||||
28, | |||||
15, | |||||
8, | |||||
5, | |||||
18, | |||||
7, | |||||
1, | |||||
], | |||||
type: 'line', | |||||
lineStyle: { | |||||
width: 1, | |||||
color: colors[1] | |||||
}, | |||||
stack: 'Total', | |||||
smooth: true, | |||||
showSymbol: false, | |||||
yAxisIndex: 1, // 使用Y轴1 | |||||
} | |||||
] | |||||
}; | |||||
option && myChart.setOption(option); | |||||
} | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.app-container{ | |||||
background: #F2F6F2 url("../../../../static/images/pest/index/pest_index_bg.png") no-repeat top; | |||||
background-size: 100% auto; | |||||
height: 100vh; | |||||
padding: 0 4vw; | |||||
} | |||||
.flex_app{ | |||||
display: flex; | |||||
.flex_main_left{ | |||||
flex: 1; | |||||
background: url("../../../../static/images/pest/flex_main_left_bg.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
display: flex; | |||||
flex-direction: column; | |||||
justify-content: space-evenly; | |||||
padding: 0 20px; | |||||
margin-right: 16px; | |||||
.flex_num{font-size: .45rem;color: #ffffff;font-weight: bold;span{font-size: .25rem;font-weight: normal;}} | |||||
.flex_unit{font-size: .25rem;color: #9F9F9F;font-weight: normal;} | |||||
.flex_name{font-size: .3rem;color: #ffffff;} | |||||
i{ | |||||
display: block; | |||||
width: 4.5vh; | |||||
height: 4.5vh; | |||||
background: url("../../../../static/images/pest/flex_main_left_icon.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
} | |||||
.flex_main{ | |||||
flex: 1; | |||||
display: flex; | |||||
margin-top: 16px; | |||||
flex-direction: column; | |||||
.flex_block{ | |||||
flex: 1; | |||||
position: relative; | |||||
padding: 1vh; | |||||
margin-top: 16px; | |||||
display: flex; | |||||
align-items: center; | |||||
border-radius: 15PX; | |||||
background: #ffffff; | |||||
.flex_y{ | |||||
font-size: .35rem; | |||||
position: absolute; | |||||
top: 0; | |||||
right: 0; | |||||
padding: 10px 10px 10px 20px; | |||||
line-height: 1; | |||||
border-bottom-left-radius: 15PX; | |||||
} | |||||
.flex_nr{ | |||||
display: flex; | |||||
flex-direction: column; | |||||
align-items: baseline; | |||||
justify-content: space-evenly; | |||||
.flex_num{font-size: .45rem;color: #000000;font-weight: bold;} | |||||
.flex_unit{font-size: .25rem;color: #9F9F9F;font-weight: normal;} | |||||
.flex_name{font-size: .3rem;color: #9F9F9F;} | |||||
} | |||||
&:nth-child(1){ | |||||
margin-top: 0px; | |||||
} | |||||
i{ | |||||
display: block; | |||||
width: 4.5vh; | |||||
height: 4.5vh; | |||||
margin-right: 15px; | |||||
} | |||||
.icon1{ | |||||
background: url("../../../../static/images/pest/growth_icon_01.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
} | |||||
.icon2{ | |||||
background: url("../../../../static/images/pest/growth_icon_02.png") no-repeat center; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
} | |||||
.time_box{ | |||||
font-size: .3rem; | |||||
background: #F5F8F6; | |||||
color: rgba(28,35,76,.5); | |||||
padding:0 15PX; | |||||
border-radius: 100vh; | |||||
} | |||||
.my-swipe .van-swipe-item { | |||||
color: #fff; | |||||
font-size: 20PX; | |||||
line-height: 300PX; | |||||
text-align: center; | |||||
background-color: #39a9ed; | |||||
border-radius: 15PX; | |||||
} | |||||
.charts{ | |||||
height: 30vh; | |||||
} | |||||
.file_swipe{ | |||||
padding: 36px; | |||||
} | |||||
.bottom{ | |||||
padding-bottom: 10vh; | |||||
} | |||||
/deep/ .center textarea{ | |||||
background: #F5F8F6; | |||||
padding: 20px; | |||||
} | |||||
/deep/ .van-nav-bar{ | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-nav-bar .van-icon{ | |||||
color: #000000; | |||||
} | |||||
/deep/ .van-hairline--bottom::after{ | |||||
border: none; | |||||
} | |||||
/deep/ .van-search{ | |||||
padding: 0; | |||||
background: transparent; | |||||
} | |||||
/deep/ .van-search__content{ | |||||
padding: 5px 25px; | |||||
border-radius: 20px; | |||||
} | |||||
/deep/ .van-search .van-cell{ | |||||
align-items: center; | |||||
} | |||||
.file_main{ | |||||
background: #ffffff; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
overflow: hidden; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.statistics_main{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: relative; | |||||
margin-top: 15PX; | |||||
font-size: .35rem; | |||||
line-height: 1; | |||||
.statistics_tt{ | |||||
flex: 1; /* 占据剩余空间 */ | |||||
text-align: center; /* 文字水平居中 */ | |||||
} | |||||
.statistics_block{ | |||||
display: flex; | |||||
align-items: center; | |||||
position: absolute; | |||||
right: 0; | |||||
} | |||||
} | |||||
.list_main{ | |||||
margin-top: 15PX; | |||||
height: 65vh; | |||||
overflow-y: scroll; | |||||
.item{ | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
margin-bottom: 20px; | |||||
display: flex; | |||||
align-items: center; | |||||
img{ | |||||
width: 174px; | |||||
height: 174px; | |||||
border-radius: 10px; | |||||
margin-right: 2vh; | |||||
display: block; | |||||
} | |||||
.info{ | |||||
flex: 1; | |||||
.title{ | |||||
display: flex; | |||||
align-items: center; | |||||
height: 58px; | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
font-size: .35rem; | |||||
color: rgba(28,35,76,.7); | |||||
margin-right: 15px; | |||||
} | |||||
.tips_mark{ | |||||
font-size: .35rem; | |||||
color: #1C234C; | |||||
text-align: center; | |||||
border-radius: 100vh; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 16PX; | |||||
color: #c1c1c1; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 5PX; | |||||
justify-content: space-between; | |||||
p:first-child{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
p:last-child{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
flex-shrink: 0; | |||||
span{ | |||||
color: #5fe495; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: center; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
height: 100%; | |||||
padding: 0 15Px; | |||||
margin-left: 10PX; | |||||
.opera_btn{ | |||||
border-radius: 50%; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.icon{ | |||||
width: 22PX; | |||||
height: 29PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_03.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.edit{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 26PX; | |||||
height: 25PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_02.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.view{ | |||||
background: #3494ff; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29PX; | |||||
height: 21PX; | |||||
background: url('../../../assets/images/sunVillage_info/signature_icon_04.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -15,6 +15,16 @@ | |||||
<van-col span="2"></van-col> | <van-col span="2"></van-col> | ||||
</van-row> | </van-row> | ||||
<div id="content"></div> | <div id="content"></div> | ||||
<div v-if="attachmentQueryList.length>0"> | |||||
<van-divider>附件</van-divider> | |||||
<van-cell :title="item.fileName" :url="'/api'+item.fileUrl" is-link v-for="(item,index) in attachmentQueryList"> | |||||
<!-- 使用 right-icon 插槽来自定义右侧图标 --> | |||||
<template #icon> | |||||
<img src="../../assets/images/file_icon.png" style="display: block;width: 24px;margin-right: 5px;" alt=""> | |||||
</template> | |||||
</van-cell> | |||||
</div> | |||||
</div> | </div> | ||||
</template> | </template> | ||||
@@ -25,6 +35,7 @@ export default { | |||||
data() { | data() { | ||||
return { | return { | ||||
detail:'', | detail:'', | ||||
attachmentQueryList:[] | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -36,6 +47,20 @@ export default { | |||||
console.log(response) | console.log(response) | ||||
this.detail = response.data | this.detail = response.data | ||||
document.getElementById('content').innerHTML = response.data.content; | document.getElementById('content').innerHTML = response.data.content; | ||||
if(response.data.attachment){ | |||||
var content = response.data.attachment.split(','); | |||||
let list = []; | |||||
content.map(rr=>{ | |||||
list.push({ | |||||
fileUrl:rr, | |||||
fileName:rr.substr(27,rr.length) | |||||
}) | |||||
}) | |||||
this.attachmentQueryList = list; | |||||
} | |||||
}); | }); | ||||
}, | }, | ||||
}, | }, | ||||
@@ -52,5 +77,13 @@ export default { | |||||
} | } | ||||
#content{ | #content{ | ||||
overflow: hidden; | overflow: hidden; | ||||
font-size: 14PX; | |||||
} | |||||
/deep/.van-cell__title, .van-cell__value{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
} | } | ||||
</style> | </style> |
@@ -124,6 +124,7 @@ export default { | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
clearInterval(); | |||||
this.getDicts("project_type").then(response => { | this.getDicts("project_type").then(response => { | ||||
console.log(response) | console.log(response) | ||||
response.data.map(item => { | response.data.map(item => { | ||||
@@ -33,6 +33,10 @@ | |||||
<van-col span="5">挂牌价</van-col> | <van-col span="5">挂牌价</van-col> | ||||
<van-col span="19" class="price"><span>{{detail.price}}</span> {{detail.unit}}</van-col> | <van-col span="19" class="price"><span>{{detail.price}}</span> {{detail.unit}}</van-col> | ||||
</van-row> | </van-row> | ||||
<van-row v-if="detail.priceMax"> | |||||
<van-col span="5">最高限价</van-col> | |||||
<van-col span="19" class="money"><span>{{ detail.priceMax }}</span> 元</van-col> | |||||
</van-row> | |||||
<van-row> | <van-row> | ||||
<van-col span="5">保证金</van-col> | <van-col span="5">保证金</van-col> | ||||
<van-col span="19" class="money"><span>{{ detail.deposit }}</span> 元</van-col> | <van-col span="19" class="money"><span>{{ detail.deposit }}</span> 元</van-col> | ||||
@@ -370,7 +374,7 @@ export default { | |||||
isSign=true | isSign=true | ||||
} | } | ||||
}) | }) | ||||
if (resresponse.data.auditStatus == 'Y'){ | |||||
if (resresponse.data.activitiStatus == '3'){ | |||||
if (isSign){ | if (isSign){ | ||||
this.$toast({ | this.$toast({ | ||||
icon: 'error', // 找到自己需要的图标 | icon: 'error', // 找到自己需要的图标 | ||||
@@ -539,7 +543,11 @@ export default { | |||||
if(this.getSignupData=="1"){ | if(this.getSignupData=="1"){ | ||||
this.isSignup=true | this.isSignup=true | ||||
this.btnMsg="立即竞价" | this.btnMsg="立即竞价" | ||||
this.showBtn=true | |||||
if(this.detail.biddingType!='线下竞价'){ | |||||
this.showBtn=true | |||||
}else{ | |||||
this.btnMsg="立即竞价(暂不支持线上出价)" | |||||
} | |||||
// this.price=this.detail.ladderPrice?this.biddinglistInformation[0].money+this.detail.ladderPrice:this.biddinglistInformation[0].money+1 | // this.price=this.detail.ladderPrice?this.biddinglistInformation[0].money+this.detail.ladderPrice:this.biddinglistInformation[0].money+1 | ||||
}else{ | }else{ | ||||
this.btnMsg="未报名" | this.btnMsg="未报名" | ||||
@@ -637,7 +645,11 @@ export default { | |||||
if(this.getSignupData=="1"){ | if(this.getSignupData=="1"){ | ||||
this.isSignup=true | this.isSignup=true | ||||
this.btnMsg="立即竞价" | this.btnMsg="立即竞价" | ||||
this.showBtn=true | |||||
if(this.detail.biddingType!='线下竞价'){ | |||||
this.showBtn=true | |||||
}else{ | |||||
this.btnMsg="立即竞价(暂不支持线上出价)" | |||||
} | |||||
// this.price=this.detail.ladderPrice?this.biddinglistInformation[0].money+this.detail.ladderPrice:this.biddinglistInformation[0].money+1 | // this.price=this.detail.ladderPrice?this.biddinglistInformation[0].money+this.detail.ladderPrice:this.biddinglistInformation[0].money+1 | ||||
}else{ | }else{ | ||||
this.btnMsg="未报名" | this.btnMsg="未报名" | ||||
@@ -72,26 +72,78 @@ | |||||
</van-col> | </van-col> | ||||
</van-row> | </van-row> | ||||
<div class="gl_main"> | <div class="gl_main"> | ||||
<div class="headers"> | |||||
<div class="flex3">合同编码</div> | |||||
<div class="flex3">合同名称</div> | |||||
<div class="flex3">发包对象</div> | |||||
<div class="flex3">承包款(元)</div> | |||||
<div class="flex3">状态</div> | |||||
<template v-if="!contractionVisible"> | |||||
<div class="headers"> | |||||
<div class="flex3">合同编码</div> | |||||
<div class="flex3">合同名称</div> | |||||
<div class="flex3">发包对象</div> | |||||
<div class="flex3">承包款(元)</div> | |||||
<div class="flex3">状态</div> | |||||
</div> | |||||
<div class="desc_main"> | |||||
<ul class="analysisTable_list"> | |||||
<!--1--> | |||||
<li v-for="item in contractionList" class="flex_item"> | |||||
<div class="flex3" @click="lookName(item.code)">{{item.code}}</div> | |||||
<div class="flex3" @click="lookName(item.name)">{{item.name}}</div> | |||||
<div class="flex3">{{item.secondParty}}</div> | |||||
<div class="flex3">{{item.totalAmount}}</div> | |||||
<div class="flex3">{{selectDictLabel(contractionStatuOptions, item.contractionStatus)}}</div> | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
</div> | |||||
<div class="desc_main"> | |||||
<ul class="analysisTable_list"> | |||||
<!--1--> | |||||
<li v-for="item in contractionList" class="flex_item" @click="viewContractionInfo(item)"> | |||||
<div class="flex3" @click="lookName(item.code)">{{item.code}}</div> | |||||
<div class="flex3" @click="lookName(item.name)">{{item.name}}</div> | |||||
<div class="flex3">{{item.secondParty}}</div> | |||||
<div class="flex3">{{item.totalAmount}}</div> | |||||
<div class="flex3">{{item.contractionStatus}}</div> | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
</template> | |||||
<template v-else> | |||||
<div class="headers"> | |||||
<div>关联合同</div> | |||||
<div class="back" @click="hideContractionInfo">< 返回</div> | |||||
</div> | |||||
<van-row> | |||||
<van-col :span="4"><span class="title">合同编码:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.code }}</span></van-col> | |||||
<van-col :span="4"><span class="title">合同名称:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.name }}</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"><span class="title">签订日期:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.buildingTime }}</span></van-col> | |||||
<van-col :span="4"><span class="title">合同类型:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.assetType }}</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"><span class="title">开始时间:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.startTime }}</span></van-col> | |||||
<van-col :span="4"><span class="title">结束时间:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.endTime }}</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"><span class="title">承包价款:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.totalAmount }}</span></van-col> | |||||
<van-col :span="4"><span class="title">承包年限:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.contractYears }}</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="24"><span class="title">附件图片:</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="24" style="height: 120px;overflow-y: auto;"> | |||||
<div class="fileList"> | |||||
<template v-for="(item,index) in contractionAttachmentList"> | |||||
<a :href="item.url" v-if="item.url.indexOf('xlsx') > -1 || item.url.indexOf('xls') > -1"> | |||||
<img src="../../assets/images/homestead/icon_excel.jpg" alt="" style="width:100px;height: 100px;"> | |||||
</a> | |||||
<a :href="item.url" v-else-if="item.url.indexOf('docx') > -1 || item.url.indexOf('dox') > -1"> | |||||
<img src="../../assets/images/homestead/icon_word.jpg" alt="" style="width:100px;height: 100px;"> | |||||
</a> | |||||
<img v-else :src="item.url" alt="" @click="openImage(item.url)" style="width:100px;height: 100px;"> | |||||
</template> | |||||
<van-empty v-if="contractionAttachmentList.length<1" description="暂无附件"></van-empty> | |||||
</div> | |||||
</van-col> | |||||
</van-row> | |||||
</template> | |||||
</div> | </div> | ||||
<!-- <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>--> | <!-- <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>--> | ||||
</div> | </div> | ||||
@@ -161,26 +213,78 @@ | |||||
</van-col> | </van-col> | ||||
</van-row> | </van-row> | ||||
<div class="gl_main"> | <div class="gl_main"> | ||||
<div class="headers"> | |||||
<div class="flex3">合同编码</div> | |||||
<div class="flex3">合同名称</div> | |||||
<div class="flex3">发包对象</div> | |||||
<div class="flex3">承包款(元)</div> | |||||
<div class="flex3">状态</div> | |||||
<template v-if="!contractionVisible"> | |||||
<div class="headers"> | |||||
<div class="flex3">合同编码</div> | |||||
<div class="flex3">合同名称</div> | |||||
<div class="flex3">发包对象</div> | |||||
<div class="flex3">承包款(元)</div> | |||||
<div class="flex3">状态</div> | |||||
</div> | |||||
<div class="desc_main"> | |||||
<ul class="analysisTable_list"> | |||||
<!--1--> | |||||
<li v-for="item in contractionList" class="flex_item" @click="viewContractionInfo(item)"> | |||||
<div class="flex3" @click="lookName(item.code)">{{item.code}}</div> | |||||
<div class="flex3" @click="lookName(item.name)">{{item.name}}</div> | |||||
<div class="flex3">{{item.secondParty}}</div> | |||||
<div class="flex3" >{{item.totalAmount}}</div> | |||||
<div class="flex3">{{item.contractionStatus}}</div> | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
</template> | |||||
<template v-else> | |||||
<div class="headers"> | |||||
<div>关联合同</div> | |||||
<div class="back" @click="hideContractionInfo">< 返回</div> | |||||
</div> | |||||
<van-row> | |||||
<van-col :span="4"><span class="title">合同编码:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.code }}</span></van-col> | |||||
<van-col :span="4"><span class="title">合同名称:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.name }}</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"><span class="title">签订日期:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.buildingTime }}</span></van-col> | |||||
<van-col :span="4"><span class="title">合同类型:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.assetType }}</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"><span class="title">开始时间:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.startTime }}</span></van-col> | |||||
<van-col :span="4"><span class="title">结束时间:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.endTime }}</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="4"><span class="title">承包价款:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.totalAmount }}</span></van-col> | |||||
<van-col :span="4"><span class="title">承包年限:</span></van-col> | |||||
<van-col :span="8"><span class="desc">{{ contractionData.contractYears }}</span></van-col> | |||||
</van-row> | |||||
</div> | |||||
<div class="desc_main"> | |||||
<ul class="analysisTable_list"> | |||||
<!--1--> | |||||
<li v-for="item in contractionList" class="flex_item"> | |||||
<div class="flex3" @click="lookName(item.code)">{{item.code}}</div> | |||||
<div class="flex3" @click="lookName(item.name)">{{item.name}}</div> | |||||
<div class="flex3">{{item.secondParty}}</div> | |||||
<div class="flex3" >{{item.totalAmount}}</div> | |||||
<div class="flex3">{{selectDictLabel(contractionStatuOptions, item.contractionStatus)}}</div> | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
<van-row> | |||||
<van-col :span="24"><span class="title">附件图片:</span></van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="24" style="height: 120px;overflow-y: auto;"> | |||||
<div class="fileList"> | |||||
<template v-for="(item,index) in contractionAttachmentList"> | |||||
<a :href="item.url" v-if="item.url.indexOf('xlsx') > -1 || item.url.indexOf('xls') > -1"> | |||||
<img src="../../assets/images/homestead/icon_excel.jpg" alt="" style="width:100px;height: 100px;"> | |||||
</a> | |||||
<a :href="item.url" v-else-if="item.url.indexOf('docx') > -1 || item.url.indexOf('dox') > -1"> | |||||
<img src="../../assets/images/homestead/icon_word.jpg" alt="" style="width:100px;height: 100px;"> | |||||
</a> | |||||
<img v-else :src="item.url" alt="" @click="openImage(item.url)" style="width:100px;height: 100px;"> | |||||
</template> | |||||
<van-empty v-if="contractionAttachmentList.length<1" description="暂无附件"></van-empty> | |||||
</div> | |||||
</van-col> | |||||
</van-row> | |||||
</template> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<!--<div class="basic_block"> | <!--<div class="basic_block"> | ||||
@@ -283,7 +387,7 @@ | |||||
width: 94%; | width: 94%; | ||||
position: fixed; | position: fixed; | ||||
z-index: 1001; | z-index: 1001; | ||||
top: 50%; | |||||
top: 54%; | |||||
transform: translateY(-50%); | transform: translateY(-50%); | ||||
right: 3%; | right: 3%; | ||||
display: flex; | display: flex; | ||||
@@ -377,7 +481,7 @@ | |||||
} | } | ||||
.gl_main{ | .gl_main{ | ||||
margin-top: .8vh; | margin-top: .8vh; | ||||
height: 28.15vh; | |||||
height: 38.15vh; | |||||
padding:0.92vh 0 0 0; | padding:0.92vh 0 0 0; | ||||
.headers { | .headers { | ||||
height: 3.24vh; | height: 3.24vh; | ||||
@@ -390,10 +494,16 @@ | |||||
background: rgba(11,239,202,.3); | background: rgba(11,239,202,.3); | ||||
padding-right: 0.53vw; | padding-right: 0.53vw; | ||||
margin-bottom: 1vh; | margin-bottom: 1vh; | ||||
position: relative; | |||||
.flex_left{ | .flex_left{ | ||||
text-align: left; | text-align: left; | ||||
padding-left: 0.83vw; | padding-left: 0.83vw; | ||||
} | } | ||||
.back { | |||||
cursor: pointer; | |||||
position: absolute; | |||||
left: 0.83vw; | |||||
} | |||||
} | } | ||||
.desc_main{ | .desc_main{ | ||||
height: 21.5vh; | height: 21.5vh; | ||||
@@ -422,6 +532,7 @@ | |||||
color: #fff; | color: #fff; | ||||
font-size: 1.29vh; | font-size: 1.29vh; | ||||
position: relative; | position: relative; | ||||
cursor: pointer; | |||||
// border-bottom: 1px solid rgba(255, 255, 255, 0.2); | // border-bottom: 1px solid rgba(255, 255, 255, 0.2); | ||||
// &:hover { | // &:hover { | ||||
// background: rgba(8, 85, 255, 0.6); | // background: rgba(8, 85, 255, 0.6); | ||||
@@ -477,7 +588,7 @@ | |||||
getResourceList, | getResourceList, | ||||
assetPropertyDetail, | assetPropertyDetail, | ||||
assetResourceDetail, | assetResourceDetail, | ||||
openAttachmentList | |||||
openAttachmentList as attachmentList | |||||
} from "@/api/sunVillage_info/fixedAssets"; | } from "@/api/sunVillage_info/fixedAssets"; | ||||
import {getQueryLand} from "@/api/sunVillage_info/homestead/application"; | import {getQueryLand} from "@/api/sunVillage_info/homestead/application"; | ||||
import { getConfigKey } from "@/api/system/config"; | import { getConfigKey } from "@/api/system/config"; | ||||
@@ -506,6 +617,9 @@ | |||||
dialogImageUrl:'', | dialogImageUrl:'', | ||||
mapGeoServerUrl: "", // geoserver地址 | mapGeoServerUrl: "", // geoserver地址 | ||||
villageBorderLayerName: "", // 乡镇边界图层名称 | villageBorderLayerName: "", // 乡镇边界图层名称 | ||||
contractionData: {}, | |||||
contractionAttachmentList: [], | |||||
contractionVisible:false, | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -516,6 +630,7 @@ | |||||
}, | }, | ||||
mounted() { | mounted() { | ||||
let mapTheGeomAll =this.$cookies.get("bookId"); | let mapTheGeomAll =this.$cookies.get("bookId"); | ||||
mapTheGeomAll = 166; | |||||
console.info(mapTheGeomAll); | console.info(mapTheGeomAll); | ||||
getPermanentList(mapTheGeomAll).then((response) => { | getPermanentList(mapTheGeomAll).then((response) => { | ||||
if (response.code == 200) { | if (response.code == 200) { | ||||
@@ -761,11 +876,19 @@ | |||||
var ifConsole = feature.values_.name; | var ifConsole = feature.values_.name; | ||||
if (ifConsole !="标注点") { | if (ifConsole !="标注点") { | ||||
assetResourceDetail(feature.values_.id, {translate_dict: 1}).then((resp) => { | |||||
that.contractionList = resp.data.params.contractionAssetList; | |||||
let obj = {}; | |||||
assetResourceDetail(feature.values_.id, {translate_dict: 1, getAttachments: true,}).then((resp) => { | |||||
that.contractionList = resp.data.params.contractionAssetList || []; | |||||
that.$set(obj, 'fileList', resp.data.params.attachments.map(rr=>{ | |||||
return { | |||||
url:'/api'+rr.fileUrl | |||||
}; | |||||
})); | |||||
that.contractionData = {}; | |||||
that.contractionAttachmentList = []; | |||||
that.contractionVisible = false; | |||||
that.mapHaDataValue = true; | that.mapHaDataValue = true; | ||||
}); | }); | ||||
let obj = {}; | |||||
that.mapHasDateStatus = 0; | that.mapHasDateStatus = 0; | ||||
obj.code = feature.values_.code;//资源编码 | obj.code = feature.values_.code;//资源编码 | ||||
obj.name = feature.values_.name;//资源名称 | obj.name = feature.values_.name;//资源名称 | ||||
@@ -834,27 +957,20 @@ | |||||
} | } | ||||
}); | }); | ||||
obj.fileList = []; | |||||
let parmasData = { | |||||
tableId: feature.values_.id, | |||||
tableName: 't_asset_resource', | |||||
bizPath: 'asset', | |||||
}; | |||||
openAttachmentList(parmasData).then((res) => { | |||||
if (res.code == 200) { | |||||
res.rows.map(rr=>{ | |||||
obj.fileList.push({ | |||||
url:'/api'+rr.fileUrl | |||||
}) | |||||
}) | |||||
} | |||||
}); | |||||
console.log(obj) | console.log(obj) | ||||
that.mapHasData = obj; | that.mapHasData = obj; | ||||
} else { | } else { | ||||
let obj = {}; | let obj = {}; | ||||
assetPropertyDetail(feature.values_.properties[0].value.values_.id, {translate_dict: 1}).then((resp) => { | |||||
that.contractionList = resp.data.params.contractionAssetList; | |||||
assetPropertyDetail(feature.values_.properties[0].value.values_.id, {translate_dict: 1, getAttachments: true,}).then((resp) => { | |||||
that.contractionList = resp.data.params.contractionAssetList || []; | |||||
that.$set(obj, 'fileList', resp.data.params.attachments.map(rr=>{ | |||||
return { | |||||
url:'/api'+rr.fileUrl | |||||
}; | |||||
})); | |||||
that.contractionData = {}; | |||||
that.contractionAttachmentList = []; | |||||
that.contractionVisible = false; | |||||
that.mapHaDataValue = true; | that.mapHaDataValue = true; | ||||
}); | }); | ||||
that.mapHasDateStatus = 1; | that.mapHasDateStatus = 1; | ||||
@@ -887,22 +1003,6 @@ | |||||
obj.assetStatus = feature.values_.properties[0].value.values_.assetStatus; //资产状态 | obj.assetStatus = feature.values_.properties[0].value.values_.assetStatus; //资产状态 | ||||
obj.unit = feature.values_.properties[0].value.values_.unit; //计量单位 | obj.unit = feature.values_.properties[0].value.values_.unit; //计量单位 | ||||
obj.fileList = []; | |||||
let parmasData = { | |||||
tableId: feature.values_.properties[0].value.values_.id, | |||||
tableName: 't_asset_permanent', | |||||
bizPath: 'asset', | |||||
}; | |||||
openAttachmentList(parmasData).then((res) => { | |||||
if (res.code == 200) { | |||||
res.rows.map(rr=>{ | |||||
obj.fileList.push({ | |||||
url:'/api'+rr.fileUrl | |||||
}) | |||||
}) | |||||
} | |||||
}); | |||||
//固定资产字典项 | //固定资产字典项 | ||||
that.getDicts("asset_type").then((response) => { | that.getDicts("asset_type").then((response) => { | ||||
var assetTypeOptions = response.data; | var assetTypeOptions = response.data; | ||||
@@ -984,6 +1084,7 @@ | |||||
that.mapHasData = obj; | that.mapHasData = obj; | ||||
} | } | ||||
}else { | }else { | ||||
that.contractionVisible = false; | |||||
that.mapHaDataValue = false; | that.mapHaDataValue = false; | ||||
} | } | ||||
}); | }); | ||||
@@ -1014,6 +1115,26 @@ | |||||
}); | }); | ||||
} | } | ||||
}, | }, | ||||
viewContractionInfo(row) { | |||||
this.contractionData = row || {}; | |||||
this.contractionAttachmentList = []; | |||||
attachmentList({ | |||||
tableId: row.id, | |||||
tableName: 't_contraction_info', | |||||
}).then((resp) => { | |||||
this.contractionAttachmentList = resp.rows.map(rr=>{ | |||||
return { | |||||
url:'/api'+rr.fileUrl | |||||
}; | |||||
}); | |||||
}); | |||||
this.contractionVisible = true; | |||||
}, | |||||
hideContractionInfo() { | |||||
this.contractionData = {}; | |||||
this.contractionAttachmentList = []; | |||||
this.contractionVisible = false; | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> |
@@ -127,6 +127,7 @@ | |||||
<script> | <script> | ||||
import { addPayee,listDeposit } from "@/api/onlineHome/bankAgriculture/collectionAccount"; | import { addPayee,listDeposit } from "@/api/onlineHome/bankAgriculture/collectionAccount"; | ||||
import { isBankCard} from "@/utils/utils"; | |||||
export default { | export default { | ||||
name: "collectionAdd", | name: "collectionAdd", | ||||
data() { | data() { | ||||
@@ -180,17 +181,17 @@ | |||||
}, | }, | ||||
changeInform(val){ | changeInform(val){ | ||||
console.log(val) | |||||
var that = this; | var that = this; | ||||
var str = val; | var str = val; | ||||
var numArr = str.match(/\d+/g) | var numArr = str.match(/\d+/g) | ||||
var nameArr = str.match(/[\u4e00-\u9fa5]/g).join("") | |||||
console.log(numArr) | |||||
console.log(nameArr) | |||||
var nameArr = str.match(/[\u4e00-\u9fa5]/g); | |||||
if(nameArr != null){ | |||||
nameArr = nameArr.join("") | |||||
} | |||||
if (numArr) { | if (numArr) { | ||||
numArr.map(rr=>{ | numArr.map(rr=>{ | ||||
if (rr.length>16) { | |||||
const carId = this.isBankCard(rr); | |||||
if (rr.length>=16) { | |||||
const carId = isBankCard(rr); | |||||
if (carId) { | if (carId) { | ||||
that.form.payee = nameArr; | that.form.payee = nameArr; | ||||
that.form.payeeAccount = rr | that.form.payeeAccount = rr | ||||
@@ -132,7 +132,7 @@ | |||||
label-width="auto" | label-width="auto" | ||||
maxlength="20" | maxlength="20" | ||||
required | required | ||||
show-word-limit | |||||
show-word-limit | |||||
v-if="form.bankType == '6'" | v-if="form.bankType == '6'" | ||||
:rules="[{ required: true , message:'请输入转账附言' }]" | :rules="[{ required: true , message:'请输入转账附言' }]" | ||||
/> | /> | ||||
@@ -146,7 +146,7 @@ | |||||
label-width="auto" | label-width="auto" | ||||
maxlength="30" | maxlength="30" | ||||
required | required | ||||
show-word-limit | |||||
show-word-limit | |||||
v-if="form.bankType != '5' && form.bankType != '6'" | v-if="form.bankType != '5' && form.bankType != '6'" | ||||
:rules="[{ required: true , message:'请输入转账附言' }]" | :rules="[{ required: true , message:'请输入转账附言' }]" | ||||
/> | /> | ||||
@@ -252,7 +252,8 @@ | |||||
@cancel="showpayer = false" | @cancel="showpayer = false" | ||||
/> | /> | ||||
</van-popup> | </van-popup> | ||||
<van-field :rules="[{ required: true , message:'请输入付款方账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field :rules="[{ required: true , message:'请输入付款方账户' }]" readonly required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field required label="余额" readonly v-model="form.balance" placeholder="请输入余额" input-align="right" label-width="auto"/> | |||||
</div> | </div> | ||||
<div class="main_title main_title_box"> | <div class="main_title main_title_box"> | ||||
@@ -302,8 +303,8 @@ | |||||
@cancel="item.showPayee = false" | @cancel="item.showPayee = false" | ||||
/> | /> | ||||
</van-popup> | </van-popup> | ||||
<van-field required :rules="[{ required: true , message:'请输入账户' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field required :rules="[{ required: true , message:'请输入开户银行' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请输入开户银行银行" input-align="right" label-width="auto"/> | |||||
<van-field required :rules="[{ required: true , message:'请输入账户' }]" readonly v-model="item.payeeAccount" label="收款账户" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field required :rules="[{ required: true , message:'请输入开户银行' }]" readonly v-model="item.bankDeposit" label="开户银行" placeholder="请输入开户银行银行" input-align="right" label-width="auto"/> | |||||
<van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" type="number" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/> | <van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" type="number" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/> | ||||
<van-field | <van-field | ||||
readonly | readonly | ||||
@@ -328,11 +329,41 @@ | |||||
<p class="main_title" v-if="isModifyOrder" style="margin: 0.2rem 3%;">上传附件<i style="margin-right: 0.5em;"></i><span style="font-size: 12px;color: red;">(若申请单未变动可不必点击底部的修改按钮)</span></p> | <p class="main_title" v-if="isModifyOrder" style="margin: 0.2rem 3%;">上传附件<i style="margin-right: 0.5em;"></i><span style="font-size: 12px;color: red;">(若申请单未变动可不必点击底部的修改按钮)</span></p> | ||||
<div class="main_box" style="padding: 5px 0 0 0;" v-if="isModifyOrder"> | <div class="main_box" style="padding: 5px 0 0 0;" v-if="isModifyOrder"> | ||||
<van-cell value="收据" /> | <van-cell value="收据" /> | ||||
<van-uploader v-model="fileList1" :after-read="beforeRead('1')" @delete="deleteFile" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList1" :after-read="beforeRead('1')" @delete="deleteFile" @click-preview="previewPreview" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell title="发票" /> | <van-cell title="发票" /> | ||||
<van-uploader v-model="fileList2" :after-read="beforeRead('2')" @delete="deleteFile" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList2" :after-read="beforeRead('2')" @delete="deleteFile" @click-preview="previewPreview" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell title="其他" /> | <van-cell title="其他" /> | ||||
<van-uploader v-model="fileList3" :after-read="beforeRead('3')" @delete="deleteFile" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList3" :after-read="beforeRead('3')" @delete="deleteFile" @click-preview="previewPreview" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
</div> | </div> | ||||
<div style="padding: 16px 0;"> | <div style="padding: 16px 0;"> | ||||
<van-row v-if="!isModifyOrder"> | <van-row v-if="!isModifyOrder"> | ||||
@@ -646,7 +677,7 @@ | |||||
} | } | ||||
// if(this.form.bankType == '2' && this.form.isPeers == 'N' && this.chargeItme.length>0 && this.chargeItme != []){ | // if(this.form.bankType == '2' && this.form.isPeers == 'N' && this.chargeItme.length>0 && this.chargeItme != []){ | ||||
// this.$notify({ type: 'danger', message: '目前农商行仅支持单笔跨行转账,即仅能有一个收款方!' }); | // this.$notify({ type: 'danger', message: '目前农商行仅支持单笔跨行转账,即仅能有一个收款方!' }); | ||||
// }else | |||||
// }else | |||||
if(this.form.bankType == '7' && this.chargeItme.length>0 && this.chargeItme != []){ | if(this.form.bankType == '7' && this.chargeItme.length>0 && this.chargeItme != []){ | ||||
this.$notify({ type: 'danger', message: '目前农商行仅支持单笔转账,即仅能有一个收款方!' }); | this.$notify({ type: 'danger', message: '目前农商行仅支持单笔转账,即仅能有一个收款方!' }); | ||||
}else{ | }else{ | ||||
@@ -680,6 +711,120 @@ | |||||
}) | }) | ||||
}); | }); | ||||
}, | }, | ||||
previewPreview(file, index, len) { | |||||
const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||||
if (file.url) { | |||||
//已上传文件 | |||||
let fileName = file.file.name || file.url; | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
let imgi = file.listIndex | |||||
//console.log(ext) | |||||
let allUrl = file.url; | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
const link = document.createElement("a"); | |||||
link.style.display = "none"; | |||||
link.target = "_blank" | |||||
link.href = allUrl; | |||||
document.body.appendChild(link); | |||||
link.click(); | |||||
document.body.removeChild(link); | |||||
} | |||||
} else { | |||||
//新上传文件 | |||||
let fileName = file.file.name; | |||||
// console.info(file.file.name) | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
let type = this.getfileType(ext); | |||||
// 将文件转换为base64编码 | |||||
this.fileToBase64(file.file, ext).then(res => { | |||||
this.downloadFile(res, fileName, ext, type); | |||||
}) | |||||
} | |||||
} | |||||
}, | |||||
downloadFile(base64, fileName, fileType, mimetype) { | |||||
const typeHeader = 'data:application/' + fileType + ';base64,'; | |||||
const blob = this.base64ToBlob(base64, mimetype); | |||||
this.downloadFileDownload(blob, fileName, fileType); | |||||
}, | |||||
fileToBase64(file,fileType){ | |||||
return new Promise((resolve,reject)=>{ | |||||
//创建一个新的FileReader 对象 | |||||
const reader = new FileReader(); | |||||
//读取file对象 | |||||
reader.readAsDataURL(file); | |||||
reader.onload=function () { | |||||
const base64String = reader.result.split(",")[1]; | |||||
resolve('data:application/' + fileType + ';base64,'+base64String); | |||||
} | |||||
reader.onerror=function () { | |||||
reject(new Error("Failed to load file") ) | |||||
} | |||||
}) | |||||
}, | |||||
base64ToBlob(base64, mime) { | |||||
//解码base64得到二进制字符串 | |||||
let raw = window.atob(base64.substring(base64.indexOf(',') + 1)); | |||||
let rawLength = raw.length | |||||
//创建8位无符号整数值的类型化数组 | |||||
let uInt8Array = new Uint8Array(rawLength) | |||||
for (let i = 0; i < rawLength; ++i) { | |||||
uInt8Array[i] = raw.charCodeAt(i); | |||||
} | |||||
return new Blob([uInt8Array], {type: mime}) | |||||
}, | |||||
getfileType(type) { | |||||
switch (type) { | |||||
case 'txt': | |||||
return 'text/plain'; | |||||
case 'doc': | |||||
return 'application/msword'; | |||||
case 'docx': | |||||
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; | |||||
case 'xls': | |||||
return 'application/vnd.ms-excel'; | |||||
case 'xlsx': | |||||
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; | |||||
case 'pdf': | |||||
return 'application/pdf'; | |||||
case 'pptx': | |||||
return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'; | |||||
case 'png': | |||||
return 'image/png'; | |||||
case 'jpg': | |||||
return 'image/jpeg'; | |||||
case 'gif': | |||||
return 'image/gif'; | |||||
case 'svg': | |||||
return 'image/svg+xml'; | |||||
case 'ico': | |||||
return 'image/x-icon'; | |||||
case 'bmp': | |||||
return 'image/bmp,'; | |||||
} | |||||
}, | |||||
downloadFileDownload(blob, fileName, fileType) { | |||||
const downloadElement = document.createElement('a'); | |||||
let href = blob; | |||||
if (typeof blob === 'string') { | |||||
downloadElement.target = '_blank' | |||||
} else { | |||||
href = window.URL.createObjectURL(blob) | |||||
} | |||||
downloadElement.href = href; | |||||
downloadElement.download = fileName + '.' + fileType;//下载后文件名 | |||||
document.body.appendChild(downloadElement); | |||||
downloadElement.click(); | |||||
document.body.removeChild(downloadElement) | |||||
if (typeof blob !== 'string') { | |||||
window.URL.revokeObjectURL(href) | |||||
} | |||||
}, | |||||
payeeDictLabel(datas, value) { | payeeDictLabel(datas, value) { | ||||
var actions = []; | var actions = []; | ||||
Object.keys(datas).some((key) => { | Object.keys(datas).some((key) => { | ||||
@@ -873,56 +1018,29 @@ | |||||
this.$set(this.projectForm, "ynType", '1'); | this.$set(this.projectForm, "ynType", '1'); | ||||
if(this.form.capitalExpenditureType==2){ | if(this.form.capitalExpenditureType==2){ | ||||
addProjectto(this.projectForm).then(res => { | addProjectto(this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
customSubmit(this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
_this.$router.push('/sunVillage_info/approvalList') | |||||
},1500) | |||||
}) | |||||
}else{ | |||||
offlineCustomSubmit(this.form.id).then(res => { | offlineCustomSubmit(this.form.id).then(res => { | ||||
_this.$toast.success('提交成功'); | _this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
_this.$router.push('/sunVillage_info/approvalList') | _this.$router.push('/sunVillage_info/approvalList') | ||||
},1500) | },1500) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
} else if(this.form.capitalExpenditureType==4){ | } else if(this.form.capitalExpenditureType==4){ | ||||
addInfoto(this.infoForm).then(res => { | addInfoto(this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
customSubmit(this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
_this.$router.push('/sunVillage_info/approvalList') | |||||
},1500) | |||||
}) | |||||
}else{ | |||||
offlineCustomSubmit(this.form.id).then(res => { | offlineCustomSubmit(this.form.id).then(res => { | ||||
_this.$toast.success('提交成功'); | _this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
_this.$router.push('/sunVillage_info/approvalList') | _this.$router.push('/sunVillage_info/approvalList') | ||||
},1500) | },1500) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
customSubmit(this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
_this.$router.push('/sunVillage_info/approvalList') | |||||
},1500) | |||||
}) | |||||
}else{ | |||||
offlineCustomSubmit(this.form.id).then(res => { | offlineCustomSubmit(this.form.id).then(res => { | ||||
_this.$toast.success('提交成功'); | _this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
_this.$router.push('/sunVillage_info/approvalList') | _this.$router.push('/sunVillage_info/approvalList') | ||||
},1500) | },1500) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
}) | }) | ||||
}, | }, | ||||
@@ -1131,6 +1249,7 @@ | |||||
this.$set(this.form, "cashierId", obj.id); | this.$set(this.form, "cashierId", obj.id); | ||||
this.$set(this.form, "payer", obj.accountName); | this.$set(this.form, "payer", obj.accountName); | ||||
this.$set(this.form, "payerAccount", obj.bankAccountNumber); | this.$set(this.form, "payerAccount", obj.bankAccountNumber); | ||||
this.$set(this.form, "balance", obj.balance); | |||||
this.$set(this.form, "operatorCode", obj.operatorCode); | this.$set(this.form, "operatorCode", obj.operatorCode); | ||||
this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | ||||
this.$set(this.form, "bankType", obj.bankType); | this.$set(this.form, "bankType", obj.bankType); | ||||
@@ -1214,6 +1333,20 @@ | |||||
commonAttach(params1).then((r1) => { | commonAttach(params1).then((r1) => { | ||||
file.id=r1.id; | file.id=r1.id; | ||||
file.fileUrl = r1.fileUrl; | file.fileUrl = r1.fileUrl; | ||||
let subIndex = r1.fileUrl.lastIndexOf("."); | |||||
let ext = r1.fileUrl.substring(subIndex + 1, r1.fileUrl.length); | |||||
let baseUrl = location.protocol + "//" + location.host + request.defaults.baseURL; | |||||
let fileData = {"url": baseUrl + r1.fileUrl, "file": new File([], "name", {}), "id": r1.id,"type":ext}; | |||||
if(obj === '1'){ | |||||
this.fileList1.splice(-1, 1); | |||||
this.fileList1.push(fileData); | |||||
}else if(obj === '2'){ | |||||
this.fileList2.splice(-1, 1); | |||||
this.fileList2.push(fileData); | |||||
}else{ | |||||
this.fileList3.splice(-1, 1); | |||||
this.fileList3.push(fileData); | |||||
} | |||||
}) | }) | ||||
} | } | ||||
}, | }, | ||||
@@ -1230,7 +1363,9 @@ | |||||
attachmentList(oData1).then(res => { | attachmentList(oData1).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList1.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList1.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData2= { | let oData2= { | ||||
@@ -1242,7 +1377,9 @@ | |||||
attachmentList(oData2).then(res => { | attachmentList(oData2).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList2.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList2.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData3= { | let oData3= { | ||||
@@ -1254,7 +1391,9 @@ | |||||
attachmentList(oData3).then(res => { | attachmentList(oData3).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList3.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList3.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
}, | }, | ||||
@@ -239,7 +239,7 @@ | |||||
} | } | ||||
}, | }, | ||||
goFlow(){ | goFlow(){ | ||||
window.location='approvalProcess?id='+this.$route.query.id; | |||||
window.location='approvalProcess?id='+this.$route.query.id+'&auditbatchNo='+this.$route.query.auditbatchNo; | |||||
}, | }, | ||||
getDictionaries(){ | getDictionaries(){ | ||||
getTransfer(this.$route.query.id).then((response) => { | getTransfer(this.$route.query.id).then((response) => { | ||||
@@ -354,13 +354,10 @@ | |||||
submitForm() { | submitForm() { | ||||
const data = { | const data = { | ||||
taskId: this.$route.query.taskId, | taskId: this.$route.query.taskId, | ||||
instanceId: this.form.instanceId, | |||||
variables: JSON.stringify({ | |||||
comment: this.comment, | |||||
pass: this.pass, | |||||
}), | |||||
}; | |||||
console.log(data); | |||||
auditbatchNo: this.$route.query.auditbatchNo, | |||||
remark: this.comment, | |||||
pass: this.pass, | |||||
}; | |||||
approval(data).then((response) => { | approval(data).then((response) => { | ||||
if(response.code==200 && response.msg=="操作成功"){ | if(response.code==200 && response.msg=="操作成功"){ | ||||
this.$toast.success("操作成功"); | this.$toast.success("操作成功"); | ||||
@@ -41,6 +41,7 @@ | |||||
<div class="main_box"> | <div class="main_box"> | ||||
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/> | <van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/> | ||||
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/> | <van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/> | ||||
<van-field readonly label="余额" v-model="form.balance" input-align="right" label-width="auto"/> | |||||
</div> | </div> | ||||
<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | ||||
@@ -82,19 +83,49 @@ | |||||
<div class="main_box" style="padding: 5px 0 0 0;"> | <div class="main_box" style="padding: 5px 0 0 0;"> | ||||
<van-cell value="收据" /> | <van-cell value="收据" /> | ||||
<van-uploader v-model="fileList1" v-if="fileList1==null||fileList1.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | <van-uploader v-model="fileList1" v-if="fileList1==null||fileList1.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | ||||
<van-uploader v-model="fileList1" v-if="fileList1!=null&&fileList1.length>0" :deletable="false" :max-count="fileList1.length" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList1" v-if="fileList1!=null&&fileList1.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList1.length" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell value="发票" /> | <van-cell value="发票" /> | ||||
<van-uploader v-model="fileList2" v-if="fileList2==null||fileList2.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | <van-uploader v-model="fileList2" v-if="fileList2==null||fileList2.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | ||||
<van-uploader v-model="fileList2" v-if="fileList2!=null&&fileList2.length>0" :deletable="false" :max-count="fileList2.length" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList2" v-if="fileList2!=null&&fileList2.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList2.length" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell value="其他" /> | <van-cell value="其他" /> | ||||
<van-uploader v-model="fileList3" v-if="fileList3==null||fileList3.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | <van-uploader v-model="fileList3" v-if="fileList3==null||fileList3.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | ||||
<van-uploader v-model="fileList3" v-if="fileList3!=null&&fileList3.length>0" :deletable="false" :max-count="fileList3.length" style="margin-left:8px;" ></van-uploader> | |||||
<van-uploader v-model="fileList3" v-if="fileList3!=null&&fileList3.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList3.length" style="margin-left:8px;" > | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto,listTemplate} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
import { getCashierAccount,getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto,listTemplate} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
import request from '@/utils/request' | import request from '@/utils/request' | ||||
import { | import { | ||||
attachmentList, | attachmentList, | ||||
@@ -207,10 +238,127 @@ | |||||
return name | return name | ||||
}, | }, | ||||
goFlow(){ | goFlow(){ | ||||
window.location='approvalProcess?id='+this.$route.query.id; | |||||
window.location='approvalProcess?id='+this.$route.query.id+'&auditbatchNo='+this.$route.query.auditbatchNo; | |||||
}, | |||||
previewPreview(file, index, len) { | |||||
const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||||
if (file.url) { | |||||
//已上传文件 | |||||
let fileName = file.file.name || file.url; | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
let imgi = file.listIndex | |||||
//console.log(ext) | |||||
let allUrl = file.url; | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
const link = document.createElement("a"); | |||||
link.style.display = "none"; | |||||
link.target = "_blank" | |||||
link.href = allUrl; | |||||
document.body.appendChild(link); | |||||
link.click(); | |||||
document.body.removeChild(link); | |||||
} | |||||
} else { | |||||
//新上传文件 | |||||
let fileName = file.file.name; | |||||
// console.info(file.file.name) | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
let type = this.getfileType(ext); | |||||
// 将文件转换为base64编码 | |||||
this.fileToBase64(file.file, ext).then(res => { | |||||
this.downloadFile(res, fileName, ext, type); | |||||
}) | |||||
} | |||||
} | |||||
}, | |||||
getfileType(type) { | |||||
switch (type) { | |||||
case 'txt': | |||||
return 'text/plain'; | |||||
case 'doc': | |||||
return 'application/msword'; | |||||
case 'docx': | |||||
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; | |||||
case 'xls': | |||||
return 'application/vnd.ms-excel'; | |||||
case 'xlsx': | |||||
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; | |||||
case 'pdf': | |||||
return 'application/pdf'; | |||||
case 'pptx': | |||||
return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'; | |||||
case 'png': | |||||
return 'image/png'; | |||||
case 'jpg': | |||||
return 'image/jpeg'; | |||||
case 'gif': | |||||
return 'image/gif'; | |||||
case 'svg': | |||||
return 'image/svg+xml'; | |||||
case 'ico': | |||||
return 'image/x-icon'; | |||||
case 'bmp': | |||||
return 'image/bmp,'; | |||||
} | |||||
}, | |||||
downloadFile(base64, fileName, fileType, mimetype) { | |||||
const typeHeader = 'data:application/' + fileType + ';base64,'; | |||||
const blob = this.base64ToBlob(base64, mimetype); | |||||
this.downloadFileDownload(blob, fileName, fileType); | |||||
}, | |||||
base64ToBlob(base64, mime) { | |||||
//解码base64得到二进制字符串 | |||||
let raw = window.atob(base64.substring(base64.indexOf(',') + 1)); | |||||
let rawLength = raw.length | |||||
//创建8位无符号整数值的类型化数组 | |||||
let uInt8Array = new Uint8Array(rawLength) | |||||
for (let i = 0; i < rawLength; ++i) { | |||||
uInt8Array[i] = raw.charCodeAt(i); | |||||
} | |||||
return new Blob([uInt8Array], {type: mime}) | |||||
}, | |||||
downloadFileDownload(blob, fileName, fileType) { | |||||
const downloadElement = document.createElement('a'); | |||||
let href = blob; | |||||
if (typeof blob === 'string') { | |||||
downloadElement.target = '_blank' | |||||
} else { | |||||
href = window.URL.createObjectURL(blob) | |||||
} | |||||
downloadElement.href = href; | |||||
downloadElement.download = fileName + '.' + fileType;//下载后文件名 | |||||
document.body.appendChild(downloadElement); | |||||
downloadElement.click(); | |||||
document.body.removeChild(downloadElement) | |||||
if (typeof blob !== 'string') { | |||||
window.URL.revokeObjectURL(href) | |||||
} | |||||
}, | |||||
fileToBase64(file,fileType){ | |||||
return new Promise((resolve,reject)=>{ | |||||
//创建一个新的FileReader 对象 | |||||
const reader = new FileReader(); | |||||
//读取file对象 | |||||
reader.readAsDataURL(file); | |||||
reader.onload=function () { | |||||
const base64String = reader.result.split(",")[1]; | |||||
resolve('data:application/' + fileType + ';base64,'+base64String); | |||||
} | |||||
reader.onerror=function () { | |||||
reject(new Error("Failed to load file") ) | |||||
} | |||||
}) | |||||
}, | }, | ||||
getDictionaries(){ | getDictionaries(){ | ||||
getTransfer(this.$route.query.id).then((response) => { | getTransfer(this.$route.query.id).then((response) => { | ||||
getCashierAccount(response.data.cashierId).then(res => { | |||||
this.form.balance = res.data.balance | |||||
}) | |||||
this.getDicts("capital_expenditure_type").then((res) => { | this.getDicts("capital_expenditure_type").then((res) => { | ||||
for (var i = 0; i < res.data.length; i++) { | for (var i = 0; i < res.data.length; i++) { | ||||
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | ||||
@@ -274,7 +422,9 @@ | |||||
attachmentList(oData1).then(res => { | attachmentList(oData1).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList1.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList1.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData2= { | let oData2= { | ||||
@@ -286,7 +436,9 @@ | |||||
attachmentList(oData2).then(res => { | attachmentList(oData2).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList2.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList2.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData3= { | let oData3= { | ||||
@@ -298,7 +450,9 @@ | |||||
attachmentList(oData3).then(res => { | attachmentList(oData3).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList3.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList3.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
}, | }, | ||||
@@ -40,7 +40,7 @@ | |||||
<p class="main_title">付款方信息</p> | <p class="main_title">付款方信息</p> | ||||
<div class="main_box"> | <div class="main_box"> | ||||
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/> | <van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/> | ||||
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/> | |||||
<van-field readonly label="可用余额(元)" v-model="form.payerAccount" input-align="right" label-width="auto"/> | |||||
</div> | </div> | ||||
<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | ||||
@@ -72,13 +72,43 @@ | |||||
<div class="main_box" style="padding: 5px 0 0 0;"> | <div class="main_box" style="padding: 5px 0 0 0;"> | ||||
<van-cell value="收据" /> | <van-cell value="收据" /> | ||||
<van-uploader v-model="fileList1" v-if="fileList1==null||fileList1.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | <van-uploader v-model="fileList1" v-if="fileList1==null||fileList1.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | ||||
<van-uploader v-model="fileList1" v-if="fileList1!=null&&fileList1.length>0" :deletable="false" :max-count="fileList1.length" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList1" v-if="fileList1!=null&&fileList1.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList1.length" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell value="发票" /> | <van-cell value="发票" /> | ||||
<van-uploader v-model="fileList2" v-if="fileList2==null||fileList2.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | <van-uploader v-model="fileList2" v-if="fileList2==null||fileList2.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | ||||
<van-uploader v-model="fileList2" v-if="fileList2!=null&&fileList2.length>0" :deletable="false" :max-count="fileList2.length" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList2" v-if="fileList2!=null&&fileList2.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList2.length" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell value="其他" /> | <van-cell value="其他" /> | ||||
<van-uploader v-model="fileList3" v-if="fileList3==null||fileList3.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | <van-uploader v-model="fileList3" v-if="fileList3==null||fileList3.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader> | ||||
<van-uploader v-model="fileList3" v-if="fileList3!=null&&fileList3.length>0" :deletable="false" :max-count="fileList3.length" style="margin-left:8px;" ></van-uploader> | |||||
<van-uploader v-model="fileList3" v-if="fileList3!=null&&fileList3.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList3.length" style="margin-left:8px;" > | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
@@ -194,7 +224,7 @@ | |||||
return name | return name | ||||
}, | }, | ||||
goFlow(){ | goFlow(){ | ||||
window.location='approvalProcess?id='+this.$route.query.id; | |||||
window.location='approvalProcess?id='+this.$route.query.id+'&auditbatchNo='+this.$route.query.auditbatchNo; | |||||
}, | }, | ||||
getDictionaries(){ | getDictionaries(){ | ||||
getCash(this.$route.query.id).then((response) => { | getCash(this.$route.query.id).then((response) => { | ||||
@@ -253,6 +283,120 @@ | |||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||
previewPreview(file, index, len) { | |||||
const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||||
if (file.url) { | |||||
//已上传文件 | |||||
let fileName = file.file.name || file.url; | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
let imgi = file.listIndex | |||||
//console.log(ext) | |||||
let allUrl = file.url; | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
const link = document.createElement("a"); | |||||
link.style.display = "none"; | |||||
link.target = "_blank" | |||||
link.href = allUrl; | |||||
document.body.appendChild(link); | |||||
link.click(); | |||||
document.body.removeChild(link); | |||||
} | |||||
} else { | |||||
//新上传文件 | |||||
let fileName = file.file.name; | |||||
// console.info(file.file.name) | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
let type = this.getfileType(ext); | |||||
// 将文件转换为base64编码 | |||||
this.fileToBase64(file.file, ext).then(res => { | |||||
this.downloadFile(res, fileName, ext, type); | |||||
}) | |||||
} | |||||
} | |||||
}, | |||||
getfileType(type) { | |||||
switch (type) { | |||||
case 'txt': | |||||
return 'text/plain'; | |||||
case 'doc': | |||||
return 'application/msword'; | |||||
case 'docx': | |||||
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; | |||||
case 'xls': | |||||
return 'application/vnd.ms-excel'; | |||||
case 'xlsx': | |||||
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; | |||||
case 'pdf': | |||||
return 'application/pdf'; | |||||
case 'pptx': | |||||
return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'; | |||||
case 'png': | |||||
return 'image/png'; | |||||
case 'jpg': | |||||
return 'image/jpeg'; | |||||
case 'gif': | |||||
return 'image/gif'; | |||||
case 'svg': | |||||
return 'image/svg+xml'; | |||||
case 'ico': | |||||
return 'image/x-icon'; | |||||
case 'bmp': | |||||
return 'image/bmp,'; | |||||
} | |||||
}, | |||||
downloadFile(base64, fileName, fileType, mimetype) { | |||||
const typeHeader = 'data:application/' + fileType + ';base64,'; | |||||
const blob = this.base64ToBlob(base64, mimetype); | |||||
this.downloadFileDownload(blob, fileName, fileType); | |||||
}, | |||||
base64ToBlob(base64, mime) { | |||||
//解码base64得到二进制字符串 | |||||
let raw = window.atob(base64.substring(base64.indexOf(',') + 1)); | |||||
let rawLength = raw.length | |||||
//创建8位无符号整数值的类型化数组 | |||||
let uInt8Array = new Uint8Array(rawLength) | |||||
for (let i = 0; i < rawLength; ++i) { | |||||
uInt8Array[i] = raw.charCodeAt(i); | |||||
} | |||||
return new Blob([uInt8Array], {type: mime}) | |||||
}, | |||||
downloadFileDownload(blob, fileName, fileType) { | |||||
const downloadElement = document.createElement('a'); | |||||
let href = blob; | |||||
if (typeof blob === 'string') { | |||||
downloadElement.target = '_blank' | |||||
} else { | |||||
href = window.URL.createObjectURL(blob) | |||||
} | |||||
downloadElement.href = href; | |||||
downloadElement.download = fileName + '.' + fileType;//下载后文件名 | |||||
document.body.appendChild(downloadElement); | |||||
downloadElement.click(); | |||||
document.body.removeChild(downloadElement) | |||||
if (typeof blob !== 'string') { | |||||
window.URL.revokeObjectURL(href) | |||||
} | |||||
}, | |||||
fileToBase64(file,fileType){ | |||||
return new Promise((resolve,reject)=>{ | |||||
//创建一个新的FileReader 对象 | |||||
const reader = new FileReader(); | |||||
//读取file对象 | |||||
reader.readAsDataURL(file); | |||||
reader.onload=function () { | |||||
const base64String = reader.result.split(",")[1]; | |||||
resolve('data:application/' + fileType + ';base64,'+base64String); | |||||
} | |||||
reader.onerror=function () { | |||||
reject(new Error("Failed to load file") ) | |||||
} | |||||
}) | |||||
}, | |||||
getFileList(){ | getFileList(){ | ||||
let oData1= { | let oData1= { | ||||
tableId: this.$route.query.id, | tableId: this.$route.query.id, | ||||
@@ -263,7 +407,9 @@ | |||||
attachmentList(oData1).then(res => { | attachmentList(oData1).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList1.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList1.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData2= { | let oData2= { | ||||
@@ -275,7 +421,9 @@ | |||||
attachmentList(oData2).then(res => { | attachmentList(oData2).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList2.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList2.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData3= { | let oData3= { | ||||
@@ -287,7 +435,9 @@ | |||||
attachmentList(oData3).then(res => { | attachmentList(oData3).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList3.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList3.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
}, | }, | ||||
@@ -27,7 +27,7 @@ | |||||
finished-text="没有更多了" | finished-text="没有更多了" | ||||
@load="getList"> | @load="getList"> | ||||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | ||||
<van-cell :title="item.payer" center :to="{name:'sunVillageApprovalDetail', query: {id:item.id}}"> | |||||
<van-cell :title="item.remark" center :to="{name:'sunVillageApprovalDetail', query: {id:item.id,auditbatchNo:item.auditbatchNo}}"> | |||||
<template #icon> | <template #icon> | ||||
<van-icon name="../../../../../static/images/onlineHome/icon_yn1.png" size="30" color="#FF4646" style="margin-right: 10px;" /> | <van-icon name="../../../../../static/images/onlineHome/icon_yn1.png" size="30" color="#FF4646" style="margin-right: 10px;" /> | ||||
</template> | </template> | ||||
@@ -35,22 +35,25 @@ | |||||
<p><span><i>¥</i>{{stateFormat(item.expenditureAmount)}}</span><i style="margin-right: 30px;"></i>{{item.applyDate}}</p> | <p><span><i>¥</i>{{stateFormat(item.expenditureAmount)}}</span><i style="margin-right: 30px;"></i>{{item.applyDate}}</p> | ||||
</template> | </template> | ||||
<template #default> | <template #default> | ||||
<p style="width: 80px;display: inline-block">{{item.auditStatus}}</p> | |||||
<span v-if="item.auditStatus === '0'" style="color: #696969">{{ selectDictLabel(auditStatusOptions, item.auditStatus)}} </span> | |||||
<span v-else-if="item.auditStatus === '2' " style="color: #F56C6C">{{ selectDictLabel(auditStatusOptions, item.auditStatus)}} </span> | |||||
<span v-else-if="item.auditStatus === '3' " style="color: #00FF00">{{ selectDictLabel(auditStatusOptions, item.auditStatus)}} </span> | |||||
<span v-else style="color: #FFA500;">{{ selectDictLabel(auditStatusOptions, item.auditStatus) }} </span> | |||||
</template> | </template> | ||||
</van-cell> | </van-cell> | ||||
<template #right> | <template #right> | ||||
<van-row> | <van-row> | ||||
<van-col> | <van-col> | ||||
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'sunVillageApprovalModify', query: {id:item.id}}" class="delete-button" /> | |||||
<van-button v-if="item.auditStatus=='0'||item.auditStatus=='2'" square text="修改" type="info" :to="{name:'sunVillageApprovalModify', query: {id:item.id}}" class="delete-button" /> | |||||
</van-col> | </van-col> | ||||
<van-col> | <van-col> | ||||
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||||
<van-button v-if="item.auditStatus=='0'||item.auditStatus=='2'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||||
</van-col> | </van-col> | ||||
<van-col> | <van-col> | ||||
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||||
<van-button v-if="item.auditStatus=='0'||item.auditStatus=='2'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||||
</van-col> | </van-col> | ||||
<van-col> | <van-col> | ||||
<van-button v-if="item.auditStatus=='待审'" square text="撤回" type="danger" @click="cancelApply(item)" class="delete-button" /> | |||||
<van-button v-if="item.auditStatus=='1'" square text="撤回" type="danger" @click="cancelApply(item)" class="delete-button" /> | |||||
</van-col> | </van-col> | ||||
</van-row> | </van-row> | ||||
</template> | </template> | ||||
@@ -60,7 +63,7 @@ | |||||
</template> | </template> | ||||
<script> | <script> | ||||
import { listTransfer , customSubmit , delTransfer , updateTYinnongTransferFoStatus } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
import { listTransfer , offlineCustomSubmit , delTransfer , updateTYinnongTransferFoStatus } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
export default { | export default { | ||||
name: "approvalList", | name: "approvalList", | ||||
data() { | data() { | ||||
@@ -106,7 +109,9 @@ export default { | |||||
listTransfer(this.queryParams).then(response => { | listTransfer(this.queryParams).then(response => { | ||||
console.log(response) | console.log(response) | ||||
for (var i = 0; i < response.rows.length; i++) { | for (var i = 0; i < response.rows.length; i++) { | ||||
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||||
if(response.rows[i].remark.length > 12){ | |||||
response.rows[i].remark = response.rows[i].remark.substring(0,12)+"..."; | |||||
} | |||||
this.applicationList.push(response.rows[i]); | this.applicationList.push(response.rows[i]); | ||||
} | } | ||||
console.log(this.applicationList.length >= response.total) | console.log(this.applicationList.length >= response.total) | ||||
@@ -142,7 +147,7 @@ export default { | |||||
message: '您确认提交草稿?', | message: '您确认提交草稿?', | ||||
}) | }) | ||||
.then(() => { | .then(() => { | ||||
customSubmit(id).then(res => { | |||||
offlineCustomSubmit(id).then(res => { | |||||
this.$toast.success('提交成功'); | this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
history.go(0) | history.go(0) | ||||
@@ -28,10 +28,14 @@ | |||||
@load="getList" | @load="getList" | ||||
> | > | ||||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | ||||
<van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'sunVillageApprovalDetail11', query: {id:item.id}}"> | |||||
<van-cell :title="item.remark" center :to="{name:'sunVillageApprovalDetail11', query: {id:item.id,auditbatchNo:item.auditbatchNo}}"> | |||||
<template #icon> | <template #icon> | ||||
<van-icon name="../../../../../static/images/onlineHome/icon_yn7.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | <van-icon name="../../../../../static/images/onlineHome/icon_yn7.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | ||||
</template> | </template> | ||||
<span v-if="item.auditStatus === '0'" style="color: #696969">{{ selectDictLabel(auditStatusOptions, item.auditStatus)}} </span> | |||||
<span v-else-if="item.auditStatus === '2' " style="color: #F56C6C">{{ selectDictLabel(auditStatusOptions, item.auditStatus)}} </span> | |||||
<span v-else-if="item.auditStatus === '3' " style="color: #00FF00">{{ selectDictLabel(auditStatusOptions, item.auditStatus)}} </span> | |||||
<span v-else style="color: #FFA500;">{{ selectDictLabel(auditStatusOptions, item.auditStatus) }} </span> | |||||
<template #label> | <template #label> | ||||
<p><span><i>¥</i>{{stateFormat(item.expenditureAmount)}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | <p><span><i>¥</i>{{stateFormat(item.expenditureAmount)}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | ||||
</template> | </template> | ||||
@@ -39,16 +43,16 @@ | |||||
<template #right> | <template #right> | ||||
<van-row> | <van-row> | ||||
<van-col> | <van-col> | ||||
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'sunVillageApprovalModify11', query: {id:item.id}}" class="delete-button" /> | |||||
<van-button v-if="item.auditStatus=='0'||item.auditStatus=='2'" square text="修改" type="info" :to="{name:'sunVillageApprovalModify11', query: {id:item.id}}" class="delete-button" /> | |||||
</van-col> | </van-col> | ||||
<van-col> | <van-col> | ||||
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||||
<van-button v-if="item.auditStatus=='0'||item.auditStatus=='2'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||||
</van-col> | </van-col> | ||||
<van-col> | <van-col> | ||||
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||||
<van-button v-if="item.auditStatus=='0'||item.auditStatus=='2'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||||
</van-col> | </van-col> | ||||
<van-col> | <van-col> | ||||
<van-button v-if="item.auditStatus=='待审'" square text="撤回" type="danger" @click="cancelApply(item)" class="delete-button" /> | |||||
<van-button v-if="item.auditStatus=='1'" square text="撤回" type="danger" @click="cancelApply(item)" class="delete-button" /> | |||||
</van-col> | </van-col> | ||||
</van-row> | </van-row> | ||||
</template> | </template> | ||||
@@ -59,7 +63,7 @@ | |||||
<script> | <script> | ||||
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | ||||
import {cashSubmit, delCash, listCash} from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||||
import {offlineCustomSubmit, delCash, listCash} from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||||
export default { | export default { | ||||
name: "approvalList11", | name: "approvalList11", | ||||
data() { | data() { | ||||
@@ -101,7 +105,9 @@ export default { | |||||
listCash(this.queryParams).then(response => { | listCash(this.queryParams).then(response => { | ||||
console.log(response) | console.log(response) | ||||
for (var i = 0; i < response.rows.length; i++) { | for (var i = 0; i < response.rows.length; i++) { | ||||
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||||
if(response.rows[i].remark.length > 12){ | |||||
response.rows[i].remark = response.rows[i].remark.substring(0,12)+"..."; | |||||
} | |||||
this.applicationList.push(response.rows[i]); | this.applicationList.push(response.rows[i]); | ||||
} | } | ||||
console.log(this.applicationList.length >= response.total) | console.log(this.applicationList.length >= response.total) | ||||
@@ -137,7 +143,7 @@ export default { | |||||
message: '您确认提交草稿?', | message: '您确认提交草稿?', | ||||
}) | }) | ||||
.then(() => { | .then(() => { | ||||
cashSubmit(id).then(res => { | |||||
offlineCustomSubmit(id).then(res => { | |||||
this.$toast.success('提交成功'); | this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
history.go(0) | history.go(0) | ||||
@@ -127,7 +127,7 @@ | |||||
label-width="auto" | label-width="auto" | ||||
maxlength="20" | maxlength="20" | ||||
required | required | ||||
show-word-limit | |||||
show-word-limit | |||||
v-if="form.bankType == '6'" | v-if="form.bankType == '6'" | ||||
:rules="[{ required: true , message:'请输入转账附言' }]" | :rules="[{ required: true , message:'请输入转账附言' }]" | ||||
/> | /> | ||||
@@ -141,7 +141,7 @@ | |||||
label-width="auto" | label-width="auto" | ||||
maxlength="30" | maxlength="30" | ||||
required | required | ||||
show-word-limit | |||||
show-word-limit | |||||
v-if="form.bankType != '5' && form.bankType != '6'" | v-if="form.bankType != '5' && form.bankType != '6'" | ||||
:rules="[{ required: true , message:'请输入转账附言' }]" | :rules="[{ required: true , message:'请输入转账附言' }]" | ||||
/> | /> | ||||
@@ -246,7 +246,8 @@ | |||||
@cancel="showpayer = false" | @cancel="showpayer = false" | ||||
/> | /> | ||||
</van-popup> | </van-popup> | ||||
<van-field :rules="[{ required: true , message:'请输入账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field :rules="[{ required: true , message:'请输入账户' }]" readonly required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field required label="余额" readonly v-model="form.balance" placeholder="请输入余额" input-align="right" label-width="auto"/> | |||||
</div> | </div> | ||||
<p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | <p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | ||||
@@ -296,8 +297,8 @@ | |||||
@cancel="item.showPayee = false" | @cancel="item.showPayee = false" | ||||
/> | /> | ||||
</van-popup> | </van-popup> | ||||
<van-field required :rules="[{ required: true , message:'请输入账户' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field required :rules="[{ required: true , message:'请输入银行' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请输入银行" input-align="right" label-width="auto"/> | |||||
<van-field required :rules="[{ required: true , message:'请输入账户' }]" readonly v-model="item.payeeAccount" label="收款账户" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field required :rules="[{ required: true , message:'请输入银行' }]" readonly v-model="item.bankDeposit" label="开户银行" placeholder="请输入银行" input-align="right" label-width="auto"/> | |||||
<van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/> | <van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/> | ||||
<van-field | <van-field | ||||
readonly | readonly | ||||
@@ -322,11 +323,41 @@ | |||||
<p class="main_title" style="margin: 0.2rem 3%;">上传附件<i style="margin-right: 0.5em;"></i><span style="font-size: 12px;color: red;">(若申请单未变动可不必点击底部的修改按钮)</span></p> | <p class="main_title" style="margin: 0.2rem 3%;">上传附件<i style="margin-right: 0.5em;"></i><span style="font-size: 12px;color: red;">(若申请单未变动可不必点击底部的修改按钮)</span></p> | ||||
<div class="main_box" style="padding: 5px 0 0 0;"> | <div class="main_box" style="padding: 5px 0 0 0;"> | ||||
<van-cell value="收据" /> | <van-cell value="收据" /> | ||||
<van-uploader v-model="fileList1" :after-read="beforeRead('1')" @delete="deleteFile" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList1" :after-read="beforeRead('1')" @delete="deleteFile" @click-preview="previewPreview" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell title="发票" /> | <van-cell title="发票" /> | ||||
<van-uploader v-model="fileList2" :after-read="beforeRead('2')" @delete="deleteFile" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList2" :after-read="beforeRead('2')" @delete="deleteFile" @click-preview="previewPreview" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell title="其他" /> | <van-cell title="其他" /> | ||||
<van-uploader v-model="fileList3" :after-read="beforeRead('3')" @delete="deleteFile" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList3" :after-read="beforeRead('3')" @delete="deleteFile" @click-preview="previewPreview" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
</div> | </div> | ||||
<div style="padding: 16px 0;"> | <div style="padding: 16px 0;"> | ||||
<van-row> | <van-row> | ||||
@@ -344,7 +375,7 @@ | |||||
</template> | </template> | ||||
<script> | <script> | ||||
import { getAccount , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , | |||||
import { getCashierAccount,getAccount , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , | |||||
customSubmit ,offlineCustomSubmit, getQmyeFlow ,listInfo ,getInfoto ,addInfoto,listTemplate,selectApprovalByTemplateId} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | customSubmit ,offlineCustomSubmit, getQmyeFlow ,listInfo ,getInfoto ,addInfoto,listTemplate,selectApprovalByTemplateId} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | ||||
import { | import { | ||||
attachmentList, | attachmentList, | ||||
@@ -502,7 +533,9 @@ | |||||
}, | }, | ||||
getDictionaries(){ | getDictionaries(){ | ||||
getTransfer(this.$route.query.id).then((response) => { | getTransfer(this.$route.query.id).then((response) => { | ||||
getCashierAccount(response.data.cashierId).then(res => { | |||||
this.form.balance = res.data.balance | |||||
}) | |||||
this.getDicts("capital_expenditure_type").then((res) => { | this.getDicts("capital_expenditure_type").then((res) => { | ||||
for (var i = 0; i < res.data.length; i++) { | for (var i = 0; i < res.data.length; i++) { | ||||
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | ||||
@@ -592,7 +625,7 @@ | |||||
} | } | ||||
// if(this.form.bankType == '2' && this.form.isPeers == 'N' && this.chargeItme.length==1){ | // if(this.form.bankType == '2' && this.form.isPeers == 'N' && this.chargeItme.length==1){ | ||||
// this.$notify({ type: 'danger', message: '目前农商行仅支持单笔跨行转账,即仅能有一个收款方!' }); | // this.$notify({ type: 'danger', message: '目前农商行仅支持单笔跨行转账,即仅能有一个收款方!' }); | ||||
// }else | |||||
// }else | |||||
if(this.form.bankType == '7' && this.chargeItme.length==1){ | if(this.form.bankType == '7' && this.chargeItme.length==1){ | ||||
this.$notify({ type: 'danger', message: '目前农商行仅支持单笔转账,即仅能有一个收款方!' }); | this.$notify({ type: 'danger', message: '目前农商行仅支持单笔转账,即仅能有一个收款方!' }); | ||||
}else{ | }else{ | ||||
@@ -810,6 +843,120 @@ | |||||
this.saveRelease() | this.saveRelease() | ||||
} | } | ||||
}, | }, | ||||
previewPreview(file, index, len) { | |||||
const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||||
if (file.url) { | |||||
//已上传文件 | |||||
let fileName = file.file.name || file.url; | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
let imgi = file.listIndex | |||||
//console.log(ext) | |||||
let allUrl = file.url; | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
const link = document.createElement("a"); | |||||
link.style.display = "none"; | |||||
link.target = "_blank" | |||||
link.href = allUrl; | |||||
document.body.appendChild(link); | |||||
link.click(); | |||||
document.body.removeChild(link); | |||||
} | |||||
} else { | |||||
//新上传文件 | |||||
let fileName = file.file.name; | |||||
// console.info(file.file.name) | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
let type = this.getfileType(ext); | |||||
// 将文件转换为base64编码 | |||||
this.fileToBase64(file.file, ext).then(res => { | |||||
this.downloadFile(res, fileName, ext, type); | |||||
}) | |||||
} | |||||
} | |||||
}, | |||||
getfileType(type) { | |||||
switch (type) { | |||||
case 'txt': | |||||
return 'text/plain'; | |||||
case 'doc': | |||||
return 'application/msword'; | |||||
case 'docx': | |||||
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; | |||||
case 'xls': | |||||
return 'application/vnd.ms-excel'; | |||||
case 'xlsx': | |||||
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; | |||||
case 'pdf': | |||||
return 'application/pdf'; | |||||
case 'pptx': | |||||
return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'; | |||||
case 'png': | |||||
return 'image/png'; | |||||
case 'jpg': | |||||
return 'image/jpeg'; | |||||
case 'gif': | |||||
return 'image/gif'; | |||||
case 'svg': | |||||
return 'image/svg+xml'; | |||||
case 'ico': | |||||
return 'image/x-icon'; | |||||
case 'bmp': | |||||
return 'image/bmp,'; | |||||
} | |||||
}, | |||||
downloadFile(base64, fileName, fileType, mimetype) { | |||||
const typeHeader = 'data:application/' + fileType + ';base64,'; | |||||
const blob = this.base64ToBlob(base64, mimetype); | |||||
this.downloadFileDownload(blob, fileName, fileType); | |||||
}, | |||||
base64ToBlob(base64, mime) { | |||||
//解码base64得到二进制字符串 | |||||
let raw = window.atob(base64.substring(base64.indexOf(',') + 1)); | |||||
let rawLength = raw.length | |||||
//创建8位无符号整数值的类型化数组 | |||||
let uInt8Array = new Uint8Array(rawLength) | |||||
for (let i = 0; i < rawLength; ++i) { | |||||
uInt8Array[i] = raw.charCodeAt(i); | |||||
} | |||||
return new Blob([uInt8Array], {type: mime}) | |||||
}, | |||||
downloadFileDownload(blob, fileName, fileType) { | |||||
const downloadElement = document.createElement('a'); | |||||
let href = blob; | |||||
if (typeof blob === 'string') { | |||||
downloadElement.target = '_blank' | |||||
} else { | |||||
href = window.URL.createObjectURL(blob) | |||||
} | |||||
downloadElement.href = href; | |||||
downloadElement.download = fileName + '.' + fileType;//下载后文件名 | |||||
document.body.appendChild(downloadElement); | |||||
downloadElement.click(); | |||||
document.body.removeChild(downloadElement) | |||||
if (typeof blob !== 'string') { | |||||
window.URL.revokeObjectURL(href) | |||||
} | |||||
}, | |||||
fileToBase64(file,fileType){ | |||||
return new Promise((resolve,reject)=>{ | |||||
//创建一个新的FileReader 对象 | |||||
const reader = new FileReader(); | |||||
//读取file对象 | |||||
reader.readAsDataURL(file); | |||||
reader.onload=function () { | |||||
const base64String = reader.result.split(",")[1]; | |||||
resolve('data:application/' + fileType + ';base64,'+base64String); | |||||
} | |||||
reader.onerror=function () { | |||||
reject(new Error("Failed to load file") ) | |||||
} | |||||
}) | |||||
}, | |||||
saveRelease(){ | saveRelease(){ | ||||
let _this = this; | let _this = this; | ||||
this.$set(this.form, "payeeList", this.chargeItme); | this.$set(this.form, "payeeList", this.chargeItme); | ||||
@@ -822,56 +969,29 @@ | |||||
this.$set(this.projectForm, "ynType", '1'); | this.$set(this.projectForm, "ynType", '1'); | ||||
if(this.form.capitalExpenditureType==2){ | if(this.form.capitalExpenditureType==2){ | ||||
addProjectto(this.projectForm).then(res => { | addProjectto(this.projectForm).then(res => { | ||||
if(this.form.approvalMode === '1'){ | |||||
customSubmit(this.form.id).then(res => { | |||||
this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
_this.$router.push('/sunVillage_info/approvalList') | |||||
},2000) | |||||
}) | |||||
}else{ | |||||
offlineCustomSubmit(this.form.id).then(res => { | offlineCustomSubmit(this.form.id).then(res => { | ||||
this.$toast.success('提交成功'); | this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
_this.$router.push('/sunVillage_info/approvalList') | _this.$router.push('/sunVillage_info/approvalList') | ||||
},2000) | },2000) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else if(this.form.capitalExpenditureType==4){ | }else if(this.form.capitalExpenditureType==4){ | ||||
addInfoto(this.infoForm).then(res => { | addInfoto(this.infoForm).then(res => { | ||||
if(this.form.approvalMode === '1'){ | |||||
customSubmit(this.form.id).then(res => { | |||||
this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
_this.$router.push('/sunVillage_info/approvalList') | |||||
},2000) | |||||
}) | |||||
}else{ | |||||
offlineCustomSubmit(this.form.id).then(res => { | offlineCustomSubmit(this.form.id).then(res => { | ||||
this.$toast.success('提交成功'); | this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
_this.$router.push('/sunVillage_info/approvalList') | _this.$router.push('/sunVillage_info/approvalList') | ||||
},2000) | },2000) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(this.form.approvalMode === '1'){ | |||||
customSubmit(this.form.id).then(res => { | |||||
this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
_this.$router.push('/sunVillage_info/approvalList') | |||||
},2000) | |||||
}) | |||||
}else{ | |||||
offlineCustomSubmit(this.form.id).then(res => { | offlineCustomSubmit(this.form.id).then(res => { | ||||
this.$toast.success('提交成功'); | this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
_this.$router.push('/sunVillage_info/approvalList') | _this.$router.push('/sunVillage_info/approvalList') | ||||
},2000) | },2000) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||
@@ -1015,6 +1135,7 @@ | |||||
this.$set(this.form, "operatorCode", obj.operatorCode); | this.$set(this.form, "operatorCode", obj.operatorCode); | ||||
this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | ||||
this.$set(this.form, "bankType", obj.bankType); | this.$set(this.form, "bankType", obj.bankType); | ||||
this.$set(this.form, "balance", obj.balance); | |||||
this.$set(this.form, "payerFrom", '1'); | this.$set(this.form, "payerFrom", '1'); | ||||
console.log(obj.bankType) | console.log(obj.bankType) | ||||
if(obj.bankType==1){ | if(obj.bankType==1){ | ||||
@@ -1074,6 +1195,20 @@ | |||||
commonAttach(params1).then((r1) => { | commonAttach(params1).then((r1) => { | ||||
file.id=r1.id; | file.id=r1.id; | ||||
file.fileUrl = r1.fileUrl; | file.fileUrl = r1.fileUrl; | ||||
let subIndex = r1.fileUrl.lastIndexOf("."); | |||||
let ext = r1.fileUrl.substring(subIndex + 1, r1.fileUrl.length); | |||||
let baseUrl = location.protocol + "//" + location.host + request.defaults.baseURL; | |||||
let fileData = {"url": baseUrl + r1.fileUrl, "file": new File([], "name", {}), "id": r1.id,"type":ext}; | |||||
if(obj === '1'){ | |||||
this.fileList1.splice(-1, 1); | |||||
this.fileList1.push(fileData); | |||||
}else if(obj === '2'){ | |||||
this.fileList2.splice(-1, 1); | |||||
this.fileList2.push(fileData); | |||||
}else{ | |||||
this.fileList3.splice(-1, 1); | |||||
this.fileList3.push(fileData); | |||||
} | |||||
}) | }) | ||||
} | } | ||||
}, | }, | ||||
@@ -1091,7 +1226,9 @@ | |||||
attachmentList(oData1).then(res => { | attachmentList(oData1).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList1.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList1.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData2= { | let oData2= { | ||||
@@ -1103,7 +1240,9 @@ | |||||
attachmentList(oData2).then(res => { | attachmentList(oData2).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList2.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList2.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData3= { | let oData3= { | ||||
@@ -1115,7 +1254,9 @@ | |||||
attachmentList(oData3).then(res => { | attachmentList(oData3).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList3.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList3.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
}, | }, | ||||
@@ -215,7 +215,7 @@ | |||||
@cancel="showpayer = false" | @cancel="showpayer = false" | ||||
/> | /> | ||||
</van-popup> | </van-popup> | ||||
<van-field :rules="[{ required: true , message:'请输入账户' }]" required label="可用余额(元)" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
<van-field :rules="[{ required: true , message:'请输入账户' }]" readonly required label="可用余额(元)" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||||
</div> | </div> | ||||
<p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | <p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | ||||
@@ -234,11 +234,41 @@ | |||||
<p class="main_title">上传附件</p> | <p class="main_title">上传附件</p> | ||||
<div class="main_box" style="padding: 5px 0 0 0;"> | <div class="main_box" style="padding: 5px 0 0 0;"> | ||||
<van-cell value="收据" /> | <van-cell value="收据" /> | ||||
<van-uploader v-model="fileList1" :after-read="beforeRead1" @delete="deleteFile1" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList1" :after-read="beforeRead1" @click-preview="previewPreview" @delete="deleteFile1" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell title="发票" /> | <van-cell title="发票" /> | ||||
<van-uploader v-model="fileList2" :after-read="beforeRead2" @delete="deleteFile2" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList2" :after-read="beforeRead2" @click-preview="previewPreview" @delete="deleteFile2" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
<van-cell title="其他" /> | <van-cell title="其他" /> | ||||
<van-uploader v-model="fileList3" :after-read="beforeRead3" @delete="deleteFile3" style="margin-left:8px;"></van-uploader> | |||||
<van-uploader v-model="fileList3" :after-read="beforeRead3" @click-preview="previewPreview" @delete="deleteFile3" style="margin-left:8px;"> | |||||
<template #preview-cover="file"> | |||||
<div class="preview-cover"> | |||||
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/> | |||||
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" /> | |||||
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" /> | |||||
</div> | |||||
</template> | |||||
</van-uploader> | |||||
</div> | </div> | ||||
<div style="padding: 16px 0;"> | <div style="padding: 16px 0;"> | ||||
<van-row> | <van-row> | ||||
@@ -257,7 +287,7 @@ | |||||
<script> | <script> | ||||
import { listAccount1 , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto | import { listAccount1 , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto | ||||
, cashSubmit , offlineCashSubmit, getQmyeFlow,listInfo ,getInfoto ,addInfoto,listTemplate,selectApprovalByTemplateId} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
, offlineCustomSubmit , offlineCashSubmit, getQmyeFlow,listInfo ,getInfoto ,addInfoto,listTemplate,selectApprovalByTemplateId} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
import { | import { | ||||
addCash, addCashdetail, | addCash, addCashdetail, | ||||
attachmentList, | attachmentList, | ||||
@@ -395,6 +425,120 @@ | |||||
} | } | ||||
}) | }) | ||||
}, | }, | ||||
previewPreview(file, index, len) { | |||||
const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||||
if (file.url) { | |||||
//已上传文件 | |||||
let fileName = file.file.name || file.url; | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
let imgi = file.listIndex | |||||
//console.log(ext) | |||||
let allUrl = file.url; | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
const link = document.createElement("a"); | |||||
link.style.display = "none"; | |||||
link.target = "_blank" | |||||
link.href = allUrl; | |||||
document.body.appendChild(link); | |||||
link.click(); | |||||
document.body.removeChild(link); | |||||
} | |||||
} else { | |||||
//新上传文件 | |||||
let fileName = file.file.name; | |||||
// console.info(file.file.name) | |||||
let subIndex = fileName.lastIndexOf("."); | |||||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||||
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){ | |||||
let type = this.getfileType(ext); | |||||
// 将文件转换为base64编码 | |||||
this.fileToBase64(file.file, ext).then(res => { | |||||
this.downloadFile(res, fileName, ext, type); | |||||
}) | |||||
} | |||||
} | |||||
}, | |||||
getfileType(type) { | |||||
switch (type) { | |||||
case 'txt': | |||||
return 'text/plain'; | |||||
case 'doc': | |||||
return 'application/msword'; | |||||
case 'docx': | |||||
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; | |||||
case 'xls': | |||||
return 'application/vnd.ms-excel'; | |||||
case 'xlsx': | |||||
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; | |||||
case 'pdf': | |||||
return 'application/pdf'; | |||||
case 'pptx': | |||||
return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'; | |||||
case 'png': | |||||
return 'image/png'; | |||||
case 'jpg': | |||||
return 'image/jpeg'; | |||||
case 'gif': | |||||
return 'image/gif'; | |||||
case 'svg': | |||||
return 'image/svg+xml'; | |||||
case 'ico': | |||||
return 'image/x-icon'; | |||||
case 'bmp': | |||||
return 'image/bmp,'; | |||||
} | |||||
}, | |||||
downloadFile(base64, fileName, fileType, mimetype) { | |||||
const typeHeader = 'data:application/' + fileType + ';base64,'; | |||||
const blob = this.base64ToBlob(base64, mimetype); | |||||
this.downloadFileDownload(blob, fileName, fileType); | |||||
}, | |||||
base64ToBlob(base64, mime) { | |||||
//解码base64得到二进制字符串 | |||||
let raw = window.atob(base64.substring(base64.indexOf(',') + 1)); | |||||
let rawLength = raw.length | |||||
//创建8位无符号整数值的类型化数组 | |||||
let uInt8Array = new Uint8Array(rawLength) | |||||
for (let i = 0; i < rawLength; ++i) { | |||||
uInt8Array[i] = raw.charCodeAt(i); | |||||
} | |||||
return new Blob([uInt8Array], {type: mime}) | |||||
}, | |||||
downloadFileDownload(blob, fileName, fileType) { | |||||
const downloadElement = document.createElement('a'); | |||||
let href = blob; | |||||
if (typeof blob === 'string') { | |||||
downloadElement.target = '_blank' | |||||
} else { | |||||
href = window.URL.createObjectURL(blob) | |||||
} | |||||
downloadElement.href = href; | |||||
downloadElement.download = fileName + '.' + fileType;//下载后文件名 | |||||
document.body.appendChild(downloadElement); | |||||
downloadElement.click(); | |||||
document.body.removeChild(downloadElement) | |||||
if (typeof blob !== 'string') { | |||||
window.URL.revokeObjectURL(href) | |||||
} | |||||
}, | |||||
fileToBase64(file,fileType){ | |||||
return new Promise((resolve,reject)=>{ | |||||
//创建一个新的FileReader 对象 | |||||
const reader = new FileReader(); | |||||
//读取file对象 | |||||
reader.readAsDataURL(file); | |||||
reader.onload=function () { | |||||
const base64String = reader.result.split(",")[1]; | |||||
resolve('data:application/' + fileType + ';base64,'+base64String); | |||||
} | |||||
reader.onerror=function () { | |||||
reject(new Error("Failed to load file") ) | |||||
} | |||||
}) | |||||
}, | |||||
initProjectInfo(){ | initProjectInfo(){ | ||||
let _this = this | let _this = this | ||||
let queryParams={ | let queryParams={ | ||||
@@ -633,7 +777,7 @@ | |||||
total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2) | total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2) | ||||
}); | }); | ||||
this.$set(this.form, "expenditureAmount", total); | this.$set(this.form, "expenditureAmount", total); | ||||
if(this.form.payerAccount<this.form.expenditureAmount){ | |||||
if(parseInt(this.form.payerAccount)< parseInt(this.form.expenditureAmount)){ | |||||
this.$notify({ type: 'danger', message: '申请使用金额不能大于可用余额!' }); | this.$notify({ type: 'danger', message: '申请使用金额不能大于可用余额!' }); | ||||
return false; | return false; | ||||
}else{ | }else{ | ||||
@@ -693,57 +837,30 @@ | |||||
_this.projectForm.outId = _this.form.id | _this.projectForm.outId = _this.form.id | ||||
_this.$set(_this.projectForm, "ynType", '2'); | _this.$set(_this.projectForm, "ynType", '2'); | ||||
addProjectto(_this.projectForm).then(res => { | addProjectto(_this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | _this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
history.go(-1) | history.go(-1) | ||||
},2000) | },2000) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else if(_this.form.capitalExpenditureType==4){ | }else if(_this.form.capitalExpenditureType==4){ | ||||
_this.infoForm.transferId = _this.form.id | _this.infoForm.transferId = _this.form.id | ||||
addInfoto(_this.infoForm).then(res => { | addInfoto(_this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | _this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
history.go(-1) | history.go(-1) | ||||
},2000) | },2000) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.$toast.success('提交成功'); | _this.$toast.success('提交成功'); | ||||
setTimeout(function(){ | setTimeout(function(){ | ||||
history.go(-1) | history.go(-1) | ||||
},2000) | },2000) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
} | } | ||||
}) | }) | ||||
@@ -787,22 +904,7 @@ | |||||
if(idx3 == (_this.uploadFiles3.length-1)){ | if(idx3 == (_this.uploadFiles3.length-1)){ | ||||
if(_this.form.capitalExpenditureType==2){ | if(_this.form.capitalExpenditureType==2){ | ||||
addProjectto(_this.projectForm).then(res => { | addProjectto(_this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -815,12 +917,10 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
} else if(_this.form.capitalExpenditureType==4){ | } else if(_this.form.capitalExpenditureType==4){ | ||||
addInfoto(_this.infoForm).then(res => { | addInfoto(_this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -833,39 +933,9 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -878,7 +948,6 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
} | } | ||||
}) | }) | ||||
@@ -886,22 +955,7 @@ | |||||
}else{ | }else{ | ||||
if(_this.form.capitalExpenditureType==2){ | if(_this.form.capitalExpenditureType==2){ | ||||
addProjectto(_this.projectForm).then(res => { | addProjectto(_this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -914,12 +968,10 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
} else if(_this.form.capitalExpenditureType==4){ | } else if(_this.form.capitalExpenditureType==4){ | ||||
addInfoto(_this.infoForm).then(res => { | addInfoto(_this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -932,39 +984,9 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -977,7 +999,6 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -995,8 +1016,7 @@ | |||||
if(idx3 ==(_this.uploadFiles3.length-1)){ | if(idx3 ==(_this.uploadFiles3.length-1)){ | ||||
if(_this.form.capitalExpenditureType==2){ | if(_this.form.capitalExpenditureType==2){ | ||||
addProjectto(_this.projectForm).then(res => { | addProjectto(_this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1009,40 +1029,10 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
}) | }) | ||||
} else if(_this.form.capitalExpenditureType==4){ | } else if(_this.form.capitalExpenditureType==4){ | ||||
addInfoto(_this.infoForm).then(res => { | addInfoto(_this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1055,25 +1045,9 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1086,7 +1060,6 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
} | } | ||||
}) | }) | ||||
@@ -1094,8 +1067,7 @@ | |||||
}else{ | }else{ | ||||
if(_this.form.capitalExpenditureType==2){ | if(_this.form.capitalExpenditureType==2){ | ||||
addProjectto(_this.projectForm).then(res => { | addProjectto(_this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1108,40 +1080,10 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
}) | }) | ||||
} else if(_this.form.capitalExpenditureType==4){ | } else if(_this.form.capitalExpenditureType==4){ | ||||
addInfoto(_this.infoForm).then(res => { | addInfoto(_this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1154,11 +1096,9 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1171,21 +1111,6 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -1213,22 +1138,7 @@ | |||||
if(idx3 == (_this.uploadFiles3.length-1)){ | if(idx3 == (_this.uploadFiles3.length-1)){ | ||||
if(_this.form.capitalExpenditureType==2){ | if(_this.form.capitalExpenditureType==2){ | ||||
addProjectto(_this.projectForm).then(res => { | addProjectto(_this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1241,12 +1151,10 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
} else if(_this.form.capitalExpenditureType==4){ | } else if(_this.form.capitalExpenditureType==4){ | ||||
addInfoto(_this.infoForm).then(res => { | addInfoto(_this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1259,39 +1167,9 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1304,7 +1182,6 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
} | } | ||||
}) | }) | ||||
@@ -1312,22 +1189,7 @@ | |||||
}else{ | }else{ | ||||
if(_this.form.capitalExpenditureType==2){ | if(_this.form.capitalExpenditureType==2){ | ||||
addProjectto(_this.projectForm).then(res => { | addProjectto(_this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1340,12 +1202,10 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
} else if(_this.form.capitalExpenditureType==4){ | } else if(_this.form.capitalExpenditureType==4){ | ||||
addInfoto(_this.infoForm).then(res => { | addInfoto(_this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1358,39 +1218,9 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1403,7 +1233,6 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -1421,8 +1250,7 @@ | |||||
if(idx3 == (_this.uploadFiles3.length-1)){ | if(idx3 == (_this.uploadFiles3.length-1)){ | ||||
if(_this.form.capitalExpenditureType==2){ | if(_this.form.capitalExpenditureType==2){ | ||||
addProjectto(_this.projectForm).then(res => { | addProjectto(_this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1435,40 +1263,10 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
}) | }) | ||||
} else if(_this.form.capitalExpenditureType==4){ | } else if(_this.form.capitalExpenditureType==4){ | ||||
addInfoto(_this.infoForm).then(res => { | addInfoto(_this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1481,25 +1279,9 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1512,7 +1294,6 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
} | } | ||||
} | } | ||||
}) | }) | ||||
@@ -1520,8 +1301,7 @@ | |||||
}else{ | }else{ | ||||
if(this.form.capitalExpenditureType==2){ | if(this.form.capitalExpenditureType==2){ | ||||
addProjectto(this.projectForm).then(res => { | addProjectto(this.projectForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1534,40 +1314,10 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
}) | }) | ||||
} else if(this.form.capitalExpenditureType==4){ | } else if(this.form.capitalExpenditureType==4){ | ||||
addInfoto(this.infoForm).then(res => { | addInfoto(this.infoForm).then(res => { | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1580,11 +1330,9 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
} | |||||
}) | }) | ||||
}else{ | }else{ | ||||
if(_this.form.approvalMode === '1'){ | |||||
cashSubmit(_this.form.id).then(res => { | |||||
offlineCustomSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | _this.chargeItme.map((resD,b) => { | ||||
resD.cashId = _this.form.id | resD.cashId = _this.form.id | ||||
addCashdetail(resD).then((a,rD) => { | addCashdetail(resD).then((a,rD) => { | ||||
@@ -1597,21 +1345,6 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}) | }) | ||||
}else{ | |||||
offlineCashSubmit(_this.form.id).then(res => { | |||||
_this.chargeItme.map((resD,b) => { | |||||
resD.cashId = _this.form.id | |||||
addCashdetail(resD).then((a,rD) => { | |||||
if(b == (_this.chargeItme.length-1)){ | |||||
_this.$toast.success('提交成功'); | |||||
setTimeout(function(){ | |||||
history.go(-1) | |||||
},2000) | |||||
} | |||||
}) | |||||
}) | |||||
}) | |||||
} | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -2218,7 +1951,14 @@ | |||||
} | } | ||||
}, | }, | ||||
beforeRead1(file) { | beforeRead1(file) { | ||||
this.uploadFiles1.push(file.file); | |||||
let subIndex = file.file.name.lastIndexOf("."); | |||||
let ext = file.file.name.substring(subIndex + 1, file.file.name.length); | |||||
if(ext !== 'png' || ext !== 'jpg'){ | |||||
this.$set(file, "type", ext); | |||||
this.fileList1.splice(-1, 1); | |||||
this.fileList1.push(file); | |||||
this.uploadFiles1.push(file.file); | |||||
} | |||||
}, | }, | ||||
deleteFile1(file){ | deleteFile1(file){ | ||||
this.uploadFiles1.map((response,index) => { | this.uploadFiles1.map((response,index) => { | ||||
@@ -2232,7 +1972,14 @@ | |||||
} | } | ||||
}, | }, | ||||
beforeRead2(file) { | beforeRead2(file) { | ||||
this.uploadFiles2.push(file.file); | |||||
let subIndex = file.file.name.lastIndexOf("."); | |||||
let ext = file.file.name.substring(subIndex + 1, file.file.name.length); | |||||
if(ext !== 'png' || ext !== 'jpg'){ | |||||
this.$set(file, "type", ext); | |||||
this.fileList2.splice(-1, 1); | |||||
this.fileList2.push(file); | |||||
this.uploadFiles2.push(file.file); | |||||
} | |||||
}, | }, | ||||
deleteFile2(file){ | deleteFile2(file){ | ||||
this.uploadFiles2.map((response,index) => { | this.uploadFiles2.map((response,index) => { | ||||
@@ -2246,7 +1993,14 @@ | |||||
} | } | ||||
}, | }, | ||||
beforeRead3(file) { | beforeRead3(file) { | ||||
this.uploadFiles3.push(file.file); | |||||
let subIndex = file.file.name.lastIndexOf("."); | |||||
let ext = file.file.name.substring(subIndex + 1, file.file.name.length); | |||||
if(ext !== 'png' || ext !== 'jpg'){ | |||||
this.$set(file, "type", ext); | |||||
this.fileList3.splice(-1, 1); | |||||
this.fileList3.push(file); | |||||
this.uploadFiles3.push(file.file); | |||||
} | |||||
}, | }, | ||||
deleteFile3(file){ | deleteFile3(file){ | ||||
this.uploadFiles3.map((response,index) => { | this.uploadFiles3.map((response,index) => { | ||||
@@ -2269,7 +2023,9 @@ | |||||
attachmentList(oData1).then(res => { | attachmentList(oData1).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList1.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList1.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData2= { | let oData2= { | ||||
@@ -2281,7 +2037,9 @@ | |||||
attachmentList(oData2).then(res => { | attachmentList(oData2).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList2.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList2.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
let oData3= { | let oData3= { | ||||
@@ -2293,7 +2051,9 @@ | |||||
attachmentList(oData3).then(res => { | attachmentList(oData3).then(res => { | ||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | ||||
this.fileList3.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
let subIndex = r.fileName.lastIndexOf("."); | |||||
let ext = r.fileName.substring(subIndex + 1, r.fileName.length); | |||||
this.fileList3.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext}) | |||||
}) | }) | ||||
}) | }) | ||||
}, | }, | ||||
@@ -11,51 +11,41 @@ | |||||
</template> | </template> | ||||
</van-nav-bar> | </van-nav-bar> | ||||
<div class="main_box"> | <div class="main_box"> | ||||
<van-row v-if="processList.待申请!=2"> | |||||
<van-col span="4" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col> | |||||
<van-col span="20" class="textBlue">草稿</van-col> | |||||
</van-row> | |||||
<van-row v-if="processList.待申请==2"> | |||||
<van-col span="4" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col> | |||||
<van-col span="20" class="textBlue">已申请 | |||||
<van-row> | |||||
<van-col span="8" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">{{processList.申请人}}</van-col> | |||||
<van-col span="16" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">{{processList.申请时间}}</van-col> | |||||
</van-row> | |||||
</van-col> | |||||
</van-row> | |||||
<van-row v-if="processList.status==2" v-for="(item1,index,i) in processList.审批事项" :key="i"> | |||||
<van-col span="4" align="right"> | |||||
<p class="icon_jian" v-show="item1.approverStatus==1"><van-icon name="minus" size="14" /></p> | |||||
<p class="icon_jian blue" v-show="item1.approverStatus==2"><van-icon name="success" size="14" /></p> | |||||
<p class="icon_jian red" v-show="item1.approverStatus==3"><van-icon name="cross" size="14" /></p> | |||||
</van-col> | |||||
<van-col span="20"> | |||||
<van-row> | |||||
<van-col span="8" style="padding: 0;"> | |||||
<p v-show="item1.approverStatus == 1">{{item1.deptLabel}}</p> | |||||
<p v-show="item1.approverStatus == 2" class="textBlue">{{item1.deptLabel}}</p> | |||||
<p v-show="item1.approverStatus == 3" class="textRed">{{item1.deptLabel}}</p> | |||||
</van-col> | |||||
<van-col span="16" style="padding: 0;" > | |||||
<p v-show="item1.approverStatus == 1">{{item1.time}}</p> | |||||
<p v-show="item1.approverStatus == 2" class="textBlue">{{item1.time}}</p> | |||||
<p v-show="item1.approverStatus == 3" class="textRed">{{item1.time}}</p> | |||||
</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col span="16" style="padding: 0;" > | |||||
<p v-show="item1.approverStatus == 1">{{item1.assigneeName}}</p> | |||||
<p v-show="item1.approverStatus == 2" class="textBlue">{{item1.assigneeName}}</p> | |||||
<p v-show="item1.approverStatus == 3" class="textRed">{{item1.assigneeName}}</p> | |||||
</van-col> | |||||
<van-col span="8" style="padding: 0;"> | |||||
<p v-show="item1.approverStatus == 1">{{item1.comment}}</p> | |||||
<p v-show="item1.approverStatus == 2" class="textBlue">{{item1.comment}}</p> | |||||
<p v-show="item1.approverStatus == 3" class="textRed">{{item1.comment}}</p> | |||||
</van-col> | |||||
</van-row> | |||||
</van-col> | |||||
<van-row v-for="(item,index) in processList" :key="index"> | |||||
<van-divider content-position="center"><h4>批次号:{{index}}</h4></van-divider> | |||||
<van-row v-for="(item1,index,i) in item" :key="i"> | |||||
<van-col span="4" align="right"> | |||||
<p class="icon_jian" v-show="item1.auditStatus=='1'"><van-icon name="minus" size="14" /></p> | |||||
<p class="icon_jian blue" v-show="item1.auditStatus=='3'"><van-icon name="success" size="14" /></p> | |||||
<p class="icon_jian red" v-show="item1.auditStatus=='2'"><van-icon name="cross" size="14" /></p> | |||||
</van-col> | |||||
<van-col span="20"> | |||||
<van-row> | |||||
<van-col span="12" style="padding: 0;"> | |||||
<p v-show="item1.auditStatus == '1'">{{item1.actorName}}</p> | |||||
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.actorName}}</p> | |||||
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.actorName}}</p> | |||||
</van-col> | |||||
<van-col span="12" style="padding: 0;" > | |||||
<p v-show="item1.auditStatus == '1'">{{item1.auditTime}}</p> | |||||
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditTime}}</p> | |||||
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditTime}}</p> | |||||
</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col span="12" style="padding: 0;" > | |||||
<p v-show="item1.auditStatus == '1'">{{item1.auditBy}}</p> | |||||
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditBy}}</p> | |||||
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditBy}}</p> | |||||
</van-col> | |||||
<van-col span="12" style="padding: 0;"> | |||||
<p v-show="item1.auditStatus == '1'">{{item1.auditRemark}}</p> | |||||
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditRemark}}</p> | |||||
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditRemark}}</p> | |||||
</van-col> | |||||
</van-row> | |||||
</van-col> | |||||
</van-row> | |||||
</van-row> | </van-row> | ||||
<van-divider content-position="center" v-if="approvalTemplateDetailList.length>0"><h4>审批流程</h4></van-divider> | <van-divider content-position="center" v-if="approvalTemplateDetailList.length>0"><h4>审批流程</h4></van-divider> | ||||
<van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index,i) in approvalTemplateDetailList" :key="i"> | <van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index,i) in approvalTemplateDetailList" :key="i"> | ||||
@@ -110,11 +100,8 @@ export default { | |||||
//查询审批进程 | //查询审批进程 | ||||
getTransferProcess(id){ | getTransferProcess(id){ | ||||
getTransferProcess(id).then(res => { | getTransferProcess(id).then(res => { | ||||
this.processList = res.data.processSchedule | |||||
this.processList.乡镇审批时间 = this.processList.乡镇审批时间?this.format(this.processList.乡镇审批时间, "yyyy-MM-dd HH:mm:ss"):"" | |||||
this.processList.区县审批时间 = this.processList.区县审批时间?this.format(this.processList.区县审批时间, "yyyy-MM-dd HH:mm:ss"):"" | |||||
this.processList.支付状态时间 = this.processList.支付状态时间?this.format(this.processList.支付状态时间, "yyyy-MM-dd HH:mm:ss"):"" | |||||
this.processList.入账状态时间 = this.processList.入账状态时间?this.format(this.processList.入账状态时间, "yyyy-MM-dd HH:mm:ss"):"" | |||||
this.processList = res.data | |||||
console.info( this.processList); | |||||
}) | }) | ||||
}, | }, | ||||
handleUpdate(id) { | handleUpdate(id) { | ||||
@@ -122,7 +109,7 @@ export default { | |||||
this.form = response.data; | this.form = response.data; | ||||
this.processList = {} | this.processList = {} | ||||
if(this.form.auditStatus != 0){ | if(this.form.auditStatus != 0){ | ||||
this.getTransferProcess(this.$route.query.id); | |||||
this.getTransferProcess(id); | |||||
} | } | ||||
if(this.form.approvalMode == 1){ | if(this.form.approvalMode == 1){ | ||||
selectApprovalByTemplateId(this.form.approvalTemplateId).then(rs => { | selectApprovalByTemplateId(this.form.approvalTemplateId).then(rs => { | ||||
@@ -212,12 +199,4 @@ export default { | |||||
color: #878787; | color: #878787; | ||||
line-height: 22Px; | line-height: 22Px; | ||||
} | } | ||||
.van-row{ | |||||
.van-row{ | |||||
.van-col{ | |||||
padding: 5Px 0 0 0!important; | |||||
color: #878787; | |||||
} | |||||
} | |||||
} | |||||
</style> | </style> |
@@ -127,7 +127,7 @@ export default { | |||||
this.form = response.data; | this.form = response.data; | ||||
this.processList = {} | this.processList = {} | ||||
if(this.form.auditStatus != 0){ | if(this.form.auditStatus != 0){ | ||||
this.getTransferProcess1(this.$route.query.id); | |||||
this.getTransferProcess1(id); | |||||
} | } | ||||
if(this.form.approvalMode == 1){ | if(this.form.approvalMode == 1){ | ||||
selectApprovalByTemplateId(this.form.approvalTemplateId).then(rs => { | selectApprovalByTemplateId(this.form.approvalTemplateId).then(rs => { | ||||
@@ -26,71 +26,55 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<!--内容--> | <!--内容--> | ||||
<div style="width: 100vw;overflow-y: scroll;padding: 11px 0 0 11px;"> | |||||
<div class="center_box"> | |||||
<div class="vocher_name"> | |||||
<van-row class="head_m"> | |||||
<van-col :span="14" class="year_m"> | |||||
<div class="year_text">{{queryParams.startDate.substr(0,4)}}</div> | |||||
<div class="unit_m"> | |||||
<div class="ubs">月</div> | |||||
<div class="ubs">日</div> | |||||
</div> | |||||
</van-col> | |||||
<van-col :span="10" class="credential_m">凭证字</van-col> | |||||
</van-row> | |||||
<van-row class="head_m_s"> | |||||
<van-col :span="9">摘要</van-col> | |||||
<van-col :span="4">借方</van-col> | |||||
<van-col :span="4">贷方</van-col> | |||||
<van-col :span="3">方向</van-col> | |||||
<van-col :span="4">余额</van-col> | |||||
</van-row> | |||||
</div> | |||||
<div class="vocher_content"> | |||||
<div class="vocher_cmain"> | |||||
<div style="width: 20%;"> | |||||
<van-row class="vocher_mTitle" v-for="(item,index) in tableList" :key="index"> | |||||
<van-col :span="7">{{item.month}}</van-col> | |||||
<van-col :span="7">{{item.day}}</van-col> | |||||
<van-col :span="10"> | |||||
<div class="pz_tx" @click="subjectNameFun(item.voucherWordNum,item.voucherId)">{{item.voucherWordNum}}</div> | |||||
</van-col> | |||||
</van-row> | |||||
</div> | |||||
<div class="content_m"> | |||||
<van-row class="content_m_b" v-for="(item,index) in tableList" :key="index"> | |||||
<van-col :span="9" class="zy"> | |||||
<span>{{item.voucherSummary}}</span> | |||||
</van-col> | |||||
<van-col :span="4" class="je">{{item.jieAmount}}</van-col> | |||||
<van-col :span="4" class="je">{{item.daiAmount}}</van-col> | |||||
<van-col :span="3" class="km">{{item.balanceDirection}}</van-col> | |||||
<van-col :span="4" class="je">{{item.balance}}</van-col> | |||||
</van-row> | |||||
<!-- <van-row > | |||||
<van-col :span="9" class="zy">摘要</van-col> | |||||
<van-col :span="4" class="je">200.00</van-col> | |||||
<van-col :span="4" class="je">20000.00</van-col> | |||||
<van-col :span="3" class="km">借</van-col> | |||||
<van-col :span="4" class="je">200.00</van-col> | |||||
</van-row> --> | |||||
</div> | |||||
</div> | |||||
<div class="balance-main"> | |||||
<!-- <div class="main-title">--> | |||||
<!-- <div class="company">单位:{{ this.$store.getters.bookName }}</div>--> | |||||
<!-- <div class="nper">{{ accountingYear }}年{{ accountingMonth }}期</div>--> | |||||
<!-- <div class="amountOf">金额:元</div>--> | |||||
<!-- </div>--> | |||||
<div class="main-center"> | |||||
<div class="datagrid"> | |||||
<div class="header"> | |||||
<div class="xmmc">{{queryParams.startDate.substr(0,4)}}</div> | |||||
<div class="qj">凭证字</div> | |||||
<div class="zy">摘要</div> | |||||
<div class="dfje">借方</div> | |||||
<div class="qj">贷方</div> | |||||
<div class="zy">方向</div> | |||||
<div class="dfje">余额</div> | |||||
</div> | |||||
<!-- <div class="header header_sec">--> | |||||
<!-- <div class="xmmc">编码</div>--> | |||||
<!-- <div class="qj">名称</div>--> | |||||
<!-- <div class="zy">本期发生</div>--> | |||||
<!-- <div class="dfje">期末余额</div>--> | |||||
<!-- <div class="xmmc">科目</div>--> | |||||
<!-- <div class="qj">期初余额</div>--> | |||||
<!-- <div class="zy">本期发生</div>--> | |||||
<!-- <div class="dfje">期末余额</div>--> | |||||
<!-- </div>--> | |||||
<div class="mok_list"> | |||||
<ul class="list"> | |||||
<li class="header_sec" v-for="(item, index) in tableList" :key="index"> | |||||
<div class="xmmc" style="display: flex;justify-content: space-evenly;"><span>月:{{item.month}}</span><span>日:{{item.day==null?'无':item.day}}</span></div> | |||||
<div class="qj pz_tx" @click="subjectNameFun(item.voucherWordNum,item.voucherId)">{{item.voucherWordNum}}</div> | |||||
<div class="zy">{{item.voucherSummary}}</div> | |||||
<div class="dfje">{{item.jieAmount}}</div> | |||||
<div class="qj">{{item.daiAmount}}</div> | |||||
<div class="zy">{{item.balanceDirection}}</div> | |||||
<div class="dfje">{{item.balance}}</div> | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
</div> | </div> | ||||
</div> | |||||
</div> | </div> | ||||
</div> | |||||
<!--开始日期--> | <!--开始日期--> | ||||
<van-action-sheet v-model="dateObj.startVisbile" duration="0.2" > | <van-action-sheet v-model="dateObj.startVisbile" duration="0.2" > | ||||
<van-datetime-picker | <van-datetime-picker | ||||
v-model="dateObj.startDate" | v-model="dateObj.startDate" | ||||
title="选择日期" | title="选择日期" | ||||
:min-date="dateObj.minDate" | |||||
:max-date="dateObj.maxDate" | |||||
@confirm="startConfirm" | @confirm="startConfirm" | ||||
@cancel ="startCancel" | @cancel ="startCancel" | ||||
type="year-month" | type="year-month" | ||||
@@ -153,7 +137,7 @@ export default { | |||||
startVisbile:false, | startVisbile:false, | ||||
startDate: new Date(), | startDate: new Date(), | ||||
minDate:new Date(2018, 0, 1), | minDate:new Date(2018, 0, 1), | ||||
maxDate:new Date(2028, 5, 1), | |||||
maxDate:new Date(2018, 0, 1), | |||||
//结束日期-弹窗显隐 | //结束日期-弹窗显隐 | ||||
endVisbile:false, | endVisbile:false, | ||||
endDate:new Date(), | endDate:new Date(), | ||||
@@ -192,7 +176,8 @@ export default { | |||||
} | } | ||||
this.$set(this.queryParams, "startDate", currentDays); | this.$set(this.queryParams, "startDate", currentDays); | ||||
this.$set(this.queryParams, "endDate", currentDays); | this.$set(this.queryParams, "endDate", currentDays); | ||||
this.$set(this.dateObj, "maxDate", new Date(new Date(currentDays).getFullYear(),11)); | |||||
this.$set(this.dateObj, "minDate", new Date(currentDays)); | |||||
let dataArr = currentDays.split('-') | let dataArr = currentDays.split('-') | ||||
this.$set(this.dateObj, "startDate", new Date(dataArr[0], dataArr[1]-1), 1); | this.$set(this.dateObj, "startDate", new Date(dataArr[0], dataArr[1]-1), 1); | ||||
this.$set(this.dateObj, "endDate", new Date(dataArr[0], dataArr[1]-1), 1); | this.$set(this.dateObj, "endDate", new Date(dataArr[0], dataArr[1]-1), 1); | ||||
@@ -219,9 +204,12 @@ export default { | |||||
this.initPage() | this.initPage() | ||||
this.makeSubjectsTree(res.rows, resp.data); | this.makeSubjectsTree(res.rows, resp.data); | ||||
}else{ | |||||
this.subjectText = '暂无数据'; | |||||
} | |||||
}else{ | |||||
this.subjectText = '暂无数据'; | |||||
this.subjectsTree = []; //会计科目显示列表(树) | |||||
this.cascaderValue = ""; //科目选择 | |||||
this.initPage() | |||||
} | |||||
}); | }); | ||||
}); | }); | ||||
}, | }, | ||||
@@ -318,10 +306,15 @@ export default { | |||||
let years = this.format(value,'yyyy'); | let years = this.format(value,'yyyy'); | ||||
let months = this.format(value,'MM'); | let months = this.format(value,'MM'); | ||||
this.queryParams.startDate = years+'-'+months; | this.queryParams.startDate = years+'-'+months; | ||||
this.dateObj.startVisbile = false; | |||||
this.queryParams.endDate = years+'-'+months; | |||||
this.subjectYear = years; | |||||
this.dateObj.startVisbile = false; | |||||
this.initPage(); | |||||
const end = new Date(value.getFullYear(),11) //年份的最后一个月+1,就是次年的1月 | |||||
this.dateObj.minDate = value; | |||||
this.dateObj.maxDate = end; | |||||
this.initAxios(); | |||||
}, | }, | ||||
//弹窗-开始日期-取消 | //弹窗-开始日期-取消 | ||||
startCancel(){ | startCancel(){ | ||||
@@ -337,16 +330,185 @@ export default { | |||||
let years = this.format(value,'yyyy'); | let years = this.format(value,'yyyy'); | ||||
let months = this.format(value,'MM'); | let months = this.format(value,'MM'); | ||||
this.queryParams.endDate = years+'-'+months; | this.queryParams.endDate = years+'-'+months; | ||||
this.dateObj.endVisbile = false; | this.dateObj.endVisbile = false; | ||||
this.initPage(); | |||||
this.initAxios(); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
</script> | </script> | ||||
<style scoped lang="scss"> | <style scoped lang="scss"> | ||||
.balance-main { | |||||
background: #fff; | |||||
margin-top: 20px; | |||||
.main-title { | |||||
margin-bottom: 5PX; | |||||
padding: 0 10PX; | |||||
height: 33PX; | |||||
line-height: 33PX; | |||||
color: #333; | |||||
font-size: 13PX; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
.company { | |||||
} | |||||
.nper { | |||||
text-align: center; | |||||
} | |||||
.amountOf { | |||||
text-align: right; | |||||
} | |||||
} | |||||
.main-center { | |||||
// min-height: 404PX; | |||||
border: 1PX solid #CACBCC; | |||||
border-bottom: 0; | |||||
overflow-x: scroll; | |||||
.datagrid { | |||||
min-height: 100PX; | |||||
width: 250%; | |||||
.header { | |||||
background: #f8f8f9; | |||||
font-weight: bold; | |||||
display: flex; | |||||
color: #278dff; | |||||
} | |||||
.header_sec{ | |||||
div{ | |||||
width: 14.2%; | |||||
} | |||||
} | |||||
.kmbm, | |||||
.xmmc, | |||||
.qj, | |||||
.zy, | |||||
.jfje, | |||||
.dfje, | |||||
.fx, | |||||
.ye { | |||||
height: 29PX; | |||||
line-height: 29PX; | |||||
font-size: 13PX; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
border-right: 1PX solid #CACBCC; | |||||
text-align: center; | |||||
} | |||||
.xmmc { | |||||
width: 14.2%; | |||||
text-align: center; | |||||
padding-left: 10PX; | |||||
} | |||||
.qj { | |||||
width: 14.2%; | |||||
text-align: center; | |||||
padding-right: 10PX; | |||||
} | |||||
.zy { | |||||
width: 14.2%; | |||||
text-align: center; | |||||
padding-right: 10PX; | |||||
} | |||||
.dfje { | |||||
width: 14.2%; | |||||
text-align: center; | |||||
padding-left: 10PX; | |||||
} | |||||
.fx { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.ye { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
border-right: 0; | |||||
} | |||||
.mok_list { | |||||
display: block; | |||||
overflow-y: scroll; | |||||
height: calc(100vh - 230PX); | |||||
//background: url("~@/assets/images/report_line.png") repeat; | |||||
} | |||||
.list { | |||||
width: 100%; | |||||
} | |||||
ul { | |||||
margin: 0; | |||||
padding: 0; | |||||
li { | |||||
display: block; | |||||
overflow: hidden; | |||||
list-style: none; | |||||
&.header { | |||||
background: #f8f8f9; | |||||
font-weight: bold; | |||||
} | |||||
&.header_sec{ | |||||
div{ | |||||
width: 14.2%; | |||||
} | |||||
} | |||||
&:nth-child(even){ | |||||
background: #e9e9e9; | |||||
} | |||||
.pz_tx{ | |||||
color: #278dff; | |||||
} | |||||
.kmbm, | |||||
.xmmc, | |||||
.qj, | |||||
.zy, | |||||
.jfje, | |||||
.dfje, | |||||
.fx, | |||||
.ye { | |||||
height: 29PX; | |||||
line-height: 29PX; | |||||
float: left; | |||||
font-size: 13PX; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
border-right: 1PX solid #CACBCC; | |||||
text-align: center; | |||||
} | |||||
.xmmc { | |||||
width: 26%; | |||||
text-align: center; | |||||
padding-left: 10PX; | |||||
} | |||||
.qj { | |||||
width: 12%; | |||||
text-align: center; | |||||
padding-right: 10PX; | |||||
} | |||||
.zy { | |||||
width: 12%; | |||||
text-align: center; | |||||
padding-right: 10PX; | |||||
} | |||||
.dfje { | |||||
width: 26%; | |||||
text-align: center; | |||||
padding-left: 10PX; | |||||
} | |||||
.fx { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.ye { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
border-right: 0; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.home_wrapper{ | .home_wrapper{ | ||||
background: #e9e9e9; | background: #e9e9e9; | ||||
min-height: 100vh; | min-height: 100vh; | ||||
@@ -223,6 +223,7 @@ | |||||
background: #f8f8f9; | background: #f8f8f9; | ||||
font-weight: bold; | font-weight: bold; | ||||
display: flex; | display: flex; | ||||
color: #278dff; | |||||
} | } | ||||
.kmbm, | .kmbm, | ||||
.xmmc, | .xmmc, | ||||
@@ -291,6 +292,9 @@ | |||||
background: #f8f8f9; | background: #f8f8f9; | ||||
font-weight: bold; | font-weight: bold; | ||||
} | } | ||||
&:nth-child(even){ | |||||
background: #e9e9e9; | |||||
} | |||||
.kmbm, | .kmbm, | ||||
.xmmc, | .xmmc, | ||||
.qj, | .qj, | ||||
@@ -0,0 +1,293 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<!-- <van-nav-bar--> | |||||
<!-- left-arrow--> | |||||
<!-- fixed--> | |||||
<!-- placeholder--> | |||||
<!-- @click-left="$router.back(-1)"--> | |||||
<!-- @click-right="goAddLite()"--> | |||||
<!-- >--> | |||||
<!-- <template #title>--> | |||||
<!-- <p style="font-weight: bold;">宅基地申请</p>--> | |||||
<!-- </template>--> | |||||
<!-- <template #right>--> | |||||
<!-- <van-icon name="add" size="18"/>--> | |||||
<!-- </template>--> | |||||
<!-- </van-nav-bar>--> | |||||
<div class="header_main"> | |||||
宅基地申请 | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
<div class="add_btn" @click="goAddLite"></div> | |||||
</div> | |||||
<van-pull-refresh v-model="refreshing" @refresh="getList()"> | |||||
<van-list | |||||
v-model="loading" | |||||
:finished="finished" | |||||
finished-text="没有更多了" | |||||
@load="getList('+1')" | |||||
> | |||||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||||
<van-cell :title="item.sqhhzxm" center @click="viewItem(item)"> | |||||
<!-- <van-cell :title="item.ywh" :value="item.houseApplyStatusName" center @click="viewItem(item)">--> | |||||
<!-- <template #icon>--> | |||||
<!-- <van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" />--> | |||||
<!-- </template>--> | |||||
<!-- <template #label>--> | |||||
<!-- <p>{{item.projectName}}</p>--> | |||||
<!-- </template>--> | |||||
<template #icon> | |||||
<van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||||
</template> | |||||
<span v-if="item.auditStatus === '0'">{{ formatDict(houseApplyStatus, item.homeApplyStatus) }} </span> | |||||
<span v-else-if="item.auditStatus === '2' " style="color: #F56C6C">{{ formatDict(houseApplyStatus, item.homeApplyStatus)}} </span> | |||||
<span v-else style="color: #67c23a;">{{ formatDict(houseApplyStatus, item.homeApplyStatus) }} </span> | |||||
<template #label> | |||||
<p>{{item.projectName}}</p> | |||||
</template> | |||||
</van-cell> | |||||
<template #right> | |||||
<van-row> | |||||
<van-col> | |||||
<van-button square text="提交" type="primary" v-if="item.homeApplyStatus=='11' || item.homeApplyStatus=='31' || item.homeApplyStatus=='71'" @click="submitApplyProposer(item)" class="delete-button" /> | |||||
</van-col> | |||||
<van-col> | |||||
<van-button square text="修改" type="info" v-if="item.homeApplyStatus=='11' || item.homeApplyStatus=='31' || item.homeApplyStatus=='71'" :to="{name:'sunVillageInfoProposerLiteNew', query: {id:item.id, type: 'modify'}}" class="delete-button" /> | |||||
</van-col> | |||||
<van-col> | |||||
<van-button square text="删除" type="danger" v-if="item.homeApplyStatus=='11'" @click="deleteList(item.id,index)" class="delete-button" /> | |||||
</van-col> | |||||
</van-row> | |||||
</template> | |||||
</van-swipe-cell> | |||||
</van-list> | |||||
</van-pull-refresh> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { getList , removeList } from "@/api/sunVillage_info/homestead/application"; | |||||
import { customSubmitWLHT, submitStartWLHT, submitEndWLHT,} from "@/api/sunVillage_info/homestead/application"; | |||||
import {updateOpretion} from "@/api/sunVillage_info/homestead/application"; | |||||
import Cookies from "js-cookie"; | |||||
export default { | |||||
name: "applicationList", | |||||
data() { | |||||
return { | |||||
applicationList:[], | |||||
houseApplyStatus:[], | |||||
loading: false, | |||||
finished: false, | |||||
refreshing: false, | |||||
deptId:null, | |||||
idcard:null, | |||||
total: 0, | |||||
queryParams:{ | |||||
pageNum:1, | |||||
pageSize:10, | |||||
deptId:null, | |||||
orderByColumn:'createTime', | |||||
isAsc:'desc' | |||||
} | |||||
}; | |||||
}, | |||||
created() { | |||||
this.houseGetDicts("home_stage_status").then((response) => { | |||||
this.houseApplyStatus = response.data; | |||||
}); | |||||
let user = JSON.parse(Cookies.get('user')); | |||||
this.$set(this.queryParams, "deptId", user.deptId); | |||||
this.$set(this.queryParams, "sqhhzsfzh", user.idcard); | |||||
console.info( user) | |||||
this.getList(); | |||||
}, | |||||
methods: { | |||||
goAdd(){ | |||||
window.location = 'applicationAdd'; | |||||
}, | |||||
goAddLite(){ | |||||
//window.location = 'applicationAdd' | |||||
this.$router.push({name:'sunVillageInfoProposerLiteNew',query:{type:"add"}}) | |||||
}, | |||||
viewItem(row){ | |||||
let type = row.houseApplyStatus == '11' // 申请草稿 | |||||
|| row.houseApplyStatus == '1F' // 申请通过 | |||||
|| row.houseApplyStatus == '31' // 开工草稿 | |||||
|| row.houseApplyStatus == '3F' // 开工通过 | |||||
|| row.houseApplyStatus == '71' // 验收草稿 | |||||
? 'modify' : 'view'; | |||||
this.$router.push({name:'sunVillageInfoProposerLiteNew',query:{type:type,id:row.id}}) | |||||
}, | |||||
getList(target){ | |||||
let type = typeof (target); | |||||
console.log(type, target); | |||||
if(target && this.finished) | |||||
return; | |||||
if (target === 0) { | |||||
this.refreshing = true; | |||||
this.finished = true; | |||||
this.total = 0; | |||||
this.queryParams.pageNum = 1; | |||||
this.applicationList = []; | |||||
} | |||||
else if (type === 'number') | |||||
this.queryParams.pageNum = target; | |||||
else if (type === 'string') { | |||||
this.queryParams.pageNum = eval(this.queryParams.pageNum + target) | |||||
} | |||||
else | |||||
{ | |||||
this.refreshing = true; | |||||
this.finished = true; | |||||
this.total = 0; | |||||
this.queryParams.pageNum = 1; | |||||
this.applicationList = [] | |||||
} | |||||
getList(this.queryParams).then(response => { | |||||
console.log(response) | |||||
if (response.rows.length === 0) { | |||||
this.finished = true; | |||||
return; | |||||
} | |||||
for (var i = 0; i < response.rows.length; i++) { | |||||
/*var houseApplyStatusName = this.selectDictLabel(this.houseApplyStatus, response.rows[i].houseApplyStatus); | |||||
// if(response.rows[i].auditStatus !== '0' && response.rows[i].auditStatus === '2'){ | |||||
// houseApplyStatusName = houseApplyStatusName+ ' ● 已驳回'; | |||||
// } | |||||
response.rows[i].houseApplyStatusName = houseApplyStatusName;*/ | |||||
this.applicationList.push(response.rows[i]); | |||||
} | |||||
this.total += response.rows.length; | |||||
this.finished = this.total >= response.total; | |||||
}).finally(() => { | |||||
this.loading = false; | |||||
this.refreshing = false; | |||||
}); | |||||
}, | |||||
formatDict(dict, value) { | |||||
return this.selectDictLabel(dict, value); | |||||
}, | |||||
deleteList(id,index){ | |||||
this.$dialog.confirm({ | |||||
message: '您确认删除申请草稿?', | |||||
}) | |||||
.then(() => { | |||||
// on confirm | |||||
this.applicationList.splice(index,1) | |||||
removeList(id).then(res => { | |||||
if(res.code = 200){ | |||||
this.$toast.success('删除成功'); | |||||
} | |||||
}); | |||||
}) | |||||
.catch(() => { | |||||
// on cancel | |||||
}); | |||||
}, | |||||
refresh() { | |||||
this.getList(); return; | |||||
this.applicationList = []; | |||||
this.queryParams.pageNum = 1; | |||||
this.refreshing = true; | |||||
this.finished = false; | |||||
}, | |||||
submitApplyProposer(item) { | |||||
this.$router.push({name:'sunVillageInfoProposerLiteNew',query:{type:"edit",id:item.id}}) | |||||
// if(item.homeApplyStatus === '11'){ | |||||
// customSubmitWLHT(item.id).then((resp) => { | |||||
// this.$toast.success("提交成功"); | |||||
// this.refresh(); | |||||
// }).catch((e) => { | |||||
// this.$toast.fail("提交失败!"); | |||||
// }); | |||||
// }else if(item.homeApplyStatus === '31'){ | |||||
// submitStartWLHT(item.id).then((resp) => { | |||||
// this.$toast.success("提交成功"); | |||||
// this.refresh(); | |||||
// }).catch((e) => { | |||||
// this.$toast.fail("提交失败!"); | |||||
// }); | |||||
// }else if(item.homeApplyStatus === '71'){ | |||||
// submitEndWLHT(item.id).then((resp) => { | |||||
// this.$toast.success("提交成功"); | |||||
// this.refresh(); | |||||
// }).catch((e) => { | |||||
// this.$toast.fail("提交失败!"); | |||||
// }); | |||||
// } | |||||
}, | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.app-container { | |||||
.header_main{ | |||||
height: 116px; | |||||
background: url('../../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
font-size: 36px; | |||||
line-height: 116px; | |||||
text-align: center; | |||||
color: #fff; | |||||
position: relative; | |||||
.return_btn{ | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
.add_btn{ | |||||
width: 56.4px; | |||||
height: 40.8px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||||
background-size: 47px 34px; | |||||
position: absolute; | |||||
right: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
} | |||||
/deep/.van-list{ | |||||
padding: 0.2rem 3%; | |||||
} | |||||
/deep/.van-cell__title{ | |||||
flex: 0.7; | |||||
} | |||||
/deep/.van-cell__title span{ | |||||
font-family: Arial; | |||||
font-size: 0.4rem; | |||||
font-weight: normal; | |||||
} | |||||
/deep/.van-cell__value{ | |||||
flex: 0.3; | |||||
color: #1D6FE9; | |||||
font-weight: bold; | |||||
} | |||||
/deep/.van-swipe-cell{ | |||||
margin-bottom: 0.2rem; | |||||
border-radius: 0.2rem; | |||||
overflow: hidden; | |||||
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||||
} | |||||
/deep/van-ellipsis{ | |||||
font-weight: bold; | |||||
} | |||||
.van-row{ | |||||
height: 100%; | |||||
} | |||||
.van-col{ | |||||
height: 100%; | |||||
} | |||||
.delete-button { | |||||
height: 100%; | |||||
} | |||||
</style> |
@@ -4208,18 +4208,20 @@ export default { | |||||
} | } | ||||
else { | else { | ||||
console.info(this.deptId); | console.info(this.deptId); | ||||
getQueryLand(this.deptId).then((response) => { | |||||
if (response.code == 200) { | |||||
let InsertCode = response.data; | |||||
this.form.orgCode = InsertCode.orgCode; | |||||
this.tGeoOrganizationLat = InsertCode.lat; | |||||
this.tGeoOrganizationLng = InsertCode.lng; | |||||
if(func) | |||||
{ | |||||
func(this.tGeoOrganizationLng, this.tGeoOrganizationLat); | |||||
if(this.deptId != null){ | |||||
getQueryLand(this.deptId).then((response) => { | |||||
if (response.code == 200) { | |||||
let InsertCode = response.data; | |||||
this.form.orgCode = InsertCode.orgCode; | |||||
this.tGeoOrganizationLat = InsertCode.lat; | |||||
this.tGeoOrganizationLng = InsertCode.lng; | |||||
if(func) | |||||
{ | |||||
func(this.tGeoOrganizationLng, this.tGeoOrganizationLat); | |||||
} | |||||
} | } | ||||
} | |||||
}); | |||||
}); | |||||
} | |||||
} | } | ||||
}, | }, | ||||
validateBaseApplyFormBase() { | validateBaseApplyFormBase() { | ||||
@@ -50,7 +50,7 @@ | |||||
</div> | </div> | ||||
<div class="footer"> | <div class="footer"> | ||||
{{configValue == ""?'技术支持:北京农燊高科信息技术有限公司':configValue}} | |||||
{{configValue == ""?'技术支持:公司':configValue}} | |||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -59,7 +59,7 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div :class="{'footer':xsgsList.length < 9 , 'footer2':xsgsList.length > 8}"> | <div :class="{'footer':xsgsList.length < 9 , 'footer2':xsgsList.length > 8}"> | ||||
{{configValue == ""?'技术支持:北京农燊高科信息技术有限公司':configValue}} | |||||
{{configValue == ""?'技术支持:公司':configValue}} | |||||
</div> | </div> | ||||
<img src="../../assets/images/sunVillage_info/index_btn_green.png" class="fixed_btn" @click="goCode"> | <img src="../../assets/images/sunVillage_info/index_btn_green.png" class="fixed_btn" @click="goCode"> | ||||
</div> | </div> | ||||