| @@ -13,8 +13,8 @@ module.exports = { | |||||
| "/api": { | "/api": { | ||||
| // 请求的目标主机 | // 请求的目标主机 | ||||
| //target: 'http://116.255.223.226:8081/nsgk_test/', | //target: 'http://116.255.223.226:8081/nsgk_test/', | ||||
| //target: 'http://localhost:8080/', | |||||
| target: 'http://192.168.0.107:8080/', | |||||
| target: 'http://localhost:8080/', | |||||
| //target: 'http://192.168.0.107:8080/', | |||||
| changeOrigin: true, | changeOrigin: true, | ||||
| pathRewrite: { | pathRewrite: { | ||||
| '^/api': '' | '^/api': '' | ||||
| @@ -1660,7 +1660,6 @@ | |||||
| "version": "1.0.2", | "version": "1.0.2", | ||||
| "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", | ||||
| "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", | ||||
| "dev": true, | |||||
| "requires": { | "requires": { | ||||
| "function-bind": "^1.1.1", | "function-bind": "^1.1.1", | ||||
| "get-intrinsic": "^1.0.2" | "get-intrinsic": "^1.0.2" | ||||
| @@ -3315,7 +3314,6 @@ | |||||
| "version": "1.1.1", | "version": "1.1.1", | ||||
| "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1606860101281&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz", | "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1606860101281&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz", | ||||
| "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", | "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", | ||||
| "dev": true, | |||||
| "requires": { | "requires": { | ||||
| "is-arguments": "^1.0.4", | "is-arguments": "^1.0.4", | ||||
| "is-date-object": "^1.0.1", | "is-date-object": "^1.0.1", | ||||
| @@ -3334,7 +3332,6 @@ | |||||
| "version": "1.1.3", | "version": "1.1.3", | ||||
| "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", | ||||
| "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", | ||||
| "dev": true, | |||||
| "requires": { | "requires": { | ||||
| "object-keys": "^1.0.12" | "object-keys": "^1.0.12" | ||||
| } | } | ||||
| @@ -4271,6 +4268,11 @@ | |||||
| "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", | "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", | ||||
| "dev": true | "dev": true | ||||
| }, | }, | ||||
| "fast-diff": { | |||||
| "version": "1.1.2", | |||||
| "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", | |||||
| "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" | |||||
| }, | |||||
| "fast-json-stable-stringify": { | "fast-json-stable-stringify": { | ||||
| "version": "2.1.0", | "version": "2.1.0", | ||||
| "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | ||||
| @@ -4647,7 +4649,6 @@ | |||||
| "version": "1.1.1", | "version": "1.1.1", | ||||
| "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | ||||
| "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", | ||||
| "dev": true, | |||||
| "requires": { | "requires": { | ||||
| "function-bind": "^1.1.1", | "function-bind": "^1.1.1", | ||||
| "has": "^1.0.3", | "has": "^1.0.3", | ||||
| @@ -4870,8 +4871,7 @@ | |||||
| "has-symbols": { | "has-symbols": { | ||||
| "version": "1.0.2", | "version": "1.0.2", | ||||
| "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", | ||||
| "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", | |||||
| "dev": true | |||||
| "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" | |||||
| }, | }, | ||||
| "has-unicode": { | "has-unicode": { | ||||
| "version": "2.0.1", | "version": "2.0.1", | ||||
| @@ -5485,7 +5485,6 @@ | |||||
| "version": "1.1.0", | "version": "1.1.0", | ||||
| "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.1.0.tgz?cache=0&sync_timestamp=1607117404740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.0.tgz", | "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.1.0.tgz?cache=0&sync_timestamp=1607117404740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.0.tgz", | ||||
| "integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=", | "integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=", | ||||
| "dev": true, | |||||
| "requires": { | "requires": { | ||||
| "call-bind": "^1.0.0" | "call-bind": "^1.0.0" | ||||
| } | } | ||||
| @@ -5563,8 +5562,7 @@ | |||||
| "is-date-object": { | "is-date-object": { | ||||
| "version": "1.0.2", | "version": "1.0.2", | ||||
| "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", | ||||
| "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", | |||||
| "dev": true | |||||
| "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" | |||||
| }, | }, | ||||
| "is-descriptor": { | "is-descriptor": { | ||||
| "version": "0.1.6", | "version": "0.1.6", | ||||
| @@ -5711,7 +5709,6 @@ | |||||
| "version": "1.1.2", | "version": "1.1.2", | ||||
| "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", | ||||
| "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", | "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", | ||||
| "dev": true, | |||||
| "requires": { | "requires": { | ||||
| "call-bind": "^1.0.2", | "call-bind": "^1.0.2", | ||||
| "has-symbols": "^1.0.1" | "has-symbols": "^1.0.1" | ||||
| @@ -7044,7 +7041,6 @@ | |||||
| "version": "1.1.5", | "version": "1.1.5", | ||||
| "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857744782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", | "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857744782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", | ||||
| "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", | "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", | ||||
| "dev": true, | |||||
| "requires": { | "requires": { | ||||
| "call-bind": "^1.0.2", | "call-bind": "^1.0.2", | ||||
| "define-properties": "^1.1.3" | "define-properties": "^1.1.3" | ||||
| @@ -7053,8 +7049,7 @@ | |||||
| "object-keys": { | "object-keys": { | ||||
| "version": "1.1.1", | "version": "1.1.1", | ||||
| "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", | ||||
| "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", | |||||
| "dev": true | |||||
| "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" | |||||
| }, | }, | ||||
| "object-visit": { | "object-visit": { | ||||
| "version": "1.0.1", | "version": "1.0.1", | ||||
| @@ -7339,6 +7334,11 @@ | |||||
| "no-case": "^2.2.0" | "no-case": "^2.2.0" | ||||
| } | } | ||||
| }, | }, | ||||
| "parchment": { | |||||
| "version": "1.1.4", | |||||
| "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", | |||||
| "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" | |||||
| }, | |||||
| "parse-asn1": { | "parse-asn1": { | ||||
| "version": "5.1.6", | "version": "5.1.6", | ||||
| "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", | ||||
| @@ -10137,6 +10137,41 @@ | |||||
| "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", | "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", | ||||
| "dev": true | "dev": true | ||||
| }, | }, | ||||
| "quill": { | |||||
| "version": "1.3.7", | |||||
| "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", | |||||
| "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", | |||||
| "requires": { | |||||
| "clone": "^2.1.1", | |||||
| "deep-equal": "^1.0.1", | |||||
| "eventemitter3": "^2.0.3", | |||||
| "extend": "^3.0.2", | |||||
| "parchment": "^1.1.4", | |||||
| "quill-delta": "^3.6.2" | |||||
| }, | |||||
| "dependencies": { | |||||
| "clone": { | |||||
| "version": "2.1.2", | |||||
| "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", | |||||
| "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" | |||||
| }, | |||||
| "eventemitter3": { | |||||
| "version": "2.0.3", | |||||
| "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", | |||||
| "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" | |||||
| } | |||||
| } | |||||
| }, | |||||
| "quill-delta": { | |||||
| "version": "3.6.3", | |||||
| "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", | |||||
| "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", | |||||
| "requires": { | |||||
| "deep-equal": "^1.0.1", | |||||
| "extend": "^3.0.2", | |||||
| "fast-diff": "1.1.2" | |||||
| } | |||||
| }, | |||||
| "randomatic": { | "randomatic": { | ||||
| "version": "3.1.1", | "version": "3.1.1", | ||||
| "resolved": "https://registry.npm.taobao.org/randomatic/download/randomatic-3.1.1.tgz", | "resolved": "https://registry.npm.taobao.org/randomatic/download/randomatic-3.1.1.tgz", | ||||
| @@ -10424,7 +10459,6 @@ | |||||
| "version": "1.3.1", | "version": "1.3.1", | ||||
| "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725679574&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz", | "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725679574&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz", | ||||
| "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", | "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", | ||||
| "dev": true, | |||||
| "requires": { | "requires": { | ||||
| "call-bind": "^1.0.2", | "call-bind": "^1.0.2", | ||||
| "define-properties": "^1.1.3" | "define-properties": "^1.1.3" | ||||
| @@ -12410,6 +12444,15 @@ | |||||
| } | } | ||||
| } | } | ||||
| }, | }, | ||||
| "vue-quill-editor": { | |||||
| "version": "3.0.6", | |||||
| "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz", | |||||
| "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==", | |||||
| "requires": { | |||||
| "object-assign": "^4.1.1", | |||||
| "quill": "^1.3.4" | |||||
| } | |||||
| }, | |||||
| "vue-resize-sensor": { | "vue-resize-sensor": { | ||||
| "version": "2.0.0", | "version": "2.0.0", | ||||
| "resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz", | "resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz", | ||||
| @@ -24,6 +24,7 @@ | |||||
| "node-sass": "^5.0.0", | "node-sass": "^5.0.0", | ||||
| "nprogress": "^0.2.0", | "nprogress": "^0.2.0", | ||||
| "postcss-px2rem-exclude": "0.0.6", | "postcss-px2rem-exclude": "0.0.6", | ||||
| "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.12.8", | ||||
| @@ -33,6 +34,7 @@ | |||||
| "vue-esign": "^1.0.5", | "vue-esign": "^1.0.5", | ||||
| "vue-pdf": "^4.3.0", | "vue-pdf": "^4.3.0", | ||||
| "vue-qrcode-reader": "^3.1.0", | "vue-qrcode-reader": "^3.1.0", | ||||
| "vue-quill-editor": "^3.0.6", | |||||
| "vue-router": "^3.0.1", | "vue-router": "^3.0.1", | ||||
| "vue-search-tree": "^1.9.9", | "vue-search-tree": "^1.9.9", | ||||
| "vuex": "^3.6.2", | "vuex": "^3.6.2", | ||||
| @@ -354,3 +354,54 @@ export function updateTYinnongTransferFoStatus(data) { | |||||
| data: data | data: data | ||||
| }) | }) | ||||
| } | } | ||||
| // 查询重大事项申请列表 | |||||
| export function listMajorevent(query) { | |||||
| return request({ | |||||
| url: '/yinnong/majorevent/list', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| // 新增重大事项申请 | |||||
| export function addMajorevent(data) { | |||||
| return request({ | |||||
| url: '/yinnong/majorevent/add', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| // 提交审批 | |||||
| export function customSubmitMajorevent(id) { | |||||
| return request({ | |||||
| url: '/yinnong/majorevent/customSubmit/' + id, | |||||
| method: 'post' | |||||
| }) | |||||
| } | |||||
| // 查询重大事项申请详细 | |||||
| export function getMajorevent(id) { | |||||
| return request({ | |||||
| url: '/yinnong/majorevent/get/' + id, | |||||
| method: 'get' | |||||
| }) | |||||
| } | |||||
| // 修改重大事项申请 | |||||
| export function updateMajorevent(data) { | |||||
| return request({ | |||||
| url: '/yinnong/majorevent/edit', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| // 删除重大事项申请 | |||||
| export function delMajorevent(id) { | |||||
| return request({ | |||||
| url: '/yinnong/majorevent/remove/' + id, | |||||
| method: 'get' | |||||
| }) | |||||
| } | |||||
| @@ -0,0 +1,292 @@ | |||||
| <template> | |||||
| <div> | |||||
| <div class="editor" ref="editor" :style="styles"> | |||||
| </div> | |||||
| <!-- 图片上传组件辅助--> | |||||
| <vant-upload | |||||
| class="avatar-uploader" | |||||
| :action="serverUrl" | |||||
| :headers="header" | |||||
| name="file" | |||||
| :show-file-list="false" | |||||
| :on-success="uploadSuccess" | |||||
| :on-error="uploadError" | |||||
| :before-upload="beforeUpload"> | |||||
| </vant-upload> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import Quill from "quill"; | |||||
| import "quill/dist/quill.core.css"; | |||||
| import "quill/dist/quill.snow.css"; | |||||
| import "quill/dist/quill.bubble.css"; | |||||
| import { addQuillTitle } from './quill-title.js'; | |||||
| import { getToken } from '@/utils/auth'; | |||||
| const toolbarOptions =[ | |||||
| ["bold", "italic", "underline", "strike"], // 加粗 斜体 下划线 删除线 | |||||
| ["blockquote", "code-block"], // 引用 代码块 | |||||
| [{ list: "ordered" }, { list: "bullet" }], // 有序、无序列表 | |||||
| [{ indent: "-1" }, { indent: "+1" }], // 缩进 | |||||
| [{ size: ["small", false, "large", "huge"] }], // 字体大小 | |||||
| [{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题 | |||||
| [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色 | |||||
| [{ align: [] }], // 对齐方式 | |||||
| ["clean"], // 清除文本格式 | |||||
| ["link", "image", "video"] // 链接、图片、视频 | |||||
| ] | |||||
| export default { | |||||
| name: "Editor", | |||||
| props: { | |||||
| /* 编辑器的内容 */ | |||||
| value: { | |||||
| type: String, | |||||
| default: "", | |||||
| }, | |||||
| /* 高度 */ | |||||
| height: { | |||||
| type: Number, | |||||
| default: null, | |||||
| }, | |||||
| // 上传文件大小限制(MB) | |||||
| fileSize: { | |||||
| type: Number, | |||||
| default: 5, | |||||
| }, | |||||
| /* 类型(base64格式、url格式) */ | |||||
| type: { | |||||
| type: String, | |||||
| default: "url", | |||||
| }, | |||||
| /* 只读 */ | |||||
| readOnly: { | |||||
| type: Boolean, | |||||
| default: false, | |||||
| }, | |||||
| /* 最小高度 */ | |||||
| minHeight: { | |||||
| type: Number, | |||||
| default: null, | |||||
| }, | |||||
| }, | |||||
| data() { | |||||
| return { | |||||
| serverUrl: process.env.VUE_APP_BASE_API + "/common/upload", | |||||
| header: {Authorization: "Bearer " + getToken()}, | |||||
| Quill: null, | |||||
| quillUpdateImg: false, | |||||
| currentValue: "", | |||||
| options: { | |||||
| theme: "snow", | |||||
| bounds: document.body, | |||||
| debug: "warn", | |||||
| modules: { | |||||
| toolbar: { | |||||
| // 工具栏配置 | |||||
| container: toolbarOptions, | |||||
| handlers: { | |||||
| 'image': function (value) { | |||||
| if (value) { | |||||
| document.querySelector('.avatar-uploader input').click() | |||||
| } else { | |||||
| this.quill.format('image', false); | |||||
| } | |||||
| }, | |||||
| // 'video': function (value) { | |||||
| // if (value) { | |||||
| // document.querySelector('.avatar-uploader input').click() | |||||
| // } else { | |||||
| // this.quill.format('video', false); | |||||
| // } | |||||
| // }, | |||||
| } | |||||
| } | |||||
| }, | |||||
| placeholder: "请输入内容", | |||||
| readOnly: this.readOnly, | |||||
| }, | |||||
| }; | |||||
| }, | |||||
| computed: { | |||||
| styles() { | |||||
| let style = {}; | |||||
| if (this.minHeight) { | |||||
| style.minHeight = `${this.minHeight}px`; | |||||
| } | |||||
| if (this.height) { | |||||
| style.height = `${this.height}px`; | |||||
| } | |||||
| return style; | |||||
| }, | |||||
| }, | |||||
| watch: { | |||||
| value: { | |||||
| handler(val) { | |||||
| if (val !== this.currentValue) { | |||||
| this.currentValue = val === null ? "" : val; | |||||
| if (this.Quill) { | |||||
| this.Quill.pasteHTML(this.currentValue); | |||||
| } | |||||
| } | |||||
| }, | |||||
| immediate: true, | |||||
| }, | |||||
| }, | |||||
| mounted() { | |||||
| this.init(); | |||||
| }, | |||||
| beforeDestroy() { | |||||
| this.Quill = null; | |||||
| }, | |||||
| methods: { | |||||
| init() { | |||||
| const editor = this.$refs.editor; | |||||
| this.Quill = new Quill(editor, this.options); | |||||
| this.Quill.pasteHTML(this.currentValue); | |||||
| this.Quill.on("text-change", (delta, oldDelta, source) => { | |||||
| const html = this.$refs.editor.children[0].innerHTML; | |||||
| const text = this.Quill.getText(); | |||||
| const quill = this.Quill; | |||||
| this.currentValue = html; | |||||
| this.$emit("input", html); | |||||
| this.$emit("on-change", { html, text, quill }); | |||||
| }); | |||||
| this.Quill.on("text-change", (delta, oldDelta, source) => { | |||||
| this.$emit("on-text-change", delta, oldDelta, source); | |||||
| }); | |||||
| this.Quill.on("selection-change", (range, oldRange, source) => { | |||||
| this.$emit("on-selection-change", range, oldRange, source); | |||||
| }); | |||||
| this.Quill.on("editor-change", (eventName, ...args) => { | |||||
| this.$emit("on-editor-change", eventName, ...args); | |||||
| }); | |||||
| // 增加编辑器按钮title提示 | |||||
| addQuillTitle(); | |||||
| }, | |||||
| // 上传图片前 | |||||
| beforeUpload(file) { | |||||
| this.quillUpdateImg = true; | |||||
| // 校检文件大小 | |||||
| if (this.fileSize) { | |||||
| const isLt = file.size / 1024 / 1024 < this.fileSize; | |||||
| if (!isLt) { | |||||
| this.$message.error(`上传文件大小不能超过 ${this.fileSize} MB!`); | |||||
| return false; | |||||
| } | |||||
| } | |||||
| return true; | |||||
| }, | |||||
| // 上传图片成功 | |||||
| uploadSuccess(res, file) { | |||||
| // res为图片服务器返回的数据 | |||||
| // 获取富文本组件实例 | |||||
| let quill = this.Quill | |||||
| // 如果上传成功 | |||||
| if (res.code == 200 && res.url !== null) { | |||||
| // 获取光标所在位置 | |||||
| let length = quill.getSelection().index; | |||||
| // 插入图片 res.info为服务器返回的图片地址 | |||||
| quill.insertEmbed(length, 'image', this.$store.getters.baseRoutingUrl + res.fileName) | |||||
| // 调整光标到最后 | |||||
| quill.setSelection(length + 1) | |||||
| } else { | |||||
| this.$message.error(res.msg) | |||||
| } | |||||
| // loading动画消失 | |||||
| this.quillUpdateImg = false | |||||
| }, | |||||
| // 上传图片失败 | |||||
| uploadError(res, file) { | |||||
| // loading动画消失 | |||||
| this.quillUpdateImg = false | |||||
| this.$message.error('图片插入失败') | |||||
| } | |||||
| }, | |||||
| }; | |||||
| </script> | |||||
| <style> | |||||
| .editor, .ql-toolbar { | |||||
| white-space: pre-wrap!important; | |||||
| line-height: normal !important; | |||||
| } | |||||
| .quill-img { | |||||
| display: none; | |||||
| } | |||||
| .ql-snow .ql-tooltip[data-mode="link"]::before { | |||||
| content: "请输入链接地址:"; | |||||
| } | |||||
| .ql-snow .ql-tooltip.ql-editing a.ql-action::after { | |||||
| border-right: 0px; | |||||
| content: "保存"; | |||||
| padding-right: 0px; | |||||
| } | |||||
| .ql-snow .ql-tooltip[data-mode="video"]::before { | |||||
| content: "请输入视频地址:"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-size .ql-picker-label::before, | |||||
| .ql-snow .ql-picker.ql-size .ql-picker-item::before { | |||||
| content: "14px"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before, | |||||
| .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before { | |||||
| content: "10px"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before, | |||||
| .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before { | |||||
| content: "18px"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before, | |||||
| .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before { | |||||
| content: "32px"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-label::before, | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-item::before { | |||||
| content: "文本"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { | |||||
| content: "标题1"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { | |||||
| content: "标题2"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { | |||||
| content: "标题3"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { | |||||
| content: "标题4"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { | |||||
| content: "标题5"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, | |||||
| .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { | |||||
| content: "标题6"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-font .ql-picker-label::before, | |||||
| .ql-snow .ql-picker.ql-font .ql-picker-item::before { | |||||
| content: "标准字体"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before, | |||||
| .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before { | |||||
| content: "衬线字体"; | |||||
| } | |||||
| .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before, | |||||
| .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { | |||||
| content: "等宽字体"; | |||||
| } | |||||
| </style> | |||||
| @@ -0,0 +1,57 @@ | |||||
| const titleConfig = { | |||||
| 'ql-bold':'加粗', | |||||
| 'ql-color':'字体颜色', | |||||
| 'ql-font':'字体', | |||||
| 'ql-code':'插入代码', | |||||
| 'ql-italic':'斜体', | |||||
| 'ql-link':'添加链接', | |||||
| 'ql-background':'背景颜色', | |||||
| 'ql-size':'字体大小', | |||||
| 'ql-strike':'删除线', | |||||
| 'ql-script':'上标/下标', | |||||
| 'ql-underline':'下划线', | |||||
| 'ql-blockquote':'引用', | |||||
| 'ql-header':'标题', | |||||
| 'ql-indent':'缩进', | |||||
| 'ql-list':'列表', | |||||
| 'ql-align':'文本对齐', | |||||
| 'ql-direction':'文本方向', | |||||
| 'ql-code-block':'代码块', | |||||
| 'ql-formula':'公式', | |||||
| 'ql-image':'图片', | |||||
| 'ql-video':'视频', | |||||
| 'ql-clean':'清除字体样式' | |||||
| }; | |||||
| // 增加编辑器按钮title提示 | |||||
| export function addQuillTitle(){ | |||||
| const oToolBar = document.querySelector('.ql-toolbar'), | |||||
| aButton = oToolBar.querySelectorAll('button'), | |||||
| aSelect = oToolBar.querySelectorAll('select'), | |||||
| aSpan= oToolBar.querySelectorAll('span'); | |||||
| aButton.forEach((item)=>{ | |||||
| if(item.className === 'ql-script'){ | |||||
| item.value === 'sub' ? item.title = '下标': item.title = '上标'; | |||||
| }else if(item.className === 'ql-indent'){ | |||||
| item.value === '+1' ? item.title ='向右缩进': item.title ='向左缩进'; | |||||
| }else if(item.className === 'ql-list'){ | |||||
| item.value==='ordered' ? item.title='有序列表' : item.title='无序列表' | |||||
| }else if(item.className === 'ql-header'){ | |||||
| item.value === '1' ? item.title = '标题H1': item.title = '标题H2'; | |||||
| }else{ | |||||
| item.title = titleConfig[item.classList[0]]; | |||||
| } | |||||
| }); | |||||
| aSelect.forEach((item)=>{ | |||||
| if(item.className!='ql-color'&&item.className!='ql-background'){ | |||||
| item.parentNode.title = titleConfig[item.classList[0]]; | |||||
| } | |||||
| }); | |||||
| aSpan.forEach((item)=>{ | |||||
| if(item.classList[0]==='ql-color'){ | |||||
| item.title = titleConfig[item.classList[0]]; | |||||
| }else if(item.classList[0]==='ql-background'){ | |||||
| item.title = titleConfig[item.classList[0]]; | |||||
| } | |||||
| }); | |||||
| } | |||||
| @@ -1906,6 +1906,15 @@ export const constantRoutes = [ | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalList3'], resolve) | component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalList3'], resolve) | ||||
| }, | }, | ||||
| { | |||||
| path: '/yinnong/approvalList13', | |||||
| name: 'approvalList13', | |||||
| meta: { | |||||
| title: '重大事项', | |||||
| hidden: true, | |||||
| }, | |||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalList13'], resolve) | |||||
| }, | |||||
| { | { | ||||
| path: '/yinnong/approvalList4', | path: '/yinnong/approvalList4', | ||||
| name: 'approvalList4', | name: 'approvalList4', | ||||
| @@ -1978,6 +1987,15 @@ export const constantRoutes = [ | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalDetail3'], resolve) | component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalDetail3'], resolve) | ||||
| }, | }, | ||||
| { | |||||
| path: '/yinnong/approvalDetail13', | |||||
| name: 'approvalDetail13', | |||||
| meta: { | |||||
| title: '重大事项', | |||||
| hidden: true, | |||||
| }, | |||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalDetail13'], resolve) | |||||
| }, | |||||
| { | { | ||||
| path: '/yinnong/approvalDetail4', | path: '/yinnong/approvalDetail4', | ||||
| name: 'approvalDetail4', | name: 'approvalDetail4', | ||||
| @@ -2097,6 +2115,15 @@ export const constantRoutes = [ | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalAdd12'], resolve) | component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalAdd12'], resolve) | ||||
| }, | }, | ||||
| { | |||||
| path: '/yinnong/approvalAdd13', | |||||
| name: 'approvalAdd13', | |||||
| meta: { | |||||
| title: '添加重大事项', | |||||
| hidden: true, | |||||
| }, | |||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalAdd13'], resolve) | |||||
| }, | |||||
| { | { | ||||
| path: '/yinnong/approval/collectionAdd', | path: '/yinnong/approval/collectionAdd', | ||||
| name: 'approvalCollectionAdd', | name: 'approvalCollectionAdd', | ||||
| @@ -2188,6 +2215,15 @@ export const constantRoutes = [ | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalModify3'], resolve) | component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalModify3'], resolve) | ||||
| }, | }, | ||||
| { | |||||
| path: '/yinnong/approvalModify13', | |||||
| name: 'approvalModify13', | |||||
| meta: { | |||||
| title: '修改重大事项', | |||||
| hidden: true, | |||||
| }, | |||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalModify13'], resolve) | |||||
| }, | |||||
| { | { | ||||
| path: '/yinnong/approvalModify4', | path: '/yinnong/approvalModify4', | ||||
| name: 'approvalModify4', | name: 'approvalModify4', | ||||
| @@ -2260,6 +2296,15 @@ export const constantRoutes = [ | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalProcess3'], resolve) | component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalProcess3'], resolve) | ||||
| }, | }, | ||||
| { | |||||
| path: '/yinnong/approvalProcess13', | |||||
| name: 'approvalProcess13', | |||||
| meta: { | |||||
| title: '审批流程', | |||||
| hidden: true, | |||||
| }, | |||||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalProcess13'], resolve) | |||||
| }, | |||||
| { | { | ||||
| path: '/yinnong/collectionList', | path: '/yinnong/collectionList', | ||||
| name: 'collectionList', | name: 'collectionList', | ||||
| @@ -0,0 +1,311 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <van-nav-bar | |||||
| left-arrow | |||||
| fixed | |||||
| placeholder | |||||
| @click-left="$router.back(-1)" | |||||
| > | |||||
| <template #title> | |||||
| <p style="font-weight: bold;">添加重大事项</p> | |||||
| </template> | |||||
| <!-- <template #right>--> | |||||
| <!-- <van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>--> | |||||
| <!-- </template>--> | |||||
| </van-nav-bar> | |||||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||||
| <p class="main_title">基础信息</p> | |||||
| <div class="main_box"> | |||||
| <van-field | |||||
| label="事项名称" | |||||
| v-model="form.eventName" | |||||
| placeholder="请输入事项名称" | |||||
| input-align="right" | |||||
| label-width="auto" | |||||
| required | |||||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||||
| /> | |||||
| <van-field | |||||
| readonly | |||||
| clickable | |||||
| required | |||||
| :rules="[{ required: true , message:'请选择发生日期' }]" | |||||
| v-model="form.eventTime" | |||||
| label="发生日期" | |||||
| placeholder="请选择发生日期" | |||||
| @click="showlasj = true" | |||||
| input-align="right" | |||||
| right-icon="arrow-down" | |||||
| /> | |||||
| <van-popup v-model="showlasj" position="bottom"> | |||||
| <van-datetime-picker | |||||
| v-model="currentDate" | |||||
| type="date" | |||||
| title="选择年月日" | |||||
| :min-date="minDate" | |||||
| :max-date="maxDate" | |||||
| @confirm="onConfirmLasj" | |||||
| @cancel="showlasj = false" | |||||
| /> | |||||
| </van-popup> | |||||
| </div> | |||||
| <div class="main_box" style="margin-top: 10px;"> | |||||
| <van-field | |||||
| label="事项内容" | |||||
| input-align="right" | |||||
| label-width="auto" | |||||
| readonly | |||||
| /> | |||||
| <van-field | |||||
| v-model="form.eventContent" | |||||
| type="textarea" | |||||
| placeholder="请输入事项内容" | |||||
| rows="8" | |||||
| required | |||||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||||
| /> | |||||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||||
| </div> | |||||
| <div class="main_box" style="margin-top: 10px;"> | |||||
| <van-field | |||||
| label="备注" | |||||
| v-model="form.remark" | |||||
| type="textarea" | |||||
| placeholder="请输入备注" | |||||
| input-align="right" | |||||
| rows="3" | |||||
| label-width="auto" | |||||
| /> | |||||
| </div> | |||||
| <!-- <p class="main_title">上传附件</p>--> | |||||
| <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | |||||
| <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | |||||
| <!-- </div>--> | |||||
| <div style="padding: 16px 0;"> | |||||
| <van-row> | |||||
| <van-col span="6"></van-col> | |||||
| <van-col span="12" align="center"> | |||||
| <!-- @click="goUpdate"--> | |||||
| <van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||||
| </van-col> | |||||
| <!-- <van-col span="12" align="center">--> | |||||
| <!-- <!– @click="goAdd"–>--> | |||||
| <!-- <van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button>--> | |||||
| <!-- </van-col>--> | |||||
| </van-row> | |||||
| <div class="clear"></div> | |||||
| </div> | |||||
| </van-form> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import {addMajorevent , customSubmitMajorevent , attachmentList } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
| import request from '@/utils/request'; | |||||
| import Dialog from "vant/lib/dialog"; | |||||
| import Editor from '@/components/Editor'; | |||||
| export default { | |||||
| name: "approvalAdd3", | |||||
| components: { | |||||
| Editor, | |||||
| }, | |||||
| data() { | |||||
| return { | |||||
| title:false, | |||||
| showcapital:false, | |||||
| showpayee:false, | |||||
| showlasj:false, | |||||
| showbankType:false, | |||||
| showproject:false, | |||||
| showFundType:false, | |||||
| showpayer:false, | |||||
| buttonType:'a', | |||||
| minDate: new Date(2000, 1, 1), | |||||
| maxDate: new Date(2050, 12, 31), | |||||
| currentDate: new Date(), | |||||
| form:{}, | |||||
| fileList:[], | |||||
| capitalExpenditureType:'', | |||||
| payee:'', | |||||
| bankType:'', | |||||
| wfydlxDictionaries:[], | |||||
| jglxDictionaries:[], | |||||
| sysDictionaries:[], | |||||
| capitalExpenditureTypeOptions:[], | |||||
| bankTypeDictionaries:[], | |||||
| projectList:[], | |||||
| projectFundTypeOptions:[], | |||||
| projectFundTypeDictionaries:[], | |||||
| projectListShow:[], | |||||
| payerOptions:[], | |||||
| chargeItme:[], | |||||
| chargeItmeShow:[], | |||||
| payeeList:[], | |||||
| // 查询参数 | |||||
| queryParams: { | |||||
| transferType:"", | |||||
| orderByColumn: "id", | |||||
| isAsc: "desc", | |||||
| }, | |||||
| capitalExpenditureOpen:false, | |||||
| projectForm:{ | |||||
| projectId:null, | |||||
| projectName:null, | |||||
| projectContractor:null, | |||||
| projectAmount:null, | |||||
| projectBillNum:null, | |||||
| projectFundType:'1', | |||||
| outId:null, | |||||
| ynType:'2' | |||||
| }, | |||||
| projectFundType:'', | |||||
| uploadFiles:[], | |||||
| }; | |||||
| }, | |||||
| created() { | |||||
| this.reset(); | |||||
| }, | |||||
| methods: { | |||||
| // 表单重置 | |||||
| reset() { | |||||
| this.form = { | |||||
| id: null, | |||||
| upId: null, | |||||
| downId: null, | |||||
| orderId: null, | |||||
| cashierId: null, | |||||
| transferType: '3', | |||||
| accountType: '2', | |||||
| explainSituation: null, | |||||
| succeedAmount: null, | |||||
| payer: null, | |||||
| payerAccount: null, | |||||
| operatorCode: null, | |||||
| enterpriseCode: null, | |||||
| expenditureAmount: null, | |||||
| capitalExpenditureType: '1', | |||||
| remark: null, | |||||
| transferStatus: "0", | |||||
| auditStatus: "0", | |||||
| paymentState: "1", | |||||
| bankPriority: "0", | |||||
| clientPriority: "0" | |||||
| }; | |||||
| this.processList = {} | |||||
| this.projectForm={ | |||||
| projectId:null, | |||||
| projectName:null, | |||||
| projectContractor:null, | |||||
| projectAmount:null, | |||||
| projectBillNum:null, | |||||
| projectFundType:'1', | |||||
| outId:null, | |||||
| ynType:'1' | |||||
| } | |||||
| }, | |||||
| goFlow(){ | |||||
| if(this.form.approvalMode == '1' && this.form.approvalTemplateId != undefined && this.form.approvalTemplateId != "undefined"){ | |||||
| window.location='approvalProcess3?approvalTemplateId='+this.form.approvalTemplateId+'&approvalMode='+this.form.approvalMode; | |||||
| }else{ | |||||
| this.$notify({ type: 'danger', message: '无审批流程!' }); | |||||
| } | |||||
| }, | |||||
| getChange(){ | |||||
| addMajorevent(this.form).then(response => { | |||||
| this.$toast.success('保存成功'); | |||||
| setTimeout(function(){ | |||||
| history.go(-1) | |||||
| },2000) | |||||
| }); | |||||
| }, | |||||
| getError(e){ | |||||
| console.log(e) | |||||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||||
| }, | |||||
| onConfirmLasj(data){ | |||||
| this.form.eventTime = this.getNowFormatDate(data).substr(0,10); | |||||
| this.showlasj = false; | |||||
| }, | |||||
| beforeRead(file) { | |||||
| this.uploadFiles.push(file.file); | |||||
| }, | |||||
| deleteFile(file){ | |||||
| this.uploadFiles.map((response,index) => { | |||||
| if(file.file == response){ | |||||
| this.uploadFiles.splice(index,1) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| getFileList(){ | |||||
| let oData= { | |||||
| tableId: this.$route.query.id, | |||||
| tableName: "t_yinnong_transfer", | |||||
| bizPath: "upload", | |||||
| fileType: "0", | |||||
| } | |||||
| attachmentList(oData).then(res => { | |||||
| console.log(res) | |||||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||||
| res.rows.map(r => { | |||||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||||
| console.log(r) | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| goBack(){ | |||||
| window.history.go(-1) | |||||
| }, | |||||
| //删除家庭成员 | |||||
| deleteChargeItme(index){ | |||||
| this.chargeItme.splice(index,1) | |||||
| }, | |||||
| }, | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .app-container { | |||||
| padding: 2% 0; | |||||
| } | |||||
| .main_title{ | |||||
| font-size: 0.4rem; | |||||
| color: #1D6FE9; | |||||
| margin: 0.2rem 6%; | |||||
| position: relative; | |||||
| } | |||||
| .main_box{ | |||||
| width: 96%; | |||||
| margin: 0 auto; | |||||
| border-radius: 6px; | |||||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||||
| overflow: hidden; | |||||
| background-color: #FFF; | |||||
| } | |||||
| .submitButton{ | |||||
| width: 80%; | |||||
| margin: 0 auto; | |||||
| background-color: #1D6FE9; | |||||
| } | |||||
| .addFamily{ | |||||
| position: absolute; | |||||
| top: -2px; | |||||
| right: 0; | |||||
| border-radius: 50%; | |||||
| } | |||||
| .deleteFamily{ | |||||
| position: absolute; | |||||
| top: 0rem; | |||||
| right: 6%; | |||||
| z-index: 9; | |||||
| border-radius: 50%; | |||||
| } | |||||
| </style> | |||||
| @@ -0,0 +1,298 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <van-nav-bar | |||||
| left-arrow | |||||
| fixed | |||||
| placeholder | |||||
| @click-left="$router.back(-1)" | |||||
| > | |||||
| <template #title> | |||||
| <p style="font-weight: bold;">重大事项</p> | |||||
| </template> | |||||
| <template #right> | |||||
| <van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/> | |||||
| </template> | |||||
| </van-nav-bar> | |||||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first readonly> | |||||
| <p class="main_title">基础信息</p> | |||||
| <div class="main_box"> | |||||
| <van-field | |||||
| label="事项名称" | |||||
| v-model="form.eventName" | |||||
| placeholder="事项名称" | |||||
| input-align="right" | |||||
| label-width="auto" | |||||
| required | |||||
| :rules="[{ required: true , message:'事项名称' }]" | |||||
| /> | |||||
| <van-field | |||||
| readonly | |||||
| clickable | |||||
| required | |||||
| :rules="[{ required: true , message:'发生日期' }]" | |||||
| v-model="form.eventTime" | |||||
| label="发生日期" | |||||
| placeholder="发生日期" | |||||
| input-align="right" | |||||
| right-icon="arrow-down" | |||||
| /> | |||||
| <van-popup v-model="showlasj" position="bottom"> | |||||
| <van-datetime-picker | |||||
| v-model="currentDate" | |||||
| type="date" | |||||
| title="选择年月日" | |||||
| :min-date="minDate" | |||||
| :max-date="maxDate" | |||||
| @confirm="onConfirmLasj" | |||||
| @cancel="showlasj = false" | |||||
| /> | |||||
| </van-popup> | |||||
| </div> | |||||
| <div class="main_box" style="margin-top: 10px;"> | |||||
| <van-field | |||||
| label="事项内容" | |||||
| input-align="right" | |||||
| label-width="auto" | |||||
| readonly | |||||
| /> | |||||
| <van-field | |||||
| v-model="form.eventContent" | |||||
| type="textarea" | |||||
| placeholder="事项内容" | |||||
| rows="8" | |||||
| required | |||||
| :rules="[{ required: true , message:'事项内容' }]" | |||||
| /> | |||||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||||
| </div> | |||||
| <div class="main_box" style="margin-top: 10px;"> | |||||
| <van-field | |||||
| label="备注" | |||||
| v-model="form.remark" | |||||
| type="textarea" | |||||
| placeholder="备注" | |||||
| input-align="right" | |||||
| rows="3" | |||||
| label-width="auto" | |||||
| /> | |||||
| </div> | |||||
| <!-- <p class="main_title">上传附件</p>--> | |||||
| <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | |||||
| <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | |||||
| <!-- </div>--> | |||||
| </van-form> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
| import request from '@/utils/request'; | |||||
| import Dialog from "vant/lib/dialog"; | |||||
| import Editor from '@/components/Editor'; | |||||
| export default { | |||||
| name: "approvalAdd3", | |||||
| components: { | |||||
| Editor, | |||||
| }, | |||||
| data() { | |||||
| return { | |||||
| title:false, | |||||
| showcapital:false, | |||||
| showpayee:false, | |||||
| showlasj:false, | |||||
| showbankType:false, | |||||
| showproject:false, | |||||
| showFundType:false, | |||||
| showpayer:false, | |||||
| buttonType:'a', | |||||
| minDate: new Date(2000, 1, 1), | |||||
| maxDate: new Date(2050, 12, 31), | |||||
| currentDate: new Date(), | |||||
| form:{}, | |||||
| fileList:[], | |||||
| capitalExpenditureType:'', | |||||
| payee:'', | |||||
| bankType:'', | |||||
| wfydlxDictionaries:[], | |||||
| jglxDictionaries:[], | |||||
| sysDictionaries:[], | |||||
| capitalExpenditureTypeOptions:[], | |||||
| bankTypeDictionaries:[], | |||||
| projectList:[], | |||||
| projectFundTypeOptions:[], | |||||
| projectFundTypeDictionaries:[], | |||||
| projectListShow:[], | |||||
| payerOptions:[], | |||||
| chargeItme:[], | |||||
| chargeItmeShow:[], | |||||
| payeeList:[], | |||||
| // 查询参数 | |||||
| queryParams: { | |||||
| transferType:"", | |||||
| orderByColumn: "id", | |||||
| isAsc: "desc", | |||||
| }, | |||||
| capitalExpenditureOpen:false, | |||||
| projectForm:{ | |||||
| projectId:null, | |||||
| projectName:null, | |||||
| projectContractor:null, | |||||
| projectAmount:null, | |||||
| projectBillNum:null, | |||||
| projectFundType:'1', | |||||
| outId:null, | |||||
| ynType:'2' | |||||
| }, | |||||
| projectFundType:'', | |||||
| uploadFiles:[], | |||||
| }; | |||||
| }, | |||||
| created() { | |||||
| this.reset(); | |||||
| this.getForm(); | |||||
| }, | |||||
| methods: { | |||||
| // 表单重置 | |||||
| reset() { | |||||
| this.form = { | |||||
| id: null, | |||||
| upId: null, | |||||
| downId: null, | |||||
| orderId: null, | |||||
| cashierId: null, | |||||
| transferType: '3', | |||||
| accountType: '2', | |||||
| explainSituation: null, | |||||
| succeedAmount: null, | |||||
| payer: null, | |||||
| payerAccount: null, | |||||
| operatorCode: null, | |||||
| enterpriseCode: null, | |||||
| expenditureAmount: null, | |||||
| capitalExpenditureType: '1', | |||||
| remark: null, | |||||
| transferStatus: "0", | |||||
| auditStatus: "0", | |||||
| paymentState: "1", | |||||
| bankPriority: "0", | |||||
| clientPriority: "0" | |||||
| }; | |||||
| this.processList = {} | |||||
| this.projectForm={ | |||||
| projectId:null, | |||||
| projectName:null, | |||||
| projectContractor:null, | |||||
| projectAmount:null, | |||||
| projectBillNum:null, | |||||
| projectFundType:'1', | |||||
| outId:null, | |||||
| ynType:'1' | |||||
| } | |||||
| }, | |||||
| getForm(){ | |||||
| getMajorevent(this.$route.query.id).then(response => { | |||||
| this.form = response.data; | |||||
| }); | |||||
| }, | |||||
| goFlow(){ | |||||
| window.location='approvalProcess13?id='+this.form.instanceId; | |||||
| }, | |||||
| getChange(){ | |||||
| updateMajorevent(this.form).then(response => { | |||||
| this.$toast.success('修改成功'); | |||||
| setTimeout(function(){ | |||||
| history.go(-1) | |||||
| },2000) | |||||
| }); | |||||
| }, | |||||
| getError(e){ | |||||
| console.log(e) | |||||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||||
| }, | |||||
| onConfirmLasj(data){ | |||||
| this.form.eventTime = this.getNowFormatDate(data).substr(0,10); | |||||
| this.showlasj = false; | |||||
| }, | |||||
| beforeRead(file) { | |||||
| this.uploadFiles.push(file.file); | |||||
| }, | |||||
| deleteFile(file){ | |||||
| this.uploadFiles.map((response,index) => { | |||||
| if(file.file == response){ | |||||
| this.uploadFiles.splice(index,1) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| getFileList(){ | |||||
| let oData= { | |||||
| tableId: this.$route.query.id, | |||||
| tableName: "t_yinnong_transfer", | |||||
| bizPath: "upload", | |||||
| fileType: "0", | |||||
| } | |||||
| attachmentList(oData).then(res => { | |||||
| console.log(res) | |||||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||||
| res.rows.map(r => { | |||||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||||
| console.log(r) | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| goBack(){ | |||||
| window.history.go(-1) | |||||
| }, | |||||
| //删除家庭成员 | |||||
| deleteChargeItme(index){ | |||||
| this.chargeItme.splice(index,1) | |||||
| }, | |||||
| }, | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .app-container { | |||||
| padding: 2% 0; | |||||
| } | |||||
| .main_title{ | |||||
| font-size: 0.4rem; | |||||
| color: #1D6FE9; | |||||
| margin: 0.2rem 6%; | |||||
| position: relative; | |||||
| } | |||||
| .main_box{ | |||||
| width: 96%; | |||||
| margin: 0 auto; | |||||
| border-radius: 6px; | |||||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||||
| overflow: hidden; | |||||
| background-color: #FFF; | |||||
| } | |||||
| .submitButton{ | |||||
| width: 80%; | |||||
| margin: 0 auto; | |||||
| background-color: #1D6FE9; | |||||
| } | |||||
| .addFamily{ | |||||
| position: absolute; | |||||
| top: -2px; | |||||
| right: 0; | |||||
| border-radius: 50%; | |||||
| } | |||||
| .deleteFamily{ | |||||
| position: absolute; | |||||
| top: 0rem; | |||||
| right: 6%; | |||||
| z-index: 9; | |||||
| border-radius: 50%; | |||||
| } | |||||
| </style> | |||||
| @@ -0,0 +1,228 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <van-nav-bar | |||||
| left-arrow | |||||
| fixed | |||||
| placeholder | |||||
| @click-left="$router.back(-1)" | |||||
| @click-right="goAdd()" | |||||
| > | |||||
| <template #title> | |||||
| <p style="font-weight: bold;">重大事项</p> | |||||
| </template> | |||||
| <template #right> | |||||
| <van-icon name="add" size="18"/> | |||||
| </template> | |||||
| </van-nav-bar> | |||||
| <van-list | |||||
| v-model="loading" | |||||
| :finished="finished" | |||||
| finished-text="没有更多了" | |||||
| @load="getList" | |||||
| > | |||||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||||
| <van-cell :title="item.eventName" :value="item.auditStatus" center :to="{name:'approvalDetail13', query: {id:item.id}}"> | |||||
| <template #icon> | |||||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn3.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||||
| </template> | |||||
| <template #label> | |||||
| <p>{{item.eventTime}}</p> | |||||
| </template> | |||||
| </van-cell> | |||||
| <template #right> | |||||
| <van-row> | |||||
| <van-col> | |||||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify13', query: {id:item.id}}" class="delete-button" /> | |||||
| </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-col> | |||||
| <van-col> | |||||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||||
| </van-col> | |||||
| <van-col> | |||||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="附件" style="background-color: rgb(98,173,102,0.2);color: #62AD66;" @click="openLoader(item.id,index)" class="delete-button" /> | |||||
| </van-col> | |||||
| </van-row> | |||||
| </template> | |||||
| </van-swipe-cell> | |||||
| </van-list> | |||||
| <van-popup v-model="show" lock-scroll closeable position="top" :style="{ height: '30%' }" > | |||||
| <div style="padding: 0 13% 0 5%;"> | |||||
| <van-divider>附件</van-divider> | |||||
| <van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile1" multiple /> | |||||
| </div> | |||||
| </van-popup> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
| import {attachmentList, commonAttach, systemAttachment} from "@/api/sunVillage_info/fixedAssets"; | |||||
| import request from "@/utils/request"; | |||||
| export default { | |||||
| name: "approvalList3", | |||||
| data() { | |||||
| return { | |||||
| applicationList:[], | |||||
| auditStatusOptions:[], | |||||
| loading: false, | |||||
| finished: false, | |||||
| queryParams:{ | |||||
| pageNum:1, | |||||
| pageSize:10, | |||||
| transferType:"3", | |||||
| }, | |||||
| show: false, | |||||
| fileList:[], | |||||
| uploadFiles1:[], | |||||
| projectId:'', | |||||
| projectIndex:'' | |||||
| }; | |||||
| }, | |||||
| created() { | |||||
| this.getDicts("audit_status").then((response) => { | |||||
| this.auditStatusOptions = response.data; | |||||
| }); | |||||
| }, | |||||
| methods: { | |||||
| goAdd(){ | |||||
| window.location = 'approvalAdd13'; | |||||
| }, | |||||
| getList(){ | |||||
| setTimeout(() => { | |||||
| listMajorevent(this.queryParams).then(response => { | |||||
| console.log(response) | |||||
| for (var i = 0; i < response.rows.length; i++) { | |||||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||||
| this.applicationList.push(response.rows[i]); | |||||
| } | |||||
| if(this.applicationList.length >= response.total){ | |||||
| this.finished = true; | |||||
| return; | |||||
| }else{ | |||||
| this.loading = false; | |||||
| this.queryParams.pageNum += 1 ; | |||||
| } | |||||
| }); | |||||
| }, 1000); | |||||
| }, | |||||
| openLoader(id,index){ | |||||
| this.show = true; | |||||
| this.projectId = id; | |||||
| this.projectIndex = index; | |||||
| this.fileList = []; | |||||
| let oData1= { | |||||
| tableId: id, | |||||
| tableName: "t_yinnong_transfer", | |||||
| bizPath: "transfer", | |||||
| fileType: '', | |||||
| } | |||||
| attachmentList(oData1).then(res => { | |||||
| res.rows.map(r => { | |||||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| deleteList(id,index){ | |||||
| this.$dialog.confirm({ | |||||
| message: '您确认删除草稿?', | |||||
| }) | |||||
| .then(() => { | |||||
| // on confirm | |||||
| this.applicationList.splice(index,1) | |||||
| delMajorevent(id).then(res => { | |||||
| if(res.code = 200){ | |||||
| this.$toast.success('删除成功'); | |||||
| } | |||||
| }); | |||||
| }) | |||||
| .catch(() => { | |||||
| // on cancel | |||||
| }); | |||||
| }, | |||||
| onSubmit(id){ | |||||
| this.$dialog.confirm({ | |||||
| message: '您确认提交草稿?', | |||||
| }) | |||||
| .then(() => { | |||||
| customSubmitMajorevent(id).then(res => { | |||||
| this.$toast.success('提交成功'); | |||||
| setTimeout(function(){ | |||||
| history.go(0) | |||||
| },2000) | |||||
| }) | |||||
| }) | |||||
| .catch(() => { | |||||
| // on cancel | |||||
| }); | |||||
| }, | |||||
| afterRead(file) { | |||||
| // 此时可以自行将文件上传至服务器 | |||||
| this.uploadFiles1.push(file.file); | |||||
| let params1 = new FormData(); | |||||
| params1.append("tableId", this.projectId); | |||||
| params1.append("tableName", "t_yinnong_transfer"); | |||||
| params1.append("bizPath", "transfer"); | |||||
| params1.append("fileType", 'bookkeeping_type'); | |||||
| params1.append("file", file.file); | |||||
| commonAttach(params1).then((r1) => { | |||||
| this.$notify({ type: 'success', message: '上传成功' }); | |||||
| }) | |||||
| }, | |||||
| deleteFile1(file){ | |||||
| console.log(file) | |||||
| systemAttachment(file.id).then(res => { | |||||
| this.$notify({ type: 'success', message: '删除成功' }); | |||||
| }) | |||||
| }, | |||||
| }, | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .app-container { | |||||
| 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__label span{ | |||||
| color: #1D6FE9; | |||||
| font-weight: bold; | |||||
| i{ | |||||
| font-size: 0.2rem; | |||||
| } | |||||
| } | |||||
| /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> | |||||
| @@ -0,0 +1,314 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <van-nav-bar | |||||
| left-arrow | |||||
| fixed | |||||
| placeholder | |||||
| @click-left="$router.back(-1)" | |||||
| > | |||||
| <template #title> | |||||
| <p style="font-weight: bold;">修改重大事项</p> | |||||
| </template> | |||||
| </van-nav-bar> | |||||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||||
| <p class="main_title">基础信息</p> | |||||
| <div class="main_box"> | |||||
| <van-field | |||||
| label="事项名称" | |||||
| v-model="form.eventName" | |||||
| placeholder="请输入事项名称" | |||||
| input-align="right" | |||||
| label-width="auto" | |||||
| required | |||||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||||
| /> | |||||
| <van-field | |||||
| readonly | |||||
| clickable | |||||
| required | |||||
| :rules="[{ required: true , message:'请选择发生日期' }]" | |||||
| v-model="form.eventTime" | |||||
| label="发生日期" | |||||
| placeholder="请选择发生日期" | |||||
| @click="showlasj = true" | |||||
| input-align="right" | |||||
| right-icon="arrow-down" | |||||
| /> | |||||
| <van-popup v-model="showlasj" position="bottom"> | |||||
| <van-datetime-picker | |||||
| v-model="currentDate" | |||||
| type="date" | |||||
| title="选择年月日" | |||||
| :min-date="minDate" | |||||
| :max-date="maxDate" | |||||
| @confirm="onConfirmLasj" | |||||
| @cancel="showlasj = false" | |||||
| /> | |||||
| </van-popup> | |||||
| </div> | |||||
| <div class="main_box" style="margin-top: 10px;"> | |||||
| <van-field | |||||
| label="事项内容" | |||||
| input-align="right" | |||||
| label-width="auto" | |||||
| readonly | |||||
| /> | |||||
| <van-field | |||||
| v-model="form.eventContent" | |||||
| type="textarea" | |||||
| placeholder="请输入事项内容" | |||||
| rows="8" | |||||
| required | |||||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||||
| /> | |||||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||||
| </div> | |||||
| <div class="main_box" style="margin-top: 10px;"> | |||||
| <van-field | |||||
| label="备注" | |||||
| v-model="form.remark" | |||||
| type="textarea" | |||||
| placeholder="请输入备注" | |||||
| input-align="right" | |||||
| rows="3" | |||||
| label-width="auto" | |||||
| /> | |||||
| </div> | |||||
| <!-- <p class="main_title">上传附件</p>--> | |||||
| <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | |||||
| <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | |||||
| <!-- </div>--> | |||||
| <div style="padding: 16px 0;"> | |||||
| <van-row> | |||||
| <van-col span="6"></van-col> | |||||
| <van-col span="12" align="center"> | |||||
| <!-- @click="goUpdate"--> | |||||
| <van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||||
| </van-col> | |||||
| <!-- <van-col span="12" align="center">--> | |||||
| <!-- <!– @click="goAdd"–>--> | |||||
| <!-- <van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button>--> | |||||
| <!-- </van-col>--> | |||||
| </van-row> | |||||
| <div class="clear"></div> | |||||
| </div> | |||||
| </van-form> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
| import request from '@/utils/request'; | |||||
| import Dialog from "vant/lib/dialog"; | |||||
| import Editor from '@/components/Editor'; | |||||
| export default { | |||||
| name: "approvalAdd3", | |||||
| components: { | |||||
| Editor, | |||||
| }, | |||||
| data() { | |||||
| return { | |||||
| title:false, | |||||
| showcapital:false, | |||||
| showpayee:false, | |||||
| showlasj:false, | |||||
| showbankType:false, | |||||
| showproject:false, | |||||
| showFundType:false, | |||||
| showpayer:false, | |||||
| buttonType:'a', | |||||
| minDate: new Date(2000, 1, 1), | |||||
| maxDate: new Date(2050, 12, 31), | |||||
| currentDate: new Date(), | |||||
| form:{}, | |||||
| fileList:[], | |||||
| capitalExpenditureType:'', | |||||
| payee:'', | |||||
| bankType:'', | |||||
| wfydlxDictionaries:[], | |||||
| jglxDictionaries:[], | |||||
| sysDictionaries:[], | |||||
| capitalExpenditureTypeOptions:[], | |||||
| bankTypeDictionaries:[], | |||||
| projectList:[], | |||||
| projectFundTypeOptions:[], | |||||
| projectFundTypeDictionaries:[], | |||||
| projectListShow:[], | |||||
| payerOptions:[], | |||||
| chargeItme:[], | |||||
| chargeItmeShow:[], | |||||
| payeeList:[], | |||||
| // 查询参数 | |||||
| queryParams: { | |||||
| transferType:"", | |||||
| orderByColumn: "id", | |||||
| isAsc: "desc", | |||||
| }, | |||||
| capitalExpenditureOpen:false, | |||||
| projectForm:{ | |||||
| projectId:null, | |||||
| projectName:null, | |||||
| projectContractor:null, | |||||
| projectAmount:null, | |||||
| projectBillNum:null, | |||||
| projectFundType:'1', | |||||
| outId:null, | |||||
| ynType:'2' | |||||
| }, | |||||
| projectFundType:'', | |||||
| uploadFiles:[], | |||||
| }; | |||||
| }, | |||||
| created() { | |||||
| this.reset(); | |||||
| this.getForm(); | |||||
| }, | |||||
| methods: { | |||||
| // 表单重置 | |||||
| reset() { | |||||
| this.form = { | |||||
| id: null, | |||||
| upId: null, | |||||
| downId: null, | |||||
| orderId: null, | |||||
| cashierId: null, | |||||
| transferType: '3', | |||||
| accountType: '2', | |||||
| explainSituation: null, | |||||
| succeedAmount: null, | |||||
| payer: null, | |||||
| payerAccount: null, | |||||
| operatorCode: null, | |||||
| enterpriseCode: null, | |||||
| expenditureAmount: null, | |||||
| capitalExpenditureType: '1', | |||||
| remark: null, | |||||
| transferStatus: "0", | |||||
| auditStatus: "0", | |||||
| paymentState: "1", | |||||
| bankPriority: "0", | |||||
| clientPriority: "0" | |||||
| }; | |||||
| this.processList = {} | |||||
| this.projectForm={ | |||||
| projectId:null, | |||||
| projectName:null, | |||||
| projectContractor:null, | |||||
| projectAmount:null, | |||||
| projectBillNum:null, | |||||
| projectFundType:'1', | |||||
| outId:null, | |||||
| ynType:'1' | |||||
| } | |||||
| }, | |||||
| getForm(){ | |||||
| getMajorevent(this.$route.query.id).then(response => { | |||||
| this.form = response.data; | |||||
| }); | |||||
| }, | |||||
| goFlow(){ | |||||
| if(this.form.approvalMode == '1' && this.form.approvalTemplateId != undefined && this.form.approvalTemplateId != "undefined"){ | |||||
| window.location='approvalProcess3?approvalTemplateId='+this.form.approvalTemplateId+'&approvalMode='+this.form.approvalMode; | |||||
| }else{ | |||||
| this.$notify({ type: 'danger', message: '无审批流程!' }); | |||||
| } | |||||
| }, | |||||
| getChange(){ | |||||
| updateMajorevent(this.form).then(response => { | |||||
| this.$toast.success('修改成功'); | |||||
| setTimeout(function(){ | |||||
| history.go(-1) | |||||
| },2000) | |||||
| }); | |||||
| }, | |||||
| getError(e){ | |||||
| console.log(e) | |||||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||||
| }, | |||||
| onConfirmLasj(data){ | |||||
| this.form.eventTime = this.getNowFormatDate(data).substr(0,10); | |||||
| this.showlasj = false; | |||||
| }, | |||||
| beforeRead(file) { | |||||
| this.uploadFiles.push(file.file); | |||||
| }, | |||||
| deleteFile(file){ | |||||
| this.uploadFiles.map((response,index) => { | |||||
| if(file.file == response){ | |||||
| this.uploadFiles.splice(index,1) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| getFileList(){ | |||||
| let oData= { | |||||
| tableId: this.$route.query.id, | |||||
| tableName: "t_yinnong_transfer", | |||||
| bizPath: "upload", | |||||
| fileType: "0", | |||||
| } | |||||
| attachmentList(oData).then(res => { | |||||
| console.log(res) | |||||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||||
| res.rows.map(r => { | |||||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||||
| console.log(r) | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| goBack(){ | |||||
| window.history.go(-1) | |||||
| }, | |||||
| //删除家庭成员 | |||||
| deleteChargeItme(index){ | |||||
| this.chargeItme.splice(index,1) | |||||
| }, | |||||
| }, | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .app-container { | |||||
| padding: 2% 0; | |||||
| } | |||||
| .main_title{ | |||||
| font-size: 0.4rem; | |||||
| color: #1D6FE9; | |||||
| margin: 0.2rem 6%; | |||||
| position: relative; | |||||
| } | |||||
| .main_box{ | |||||
| width: 96%; | |||||
| margin: 0 auto; | |||||
| border-radius: 6px; | |||||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||||
| overflow: hidden; | |||||
| background-color: #FFF; | |||||
| } | |||||
| .submitButton{ | |||||
| width: 80%; | |||||
| margin: 0 auto; | |||||
| background-color: #1D6FE9; | |||||
| } | |||||
| .addFamily{ | |||||
| position: absolute; | |||||
| top: -2px; | |||||
| right: 0; | |||||
| border-radius: 50%; | |||||
| } | |||||
| .deleteFamily{ | |||||
| position: absolute; | |||||
| top: 0rem; | |||||
| right: 6%; | |||||
| z-index: 9; | |||||
| border-radius: 50%; | |||||
| } | |||||
| </style> | |||||
| @@ -0,0 +1,169 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <van-nav-bar | |||||
| left-arrow | |||||
| fixed | |||||
| placeholder | |||||
| @click-left="$router.back(-1)" | |||||
| > | |||||
| <template #title> | |||||
| <p style="font-weight: bold;">审批历史</p> | |||||
| </template> | |||||
| </van-nav-bar> | |||||
| <div class="main_box"> | |||||
| <van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index,i) in approvalTemplateDetailList" :key="i"> | |||||
| <van-col span="4" align="right"> | |||||
| <p class="icon_jian blue" ><van-icon name="minus" size="14" /></p> | |||||
| </van-col> | |||||
| <van-col span="20"> | |||||
| <van-row> | |||||
| <van-col span="9" style="padding: 0;"> | |||||
| <p>{{item1.activityName}}</p> | |||||
| </van-col> | |||||
| <van-col span="15" style="padding: 0;"> | |||||
| <p style="text-align: right;">{{item1.startTime}}</p> | |||||
| </van-col> | |||||
| </van-row> | |||||
| <van-row> | |||||
| <van-col span="9" style="padding: 0;"> | |||||
| <p>{{item1.assigneeName}}</p> | |||||
| </van-col> | |||||
| <van-col span="15" style="padding: 0;"> | |||||
| <p style="text-align: right;">{{item1.comment}}</p> | |||||
| </van-col> | |||||
| </van-row> | |||||
| </van-col> | |||||
| </van-row> | |||||
| </div> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import request from "@/utils/request"; | |||||
| export default { | |||||
| name: "approvalProcess", | |||||
| data() { | |||||
| return { | |||||
| processList:{}, | |||||
| form:{}, | |||||
| approvalTemplateDeptList:[], | |||||
| approvalTemplateDetailList:[] | |||||
| }; | |||||
| }, | |||||
| created() { | |||||
| this.getHistoryList(this.$route.query.id); | |||||
| }, | |||||
| methods: { | |||||
| getHistoryList(instanceId) { | |||||
| this.loading = true; | |||||
| return request({ | |||||
| url: "/activiti/process/listHistory", | |||||
| method: "post", | |||||
| data: { processInstanceId: instanceId }, | |||||
| }) | |||||
| .then((response) => { | |||||
| this.approvalTemplateDetailList = response.rows; | |||||
| this.approvalTemplateDetailList.forEach((row) => { | |||||
| row.startTime = this.format(row.startTime, "yyyy-MM-dd HH:mm:ss"); | |||||
| row.endTime = this.format(row.endTime, "yyyy-MM-dd HH:mm:ss"); | |||||
| row.durationInMillis = this.formatTotalDateSub( | |||||
| row.durationInMillis / 1000 | |||||
| ); | |||||
| }); | |||||
| this.total = response.total; | |||||
| this.loading = false; | |||||
| }) | |||||
| .then(() => {}); | |||||
| }, | |||||
| formatTotalDateSub (secondSub) { | |||||
| var days = Math.floor(secondSub / (24 * 3600)); // 计算出小时数 | |||||
| var leave1 = secondSub % (24*3600) ; // 计算天数后剩余的毫秒数 | |||||
| var hours = Math.floor(leave1 / 3600); // 计算相差分钟数 | |||||
| var leave2 = leave1 % (3600); // 计算小时数后剩余的毫秒数 | |||||
| var minutes = Math.floor(leave2 / 60); // 计算相差秒数 | |||||
| var leave3 = leave2 % 60; // 计算分钟数后剩余的毫秒数 | |||||
| var seconds = Math.round(leave3); | |||||
| return days + "天" + hours + "时" + minutes + "分" + seconds + '秒'; | |||||
| }, | |||||
| format(time, format) { | |||||
| var t = new Date(time); | |||||
| var tf = function (i) { return (i < 10 ? '0' : '') + i }; | |||||
| return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) { | |||||
| switch (a) { | |||||
| case 'yyyy': | |||||
| return tf(t.getFullYear()); | |||||
| break; | |||||
| case 'MM': | |||||
| return tf(t.getMonth() + 1); | |||||
| break; | |||||
| case 'mm': | |||||
| return tf(t.getMinutes()); | |||||
| break; | |||||
| case 'dd': | |||||
| return tf(t.getDate()); | |||||
| break; | |||||
| case 'HH': | |||||
| return tf(t.getHours()); | |||||
| break; | |||||
| case 'ss': | |||||
| return tf(t.getSeconds()); | |||||
| break; | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .app-container { | |||||
| padding: 0.2rem 0; | |||||
| } | |||||
| .main_box{ | |||||
| width: 96%; | |||||
| margin: 0 auto; | |||||
| border-radius: 6px; | |||||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||||
| overflow: hidden; | |||||
| background-color: #FFF; | |||||
| padding: 20Px 0; | |||||
| } | |||||
| .icon_jian{ | |||||
| background-color: #C9C9C9; | |||||
| display: inline-block; | |||||
| width: 20Px; | |||||
| height: 20Px; | |||||
| line-height: 24Px; | |||||
| text-align: center; | |||||
| border-radius: 50%; | |||||
| color: #FFF; | |||||
| } | |||||
| .blue{ | |||||
| background-color: #1D6FE9; | |||||
| } | |||||
| .red{ | |||||
| background-color: rgb(245, 108, 108); | |||||
| } | |||||
| .textBlue{ | |||||
| color: #1D6FE9!important; | |||||
| } | |||||
| .textRed{ | |||||
| color: rgb(245, 108, 108)!important; | |||||
| } | |||||
| .van-col{ | |||||
| padding: 10Px 10Px; | |||||
| } | |||||
| .van-col:nth-child(2){ | |||||
| font-size: 16Px; | |||||
| color: #878787; | |||||
| line-height: 22Px; | |||||
| } | |||||
| .van-row{ | |||||
| .van-row{ | |||||
| .van-col{ | |||||
| padding: 0 0 5Px 0!important; | |||||
| color: #878787; | |||||
| } | |||||
| } | |||||
| } | |||||
| </style> | |||||
| @@ -114,6 +114,12 @@ | |||||
| </div> | </div> | ||||
| <p style="margin-top: 5px;color: #666666;">开户行</p> | <p style="margin-top: 5px;color: #666666;">开户行</p> | ||||
| </van-grid-item> | </van-grid-item> | ||||
| <van-grid-item text="重大事项" :to="{name:'approvalList13'}" > | |||||
| <div class="icon" slot="default" style="background:#c568f5;" > | |||||
| <img src="../../../static/images/onlineHome/icon_Y3.png" alt /> | |||||
| </div> | |||||
| <p style="margin-top: 5px;color: #666666;">重大事项</p> | |||||
| </van-grid-item> | |||||
| </van-grid> | </van-grid> | ||||
| </van-row> | </van-row> | ||||
| <yinnongIndex></yinnongIndex> | <yinnongIndex></yinnongIndex> | ||||