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