bug修复,oss全部替换完成

20240205
yujialong 1 year ago
parent 5465512d8e
commit 57f4012635
  1. 323
      package-lock.json
  2. 1
      package.json
  3. 106
      src/components/quill/index.vue
  4. 15
      src/components/upload/config.js
  5. 150
      src/components/upload/index.vue
  6. 37
      src/components/upload/upload.js
  7. 207
      src/pages/manage/list/acceptanceDraft/invoice.vue
  8. 15
      src/pages/manage/list/personal/callDeposits/accountClosed.vue
  9. 202
      src/pages/manage/list/personal/callDeposits/openAccount.vue
  10. 3
      src/plugins/drag/index.js
  11. 15
      src/store/modules/system.js

323
package-lock.json generated

@ -1993,6 +1993,14 @@
"integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==",
"dev": true "dev": true
}, },
"agentkeepalive": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
"integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
"requires": {
"humanize-ms": "^1.2.1"
}
},
"ajv": { "ajv": {
"version": "6.10.2", "version": "6.10.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
@ -2015,6 +2023,78 @@
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ=="
}, },
"ali-oss": {
"version": "6.18.1",
"resolved": "https://registry.npmjs.org/ali-oss/-/ali-oss-6.18.1.tgz",
"integrity": "sha512-VsptD0jX3JNc3AjiLs5a9oTP0ArfT9IYhBuY6G/SpuY6LMuiwfqywrAosY65BlHKODAdYy8VWL6kmt0mO7BUGA==",
"requires": {
"address": "^1.2.2",
"agentkeepalive": "^3.4.1",
"bowser": "^1.6.0",
"copy-to": "^2.0.1",
"dateformat": "^2.0.0",
"debug": "^4.3.4",
"destroy": "^1.0.4",
"end-or-error": "^1.0.1",
"get-ready": "^1.0.0",
"humanize-ms": "^1.2.0",
"is-type-of": "^1.4.0",
"js-base64": "^2.5.2",
"jstoxml": "^2.0.0",
"merge-descriptors": "^1.0.1",
"mime": "^2.4.5",
"platform": "^1.3.1",
"pump": "^3.0.0",
"sdk-base": "^2.0.1",
"stream-http": "2.8.2",
"stream-wormhole": "^1.0.4",
"urllib": "2.41.0",
"utility": "^1.18.0",
"xml2js": "^0.6.2"
},
"dependencies": {
"address": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz",
"integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA=="
},
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
},
"js-base64": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
},
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"stream-http": {
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.2.tgz",
"integrity": "sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA==",
"requires": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
"readable-stream": "^2.3.6",
"to-arraybuffer": "^1.0.0",
"xtend": "^4.0.0"
}
}
}
},
"alphanum-sort": { "alphanum-sort": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
@ -2088,8 +2168,7 @@
"any-promise": { "any-promise": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
"dev": true
}, },
"anymatch": { "anymatch": {
"version": "2.0.0", "version": "2.0.0",
@ -2693,6 +2772,11 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true "dev": true
}, },
"bowser": {
"version": "1.9.4",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz",
"integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ=="
},
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -2849,8 +2933,7 @@
"builtin-status-codes": { "builtin-status-codes": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
"dev": true
}, },
"bytes": { "bytes": {
"version": "3.1.0", "version": "3.1.0",
@ -3445,8 +3528,7 @@
"content-type": { "content-type": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
"dev": true
}, },
"convert-source-map": { "convert-source-map": {
"version": "1.7.0", "version": "1.7.0",
@ -3488,6 +3570,11 @@
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
}, },
"copy-to": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz",
"integrity": "sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w=="
},
"copy-webpack-plugin": { "copy-webpack-plugin": {
"version": "4.6.0", "version": "4.6.0",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz",
@ -4183,6 +4270,14 @@
} }
} }
}, },
"default-user-agent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/default-user-agent/-/default-user-agent-1.0.0.tgz",
"integrity": "sha512-bDF7bg6OSNcSwFWPu4zYKpVkJZQYVrAANMYB8bc9Szem1D0yKdm4sa/rOCs2aC9+2GMqQ7KnwtZRvDhmLF0dXw==",
"requires": {
"os-name": "~1.0.3"
}
},
"defaults": { "defaults": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
@ -4320,8 +4415,7 @@
"destroy": { "destroy": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
"dev": true
}, },
"detect-file": { "detect-file": {
"version": "1.0.0", "version": "1.0.0",
@ -4360,6 +4454,11 @@
"randombytes": "^2.0.0" "randombytes": "^2.0.0"
} }
}, },
"digest-header": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/digest-header/-/digest-header-1.1.0.tgz",
"integrity": "sha512-glXVh42vz40yZb9Cq2oMOt70FIoWiv+vxNvdKdU8CwjLad25qHM3trLxhl9bVjdr6WaslIXhWpn0NO8T/67Qjg=="
},
"dir-glob": { "dir-glob": {
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
@ -4553,8 +4652,7 @@
"ee-first": { "ee-first": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
"dev": true
}, },
"ejs": { "ejs": {
"version": "2.7.4", "version": "2.7.4",
@ -4720,11 +4818,15 @@
"version": "1.4.4", "version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
"requires": { "requires": {
"once": "^1.4.0" "once": "^1.4.0"
} }
}, },
"end-or-error": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/end-or-error/-/end-or-error-1.0.1.tgz",
"integrity": "sha512-OclLMSug+k2A0JKuf494im25ANRBVW8qsjmwbgX7lQ8P82H21PQ1PWkoYwb9y5yMBS69BPlwtzdIFClo3+7kOQ=="
},
"enhanced-resolve": { "enhanced-resolve": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
@ -4817,8 +4919,7 @@
"escape-html": { "escape-html": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
"dev": true
}, },
"escape-string-regexp": { "escape-string-regexp": {
"version": "1.0.5", "version": "1.0.5",
@ -5378,6 +5479,23 @@
"mime-types": "^2.1.12" "mime-types": "^2.1.12"
} }
}, },
"formstream": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/formstream/-/formstream-1.3.1.tgz",
"integrity": "sha512-FkW++ub+VbE5dpwukJVDizNWhSgp8FhmhI65pF7BZSVStBqe6Wgxe2Z9/Vhsn7l7nXCPwP+G1cyYlX8VwWOf0g==",
"requires": {
"destroy": "^1.0.4",
"mime": "^2.5.2",
"pause-stream": "~0.0.11"
},
"dependencies": {
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
}
}
},
"forwarded": { "forwarded": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
@ -6061,6 +6179,11 @@
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
}, },
"get-ready": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/get-ready/-/get-ready-1.0.0.tgz",
"integrity": "sha512-mFXCZPJIlcYcth+N8267+mghfYN9h3EhsDa6JSnbA3Wrhh/XFpuowviFcsDeYZtKspQyWyJqfs4O6P8CHeTwzw=="
},
"get-stdin": { "get-stdin": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@ -7355,11 +7478,18 @@
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true "dev": true
}, },
"humanize-ms": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"requires": {
"ms": "^2.0.0"
}
},
"iconv-lite": { "iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"requires": { "requires": {
"safer-buffer": ">= 2.1.2 < 3" "safer-buffer": ">= 2.1.2 < 3"
} }
@ -7549,8 +7679,7 @@
"ip": { "ip": {
"version": "1.1.5", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
"dev": true
}, },
"ip-regex": { "ip-regex": {
"version": "2.1.0", "version": "2.1.0",
@ -7632,6 +7761,11 @@
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"dev": true "dev": true
}, },
"is-class-hotfix": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz",
"integrity": "sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ=="
},
"is-color-stop": { "is-color-stop": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
@ -7848,6 +7982,16 @@
"has-symbols": "^1.0.1" "has-symbols": "^1.0.1"
} }
}, },
"is-type-of": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/is-type-of/-/is-type-of-1.4.0.tgz",
"integrity": "sha512-EddYllaovi5ysMLMEN7yzHEKh8A850cZ7pykrY1aNRQGn/CDjRDE9qEWbIdt7xGEVJmjBXzU/fNnC4ABTm8tEQ==",
"requires": {
"core-util-is": "^1.0.2",
"is-class-hotfix": "~0.0.6",
"isstream": "~0.1.2"
}
},
"is-typedarray": { "is-typedarray": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@ -8021,6 +8165,11 @@
"verror": "1.10.0" "verror": "1.10.0"
} }
}, },
"jstoxml": {
"version": "2.2.9",
"resolved": "https://registry.npmjs.org/jstoxml/-/jstoxml-2.2.9.tgz",
"integrity": "sha512-OYWlK0j+roh+eyaMROlNbS5cd5R25Y+IUpdl7cNdB8HNrkgwQzIS7L9MegxOiWNBj9dQhA/yAxiMwCC5mwNoBw=="
},
"killable": { "killable": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@ -8593,8 +8742,7 @@
"merge-descriptors": { "merge-descriptors": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
"dev": true
}, },
"merge-source-map": { "merge-source-map": {
"version": "1.1.0", "version": "1.1.0",
@ -8840,7 +8988,6 @@
"version": "2.7.0", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
"dev": true,
"requires": { "requires": {
"any-promise": "^1.0.0", "any-promise": "^1.0.0",
"object-assign": "^4.0.1", "object-assign": "^4.0.1",
@ -9458,6 +9605,15 @@
"mem": "^4.0.0" "mem": "^4.0.0"
} }
}, },
"os-name": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz",
"integrity": "sha512-f5estLO2KN8vgtTRaILIgEGBoBrMnZ3JQ7W9TMZCnOIGwHe8TRGSpcagnWDo+Dfhd/z08k9Xe75hvciJJ8Qaew==",
"requires": {
"osx-release": "^1.0.0",
"win-release": "^1.0.0"
}
},
"os-tmpdir": { "os-tmpdir": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@ -9472,6 +9628,14 @@
"os-tmpdir": "^1.0.0" "os-tmpdir": "^1.0.0"
} }
}, },
"osx-release": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz",
"integrity": "sha512-ixCMMwnVxyHFQLQnINhmIpWqXIfS2YOXchwQrk+OFzmo6nDjQ0E4KXAyyUh0T0MZgV4bUhkRrAbVqlE4yLVq4A==",
"requires": {
"minimist": "^1.1.0"
}
},
"p-defer": { "p-defer": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
@ -9720,6 +9884,14 @@
} }
} }
}, },
"pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==",
"requires": {
"through": "~2.3"
}
},
"pbkdf2": { "pbkdf2": {
"version": "3.0.17", "version": "3.0.17",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
@ -9830,6 +10002,11 @@
"find-up": "^2.1.0" "find-up": "^2.1.0"
} }
}, },
"platform": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz",
"integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg=="
},
"plugin-error": { "plugin-error": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
@ -10643,7 +10820,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"requires": { "requires": {
"end-of-stream": "^1.1.0", "end-of-stream": "^1.1.0",
"once": "^1.3.1" "once": "^1.3.1"
@ -11644,8 +11820,7 @@
"sax": { "sax": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
"dev": true
}, },
"schart.js": { "schart.js": {
"version": "3.0.0", "version": "3.0.0",
@ -11682,6 +11857,14 @@
} }
} }
}, },
"sdk-base": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/sdk-base/-/sdk-base-2.0.1.tgz",
"integrity": "sha512-eeG26wRwhtwYuKGCDM3LixCaxY27Pa/5lK4rLKhQa7HBjJ3U3Y+f81MMZQRsDw/8SC2Dao/83yJTXJ8aULuN8Q==",
"requires": {
"get-ready": "~1.0.0"
}
},
"select-hose": { "select-hose": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@ -12339,8 +12522,7 @@
"statuses": { "statuses": {
"version": "1.5.0", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
"dev": true
}, },
"stdout-stream": { "stdout-stream": {
"version": "1.4.1", "version": "1.4.1",
@ -12400,6 +12582,11 @@
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
"dev": true "dev": true
}, },
"stream-wormhole": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/stream-wormhole/-/stream-wormhole-1.1.0.tgz",
"integrity": "sha512-gHFfL3px0Kctd6Po0M8TzEvt3De/xu6cnRrjlfYNhwbhLPLwigI2t1nc6jrzNuaYg5C4YF78PPFuQPzRiqn9ew=="
},
"strict-uri-encode": { "strict-uri-encode": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
@ -13063,7 +13250,6 @@
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
"integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
"dev": true,
"requires": { "requires": {
"any-promise": "^1.0.0" "any-promise": "^1.0.0"
} }
@ -13072,7 +13258,6 @@
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
"dev": true,
"requires": { "requires": {
"thenify": ">= 3.1.0 < 4" "thenify": ">= 3.1.0 < 4"
} }
@ -13162,8 +13347,7 @@
"to-arraybuffer": { "to-arraybuffer": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
"dev": true
}, },
"to-fast-properties": { "to-fast-properties": {
"version": "2.0.0", "version": "2.0.0",
@ -13337,6 +13521,24 @@
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
}, },
"unescape": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz",
"integrity": "sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==",
"requires": {
"extend-shallow": "^2.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"unicode-canonical-property-names-ecmascript": { "unicode-canonical-property-names-ecmascript": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
@ -13529,6 +13731,37 @@
"requires-port": "^1.0.0" "requires-port": "^1.0.0"
} }
}, },
"urllib": {
"version": "2.41.0",
"resolved": "https://registry.npmjs.org/urllib/-/urllib-2.41.0.tgz",
"integrity": "sha512-pNXdxEv52L67jahLT+/7QE+Fup1y2Gc6EdmrAhQ6OpQIC2rl14oWwv9hvk1GXOZqEnJNwRXHABuwgPOs1CtL7g==",
"requires": {
"any-promise": "^1.3.0",
"content-type": "^1.0.2",
"debug": "^2.6.9",
"default-user-agent": "^1.0.0",
"digest-header": "^1.0.0",
"ee-first": "~1.1.1",
"formstream": "^1.1.0",
"humanize-ms": "^1.2.0",
"iconv-lite": "^0.4.15",
"ip": "^1.1.5",
"pump": "^3.0.0",
"qs": "^6.4.0",
"statuses": "^1.3.1",
"utility": "^1.16.1"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
}
}
},
"use": { "use": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@ -13577,6 +13810,18 @@
"integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
"dev": true "dev": true
}, },
"utility": {
"version": "1.18.0",
"resolved": "https://registry.npmjs.org/utility/-/utility-1.18.0.tgz",
"integrity": "sha512-PYxZDA+6QtvRvm//++aGdmKG/cI07jNwbROz0Ql+VzFV1+Z0Dy55NI4zZ7RHc9KKpBePNFwoErqIuqQv/cjiTA==",
"requires": {
"copy-to": "^2.0.1",
"escape-html": "^1.0.3",
"mkdirp": "^0.5.1",
"mz": "^2.7.0",
"unescape": "^1.0.1"
}
},
"utils-merge": { "utils-merge": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@ -14296,6 +14541,14 @@
"string-width": "^1.0.2 || 2" "string-width": "^1.0.2 || 2"
} }
}, },
"win-release": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz",
"integrity": "sha512-iCRnKVvGxOQdsKhcQId2PXV1vV3J/sDPXKA4Oe9+Eti2nb2ESEsYHRYls/UjoUW3bIc5ZDO8dTH50A/5iVN+bw==",
"requires": {
"semver": "^5.0.1"
}
},
"worker-farm": { "worker-farm": {
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
@ -14409,6 +14662,20 @@
"async-limiter": "~1.0.0" "async-limiter": "~1.0.0"
} }
}, },
"xml2js": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
"integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
}
},
"xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
},
"xtend": { "xtend": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",

@ -9,6 +9,7 @@
}, },
"dependencies": { "dependencies": {
"@tailwindcss/postcss7-compat": "^2.2.7", "@tailwindcss/postcss7-compat": "^2.2.7",
"ali-oss": "^6.18.1",
"animate.css": "^4.1.1", "animate.css": "^4.1.1",
"autoprefixer": "^9.8.6", "autoprefixer": "^9.8.6",
"axios": "^0.18.1", "axios": "^0.18.1",

@ -1,22 +1,37 @@
<template> <template>
<div class="quill" :class="classes"> <div class="quill"
<div ref="editor" :style="styles" v-loading="loading"></div> :class="classes">
<div ref="editor"
:style="styles"
v-loading="loading"></div>
<el-upload :action="this.api.fileupload" :before-upload="beforeUpload" :on-success="editorUploadSuccess" style="display: none"> <Upload :max-size="1000"
<el-button class="editorUpload" size="small" type="primary">点击上传</el-button> :limit="100"
</el-upload> @beforeUpload="beforeUpload"
@onSuccess="editorUploadSuccess"
style="display: none">
<div slot="trigger">
<el-button :id="'editorUpload' + index"
type="primary">点击上传</el-button>
</div>
</Upload>
</div> </div>
</template> </template>
<script> <script>
import Quill from 'quill'; import Quill from 'quill';
import 'quill/dist/quill.core.css'; import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css'; import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css'; import 'quill/dist/quill.bubble.css';
import toolbarOptions from './options' import toolbarOptions from './options'
import Upload from '@/components/upload';
import Oss from '@/components/upload/upload.js'
export default { export default {
name: 'quill', name: 'quill',
components: {
Upload,
},
props: { props: {
value: { value: {
type: String, type: String,
@ -39,9 +54,15 @@
}, },
minHeight: { minHeight: {
type: Number type: Number
} },
//
index: {
type: Number,
default: 0
},
}, },
data () { data () {
const that = this
return { return {
Quill: null, Quill: null,
currentValue: '', currentValue: '',
@ -56,7 +77,7 @@
'image': function (value) { 'image': function (value) {
if (value) { if (value) {
// iview // iview
document.querySelector('.editorUpload').click() document.querySelector("#editorUpload" + that.index).click();
} else { } else {
this.Quill.format('image', false); this.Quill.format('image', false);
} }
@ -114,48 +135,71 @@
const editor = this.$refs.editor; const editor = this.$refs.editor;
// //
this.Quill = new Quill(editor, this.options); this.Quill = new Quill(editor, this.options);
const ins = this.Quill
// //
this.Quill.pasteHTML(this.currentValue); ins.pasteHTML(this.currentValue);
if(this.toTop){ if (this.toTop) {
this.$nextTick(() => { this.$nextTick(() => {
window.scrollTo(0,0) window.scrollTo(0, 0)
}) })
} }
// //
this.Quill.on('text-change', (delta, oldDelta, source) => { ins.on('text-change', (delta, oldDelta, source) => {
const html = this.$refs.editor.children[0].innerHTML; const html = this.$refs.editor.children[0].innerHTML;
const text = this.Quill.getText(); const text = ins.getText();
const quill = this.Quill; const quill = this.Quill;
// //
this.currentValue = html; this.currentValue = html;
// v-model.trim // v-model
this.$emit('input', html); this.$emit('input', html);
// //
this.$emit('on-change', { html, text, quill }); this.$emit('on-change', { html, text, quill });
}); });
// quill // quill
this.Quill.on('text-change', (delta, oldDelta, source) => { ins.on('text-change', (delta, oldDelta, source) => {
this.$emit('on-text-change', delta, oldDelta, source); this.$emit('on-text-change', delta, oldDelta, source);
}); });
this.Quill.on('selection-change', (range, oldRange, source) => { ins.on('selection-change', (range, oldRange, source) => {
this.$emit('on-selection-change', range, oldRange, source); this.$emit('on-selection-change', range, oldRange, source);
}); });
this.Quill.on('editor-change', (eventName, ...args) => { ins.on('editor-change', (eventName, ...args) => {
this.$emit('on-editor-change', eventName, ...args); this.$emit('on-editor-change', eventName, ...args);
}); });
//
ins.root.addEventListener('paste', evt => {
if (evt.clipboardData && evt.clipboardData.files && evt.clipboardData.files.length) {
evt.preventDefault();
//
[].forEach.call(evt.clipboardData.files, file => {
if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) {
return
}
// ossbase64
Oss.upload(file).then(res => {
var range = ins.getSelection()
if (range) {
//
ins.insertEmbed(range.index, 'image', res.url)
//
ins.setSelection(range.index + 1)
}
})
});
}
}, false)
}, },
beforeUpload(file){ beforeUpload (file) {
this.loading = true this.loading = true
}, },
editorUploadSuccess (res) { editorUploadSuccess (file) {
// //
let quill = this.Quill let quill = this.Quill
// //
if (res.data.filesResult.fileUrl) { if (file.url) {
// //
let length = quill.getSelection().index; let length = quill.getSelection().index;
// res // res
quill.insertEmbed(length, 'image', res.data.filesResult.fileUrl) quill.insertEmbed(length, 'image', file.url)
// //
quill.setSelection(length + 1) quill.setSelection(length + 1)
} else { } else {
@ -164,16 +208,16 @@
this.loading = false this.loading = false
}, },
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.quill-no-border{ .quill-no-border {
.ql-toolbar.ql-snow{ .ql-toolbar.ql-snow {
border: none; border: none;
border-bottom: 1px solid #e8eaec; border-bottom: 1px solid #e8eaec;
} }
.ql-container.ql-snow{ .ql-container.ql-snow {
border: none; border: none;
} }
} }
</style> </style>

@ -0,0 +1,15 @@
/**
* 阿里云oss配置
* */
export default {
// oss账号信息
config: {
region: 'oss-cn-shenzhen',
accessKeyId: 'LTAI4FzqQHnk4rozqLZ8jCNj',
accessKeySecret: 'mveW7B1OyFoKUkHm8WsxmrjHmkJWHq',
bucket: 'huoran'
},
// 上传成功url前置部分(成功回调没有返回url)
preUrl: 'https://huoran.oss-cn-shenzhen.aliyuncs.com/'
}

@ -0,0 +1,150 @@
<template>
<el-upload :disabled="uploading"
:before-upload="beforeUpload"
:on-remove="onRemove"
:on-error="uploadError"
:limit="limit"
action=""
:on-exceed="handleExceed"
:show-file-list="showFiles"
:file-list="fileList"
:http-request="handleRequest"
name="file">
<slot name="trigger">
<el-button size="small"
:loading="uploading">{{ uploading ? '正在上传' : '上传文件' }}</el-button>
</slot>
<div slot="tip"
class="el-upload__tip">
<el-progress v-if="uploading"
class="upload-progress"
:stroke-width="3"
:percentage="uploadProgress"></el-progress>
<slot name="tip">
<p>支持扩展名.rar .zip .doc .docx .pdf .jpg...</p>
</slot>
</div>
</el-upload>
</template>
<script>
import OSS from 'ali-oss'
import OssConfig from './config.js'
import Util from '@/libs/util'
export default {
props: {
//
limit: {
type: Number,
default: 1
},
// (: Mb)
maxSize: {
type: Number,
default: 10
},
//
showFileList: {
type: Boolean,
default: true
},
//
fileList: {
type: Array,
default: () => []
},
// fileList使fileListfalse
changeFileList: {
type: Boolean,
default: true
},
//
onRemove: {
type: Function,
default: new Function()
},
},
data () {
return {
client: null,
uploading: false,
uploadProgress: 0,
showFiles: this.showFileList
};
},
mounted () {
this.initOss()
},
methods: {
// oss
initOss () {
this.client = new OSS(OssConfig.config)
},
//
beforeUpload (file) {
const oversize = file.size / 1024 / 1024 < this.maxSize
if (!oversize) Util.warningMsg(`请上传小于${this.maxSize}MB的附件!`)
if (oversize) {
this.$emit('beforeUpload', file)
return true
} else {
return false
}
},
//
handleProgress (progress) {
this.uploadProgress = Number((progress * 100).toFixed(2))
},
//
async handleRequest ({ file }) {
try {
this.uploadProgress = 0
this.uploading = true
this.showFiles = false
// oss
const { name } = await this.client.multipartUpload(Date.now() + '.' + Util.getFileExt(file.name), file, {
progress: this.handleProgress
});
this.uploading = false
const url = OssConfig.preUrl + name
this.changeFileList && this.$emit('update:fileList', [
...this.fileList,
{
name: name,
url
}
])
this.showFiles = true
this.$emit('onSuccess', {
format: Util.getFileExt(file.name),
name: file.name,
url,
size: file.size,
})
} catch (error) { }
},
uploadError (err, file, fileList) {
this.$message({
message: "上传出错,请重试!",
type: "error",
center: true
})
},
beforeRemove (file, fileList) {
return this.$confirm(`确定移除 ${file.name}`);
},
handleExceed (files, fileList) {
Util.warningMsg(`当前限制选择 ${this.limit} 个文件,如需更换,请删除上一个文件再重新选择!`);
},
}
};
</script>
<style lang="scss" scoped>
/deep/.upload-progress {
max-width: 300px;
margin: 10px 0;
white-space: nowrap;
}
</style>

@ -0,0 +1,37 @@
// 阿里云oss上传
import OSS from 'ali-oss'
import OssConfig from './config'
import Util from '@/libs/util'
let client = null
// 初始化oss
const initOss = () => {
if (!client) client = new OSS(OssConfig.config)
}
export default {
// 上传文件
upload(file) {
initOss()
return new Promise(async (resolve, reject) => {
try {
// 上传到阿里云oss
const res = await client.multipartUpload(Date.now() + '.' + Util.getFileExt(file.name), file);
resolve({
format: Util.getFileExt(file.name),
name: file.name,
url: OssConfig.preUrl + res.name,
size: file.size,
})
} catch (error) {
reject()
}
})
},
// 删除文件(传完整url,不是没有https的name,因为很多接口没有存name,只存url,所以统一使用url)
async del(url) {
initOss()
await client.delete(url.replace(OssConfig.preUrl, ''));
}
}

@ -1,85 +1,170 @@
<template> <template>
<div class="wrap"> <div class="wrap">
<div class="wrap2"> <div class="wrap2">
<MyTitle :titleArr="['银行承兑汇票', '承兑汇票开票']"/> <MyTitle :titleArr="['银行承兑汇票', '承兑汇票开票']" />
<div class="body"> <div class="body">
<el-row :gutter="20"> <el-row :gutter="20">
<el-form ref="form" :model="form" label-width="140px" :rules="rules"> <el-form ref="form"
<el-col :span="10" :offset="1"> :model="form"
<el-form-item label="出票人账号" prop="accountNumber"> label-width="140px"
<el-input @blur="getBlur" :value="form.accountNumber" @input="val => checkHanzi(val, form, 'accountNumber')" ref="accountNumber"></el-input> :rules="rules">
<el-col :span="10"
:offset="1">
<el-form-item label="出票人账号"
prop="accountNumber">
<el-input @blur="getBlur"
:value="form.accountNumber"
@input="val => checkHanzi(val, form, 'accountNumber')"
ref="accountNumber"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="出票人行名" prop="accountTradeName"> <el-form-item label="出票人行名"
<el-input :value="form.accountTradeName" disabled @input="val => checkHanzi(val, form, 'accountTradeName')"></el-input> prop="accountTradeName">
<el-input :value="form.accountTradeName"
disabled
@input="val => checkHanzi(val, form, 'accountTradeName')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收款人账号" prop="collectionNumber"> <el-form-item label="收款人账号"
<el-input @blur="getBlur2" :value="form.collectionNumber" @input="val => checkHanzi(val, form, 'collectionNumber')" ref="collectionNumber"></el-input> prop="collectionNumber">
<el-input @blur="getBlur2"
:value="form.collectionNumber"
@input="val => checkHanzi(val, form, 'collectionNumber')"
ref="collectionNumber"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收款人行名" prop="collectionTradeName"> <el-form-item label="收款人行名"
<el-input :value="form.collectionTradeName" disabled @input="val => checkHanzi(val, form, 'collectionTradeName')" ref="collectionTradeName"></el-input> prop="collectionTradeName">
<el-input :value="form.collectionTradeName"
disabled
@input="val => checkHanzi(val, form, 'collectionTradeName')"
ref="collectionTradeName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="票据号码" prop="moneyOrderNumber"> <el-form-item label="票据号码"
<el-input :value="form.moneyOrderNumber" @input="val => checkHanzi(val, form, 'moneyOrderNumber')" ref="moneyOrderNumber"></el-input> prop="moneyOrderNumber">
<el-input :value="form.moneyOrderNumber"
@input="val => checkHanzi(val, form, 'moneyOrderNumber')"
ref="moneyOrderNumber"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="到期日期" prop="expireDate"> <el-form-item label="到期日期"
<el-input v-model.trim="form.expireDate" ref="expireDate"></el-input> prop="expireDate">
<el-date-picker v-model="form.expireDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="请选择到期日期">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="申请人证件类型" prop="ApplicantDocuments"> <el-form-item label="申请人证件类型"
<el-select v-model.trim="form.ApplicantDocuments" placeholder="请选择" ref="ApplicantDocuments"> prop="ApplicantDocuments">
<el-select v-model.trim="form.ApplicantDocuments"
placeholder="请选择"
ref="ApplicantDocuments">
<el-option value="身份证">身份证</el-option> <el-option value="身份证">身份证</el-option>
<el-option value="港澳台居民回乡证">港澳台居民回乡证</el-option> <el-option value="港澳台居民回乡证">港澳台居民回乡证</el-option>
<el-option value="护照">护照</el-option> <el-option value="护照">护照</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="币种" prop="currencyType"> <el-form-item label="币种"
<el-select v-model.trim="form.currencyType" placeholder="请选择" ref="currencyType"> prop="currencyType">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option> <el-select v-model.trim="form.currencyType"
placeholder="请选择"
ref="currencyType">
<el-option v-for="item in getSelectList.currencySelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="汇票费金额" prop="moneyOrderMoney"> <el-form-item label="汇票费金额"
<el-input :value="form.moneyOrderMoney" @input="val => ismoney(val, form, 'moneyOrderMoney')" ref="moneyOrderMoney"></el-input> prop="moneyOrderMoney">
<el-input :value="form.moneyOrderMoney"
@input="val => ismoney(val, form, 'moneyOrderMoney')"
ref="moneyOrderMoney"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" :offset="1"> <el-col :span="10"
<el-form-item label="出票人名称" prop="accountName"> :offset="1">
<el-input :value="form.accountName" @input="val => checkName(val, form, 'accountName')" ref="accountName"></el-input> <el-form-item label="出票人名称"
prop="accountName">
<el-input :value="form.accountName"
@input="val => checkName(val, form, 'accountName')"
ref="accountName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="出票行地址" prop="tradeAddress"> <el-form-item label="出票行地址"
<el-input v-model.trim="form.tradeAddress" ref="tradeAddress"></el-input> prop="tradeAddress">
<el-input v-model.trim="form.tradeAddress"
ref="tradeAddress"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收款人名称" prop="collectionName"> <el-form-item label="收款人名称"
<el-input :value="form.collectionName" @input="val => checkName(val, form, 'collectionName')" ref="collectionName"></el-input> prop="collectionName">
<el-input :value="form.collectionName"
@input="val => checkName(val, form, 'collectionName')"
ref="collectionName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="票据类型" prop="billType"> <el-form-item label="票据类型"
<el-select v-model.trim="form.billType" placeholder="请选择" ref="billType"> prop="billType">
<el-option v-for="item in getSelectList.billTypeSelect" :label="item.options" :value="item.itemId" :key="item.itemId" ></el-option> <el-select v-model.trim="form.billType"
placeholder="请选择"
ref="billType">
<el-option v-for="item in getSelectList.billTypeSelect"
:label="item.options"
:value="item.itemId"
:key="item.itemId"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="出票日期" prop="drawBillDate"> <el-form-item label="出票日期"
<el-input v-model.trim="form.drawBillDate" ref="drawBillDate"></el-input> prop="drawBillDate">
<el-date-picker v-model="form.drawBillDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="请选择出票日期">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="是否转让" prop="isTransfer"> <el-form-item label="是否转让"
<el-select v-model.trim="form.isTransfer" placeholder="请选择" ref="isTransfer"> prop="isTransfer">
<el-option v-for="item in getSelectList.isTranslate" :label="item.options" :value="item.itemId" :key="item.itemId" ></el-option> <el-select v-model.trim="form.isTransfer"
placeholder="请选择"
ref="isTransfer">
<el-option v-for="item in getSelectList.isTranslate"
:label="item.options"
:value="item.itemId"
:key="item.itemId"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="证件号码" prop="certificateNumber"> <el-form-item label="证件号码"
<el-input :value="form.certificateNumber" @input="val => checkHanzi(val, form, 'certificateNumber')" ref="certificateNumber"></el-input> prop="certificateNumber">
<el-input :value="form.certificateNumber"
@input="val => checkHanzi(val, form, 'certificateNumber')"
ref="certificateNumber"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="金额" prop="money"> <el-form-item label="金额"
<el-input :value="form.money" @input="val => ismoney(val, form, 'money')" ref="money"></el-input> prop="money">
<el-input :value="form.money"
@input="val => ismoney(val, form, 'money')"
ref="money"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手续费金额" prop="serviceCharge"> <el-form-item label="手续费金额"
<el-input :value="form.serviceCharge" @input="val => ismoney(val, form, 'serviceCharge')" ref="serviceCharge"></el-input> prop="serviceCharge">
<el-input :value="form.serviceCharge"
@input="val => ismoney(val, form, 'serviceCharge')"
ref="serviceCharge"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form> </el-form>
</el-row> </el-row>
</div> </div>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button> <el-button @click="submitForm"
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" :needAuth='true' /> type="primary"
class="submitBtn"
v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2"
:needAuth='true' />
</div> </div>
</div> </div>
@ -100,13 +185,13 @@ export default {
MyTitle, MyTitle,
MyDialog MyDialog
}, },
mixins: [ TipsBefore ], mixins: [TipsBefore],
data() { data () {
return { return {
// my-dialog // my-dialog
visible: false, visible: false,
moduleName, moduleName,
form:{ form: {
// //
accountNumber: '', // accountNumber: '', //
collectionNumber: '', // collectionNumber: '', //
@ -129,7 +214,7 @@ export default {
serviceCharge: '' // serviceCharge: '' //
}, },
formName:{ formName: {
// //
accountNumber: '出票人账号', // accountNumber: '出票人账号', //
collectionNumber: '收款人账号', // collectionNumber: '收款人账号', //
@ -335,31 +420,31 @@ export default {
submited: 0 submited: 0
} }
}, },
created() { created () {
// //
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374' const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374'
// //
autoPlay2(parentId, this.form, this.myTable2, this.myTable) autoPlay2(parentId, this.form, this.myTable2, this.myTable)
if(this.form.moneyOrderNumber) { if (this.form.moneyOrderNumber) {
this.form.moneyOrderNumber = (this.form.moneyOrderNumber+'').padStart(8, 0) this.form.moneyOrderNumber = (this.form.moneyOrderNumber + '').padStart(8, 0)
} }
// //
this.form.moneyOrderMoney = '6.89' this.form.moneyOrderMoney = '6.89'
this.form.serviceCharge = '5.89' this.form.serviceCharge = '5.89'
}, },
mounted() { mounted () {
this.$refs.accountNumber.focus() this.$refs.accountNumber.focus()
}, },
methods: { methods: {
// //
// myValidateelement-uivalidate // myValidateelement-uivalidate
submitForm(){ submitForm () {
if (this.submited) return this.$message.error('已提交!') if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => { this.$refs.form.validate(myValidate(() => {
this.visible = true this.visible = true
}, this.$refs)); }, this.$refs));
}, },
submitForm2() { submitForm2 () {
// //
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374' const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374'
// //
@ -367,14 +452,14 @@ export default {
this.submited = 1 this.submited = 1
}, },
// //
getBlur() { getBlur () {
if(this.form.accountNumber) { if (this.form.accountNumber) {
this.form.accountTradeName = '商业银行' this.form.accountTradeName = '商业银行'
} }
}, },
// //
getBlur2() { getBlur2 () {
if(this.form.collectionNumber) { if (this.form.collectionNumber) {
this.form.collectionTradeName = '中交商业银行' this.form.collectionTradeName = '中交商业银行'
} }
}, },
@ -389,13 +474,13 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.wrap{ .wrap {
width: 100%; width: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: auto; overflow: auto;
padding: 24px 0 24px 24px; padding: 24px 0 24px 24px;
.body{ .body {
margin-top: 50px; margin-top: 50px;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;

@ -190,7 +190,7 @@
</template> </template>
<script> <script>
import { ratePattern, vercustomer } from '@/utils/verify.js' import { ratePattern, vercustomer } from '@/utils/verify.js'
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, messageIdCard, messageCard, messagePassword, inputListen } from '@/utils/utilFunction.js' import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, messageIdCard, messageCard, messagePassword, inputListen, getNowDate } from '@/utils/utilFunction.js'
import { mapMutations, mapGetters } from 'vuex' import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore' import NeedBefore from '@/components/needBefore'
@ -408,9 +408,8 @@ export default {
this.form.currency = currency this.form.currency = currency
this.form.goldLogo = goldLogo this.form.goldLogo = goldLogo
this.form.voucherNumber = voucherNumber this.form.voucherNumber = voucherNumber
this.form.payMoney = payMoney this.form.payMoney = totalMoney
this.form.voucherType = voucherType this.form.voucherType = voucherType
// this.form.idNumber =
} }
if (sessionStorage.getItem('nomCallDepositClosedCard2')) { if (sessionStorage.getItem('nomCallDepositClosedCard2')) {
@ -454,6 +453,7 @@ export default {
} }
const { noticeType, depositNumber, capital, interest, totalMoney, idNumber, const { noticeType, depositNumber, capital, interest, totalMoney, idNumber,
peopleNumber, userName, currency, goldLogo, voucherNumber, payMoney, voucherType, money } = this.dataFlow peopleNumber, userName, currency, goldLogo, voucherNumber, payMoney, voucherType, money } = this.dataFlow
console.log("🚀 ~ file: accountClosed.vue:458 ~ getDataBlur ~ dataFlow:", this.dataFlow, sessionStorage.getItem('callDeposits/openAccount'))
this.form.certificateType = 83 this.form.certificateType = 83
this.form.voucherType = 123 this.form.voucherType = 123
this.form.noticeType = noticeType this.form.noticeType = noticeType
@ -470,8 +470,15 @@ export default {
this.form.currency = currency this.form.currency = currency
this.form.goldLogo = goldLogo this.form.goldLogo = goldLogo
// this.form.voucherNumber = voucherNumber // this.form.voucherNumber = voucherNumber
this.form.payMoney = payMoney this.form.payMoney = totalMoney
this.form.voucherType = voucherType this.form.voucherType = voucherType
let openData = sessionStorage.getItem('callDeposits/openAccount')
if (openData) {
openData = JSON.parse(openData)
this.form.breathDate = openData.createDate
} else {
this.form.breathDate = getNowDate()
}
}, },
popUp (text) { popUp (text) {
// this.$store.commit('system/changePop',{show:true,text, id: '302'}) // this.$store.commit('system/changePop',{show:true,text, id: '302'})

@ -1,88 +1,161 @@
// //
<template> <template>
<div class="body"> <div class="body">
<el-row :gutter="20" style="margin: 0"> <el-row :gutter="20"
<el-form ref="form" :model="form" label-width="120px" :rules="rules"> style="margin: 0">
<el-col :span="10" :offset="1"> <el-form ref="form"
<el-form-item label="证件类型" prop="certificateType"> :model="form"
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType"> label-width="120px"
<el-option label="身份证" :value="83"> </el-option> :rules="rules">
<el-col :span="10"
:offset="1">
<el-form-item label="证件类型"
prop="certificateType">
<el-select v-model.trim="form.certificateType"
placeholder="请选择"
ref="certificateType">
<el-option label="身份证"
:value="83"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="客户号" prop="clientNumber"> <el-form-item label="客户号"
<el-input :value="form.clientNumber" disabled @input="(val) => checkHanzi(val, form, 'clientNumber')" ref="clientNumber"></el-input> prop="clientNumber">
<el-input :value="form.clientNumber"
disabled
@input="(val) => checkHanzi(val, form, 'clientNumber')"
ref="clientNumber"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="币种" prop="currency"> <el-form-item label="币种"
<el-select v-model.trim="form.currency" disabled placeholder="请选择" ref="currency"> prop="currency">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option> <el-select v-model.trim="form.currency"
disabled
placeholder="请选择"
ref="currency">
<el-option v-for="item in getSelectList.currencySelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="凭证类型" prop="voucherType"> <el-form-item label="凭证类型"
<el-select disabled v-model.trim="form.voucherType" placeholder="请选择" ref="voucherType"> prop="voucherType">
<el-option label="存单" :value="123"> </el-option> <el-select disabled
v-model.trim="form.voucherType"
placeholder="请选择"
ref="voucherType">
<el-option label="存单"
:value="123"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="通知类型" prop="noticeType"> <el-form-item label="通知类型"
<el-select v-model.trim="form.noticeType" placeholder="请选择" ref="noticeType"> prop="noticeType">
<el-option label="1天" :value="95"> </el-option> <el-select v-model.trim="form.noticeType"
<el-option label="7天" :value="96"> </el-option> placeholder="请选择"
ref="noticeType">
<el-option label="1天"
:value="95"> </el-option>
<el-option label="7天"
:value="96"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="金额" prop="money"> <el-form-item label="金额"
<el-input :value="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')" ref="money"></el-input> prop="money">
<el-input :value="form.money"
maxlength="15"
@input="val => ismoney(val, form, 'money')"
ref="money"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" :offset="1"> <el-col :span="10"
<el-form-item label="证件号码" required> :offset="1">
<div class="idCard" @click="popUp('身份证扫描仪')" v-if='!idNumberJudge'> <el-form-item label="证件号码"
required>
<div class="idCard"
@click="popUp('身份证扫描仪')"
v-if='!idNumberJudge'>
<p>请刷身份证</p> <p>请刷身份证</p>
</div> </div>
<div v-else> <div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input> <el-input :value="form.idNumber"
disabled
ref="idNumber"></el-input>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="客户姓名" prop="customerName"> <el-form-item label="客户姓名"
<el-input disabled :value="form.customerName" @input="(val) => checkName(val, form, 'customerName')" ref="customerName"></el-input> prop="customerName">
<el-input disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"
ref="customerName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="钞汇标识" prop="goldLogo"> <el-form-item label="钞汇标识"
<el-select v-model.trim="form.goldLogo" disabled placeholder="请选择" ref="goldLogo"> prop="goldLogo">
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option> <el-select v-model.trim="form.goldLogo"
disabled
placeholder="请选择"
ref="goldLogo">
<el-option v-for="item in getSelectList.goldLogoSelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="凭证号码" required> <el-form-item label="凭证号码"
required>
<!-- <div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')"> <!-- <div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')">
<p>请刷卡</p> <p>请刷卡</p>
</div> </div>
<div v-else> <div v-else>
<el-input ref="voucherNumber" disabled :value="form.voucherNumber" @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input> <el-input ref="voucherNumber" disabled :value="form.voucherNumber" @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</div> --> </div> -->
<el-input ref="voucherNumber" :value="form.voucherNumber" @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input> <el-input ref="voucherNumber"
:value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="存款类别" prop="depositType"> <el-form-item label="存款类别"
<el-select v-model.trim="form.depositType" disabled placeholder="请选择" ref="depositType"> prop="depositType">
<el-option label="现金" :value="92"> </el-option> <el-select v-model.trim="form.depositType"
disabled
placeholder="请选择"
ref="depositType">
<el-option label="现金"
:value="92"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="支取密码" required> <el-form-item label="支取密码"
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')"> required>
<div v-if='!form.drawPassword'
class="idCard"
@click="popUp3('密码器')">
<p>请输入密码</p> <p>请输入密码</p>
</div> </div>
<div v-else> <div v-else>
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input> <el-input :value="form.drawPassword"
ref="drawPassword"
type="password"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form> </el-form>
</el-row> </el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button> <el-button @click="submitForm"
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" depositNumber='0812' /> type="primary"
class="submitBtn"
v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2"
depositNumber='0812' />
</div> </div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> --> <!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</template> </template>
<script> <script>
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js' import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { myValidate, checkHanzi, checkName, ismoney, autoPlay2, autoPlay, messageIdCard, messageCard, messagePassword, inputListen } from '@/utils/utilFunction.js'; import { myValidate, checkHanzi, checkName, ismoney, autoPlay2, autoPlay, messageIdCard, messageCard, messagePassword, inputListen, getNowDate } from '@/utils/utilFunction.js';
import { mapMutations, mapGetters } from 'vuex' import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore' import NeedBefore from '@/components/needBefore'
@ -90,22 +163,22 @@ import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore' import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'callDeposits/openAccount' const moduleName = 'callDeposits/openAccount'
export default{ export default {
name:'', name: '',
props:{}, props: {},
mixins: [ TipsBefore ], mixins: [TipsBefore],
components: { components: {
NeedBefore, NeedBefore,
MyDialog MyDialog
}, },
data(){ data () {
return{ return {
moduleName: 'callDeposits/openAccount', moduleName: 'callDeposits/openAccount',
idNumberJudge: false, idNumberJudge: false,
cardNumberJudge: false, cardNumberJudge: false,
visible: false, visible: false,
form:{ form: {
// //
// identityCard: '', // // identityCard: '', //
certificateType: 83, certificateType: 83,
@ -120,7 +193,8 @@ export default{
depositType: '', // '' depositType: '', // ''
money: '', // money: '', //
// //
clientNumber: '' // clientNumber: '', //
createDate: getNowDate()
}, },
formName: { formName: {
certificateType: '证件类型', certificateType: '证件类型',
@ -269,8 +343,8 @@ export default{
submited: 0 submited: 0
} }
}, },
created() { created () {
if(sessionStorage.getItem('nomCallDepositOpenPassword')) { if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword') this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
} }
@ -285,7 +359,7 @@ export default{
// } // }
// return // return
// } // }
if(sessionStorage.getItem('nomCallDepositOpen2')) { if (sessionStorage.getItem('nomCallDepositOpen2')) {
this.idNumberJudge = true this.idNumberJudge = true
const { idNumber, peopleNumber, userName, currency, goldLogo, depositType } = this.dataFlow const { idNumber, peopleNumber, userName, currency, goldLogo, depositType } = this.dataFlow
this.form.idNumber = idNumber this.form.idNumber = idNumber
@ -295,7 +369,7 @@ export default{
this.form.goldLogo = goldLogo this.form.goldLogo = goldLogo
this.form.depositType = depositType this.form.depositType = depositType
} }
if(sessionStorage.getItem('nomCallDepositOpen3')) { if (sessionStorage.getItem('nomCallDepositOpen3')) {
const { voucherNumber } = this.dataFlow const { voucherNumber } = this.dataFlow
this.cardNumberJudge = true this.cardNumberJudge = true
this.form.voucherNumber = voucherNumber this.form.voucherNumber = voucherNumber
@ -311,7 +385,7 @@ export default{
setPopId: 'system/setPopId', setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate' setTipsOperate: 'system/setTipsOperate'
}), }),
getFormData(){ getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288' const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const cards = { const cards = {
// 291: 'nomCallDepositOpen2', // 291: 'nomCallDepositOpen2',
@ -319,39 +393,39 @@ export default{
// 301: 'nomCallDepositOpenPassword' // 301: 'nomCallDepositOpenPassword'
} }
const callback = () => { const callback = () => {
if(this.form.idNumber) { if (this.form.idNumber) {
this.idNumberJudge = true this.idNumberJudge = true
} }
if(this.form.voucherNumber) { if (this.form.voucherNumber) {
this.cardNumberJudge = true this.cardNumberJudge = true
} }
if(sessionStorage.getItem('nomCallDepositOpenPassword')) { if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword') this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
} }
} }
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback) autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
}, },
popUp(text) { popUp (text) {
this.setTipsOperate('请刷身份证'); this.setTipsOperate('请刷身份证');
this.setPopId('291') this.setPopId('291')
sessionStorage.setItem('computerPath', this.$route.fullPath) sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/') this.$router.push('/counter/list/')
}, },
popUp2(text) { popUp2 (text) {
this.setTipsOperate('请刷银行卡'); this.setTipsOperate('请刷银行卡');
this.setPopId('297') this.setPopId('297')
sessionStorage.setItem('computerPath', this.$route.fullPath) sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/') this.$router.push('/counter/list/')
}, },
popUp3(text) { popUp3 (text) {
this.setTipsOperate('请在密码器输入密码'); this.setTipsOperate('请在密码器输入密码');
this.setPopId('301') this.setPopId('301')
sessionStorage.setItem('computerPath', this.$route.fullPath) sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/') this.$router.push('/counter/list/')
}, },
submitForm() { submitForm () {
if (this.submited) return this.$message.error('已提交!') if (this.submited) return this.$message.error('已提交!')
if(!this.form.idNumber) { if (!this.form.idNumber) {
messageIdCard() messageIdCard()
// let projectId = sessionStorage.getItem('projectId') // let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime') // let startTime = sessionStorage.getItem('startTime')
@ -379,12 +453,12 @@ export default{
// }) // })
return return
} }
if(!this.form.voucherNumber) { if (!this.form.voucherNumber) {
messageCard('请填写凭证号码') messageCard('请填写凭证号码')
return return
} }
if(!this.form.drawPassword) { if (!this.form.drawPassword) {
messagePassword() messagePassword()
return return
} }
@ -393,7 +467,7 @@ export default{
this.visible = true; this.visible = true;
}, this.$refs)); }, this.$refs));
}, },
submitForm2() { submitForm2 () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288' const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const nomCallDepositOpen2 = sessionStorage.getItem('nomCallDepositOpen2') const nomCallDepositOpen2 = sessionStorage.getItem('nomCallDepositOpen2')
const nomCallDepositOpen3 = sessionStorage.getItem('nomCallDepositOpen3') const nomCallDepositOpen3 = sessionStorage.getItem('nomCallDepositOpen3')

@ -14,6 +14,9 @@ export default {
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null) const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
dialogHeaderEl.onmousedown = (e) => { dialogHeaderEl.onmousedown = (e) => {
const { className } = e.target
// 触发的是关闭按钮,则不予拖拽
if (className === 'close' || className === 'close-wrap') return false
// 鼠标按下,计算当前元素距离可视区的距离 // 鼠标按下,计算当前元素距离可视区的距离
const disX = e.clientX - dialogHeaderEl.offsetLeft const disX = e.clientX - dialogHeaderEl.offsetLeft
const disY = e.clientY - dialogHeaderEl.offsetTop const disY = e.clientY - dialogHeaderEl.offsetTop

@ -2721,6 +2721,7 @@ export default {
let stampSuccess = '' // 盖章成功 let stampSuccess = '' // 盖章成功
// 以为要特定的章盖特定的物品,盖完后结果还不一样。有些东西盖了会消失,有些不会。 // 以为要特定的章盖特定的物品,盖完后结果还不一样。有些东西盖了会消失,有些不会。
// 有些东西还要盖两个章。当时选择了最直接的if-else判断。其实用map结构也不是不行。 // 有些东西还要盖两个章。当时选择了最直接的if-else判断。其实用map结构也不是不行。
debugger
if(sealArr.length === 1) { if(sealArr.length === 1) {
const seal = sealArr[0] const seal = sealArr[0]
debugger debugger
@ -2799,7 +2800,7 @@ export default {
if(id === 426) { if(id === 426) {
state.businessSelect[state.businessKey].data.push(419, 418) state.businessSelect[state.businessKey].data.push(419, 418)
judgeDelete = false judgeDelete = false
stampSuccess = '446' stampSuccess = '458'
cb([419,418]) cb([419,418])
} }
}else if(seal === '附件章') { }else if(seal === '附件章') {
@ -2808,9 +2809,9 @@ export default {
}else if(id === 435) { }else if(id === 435) {
stampSuccess = '435' stampSuccess = '435'
}else if(id === 437) { }else if(id === 437) {
stampSuccess = '436' stampSuccess = '437'
}else if(id === 431) { }else if(id === 431) {
stampSuccess = '484' stampSuccess = '20'
}else if(id === 468) { }else if(id === 468) {
stampSuccess = '462' stampSuccess = '462'
} }
@ -2853,6 +2854,14 @@ export default {
state.businessSelect[state.businessKey].data.push(473, 472) state.businessSelect[state.businessKey].data.push(473, 472)
judgeDelete = false judgeDelete = false
stampSuccess = '456' stampSuccess = '456'
cb([473, 472])
}
// 业务十四 给转账支票盖业务专用章和私章,出来“转账支票本联”(盖章状态)和“转账支票存根”(盖章状态)
if(id === 412) {
state.businessSelect[state.businessKey].data.push(476, 474)
judgeDelete = false
stampSuccess = '457'
cb([476, 474])
} }
if(id === 584) { if(id === 584) {
state.businessSelect[state.businessKey].data.push(582,581,580,583) state.businessSelect[state.businessKey].data.push(582,581,580,583)

Loading…
Cancel
Save