庞东旭 2 роки тому
джерело
коміт
c103ac607a
14 змінених файлів з 3131 додано та 17 видалено
  1. +2
    -2
      config/index.js
  2. +57
    -14
      package-lock.json
  3. +2
    -0
      package.json
  4. +51
    -0
      src/api/onlineHome/bankAgriculture/paymentApproval.js
  5. +292
    -0
      src/components/Editor/index.vue
  6. +57
    -0
      src/components/Editor/quill-title.js
  7. +45
    -0
      src/router/index.js
  8. +1299
    -1
      src/views/lawEnforcement/caseDistribution/caseDistribution.vue
  9. +311
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd13.vue
  10. +298
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail13.vue
  11. +228
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList13.vue
  12. +314
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify13.vue
  13. +169
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess13.vue
  14. +6
    -0
      src/views/yinnong/workbench.vue

+ 2
- 2
config/index.js Переглянути файл

@@ -13,8 +13,8 @@ module.exports = {
"/api": {
// 请求的目标主机
//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,
pathRewrite: {
'^/api': ''


+ 57
- 14
package-lock.json Переглянути файл

@@ -1660,7 +1660,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dev": true,
"requires": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
@@ -3315,7 +3314,6 @@
"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",
"integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=",
"dev": true,
"requires": {
"is-arguments": "^1.0.4",
"is-date-object": "^1.0.1",
@@ -3334,7 +3332,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"dev": true,
"requires": {
"object-keys": "^1.0.12"
}
@@ -4271,6 +4268,11 @@
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
"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": {
"version": "2.1.0",
"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",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
"dev": true,
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
@@ -4870,8 +4871,7 @@
"has-symbols": {
"version": "1.0.2",
"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": {
"version": "2.0.1",
@@ -5485,7 +5485,6 @@
"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",
"integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=",
"dev": true,
"requires": {
"call-bind": "^1.0.0"
}
@@ -5563,8 +5562,7 @@
"is-date-object": {
"version": "1.0.2",
"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": {
"version": "0.1.6",
@@ -5711,7 +5709,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz",
"integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"has-symbols": "^1.0.1"
@@ -7044,7 +7041,6 @@
"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",
"integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3"
@@ -7053,8 +7049,7 @@
"object-keys": {
"version": "1.1.1",
"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": {
"version": "1.0.1",
@@ -7339,6 +7334,11 @@
"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": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
@@ -10137,6 +10137,41 @@
"integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=",
"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": {
"version": "3.1.1",
"resolved": "https://registry.npm.taobao.org/randomatic/download/randomatic-3.1.1.tgz",
@@ -10424,7 +10459,6 @@
"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",
"integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"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": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz",


+ 2
- 0
package.json Переглянути файл

@@ -24,6 +24,7 @@
"node-sass": "^5.0.0",
"nprogress": "^0.2.0",
"postcss-px2rem-exclude": "0.0.6",
"quill": "^1.3.7",
"sass": "^1.32.8",
"sass-loader": "^6.0.6",
"vant": "^2.12.8",
@@ -33,6 +34,7 @@
"vue-esign": "^1.0.5",
"vue-pdf": "^4.3.0",
"vue-qrcode-reader": "^3.1.0",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.0.1",
"vue-search-tree": "^1.9.9",
"vuex": "^3.6.2",


+ 51
- 0
src/api/onlineHome/bankAgriculture/paymentApproval.js Переглянути файл

@@ -354,3 +354,54 @@ export function updateTYinnongTransferFoStatus(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'
})
}


+ 292
- 0
src/components/Editor/index.vue Переглянути файл

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

+ 57
- 0
src/components/Editor/quill-title.js Переглянути файл

@@ -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]];
}
});
}

+ 45
- 0
src/router/index.js Переглянути файл

@@ -1906,6 +1906,15 @@ export const constantRoutes = [
},
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',
name: 'approvalList4',
@@ -1978,6 +1987,15 @@ export const constantRoutes = [
},
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',
name: 'approvalDetail4',
@@ -2097,6 +2115,15 @@ export const constantRoutes = [
},
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',
name: 'approvalCollectionAdd',
@@ -2188,6 +2215,15 @@ export const constantRoutes = [
},
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',
name: 'approvalModify4',
@@ -2260,6 +2296,15 @@ export const constantRoutes = [
},
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',
name: 'collectionList',


+ 1299
- 1
src/views/lawEnforcement/caseDistribution/caseDistribution.vue
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 311
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd13.vue Переглянути файл

@@ -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">-->
<!-- &lt;!&ndash; @click="goAdd"&ndash;&gt;-->
<!-- <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>

+ 298
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail13.vue Переглянути файл

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

+ 228
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList13.vue Переглянути файл

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

+ 314
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify13.vue Переглянути файл

@@ -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">-->
<!-- &lt;!&ndash; @click="goAdd"&ndash;&gt;-->
<!-- <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>

+ 169
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess13.vue Переглянути файл

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

+ 6
- 0
src/views/yinnong/workbench.vue Переглянути файл

@@ -114,6 +114,12 @@
</div>
<p style="margin-top: 5px;color: #666666;">开户行</p>
</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-row>
<yinnongIndex></yinnongIndex>


Завантаження…
Відмінити
Зберегти