bug修复,oss全部替换完成

20240205
yujialong 1 year ago
parent 5465512d8e
commit 57f4012635
  1. 323
      package-lock.json
  2. 1
      package.json
  3. 372
      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. 815
      src/pages/manage/list/acceptanceDraft/invoice.vue
  8. 15
      src/pages/manage/list/personal/callDeposits/accountClosed.vue
  9. 868
      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,179 +1,223 @@
<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"
</div> @onSuccess="editorUploadSuccess"
style="display: none">
<div slot="trigger">
<el-button :id="'editorUpload' + index"
type="primary">点击上传</el-button>
</div>
</Upload>
</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',
props: { components: {
value: { Upload,
type: String, },
default: '' props: {
}, value: {
readonly: { type: String,
type: Boolean, default: ''
default: false },
}, readonly: {
toTop: { type: Boolean,
type: Boolean, default: false
default: true },
}, toTop: {
border: { type: Boolean,
type: Boolean, default: true
default: false },
}, border: {
height: { type: Boolean,
type: Number default: false
}, },
minHeight: { height: {
type: Number type: Number
} },
}, minHeight: {
data () { type: Number
return { },
Quill: null, //
currentValue: '', index: {
options: { type: Number,
theme: 'snow', default: 0
bounds: document.body, },
debug: 'warn', },
modules: { data () {
toolbar: { const that = this
container: toolbarOptions, return {
handlers: { Quill: null,
'image': function (value) { currentValue: '',
if (value) { options: {
// iview theme: 'snow',
document.querySelector('.editorUpload').click() bounds: document.body,
} else { debug: 'warn',
this.Quill.format('image', false); modules: {
} toolbar: {
} container: toolbarOptions,
} handlers: {
} 'image': function (value) {
}, if (value) {
placeholder: '', // iview
readOnly: this.readonly document.querySelector("#editorUpload" + that.index).click();
}, } else {
loading: false this.Quill.format('image', false);
}
},
computed: {
classes () {
return [
{
'quill-no-border': !this.border
}
];
},
styles () {
let style = {};
if (this.minHeight) {
style.minHeight = `${this.minHeight}px`;
}
if (this.height) {
style.height = `${this.height}px`;
} }
return style; }
} }
}
}, },
watch: { placeholder: '',
value: { readOnly: this.readonly
handler (val) { },
if (val !== this.currentValue) { loading: false
this.currentValue = val; }
if (this.Quill) { },
this.Quill.pasteHTML(this.value); computed: {
} classes () {
} return [
}, {
immediate: true 'quill-no-border': !this.border
}
},
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);
if(this.toTop){
this.$nextTick(() => {
window.scrollTo(0,0)
})
}
//
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;
// v-model.trim
this.$emit('input', html);
//
this.$emit('on-change', { html, text, quill });
});
// 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);
});
},
beforeUpload(file){
this.loading = true
},
editorUploadSuccess (res) {
//
let quill = this.Quill
//
if (res.data.filesResult.fileUrl) {
//
let length = quill.getSelection().index;
// res
quill.insertEmbed(length, 'image', res.data.filesResult.fileUrl)
//
quill.setSelection(length + 1)
} else {
this.$message.success('图片插入失败')
}
this.loading = false
},
} }
];
},
styles () {
let style = {};
if (this.minHeight) {
style.minHeight = `${this.minHeight}px`;
}
if (this.height) {
style.height = `${this.height}px`;
}
return style;
} }
</script> },
<style lang="scss" scoped> watch: {
.quill-no-border{ value: {
.ql-toolbar.ql-snow{ handler (val) {
border: none; if (val !== this.currentValue) {
border-bottom: 1px solid #e8eaec; this.currentValue = val;
if (this.Quill) {
this.Quill.pasteHTML(this.value);
}
} }
.ql-container.ql-snow{ },
border: none; immediate: true
}
},
mounted () {
this.init();
},
beforeDestroy () {
//
this.Quill = null;
},
methods: {
init () {
const editor = this.$refs.editor;
//
this.Quill = new Quill(editor, this.options);
const ins = this.Quill
//
ins.pasteHTML(this.currentValue);
if (this.toTop) {
this.$nextTick(() => {
window.scrollTo(0, 0)
})
}
//
ins.on('text-change', (delta, oldDelta, source) => {
const html = this.$refs.editor.children[0].innerHTML;
const text = ins.getText();
const quill = this.Quill;
//
this.currentValue = html;
// v-model
this.$emit('input', html);
//
this.$emit('on-change', { html, text, quill });
});
// quill
ins.on('text-change', (delta, oldDelta, source) => {
this.$emit('on-text-change', delta, oldDelta, source);
});
ins.on('selection-change', (range, oldRange, source) => {
this.$emit('on-selection-change', range, oldRange, source);
});
ins.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) {
this.loading = true
},
editorUploadSuccess (file) {
//
let quill = this.Quill
//
if (file.url) {
//
let length = quill.getSelection().index;
// res
quill.insertEmbed(length, 'image', file.url)
//
quill.setSelection(length + 1)
} else {
this.$message.success('图片插入失败')
}
this.loading = false
},
}
}
</script>
<style lang="scss" scoped>
.quill-no-border {
.ql-toolbar.ql-snow {
border: none;
border-bottom: 1px solid #e8eaec;
}
.ql-container.ql-snow {
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,87 +1,172 @@
<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-form-item> <el-col :span="10"
<el-form-item label="出票人行名" prop="accountTradeName"> :offset="1">
<el-input :value="form.accountTradeName" disabled @input="val => checkHanzi(val, form, 'accountTradeName')"></el-input> <el-form-item label="出票人账号"
</el-form-item> 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 label="出票人行名"
prop="accountTradeName">
<el-input :value="form.accountTradeName"
disabled
@input="val => checkHanzi(val, form, 'accountTradeName')"></el-input>
</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-form-item> <el-input @blur="getBlur2"
<el-form-item label="收款人行名" prop="collectionTradeName"> :value="form.collectionNumber"
<el-input :value="form.collectionTradeName" disabled @input="val => checkHanzi(val, form, 'collectionTradeName')" ref="collectionTradeName"></el-input> @input="val => checkHanzi(val, form, 'collectionNumber')"
</el-form-item> ref="collectionNumber"></el-input>
<el-form-item label="票据号码" prop="moneyOrderNumber"> </el-form-item>
<el-input :value="form.moneyOrderNumber" @input="val => checkHanzi(val, form, 'moneyOrderNumber')" ref="moneyOrderNumber"></el-input> <el-form-item label="收款人行名"
</el-form-item> prop="collectionTradeName">
<el-form-item label="到期日期" prop="expireDate"> <el-input :value="form.collectionTradeName"
<el-input v-model.trim="form.expireDate" ref="expireDate"></el-input> disabled
</el-form-item> @input="val => checkHanzi(val, form, 'collectionTradeName')"
<el-form-item label="申请人证件类型" prop="ApplicantDocuments"> ref="collectionTradeName"></el-input>
<el-select v-model.trim="form.ApplicantDocuments" placeholder="请选择" ref="ApplicantDocuments"> </el-form-item>
<el-option value="身份证">身份证</el-option> <el-form-item label="票据号码"
<el-option value="港澳台居民回乡证">港澳台居民回乡证</el-option> prop="moneyOrderNumber">
<el-option value="护照">护照</el-option> <el-input :value="form.moneyOrderNumber"
</el-select> @input="val => checkHanzi(val, form, 'moneyOrderNumber')"
</el-form-item> ref="moneyOrderNumber"></el-input>
<el-form-item label="币种" prop="currencyType"> </el-form-item>
<el-select v-model.trim="form.currencyType" placeholder="请选择" ref="currencyType"> <el-form-item label="到期日期"
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option> prop="expireDate">
</el-select> <el-date-picker v-model="form.expireDate"
</el-form-item> type="date"
<el-form-item label="汇票费金额" prop="moneyOrderMoney"> format="yyyy-MM-dd"
<el-input :value="form.moneyOrderMoney" @input="val => ismoney(val, form, 'moneyOrderMoney')" ref="moneyOrderMoney"></el-input> value-format="yyyy-MM-dd"
</el-form-item> placeholder="请选择到期日期">
</el-col> </el-date-picker>
<el-col :span="10" :offset="1"> </el-form-item>
<el-form-item label="出票人名称" prop="accountName"> <el-form-item label="申请人证件类型"
<el-input :value="form.accountName" @input="val => checkName(val, form, 'accountName')" ref="accountName"></el-input> prop="ApplicantDocuments">
</el-form-item> <el-select v-model.trim="form.ApplicantDocuments"
<el-form-item label="出票行地址" prop="tradeAddress"> placeholder="请选择"
<el-input v-model.trim="form.tradeAddress" ref="tradeAddress"></el-input> ref="ApplicantDocuments">
</el-form-item> <el-option value="身份证">身份证</el-option>
<el-form-item label="收款人名称" prop="collectionName"> <el-option value="港澳台居民回乡证">港澳台居民回乡证</el-option>
<el-input :value="form.collectionName" @input="val => checkName(val, form, 'collectionName')" ref="collectionName"></el-input> <el-option value="护照">护照</el-option>
</el-form-item> </el-select>
<el-form-item label="票据类型" prop="billType"> </el-form-item>
<el-select v-model.trim="form.billType" placeholder="请选择" ref="billType"> <el-form-item label="币种"
<el-option v-for="item in getSelectList.billTypeSelect" :label="item.options" :value="item.itemId" :key="item.itemId" ></el-option> prop="currencyType">
</el-select> <el-select v-model.trim="form.currencyType"
</el-form-item> placeholder="请选择"
<el-form-item label="出票日期" prop="drawBillDate"> ref="currencyType">
<el-input v-model.trim="form.drawBillDate" ref="drawBillDate"></el-input> <el-option v-for="item in getSelectList.currencySelectList"
</el-form-item> :label="item.options"
<el-form-item label="是否转让" prop="isTransfer"> :value="item.itemId"
<el-select v-model.trim="form.isTransfer" placeholder="请选择" ref="isTransfer"> :key="item.itemId"> </el-option>
<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="汇票费金额"
<el-form-item label="证件号码" prop="certificateNumber"> prop="moneyOrderMoney">
<el-input :value="form.certificateNumber" @input="val => checkHanzi(val, form, 'certificateNumber')" ref="certificateNumber"></el-input> <el-input :value="form.moneyOrderMoney"
</el-form-item> @input="val => ismoney(val, form, 'moneyOrderMoney')"
<el-form-item label="金额" prop="money"> ref="moneyOrderMoney"></el-input>
<el-input :value="form.money" @input="val => ismoney(val, form, 'money')" ref="money"></el-input> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="手续费金额" prop="serviceCharge"> <el-col :span="10"
<el-input :value="form.serviceCharge" @input="val => ismoney(val, form, 'serviceCharge')" ref="serviceCharge"></el-input> :offset="1">
</el-form-item> <el-form-item label="出票人名称"
</el-col> prop="accountName">
<el-input :value="form.accountName"
@input="val => checkName(val, form, 'accountName')"
ref="accountName"></el-input>
</el-form-item>
<el-form-item label="出票行地址"
prop="tradeAddress">
<el-input v-model.trim="form.tradeAddress"
ref="tradeAddress"></el-input>
</el-form-item>
<el-form-item label="收款人名称"
prop="collectionName">
<el-input :value="form.collectionName"
@input="val => checkName(val, form, 'collectionName')"
ref="collectionName"></el-input>
</el-form-item>
<el-form-item label="票据类型"
prop="billType">
<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-form-item>
<el-form-item label="出票日期"
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 label="是否转让"
prop="isTransfer">
<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-form-item>
<el-form-item label="证件号码"
prop="certificateNumber">
<el-input :value="form.certificateNumber"
@input="val => checkHanzi(val, form, 'certificateNumber')"
ref="certificateNumber"></el-input>
</el-form-item>
<el-form-item label="金额"
prop="money">
<el-input :value="form.money"
@input="val => ismoney(val, form, 'money')"
ref="money"></el-input>
</el-form-item>
<el-form-item label="手续费金额"
prop="serviceCharge">
<el-input :value="form.serviceCharge"
@input="val => ismoney(val, form, 'serviceCharge')"
ref="serviceCharge"></el-input>
</el-form-item>
</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"
</div> 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>
</template> </template>
@ -95,307 +180,307 @@ import MyDialog from '@/components/dialogTwo'
const moduleName = 'acceptanceDraft/invoice' const moduleName = 'acceptanceDraft/invoice'
export default { export default {
name: 'index', name: 'index',
components: { components: {
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: '', //
moneyOrderNumber: '', // moneyOrderNumber: '', //
expireDate: '', // expireDate: '', //
money: '', // money: '', //
ApplicantDocuments: '', // ApplicantDocuments: '', //
certificateNumber: '', // certificateNumber: '', //
drawBillDate: '', // drawBillDate: '', //
isTransfer: '', // isTransfer: '', //
// //
accountName: '', // accountName: '', //
collectionName: '', // collectionName: '', //
currencyType: '', // currencyType: '', //
moneyOrderMoney: '', // moneyOrderMoney: '', //
accountTradeName: '', // accountTradeName: '', //
tradeAddress: '', // tradeAddress: '', //
collectionTradeName: '', // collectionTradeName: '', //
billType: '', // billType: '', //
serviceCharge: '' // serviceCharge: '' //
}, },
formName:{ formName: {
// //
accountNumber: '出票人账号', // accountNumber: '出票人账号', //
collectionNumber: '收款人账号', // collectionNumber: '收款人账号', //
moneyOrderNumber: '汇票号码', // moneyOrderNumber: '汇票号码', //
expireDate: '到期日期', // expireDate: '到期日期', //
money: '金额', // money: '金额', //
ApplicantDocuments: '申请人证件类型', // ApplicantDocuments: '申请人证件类型', //
certificateNumber: '证件号码', // certificateNumber: '证件号码', //
drawBillDate: '出票日期', // drawBillDate: '出票日期', //
isTransfer: '是否转让', // isTransfer: '是否转让', //
// //
accountName: '出票人名称', // accountName: '出票人名称', //
collectionName: '收款人名称', // collectionName: '收款人名称', //
currencyType: '币种', // currencyType: '币种', //
moneyOrderMoney: '汇划费金额', // moneyOrderMoney: '汇划费金额', //
accountTradeName: '出票人行名', // accountTradeName: '出票人行名', //
tradeAddress: '出票行地址', // tradeAddress: '出票行地址', //
collectionTradeName: '收款人行名', // collectionTradeName: '收款人行名', //
billType: '票据类型', // billType: '票据类型', //
serviceCharge: '手续费金额' // serviceCharge: '手续费金额' //
},
//
rules: {
collectionName: [
{
required: true,
message: '请输入收款人名称',
trigger: 'blur'
}
],
currencyType: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
billType: [
{
required: true,
message: '请选择票据类型',
trigger: 'blur'
}
],
ApplicantDocuments: [
{
required: true,
message: '请选择申请人证件类型',
trigger: 'blur'
}
],
accountNumber: [
{
required: true,
message: '请输入出票人账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
],
collectionNumber: [
{
required: true,
message: '请输入收款人账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
],
moneyOrderNumber: [
{
required: true,
message: '请输入汇票号码',
trigger: 'blur'
}
],
expireDate: [
{
required: true,
message: '请选择到期日期',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
certificateNumber: [
{
required: true,
message: '请输入证件号码',
trigger: 'blur'
}
],
isTransfer: [
{
required: true,
message: '请选择是否转让',
trigger: 'blur'
}
],
drawBillDate: [
{
required: true,
message: '请选择出票日期',
trigger: 'blur'
}
],
},
//
myTable2: {
375: {
prop: 'accountNumber', // 1
type: '3',
"subjectId": '67',
},
376: {
prop: 'accountTradeName', // 1
type: '3',
"subjectId": '68',
},
377: {
prop: 'accountName', // 1
type: '3',
"subjectId": '69',
},
378: {
prop: 'tradeAddress', // 1
type: '3',
"subjectId": '70',
},
379: {
prop: 'collectionNumber', // 1
type: '3',
"subjectId": '71',
},
380: {
prop: 'collectionTradeName', // 3
type: '3',
"subjectId": '72',
},
381: {
prop: 'collectionName', // 3
type: '3',
"subjectId": '73',
},
382: {
prop: 'billType', // 3
type: '1',
"subjectId": '57',
},
383: {
prop: 'currencyType', // 3
type: '1',
"subjectId": '8',
},
384: {
prop: 'money', // 3
type: '3',
"subjectId": '14',
},
385: {
prop: 'moneyOrderNumber', // 3
type: '3',
"subjectId": '74',
},
386: {
prop: 'drawBillDate', // 3
type: '3',
"subjectId": '60',
},
387: {
prop: 'expireDate', // 3
type: '3',
"subjectId": '75',
},
388: {
prop: 'isTransfer', // 3
type: '1',
"subjectId": '76',
},
389: {
prop: 'moneyOrderMoney', // 3
type: '3',
"subjectId": '77',
},
390: {
prop: 'serviceCharge', // 3
type: '3',
"subjectId": '78',
},
},
myTable: {
},
submited: 0
}
},
created() {
//
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)
if(this.form.moneyOrderNumber) {
this.form.moneyOrderNumber = (this.form.moneyOrderNumber+'').padStart(8, 0)
}
//
this.form.moneyOrderMoney = '6.89'
this.form.serviceCharge = '5.89'
},
mounted() {
this.$refs.accountNumber.focus()
},
methods: {
//
// myValidateelement-uivalidate
submitForm(){
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true
}, this.$refs));
}, },
submitForm2() { //
// rules: {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374' collectionName: [
// {
autoPlay(parentId, this.form, this.myTable2, this.myTable) required: true,
this.submited = 1 message: '请输入收款人名称',
trigger: 'blur'
}
],
currencyType: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
billType: [
{
required: true,
message: '请选择票据类型',
trigger: 'blur'
}
],
ApplicantDocuments: [
{
required: true,
message: '请选择申请人证件类型',
trigger: 'blur'
}
],
accountNumber: [
{
required: true,
message: '请输入出票人账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
],
collectionNumber: [
{
required: true,
message: '请输入收款人账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
],
moneyOrderNumber: [
{
required: true,
message: '请输入汇票号码',
trigger: 'blur'
}
],
expireDate: [
{
required: true,
message: '请选择到期日期',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
certificateNumber: [
{
required: true,
message: '请输入证件号码',
trigger: 'blur'
}
],
isTransfer: [
{
required: true,
message: '请选择是否转让',
trigger: 'blur'
}
],
drawBillDate: [
{
required: true,
message: '请选择出票日期',
trigger: 'blur'
}
],
}, },
// //
getBlur() { myTable2: {
if(this.form.accountNumber) { 375: {
this.form.accountTradeName = '商业银行' prop: 'accountNumber', // 1
} type: '3',
"subjectId": '67',
},
376: {
prop: 'accountTradeName', // 1
type: '3',
"subjectId": '68',
},
377: {
prop: 'accountName', // 1
type: '3',
"subjectId": '69',
},
378: {
prop: 'tradeAddress', // 1
type: '3',
"subjectId": '70',
},
379: {
prop: 'collectionNumber', // 1
type: '3',
"subjectId": '71',
},
380: {
prop: 'collectionTradeName', // 3
type: '3',
"subjectId": '72',
},
381: {
prop: 'collectionName', // 3
type: '3',
"subjectId": '73',
},
382: {
prop: 'billType', // 3
type: '1',
"subjectId": '57',
},
383: {
prop: 'currencyType', // 3
type: '1',
"subjectId": '8',
},
384: {
prop: 'money', // 3
type: '3',
"subjectId": '14',
},
385: {
prop: 'moneyOrderNumber', // 3
type: '3',
"subjectId": '74',
},
386: {
prop: 'drawBillDate', // 3
type: '3',
"subjectId": '60',
},
387: {
prop: 'expireDate', // 3
type: '3',
"subjectId": '75',
},
388: {
prop: 'isTransfer', // 3
type: '1',
"subjectId": '76',
},
389: {
prop: 'moneyOrderMoney', // 3
type: '3',
"subjectId": '77',
},
390: {
prop: 'serviceCharge', // 3
type: '3',
"subjectId": '78',
},
}, },
// myTable: {
getBlur2() {
if(this.form.collectionNumber) {
this.form.collectionTradeName = '中交商业银行'
}
}, },
ismoney: ismoney, submited: 0
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters('system', ['getSelectList'])
} }
},
created () {
//
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)
if (this.form.moneyOrderNumber) {
this.form.moneyOrderNumber = (this.form.moneyOrderNumber + '').padStart(8, 0)
}
//
this.form.moneyOrderMoney = '6.89'
this.form.serviceCharge = '5.89'
},
mounted () {
this.$refs.accountNumber.focus()
},
methods: {
//
// myValidateelement-uivalidate
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true
}, this.$refs));
},
submitForm2 () {
//
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374'
//
autoPlay(parentId, this.form, this.myTable2, this.myTable)
this.submited = 1
},
//
getBlur () {
if (this.form.accountNumber) {
this.form.accountTradeName = '商业银行'
}
},
//
getBlur2 () {
if (this.form.collectionNumber) {
this.form.collectionTradeName = '中交商业银行'
}
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters('system', ['getSelectList'])
}
} }
</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-select> <el-col :span="10"
</el-form-item> :offset="1">
<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="certificateType">
</el-form-item> <el-select v-model.trim="form.certificateType"
<el-form-item label="币种" prop="currency"> placeholder="请选择"
<el-select v-model.trim="form.currency" disabled placeholder="请选择" ref="currency"> ref="certificateType">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option> <el-option label="身份证"
:value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="客户号"
prop="clientNumber">
<el-input :value="form.clientNumber"
disabled
@input="(val) => checkHanzi(val, form, 'clientNumber')"
ref="clientNumber"></el-input>
</el-form-item>
<el-form-item label="币种"
prop="currency">
<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
</el-select> v-model.trim="form.voucherType"
</el-form-item> placeholder="请选择"
<el-form-item label="通知类型" prop="noticeType"> ref="voucherType">
<el-select v-model.trim="form.noticeType" placeholder="请选择" ref="noticeType"> <el-option label="存单"
<el-option label="1天" :value="95"> </el-option> :value="123"> </el-option>
<el-option label="7天" :value="96"> </el-option> </el-select>
</el-select> </el-form-item>
</el-form-item> <el-form-item label="通知类型"
<el-form-item label="金额" prop="money"> prop="noticeType">
<el-input :value="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')" ref="money"></el-input> <el-select v-model.trim="form.noticeType"
</el-form-item> placeholder="请选择"
</el-col> ref="noticeType">
<el-col :span="10" :offset="1"> <el-option label="1天"
<el-form-item label="证件号码" required> :value="95"> </el-option>
<div class="idCard" @click="popUp('身份证扫描仪')" v-if='!idNumberJudge'> <el-option label="7天"
<p>请刷身份证</p> :value="96"> </el-option>
</div> </el-select>
<div v-else> </el-form-item>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input> <el-form-item label="金额"
</div> prop="money">
</el-form-item> <el-input :value="form.money"
<el-form-item label="客户姓名" prop="customerName"> maxlength="15"
<el-input disabled :value="form.customerName" @input="(val) => checkName(val, form, 'customerName')" ref="customerName"></el-input> @input="val => ismoney(val, form, 'money')"
</el-form-item> ref="money"></el-input>
<el-form-item label="钞汇标识" prop="goldLogo"> </el-form-item>
<el-select v-model.trim="form.goldLogo" disabled placeholder="请选择" ref="goldLogo"> </el-col>
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option> <el-col :span="10"
</el-select> :offset="1">
</el-form-item> <el-form-item label="证件号码"
<el-form-item label="凭证号码" required> required>
<!-- <div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')"> <div class="idCard"
@click="popUp('身份证扫描仪')"
v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber"
disabled
ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="客户姓名"
prop="customerName">
<el-input disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"
ref="customerName"></el-input>
</el-form-item>
<el-form-item label="钞汇标识"
prop="goldLogo">
<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-form-item>
<el-form-item label="凭证号码"
required>
<!-- <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"
</el-form-item> :value="form.voucherNumber"
<el-form-item label="存款类别" prop="depositType"> @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
<el-select v-model.trim="form.depositType" disabled placeholder="请选择" ref="depositType"> </el-form-item>
<el-option label="现金" :value="92"> </el-option> <el-form-item label="存款类别"
</el-select> prop="depositType">
</el-form-item> <el-select v-model.trim="form.depositType"
<el-form-item label="支取密码" required> disabled
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')"> placeholder="请选择"
<p>请输入密码</p> ref="depositType">
</div> <el-option label="现金"
<div v-else> :value="92"> </el-option>
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input> </el-select>
</div> </el-form-item>
</el-form-item> <el-form-item label="支取密码"
</el-col> required>
</el-form> <div v-if='!form.drawPassword'
</el-row> class="idCard"
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button> @click="popUp3('密码器')">
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" depositNumber='0812' /> <p>请输入密码</p>
</div> </div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> --> <div v-else>
<el-input :value="form.drawPassword"
ref="drawPassword"
type="password"></el-input>
</div>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm"
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>
<!-- <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,339 +163,340 @@ 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:{
//
// identityCard: '', //
certificateType: 83,
idNumber: '', //
voucherNumber: '', //
drawPassword: '', //
customerName: '', //
currency: 'CYN人民币', //
goldLogo: 13, //
voucherType: 123, //
noticeType: '', //
depositType: '', // ''
money: '', //
//
clientNumber: '' //
},
formName: {
certificateType: '证件类型',
idNumber: '身份证号码', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
customerName: '客户姓名', //
currency: '币种', //
goldLogo: '钞汇标识', //
voucherType: '凭证类型', //
noticeType: '通知类型', //
depositType: '存款类别', // ''
money: '金额', //
//
clientNumber: '客户号' //
},
rules: {
customerName: vercustomer,
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
voucherType: [
{
required: true,
message: '请选择凭证类型',
trigger: 'blur'
}
],
goldLogo: [
{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
noticeType: [
{
required: true,
message: '请选择通知类型',
trigger: 'blur'
}
],
depositType: [
{
required: true,
message: '请选择存款类别',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
},
myTable: {
290: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
292: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
},
},
myTable2: {
291: {
prop: 'idNumber',//
type: '3',
},
297: {
prop: 'voucherNumber', //
type: '3',
"subjectId": 44,
},
293: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
294: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
295: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
296: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
299: {
prop: 'depositType',//
type: '1',
"subjectId": 30,
},
300: {
prop: 'money',//
type: '3',
"subjectId": 14,
},
298: {
prop: 'noticeType',//
type: '1',
"subjectId": 48,
},
301: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
// : {
// prop: 'noticeType',//
// type: '1'
// },
// 127: {
// prop: 'voucherType',//
// type: '1'
// },
// 129: {
// prop: 'withdrawingWay',//
// type: '1'
// },
// 127: {
// prop: 'voucherType',//
// type: '1'
// },
// 129: {
// prop: 'withdrawingWay',//
// type: '1'
// },
},
submited: 0
}
},
created() {
if(sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
// if(this.isNeedBefore) { form: {
// if(sessionStorage.getItem('nomCallDepositOpen2')) { //
// this.idNumberJudge = true // identityCard: '', //
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569' certificateType: 83,
// } idNumber: '', //
// if(sessionStorage.getItem('nomCallDepositOpen3')) { voucherNumber: '', //
// this.cardNumberJudge = true drawPassword: '', //
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753' customerName: '', //
// } currency: 'CYN人民币', //
// return goldLogo: 13, //
// } voucherType: 123, //
if(sessionStorage.getItem('nomCallDepositOpen2')) { noticeType: '', //
this.idNumberJudge = true depositType: '', // ''
const { idNumber, peopleNumber, userName, currency, goldLogo, depositType } = this.dataFlow money: '', //
this.form.idNumber = idNumber //
this.form.clientNumber = peopleNumber clientNumber: '', //
this.form.customerName = userName createDate: getNowDate()
this.form.currency = currency },
this.form.goldLogo = goldLogo formName: {
this.form.depositType = depositType certificateType: '证件类型',
} idNumber: '身份证号码', //
if(sessionStorage.getItem('nomCallDepositOpen3')) { voucherNumber: '凭证号码', //
const { voucherNumber } = this.dataFlow drawPassword: '支付密码', //
this.cardNumberJudge = true customerName: '客户姓名', //
this.form.voucherNumber = voucherNumber currency: '币种', //
} goldLogo: '钞汇标识', //
voucherType: '凭证类型', //
noticeType: '通知类型', //
depositType: '存款类别', // ''
money: '金额', //
//
clientNumber: '客户号' //
},
rules: {
customerName: vercustomer,
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
voucherType: [
{
required: true,
message: '请选择凭证类型',
trigger: 'blur'
}
],
goldLogo: [
{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
noticeType: [
{
required: true,
message: '请选择通知类型',
trigger: 'blur'
}
],
depositType: [
{
required: true,
message: '请选择存款类别',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
},
myTable: {
290: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
292: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
},
this.getFormData() },
}, myTable2: {
methods: { 291: {
...mapMutations({ prop: 'idNumber',//
changeShowGoods: 'system/changeShowGoods', type: '3',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData(){
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const cards = {
// 291: 'nomCallDepositOpen2',
// 297: 'nomCallDepositOpen3',
// 301: 'nomCallDepositOpenPassword'
}
const callback = () => {
if(this.form.idNumber) {
this.idNumberJudge = true
}
if(this.form.voucherNumber) {
this.cardNumberJudge = true
}
if(sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
}, },
popUp(text) { 297: {
this.setTipsOperate('请刷身份证'); prop: 'voucherNumber', //
this.setPopId('291') type: '3',
sessionStorage.setItem('computerPath', this.$route.fullPath) "subjectId": 44,
this.$router.push('/counter/list/')
}, },
popUp2(text) { 293: {
this.setTipsOperate('请刷银行卡'); prop: 'customerName',//
this.setPopId('297') type: '3',
sessionStorage.setItem('computerPath', this.$route.fullPath) "subjectId": 7,
this.$router.push('/counter/list/')
}, },
popUp3(text) { 294: {
this.setTipsOperate('请在密码器输入密码'); prop: 'currency',//
this.setPopId('301') type: '1',
sessionStorage.setItem('computerPath', this.$route.fullPath) "subjectId": 8,
this.$router.push('/counter/list/')
}, },
submitForm() { 295: {
if (this.submited) return this.$message.error('已提交!') prop: 'goldLogo',//
if(!this.form.idNumber) { type: '1',
messageIdCard() "subjectId": 9,
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
// let formList = [
// {
// "answerId":'291',
// "emptyOne": "",
// "emptyTwo": "",
// "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,38,288,291,13",
// "type": ""
// }
// ]
// let params= {
// parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288,291',
// lcJudgmentRuleReq:formList,
// projectId:+projectId,
// startTime:startTime,
// }
// addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// }).catch((error)=>{
// })
return
}
if(!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if(!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
}, },
submitForm2() { 296: {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288' prop: 'voucherType',//
const nomCallDepositOpen2 = sessionStorage.getItem('nomCallDepositOpen2') type: '1',
const nomCallDepositOpen3 = sessionStorage.getItem('nomCallDepositOpen3') "subjectId": 11,
const nomCallDepositOpenPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
const cards = [
{
key: '291,13'
}
]
this.setDataFlow(this.form)
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.setNeedsModule(moduleName)
this.submited = 1
}, },
ismoney: ismoney, 299: {
checkHanzi: checkHanzi, prop: 'depositType',//
checkName: checkName, type: '1',
inputListen "subjectId": 30,
}, },
computed: { 300: {
prop: 'money',//
type: '3',
"subjectId": 14,
},
298: {
prop: 'noticeType',//
type: '1',
"subjectId": 48,
},
301: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
// : {
// prop: 'noticeType',//
// type: '1'
// },
// 127: {
// prop: 'voucherType',//
// type: '1'
// },
// 129: {
// prop: 'withdrawingWay',//
// type: '1'
// },
// 127: {
// prop: 'voucherType',//
// type: '1'
// },
// 129: {
// prop: 'withdrawingWay',//
// type: '1'
// },
},
submited: 0
}
},
created () {
if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
...mapGetters({ // if(this.isNeedBefore) {
dataFlow: 'system/dataFlow', // if(sessionStorage.getItem('nomCallDepositOpen2')) {
needsModule: 'system/needsModule', // this.idNumberJudge = true
idCardNumber: 'system/idCardNumber', // this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
inMyWork: 'system/inMyWork', // }
getSelectList: 'system/getSelectList' // if(sessionStorage.getItem('nomCallDepositOpen3')) {
}) // this.cardNumberJudge = true
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753'
// }
// return
// }
if (sessionStorage.getItem('nomCallDepositOpen2')) {
this.idNumberJudge = true
const { idNumber, peopleNumber, userName, currency, goldLogo, depositType } = this.dataFlow
this.form.idNumber = idNumber
this.form.clientNumber = peopleNumber
this.form.customerName = userName
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.depositType = depositType
} }
if (sessionStorage.getItem('nomCallDepositOpen3')) {
const { voucherNumber } = this.dataFlow
this.cardNumberJudge = true
this.form.voucherNumber = voucherNumber
}
this.getFormData()
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const cards = {
// 291: 'nomCallDepositOpen2',
// 297: 'nomCallDepositOpen3',
// 301: 'nomCallDepositOpenPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
popUp (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('291')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('297')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('301')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
// let formList = [
// {
// "answerId":'291',
// "emptyOne": "",
// "emptyTwo": "",
// "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,38,288,291,13",
// "type": ""
// }
// ]
// let params= {
// parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288,291',
// lcJudgmentRuleReq:formList,
// projectId:+projectId,
// startTime:startTime,
// }
// addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// }).catch((error)=>{
// })
return
}
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
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 nomCallDepositOpen3 = sessionStorage.getItem('nomCallDepositOpen3')
const nomCallDepositOpenPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
const cards = [
{
key: '291,13'
}
]
this.setDataFlow(this.form)
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.setNeedsModule(moduleName)
this.submited = 1
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
} }
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>

@ -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