Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
zhaokaiyao@91isoft.com
2021-12-06 16:51:06 +08:00
50 changed files with 2912 additions and 773 deletions
+53 -273
View File
@@ -2663,6 +2663,11 @@
"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
"dev": true
},
"@popperjs/core": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz",
"integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ=="
},
"@probe.gl/stats": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@probe.gl/stats/-/stats-3.4.0.tgz",
@@ -2940,11 +2945,23 @@
}
}
},
"@vant/icons": {
"version": "1.7.1",
"resolved": "https://registry.nlark.com/@vant/icons/download/@vant/icons-1.7.1.tgz",
"integrity": "sha1-Sa5CAwK1WB5U5olIkeWgW8dun4c="
},
"@vant/popperjs": {
"version": "1.1.0",
"resolved": "https://registry.nlark.com/@vant/popperjs/download/@vant/popperjs-1.1.0.tgz",
"integrity": "sha1-tO3uW7+m+xhwWYbjE9T9XxeUKg8=",
"requires": {
"@popperjs/core": "^2.9.2"
}
},
"@vue/babel-helper-vue-jsx-merge-props": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==",
"dev": true
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA=="
},
"@vue/babel-helper-vue-transform-on": {
"version": "1.0.2",
@@ -4541,270 +4558,6 @@
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.5.0",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.5.0.tgz",
"integrity": "sha512-WXh+7AgFxGTgb5QAkQtFeUcHNIEq3PGVQ8WskY5ZiFbWBkOwcCPRs4w/2tVyTbh2q6TVRlO3xfvIukUtjsu62A==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true,
"optional": true
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
"dev": true,
"optional": true,
"requires": {
"minimist": "^1.2.5"
}
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.3.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.3.3.tgz",
"integrity": "sha512-/1GzCuQ6MRORbC+leKTKoTGtpQt60bYe0gDGEextSteA2OM+v201FPha5jzmjQzVhRcwieZeUvezAtG5a/e5cw==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true,
"optional": true
},
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
"dev": true,
"optional": true,
"requires": {
"minimist": "^1.2.5"
}
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.5.0",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.5.0.tgz",
"integrity": "sha512-WXh+7AgFxGTgb5QAkQtFeUcHNIEq3PGVQ8WskY5ZiFbWBkOwcCPRs4w/2tVyTbh2q6TVRlO3xfvIukUtjsu62A==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true,
"optional": true
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
"dev": true,
"optional": true,
"requires": {
"minimist": "^1.2.5"
}
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-style-loader": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
@@ -5667,6 +5420,16 @@
"object.assign": "^4.1.0"
}
},
"babel-plugin-import": {
"version": "1.13.3",
"resolved": "https://registry.npmjs.org/babel-plugin-import/-/babel-plugin-import-1.13.3.tgz",
"integrity": "sha512-1qCWdljJOrDRH/ybaCZuDgySii4yYrtQ8OJQwrcDqdt0y67N30ng3X3nABg6j7gR7qUJgcMa9OMhc4AGViDwWw==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.0.0",
"@babel/runtime": "^7.0.0"
}
},
"babel-polyfill": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
@@ -13709,6 +13472,18 @@
"spdx-expression-parse": "^3.0.0"
}
},
"vant": {
"version": "2.12.36",
"resolved": "https://registry.npmmirror.com/vant/download/vant-2.12.36.tgz",
"integrity": "sha512-+/XRx0MC/fHK2gskC7BMI00Ubrh+C46HtlyBzFGYIauzbQy9IotiuBkBZh+ep15ygXxIpozmudsLlGtX1cfexw==",
"requires": {
"@babel/runtime": "7.x",
"@vant/icons": "^1.7.1",
"@vant/popperjs": "^1.1.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"vue-lazyload": "1.2.3"
}
},
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -13767,9 +13542,14 @@
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.4.tgz",
"integrity": "sha512-XLI5s0AdqMP2Lf4I4CmdmOq8kjb5DDFGR77wAuxCfpEuYSfhTRyyx6MetgZMiL6Lxa0DasjBOiOcciU3NkL3/Q=="
},
"vue-lazyload": {
"version": "1.2.3",
"resolved": "https://registry.nlark.com/vue-lazyload/download/vue-lazyload-1.2.3.tgz",
"integrity": "sha1-kB+ewVx+bKeHgaK65KNDaGve2yw="
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmmirror.com/vue-loader/download/vue-loader-16.8.3.tgz",
"resolved": "https://registry.npmmirror.com/vue-loader/download/vue-loader-16.8.3.tgz?cache=0&sync_timestamp=1636034706501&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-loader%2Fdownload%2Fvue-loader-16.8.3.tgz",
"integrity": "sha1-1D5nXe9bqTRdbH8FkUwT2GGZcIc=",
"dev": true,
"optional": true,
@@ -13781,7 +13561,7 @@
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995651629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
"resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"optional": true,
@@ -13791,7 +13571,7 @@
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz",
"resolved": "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz",
"integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
"dev": true,
"optional": true,
@@ -13802,7 +13582,7 @@
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
"resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"optional": true,
@@ -13819,21 +13599,21 @@
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
"resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true,
"optional": true
},
"hash-sum": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz",
"resolved": "https://registry.nlark.com/hash-sum/download/hash-sum-2.0.0.tgz",
"integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.2.tgz?cache=0&sync_timestamp=1636687952028&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.2.tgz",
"resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.2.tgz?cache=0&sync_timestamp=1636687947060&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.2.tgz",
"integrity": "sha1-1uO0+4GHByGuTghoqxHdY4NowSk=",
"dev": true,
"optional": true,
+2
View File
@@ -21,6 +21,7 @@
"moment": "^2.29.1",
"sortablejs": "^1.14.0",
"v-charts": "^1.19.0",
"vant": "^2.12.36",
"vue": "^2.6.11",
"vue-clipboard2": "^0.3.1",
"vue-contextmenujs": "^1.3.13",
@@ -33,6 +34,7 @@
"@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-plugin-import": "^1.13.3",
"less": "^3.13.1",
"less-loader": "^5.0.0",
"popper.js": "^1.16.1",
@@ -360,6 +360,8 @@ export default {
console.log(editFileInfo)
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
@@ -16,7 +16,9 @@
multiple
@change="handleChange"
>
<!-- <el-option value="全选" label="全选" @click.native="clickOption"></el-option>-->
<el-option value="全选" @click.native="clickOption" v-if="options.length > 0">
{{ checkAll ? '取消全选' : '全选' }}
</el-option>
<el-option
v-for="opt in options"
:key="opt.value"
@@ -53,7 +55,8 @@ export default {
},
data () {
return {
valueArr: []
valueArr: [],
checkAll: false,
}
},
computed: {
@@ -71,9 +74,32 @@ export default {
}
},
methods: {
clickOption () {
this.checkAll = !this.checkAll
if (this.checkAll) {
let list = []
this.config.options.map(item => {
this.valueArr.push(item.value)
list.push(item.value)
})
this.$emit('input', list)
} else {
this.valueArr = []
this.$emit('input', this.valueArr)
}
},
handleChange (event) {
// const value = event.target.value
this.$emit('input', event)
if (event.includes('全选')) {
return
} else {
if (event.length === this.config.options.length) {
this.checkAll = true
} else {
this.checkAll = false
}
this.$emit('input', event)
}
// const value = event.target.value
}
},
@@ -91,7 +117,7 @@ export default {
this.valueArr = []
}
}
}
},
},
mounted () {
if (this.value !== '' && this.value !== null && typeof (this.value) !== 'undefined') {
+6
View File
@@ -39,6 +39,11 @@ moment.suppressDeprecationWarnings = true;
// 右键菜单
import Contextmenu from 'vue-contextmenujs'
// vant
import vant from 'vant';
import 'vant/lib/index.css';
//vant
import animate from 'animate.css'
// 引入路由器
@@ -263,6 +268,7 @@ Vue.use(VueI18n)
Vue.use(VueClipboard)
Vue.use(Contextmenu)
Vue.use(animate)
Vue.use(vant)
// Vue.prototype.$echarts = echarts
// 原生axios
@@ -13,7 +13,7 @@
style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon"
v-if="index < 5">
<a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank">
<a v-if="index < 5" style="color: #0068B7;cursor: pointer" @click="openLinkUrl(item.url)" target="_blank">
<a v-if="item.name.length > 8"> {{ item.name.slice(0, 8) + '...' }}</a>
<a v-else>{{ item.name }}</a>
</a>
@@ -33,7 +33,7 @@
style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon"
v-if="index < 5">
<a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank">
<a v-if="index < 5" style="color: #0068B7;cursor: pointer" @click="openLinkUrl(item.url)" target="_blank">
<a v-if="item.name.length > 8"> {{ item.name.slice(0, 8) + '...' }}</a>
<a v-else>{{ item.name }}</a>
</a>
-22
View File
@@ -439,8 +439,6 @@ export default {
}, {
_this: this,
}, res => {
console.log('608',res)
// console.log('608',res.data.records[0].zccssrq.replace(' 00:00:00',''))
// 适用车型转换
for (let a = 0; a < res.data.records.length; a++) {
if (res.data.records[a].applyType !== null) {
@@ -455,26 +453,6 @@ export default {
}
}
}
for (let i = 0; i < res.data.records.length; i++) {
let putTimeReplaceTimes = res.data.records[i].putTime.length/19
let ssrqReplaceTimes = res.data.records[i].ssrq.length/19
let xcxssrqReplaceTimes = res.data.records[i].xcxssrq.length/19
let zccssrqReplaceTimes = res.data.records[i].zccssrq.length/19
for (let j = 0; j < putTimeReplaceTimes; j++) {
res.data.records[i].putTime = res.data.records[i].putTime.replace(' 00:00:00','')
}
for (let j = 0; j < ssrqReplaceTimes; j++) {
res.data.records[i].ssrq = res.data.records[i].ssrq.replace(' 00:00:00','')
}
for (let j = 0; j < xcxssrqReplaceTimes; j++) {
res.data.records[i].xcxssrq = res.data.records[i].xcxssrq.replace(' 00:00:00','')
}
for (let j = 0; j < zccssrqReplaceTimes; j++) {
res.data.records[i].zccssrq = res.data.records[i].zccssrq.replace(' 00:00:00','')
}
}
this.warningTableDatas = res.data.records
this.pageConfig.page = res.data.current
if ((this.warningTableDatas.length === 0 || this.warningTableDatas === []) && this.pageConfig.page !== 1) {
@@ -419,6 +419,16 @@ export default {
},
workPath: '',
comityTel: [],
fillPeople: '',
fillPeopleId: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillLeaderId: '',
fillFile: [],
},
comityNameOptions: [
{value: '0', label: '国内法规入库流程'},
@@ -241,15 +241,6 @@ export default {
comityTel: [],
comityOpRole: '',
comityInRoleId: '',
fillPeople: '',
fillPeopleId: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillLeaderId: '',
},
roleForm: {},
commentText: '',
@@ -409,8 +409,10 @@ export default {
getFormFieldList(item) {
this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.rh_pageData.fillLeader = ''
this.rh_pageData.fillPeople = this.$store.getters.userInfo.userName
if (this.rh_pageData.fillFile !== undefined) {
this.fillFileList = this.rh_pageData.fillFile
}
this.rh_pageData.fillPeopleId = this.$store.getters.userInfo.userId
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
@@ -521,7 +523,7 @@ export default {
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
if (this.fillFileList !== null) {
if (this.fillFileList.length !== 0) {
this.newDataList = this.fillFileList
this.newDataList.push({
id: res.data.attId,
@@ -107,7 +107,7 @@
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料" show-overflow-tooltip>
<el-table-column prop="fillFile" align="center" label="资料">
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
@@ -146,7 +146,7 @@
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料" show-overflow-tooltip>
<el-table-column prop="fillFile" align="center" label="资料">
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
@@ -109,7 +109,7 @@
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料" show-overflow-tooltip>
<el-table-column prop="fillFile" align="center" label="资料">
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
@@ -112,7 +112,7 @@
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料" show-overflow-tooltip>
<el-table-column prop="fillFile" align="center" label="资料">
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
@@ -360,6 +360,16 @@ export default {
sort: '1',
meetingTable: [],
fileTextList: [],
fillPeopleId: '',
fillPeople: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillFile: '',
},
associaNameOptions: [
{value: '0', label: '国内法规入库流程'},
@@ -214,17 +214,7 @@ export default {
active: '1',
acceptShow: false,
ch_pageData: {
fillPeopleId: '',
fillPeople: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillFile: '',
},
ch_pageData: {},
ch_rules: {},
nodeList: [],
commentText: '',
@@ -1480,7 +1480,7 @@
],
standEnName: [
{ required: false, message: '请输入标准英文名称', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
{ min: 1, max: 500, message: '长度在 1 到 500 个字符', trigger: 'blur' }
],
/*standNature: [
{ required: true, message: '请选择标准性质', trigger: 'change' }
@@ -2872,6 +2872,9 @@
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzrkStep1 {
/deep/ .prc-content-border .form-item-disabled .el-form-item__content .el-input .el-input__inner{
width: 70%;
}
/deep/ .search-area {
display: contents;
flex-wrap: wrap;
@@ -1444,7 +1444,7 @@ export default {
],
standEnName: [
{ required: false, message: '请输入标准英文名称', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
{ min: 1, max: 500, message: '长度在 1 到 500 个字符', trigger: 'blur' }
],
/*standNature: [
{ required: true, message: '请选择标准性质', trigger: 'change' }
@@ -2541,6 +2541,9 @@ export default {
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzrkStep4 {
/deep/ .prc-content-border .form-item-disabled .el-form-item__content .el-input .el-input__inner{
width: 70%;
}
/deep/ .el-upload-list__item-name {
white-space: inherit;
}
@@ -0,0 +1,611 @@
<template>
<div class="qbfs-step4">
<ProcessHeader toggle>
<template slot="proName">企标复审流程</template>
<template slot="proNode">工作组组长审批</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<process-title>
<template slot="title">基础信息</template>
</process-title>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<div v-if="foldFormFlag">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标编号" prop="entNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entNumber"
placeholder="请输入企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="中文名称" prop="cnName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.cnName"
placeholder="请输入中文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="英文名称" prop="enName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.enName"
placeholder="请输入英文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标类别" prop="entCategory" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entCategory"
placeholder="请输入企标类别"
clearable
></el-input>
</el-form-item>
<el-form-item label="代替企标编号" prop="replaceNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replaceNumber"
placeholder="请输入代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="下一步状态" prop="nextStatus" class="add-form-item ">
<el-select v-model="qbfsForm.nextStatus" placeholder="请选择下一步状态">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被代替企标编号" prop="replacedNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replacedNumber"
placeholder="请输入被代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="发布日期" prop="releaseDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.releaseDate"
placeholder="请输入发布日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="实施日期" prop="implementDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.implementDate"
placeholder="请输入实施日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="复审日期" prop="reviewDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.reviewDate"
placeholder="请输入复审日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.name }}
<i
title="下载"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
class="icon-download2"
v-btn-permission="''"
/>
</p>
</div>
<div v-else>
暂无数据
</div>
</el-form-item>
<el-form-item class="add-form-item ">
</el-form-item>
<!-- <el-form-item label="工作组成员" prop="jgUser" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.jgUser"-->
<!-- placeholder="请选择工作组成员"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
</el-form>
<el-button style="width: 100%" :icon="foldFormFlag ? 'el-icon-caret-top' : 'el-icon-caret-bottom'"
@click="foldForm">{{ foldFormFlag ? "隐藏基础信息" : "展开基础信息" }}
</el-button>
<process-title>
<template slot="title">审核信息</template>
</process-title>
<el-table
:data="dataList"
border
height="52%"
style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="opinion"
align="center"
label="审核意见">
</el-table-column>
<el-table-column
prop="people"
align="center"
label="审核人">
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "qbfsStep1-4",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: "1",
isTransfer: false,
isSubmit: false,
saveLoading: false,
drawerModal: false,
drawerTitle: "",
nodeList: [],
fileList: [],
commentText: "",
dataList: [],
detailData: [],
loading: false,
foldFormFlag: true,
qbfsForm: {
entNumber: "",
cnName: "",
enName: "",
entCategory: "",
replaceNumber: "",
replacedNumber: "",
releaseDate: "",
implementDate: "",
reviewDate: "",
nextStatus: ""
},
formRules: {
nextStatus: [
{ required: true, message: "请选择下一步状态", trigger: "change" }
]
},
associationOptions: [{
value: "修订",
label: "修订"
}, {
value: "废止",
label: "废止"
}, {
value: "有效",
label: "有效"
}]
};
},
mounted() {
this.processTable();
this.getData();
},
methods: {
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item));
let res = item.res ? item.res.substring(1, item.res.lastIndexOf("]")) : "";
res = res.split(",");
this.dataList = [];
res.forEach(item => {
this.dataList.push({
opinion: item.split("-")[1],
people: item.split("-")[0]
});
});
let list = [];
this.dataList.forEach(item => {
list.push(item.opinion);
this.findMost(list);
});
});
},
findMost(arr) {
if (!arr.length) return;
if (arr.length === 1) return 1;
let res = {};
let maxName, maxNum = 0;
// 遍历数组
arr.forEach((item) => {
res[item] ? res[item] += 1 : res[item] = 1;
if (res[item] > maxNum) {
maxName = item;
maxNum = res[item];
}
});
this.qbfsForm.nextStatus = maxName
// return "出现次数最多的元素为:" + maxName + ", 出现次数为:" + maxNum;
},
//流程提交
handleSubmit() {
this.isSubmit = true;
this.qbfsForm.commentText = this.commentText;
this.qbfsForm.dataList = this.dataList;
let json = JSON.stringify(this.qbfsForm);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false;
}, e => {
});
},
handleTabs(name) {
this.active = name;
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag;
},
//转办事件
handleTransfer() {
this.drawerModal = true;
this.drawerTitle = "转办处理人";
this.selectPeople = row;
},
//确认转办
checkedRole(data) {
this.assigneeNewLoading = true;
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false;
if (res.success) {
this.drawerModal = false;
this.$message.success("调整成功");
this.$router.push("/processCenter");
this.processNum();
} else {
this.$message.warning(res.message);
}
});
},
// 请求转换流程图
processNum(row) {
axios.request({
url: "/api/lawss/activiti/getImg?_t=" + new Date().getTime(),
responseType: "blob",
method: "get",
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data);
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.qbfs-step4 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover {
color: #0c91e5;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.add-form-el-select {
/deep/ .el-select {
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -207,7 +207,7 @@
type="primary"
class="common-button-primary"
size="small"
@click="getStandDataBtn">
@click="getStandDataBtns">
查询
</el-button>
</el-form-item>
@@ -225,7 +225,7 @@
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
class="table-height"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectListChange"
@@ -461,6 +461,20 @@ export default {
this.getStandDataBtn()
this.ListModel = true;
},
getStandDataBtns(){
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage',{
standCode: this.standardSearch.standCode,
standName: this.standardSearch.standName,
page: 1,
pageSize: this.pageSize,
}, {
_this: this,
}, res => {
this.page = 1
this.standinfoList = res.data.list
this.total = res.data.count
})
},
//企业标准查询this.standardSearch,
getStandDataBtn(){
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage',{
@@ -478,6 +492,7 @@ export default {
},
//企业标准清空
clearSearch(){
this.page = 1
this.standardSearch = {
standCode: '',
standName: ''
@@ -792,7 +807,16 @@ export default {
width: 210px;
}
}
.table-height{
height: calc(~'100% - 65px');
overflow: auto;
}
.el-table::before {
content: '';
position: absolute;
background-color: #EBEEF5;
z-index: 0;
}
.demo-drawer-content {
margin-top: 10px;
}
@@ -174,7 +174,7 @@
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -0,0 +1,589 @@
<template>
<div class="qbfz-step7">
<ProcessHeader toggle>
<template slot="proName">企标废止流程</template>
<template slot="proNode">标准法规部部长审核</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<process-title>
<template slot="title">基础信息</template>
</process-title>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<div v-if="foldFormFlag">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标编号" prop="standCode" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.standCode"
placeholder="请输入企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.standName"
placeholder="请输入中文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标类别" prop="entCategory" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entCategory"
placeholder="请输入企标类别"
clearable
></el-input>
</el-form-item>
<el-form-item label="代替企标编号" prop="replaceNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replaceNumber"
placeholder="请输入代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="废止理由" prop="abolishCause" class="add-form-item form-item-disabled">
<el-input
readonly
type="textarea"
v-model="qbfsForm.abolishCause"
placeholder="请输入废止理由"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="英文名称" prop="enName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.enName"
placeholder="请输入英文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="被代替企标编号" prop="replacedNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replacedNumber"
placeholder="请输入被代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="发布日期" prop="releaseDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.releaseDate"
placeholder="请输入发布日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="实施日期" prop="implementDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.implementDate"
placeholder="请输入实施日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="下一步状态" prop="nextStatus" class="add-form-item ">
<el-select v-model="qbfsForm.nextStatus" disabled placeholder="请选择下一步状态">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-button style="width: 100%" :icon="foldFormFlag ? 'el-icon-caret-top' : 'el-icon-caret-bottom'"
@click="foldForm">{{ foldFormFlag ? "隐藏基础信息" : "展开基础信息" }}
</el-button>
<process-title>
<template slot="title">审核信息</template>
</process-title>
<el-table
:data="dataList"
border
height="52%"
style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="opinion"
align="center"
label="审核意见">
</el-table-column>
<el-table-column
prop="people"
align="center"
label="审核人">
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "qbfzStep7",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: "1",
isTransfer: false,
isSubmit: false,
saveLoading: false,
drawerModal: false,
drawerTitle: "",
nodeList: [],
fileList: [],
commentText: "",
dataList: [],
detailData: [],
loading: false,
foldFormFlag: true,
qbfsForm: {
entNumber: "",
cnName: "",
enName: "",
entCategory: "",
replaceNumber: "",
replacedNumber: "",
releaseDate: "",
implementDate: "",
reviewDate: "",
nextStatus: ""
},
formRules: {
nextStatus: [
{ required: true, message: "请选择下一步状态", trigger: "change" }
]
},
associationOptions: [{
value: "修订",
label: "修订"
}, {
value: "废止",
label: "废止"
}, {
value: "有效",
label: "有效"
}]
};
},
mounted() {
this.processTable();
this.getData();
},
methods: {
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
console.log(item);
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item));
let res = item.res ? item.res.substring(1, item.res.lastIndexOf("]")) : "";
res = res.split(",");
this.dataList = [];
res.forEach(item => {
this.dataList.push({
opinion: item.split("-")[1],
people: item.split("-")[0]
});
});
});
},
//流程驳回
beforeBack(){
this.isSubmit = true;
this.qbfsForm.commentText = this.commentText;
this.qbfsForm.bafzFlag = '1'
this.qbfsForm.dataList = this.dataList;
let json = JSON.stringify(this.qbfsForm);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false;
}, e => {
});
},
//流程提交
handleSubmit() {
this.$refs['qbfsForm'].validate((valid) => {
if (valid) {
this.isSubmit = true;
this.qbfsForm.commentText = this.commentText;
this.qbfsForm.bafzFlag = '0'
this.qbfsForm.dataList = this.dataList;
let json = JSON.stringify(this.qbfsForm);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false;
}, e => {
});
}else{
this.$message.warning('请完善基础信息')
}
})
},
handleTabs(name) {
this.active = name;
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag;
},
//转办事件
handleTransfer() {
this.drawerModal = true;
this.drawerTitle = "转办处理人";
this.selectPeople = row;
},
//确认转办
checkedRole(data) {
this.assigneeNewLoading = true;
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false;
if (res.success) {
this.drawerModal = false;
this.$message.success("调整成功");
this.$router.push("/processCenter");
this.processNum();
} else {
this.$message.warning(res.message);
}
});
},
// 请求转换流程图
processNum(row) {
axios.request({
url: "/api/lawss/activiti/getImg?_t=" + new Date().getTime(),
responseType: "blob",
method: "get",
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data);
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.qbfz-step7 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover {
color: #0c91e5;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.add-form-el-select {
/deep/ .el-select {
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -30,7 +30,8 @@
<el-input
v-model="standardSearch.standCode"
placeholder="请输入企标编号"
clearable
clearabler
readonly
></el-input>
</el-form-item>
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
@@ -38,6 +39,7 @@
v-model="standardSearch.standName"
placeholder="请输入中文名称"
clearable
readonly
></el-input>
</el-form-item>
<el-form-item v-show="standShow" label="英文名称" prop="enName" class="add-form-item form-item-disabled">
@@ -225,7 +227,7 @@
type="primary"
class="common-button-primary"
size="small"
@click="getStandDataBtn">
@click="getStandDataBtns">
查询
</el-button>
</el-form-item>
@@ -243,7 +245,7 @@
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
class="table-height"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectListChange"
@@ -498,6 +500,20 @@ export default {
this.getStandDataBtn()
this.ListModel = true;
},
getStandDataBtns(){
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage',{
standCode: this.standardSearch.standCode,
standName: this.standardSearch.standName,
page: 1,
pageSize: this.pageSize,
}, {
_this: this,
}, res => {
this.page = 1
this.standinfoList = res.data.list
this.total = res.data.count
})
},
//企业标准查询
getStandDataBtn(){
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage',{
@@ -515,6 +531,7 @@ export default {
},
//企业标准清空
clearSearch(){
this.page = 1
this.standardSearch = {
standCode: '',
standName: ''
@@ -857,7 +874,16 @@ export default {
width: 210px;
}
}
.table-height{
height: calc(~'100% - 65px');
overflow: auto;
}
.el-table::before {
content: '';
position: absolute;
background-color: #EBEEF5;
z-index: 0;
}
.demo-drawer-content {
margin-top: 10px;
}
@@ -144,7 +144,7 @@
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -31,7 +31,7 @@
></el-input>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-select disabled v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
@@ -47,6 +47,7 @@
</el-form-item>
<el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.draftTime"
type="date"
value-format="yyyy-MM-dd"
@@ -64,7 +65,7 @@
</el-col>
<el-col :span="12">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-select disabled v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
@@ -88,6 +89,7 @@
</el-form-item>
<el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.releaseTime"
type="date"
value-format="yyyy-MM-dd"
@@ -31,7 +31,7 @@
></el-input>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-select disabled v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
@@ -47,6 +47,7 @@
</el-form-item>
<el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.draftTime"
type="date"
value-format="yyyy-MM-dd"
@@ -71,8 +72,8 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
@@ -96,6 +97,7 @@
</el-form-item>
<el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.releaseTime"
type="date"
value-format="yyyy-MM-dd"
@@ -141,7 +143,7 @@
></el-input>
</el-form-item>
<el-form-item label="制修订状态" class="search-item search-item-last">
<el-select v-model="standardSearch.reviseStatus" placeholder="请选择制修订状态">
<el-select v-model="standardSearch.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
@@ -33,7 +33,7 @@
</el-form-item>
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input v-model="qbfsForm.drafter" style="display: none;"></el-input>
<el-input v-model="qbfsForm.drafterName" placeholder="请选择起草人"
<el-input v-model="qbfsForm.drafterName" placeholder="请选择起草人" readonly
@click.native="choiceZRRS('1')">
</el-input>
</el-form-item>
@@ -191,10 +191,10 @@ export default {
{required: true, message: '请输入企标名称', trigger: 'blur'},
],
planStatus: [
{required: true, message: '请选择计划状态', trigger: 'change'},
{required: true, message: '请选择计划状态', trigger: 'blur'},
],
reviseStatus: [
{required: true, message: '请选择制修订状态', trigger: 'change'},
{required: true, message: '请选择制修订状态', trigger: 'blur'},
],
resPersonName: [
{required: true, message: '请输入评审责任人', trigger: 'blur'},
@@ -209,7 +209,7 @@ export default {
{required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
],
drafterName: [
{required: true, message: '请输入起草人', trigger: 'blur'},
{required: true, message: '请选择起草人', trigger: 'change'},
],
newReason: [
{required: true, message: '请输入新增原因', trigger: 'blur'},
@@ -257,8 +257,11 @@ export default {
this.modalshowflag = true;
},
checkedRole(data) {
this.qbfsForm.wgLeader = data[0].id;
this.qbfsForm.wgLeaderName = data[0].name;
this.$set(this.qbfsForm, 'wgLeader', data[0].id)
this.$set(this.qbfsForm, 'wgLeaderName', data[0].name)
if(this.qbfsForm.wgLeaderName){
this.$refs.qbfsForm.validateField('wgLeaderName')
}
this.modalshowflag = false;
},
choiceZRRS(type) {
@@ -279,10 +282,9 @@ export default {
this.modalshowflag2 = true;
},
checkedRole2(data) {
var idList = "";
var nameList = "";
let idList = "", nameList = ""
data.forEach(item => {
if (nameList.length > 0) {
if (nameList.length) {
nameList += ",";
idList += ",";
}
@@ -290,11 +292,18 @@ export default {
nameList += item.name;
});
if(this.roleType === '1'){
this.qbfsForm.drafter = idList;
this.qbfsForm.drafterName = nameList;
this.$set(this.qbfsForm, 'drafter', idList)
this.$set(this.qbfsForm, 'drafterName', nameList)
}else if(this.roleType === '2'){
this.qbfsForm.resPerson = idList;
this.qbfsForm.resPersonName = nameList;
this.$set(this.qbfsForm, 'resPerson', idList)
this.$set(this.qbfsForm, 'resPersonName', nameList)
}
// === '0' false null undefined都属于false类变量 如果里面有值可以直接判断
if(this.qbfsForm.drafterName){
this.$refs.qbfsForm.validateField('drafterName');
}
if(this.qbfsForm.resPersonName){
this.$refs.qbfsForm.validateField('resPersonName');
}
},
validateForm () {
@@ -453,8 +453,11 @@ export default {
this.modalshowflag = true;
},
checkedRole(data) {
this.qbfsForm.wgLeader = data[0].id;
this.qbfsForm.wgLeaderName = data[0].name;
this.$set(this.qbfsForm, 'wgLeader', data[0].id)
this.$set(this.qbfsForm, 'wgLeaderName', data[0].name)
if(this.qbfsForm.wgLeaderName){
this.$refs.qbfsForm.validateField('wgLeaderName')
}
this.modalshowflag = false;
},
choiceZRRS(type) {
@@ -475,10 +478,10 @@ export default {
this.modalshowflag2 = true;
},
checkedRole2(data) {
var idList = "";
var nameList = "";
let idList = "";
let nameList = "";
data.forEach(item => {
if (nameList.length > 0) {
if (nameList.length) {
nameList += ",";
idList += ",";
}
@@ -486,11 +489,17 @@ export default {
nameList += item.name;
});
if(this.type === '1'){
this.qbfsForm.drafter = idList;
this.qbfsForm.drafterName = nameList;
this.$set(this.qbfsForm, 'drafter', idList)
this.$set(this.qbfsForm, 'drafterName', nameList)
}else if(this.type === '2'){
this.qbfsForm.resPerson = idList;
this.qbfsForm.resPersonName = nameList;
this.$set(this.qbfsForm, 'resPerson', idList)
this.$set(this.qbfsForm, 'resPersonName', nameList)
}
if(this.qbfsForm.drafterName){
this.$refs.qbfsForm.validateField('drafterName');
}
if(this.qbfsForm.resPersonName){
this.$refs.qbfsForm.validateField('resPersonName');
}
},
validateForm () {
@@ -532,11 +541,15 @@ export default {
this.qbfsForm.reviseStatus1 = this.selectList[0].reviseStatus || '--'
this.standShow = true
}else{
this.qbfsForm.esId2 = this.selectList[0].id || '--'
this.qbfsForm.esName2 = this.selectList[0].esName || '--'
this.qbfsForm.planStatus2 = this.selectList[0].planStatus || '--'
this.qbfsForm.reviseStatus2= this.selectList[0].reviseStatus || '--'
this.standShow2 = true
if(this.qbfsForm.esName1 === this.selectList[0].esName ){
this.$message.warning('您选择的合并企标已经存在,请更改!')
}else{
this.qbfsForm.esId2 = this.selectList[0].id || '--'
this.qbfsForm.esName2 = this.selectList[0].esName || '--'
this.qbfsForm.planStatus2 = this.selectList[0].planStatus || '--'
this.qbfsForm.reviseStatus2= this.selectList[0].reviseStatus || '--'
this.standShow2 = true
}
}
this.ListModel = false
}
@@ -31,7 +31,7 @@
></el-input>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-select disabled v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
@@ -47,6 +47,7 @@
</el-form-item>
<el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.draftTime"
type="date"
value-format="yyyy-MM-dd"
@@ -63,7 +64,7 @@
</el-col>
<el-col :span="12">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-select disabled v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
@@ -87,6 +88,7 @@
</el-form-item>
<el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.releaseTime"
type="date"
value-format="yyyy-MM-dd"
@@ -257,7 +259,7 @@ export default {
renameEs: [
{required: true, message: '请输入更名后企标名称', trigger:'blur'},
],
cancelReason: [
renameReason: [
{required: true, message: '请输入更名原因', trigger:'blur'},
]
@@ -0,0 +1,523 @@
<template>
<div class="qbzxd-jhgk">
<ProcessHeader toggle>
<template slot="proName">企标制修订计划管控</template>
<template slot="proNode">标准法规部部长批准</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form :model="qbfsForm" class="label-input-form prc-content-border"
label-width="150px">
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafterName"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeaderName" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '5'" label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
disabled
v-model="qbfsForm.newReason"
placeholder="请输入新增原因"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '1'" label="合并原因" prop="mergeReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.mergeReason"
placeholder="请输入合并原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后初稿完成时间" prop="yqDraftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqDraftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后标准发布时间" prop="yqReleaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqReleaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期原因" prop="delayReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.delayReason"
placeholder="请输入延期原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '3'" label="取消原因" prop="cancelReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.cancelReason"
placeholder="请输入取消原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '4'" label="更名原因" prop="renameReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.renameReason"
placeholder="请输入更名原因"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "qbzxdjhgkStep1-5",
components:{
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data(){
return {
active: '1',
type: '',
commentText: '',
qbfsForm: {},
isTransfer: false,
isSubmit: false,
saveLoading: false,
loading: false,
//
drawerModal: false,
nodeList:[],
drawerTitle: '',
detailData: [],
}
},
mounted() {
this.processTable()
this.getData()
},
methods:{
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item))
this.type = item.type
})
},
handleTabs(name){
this.active = name
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
handleSubmit(){
this.isSubmit = true
this.qbfsForm.bzfgbzFlag = '0'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
beforeBack(){
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
this.isSubmit = true
this.qbfsForm.bzfgbzFlag = '1'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
}
},
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.qbzxd-jhgk {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover {
color: #0c91e5;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.add-form-el-select {
/deep/ .el-select {
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -12,10 +12,11 @@
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<process-title v-if="showFlag">
<template slot="title">基础信息</template>
</process-title>
<el-form
v-if="showFlag"
class="label-input-form prc-content-border"
label-width="150px"
>
@@ -54,6 +55,7 @@
</el-collapse>
</div>
</div>
<loading :loading="formLoading">数据加载中...</loading>
<div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
@@ -273,7 +275,9 @@ export default {
commentText: "",
comName: "merge",
qbfsForm: {},
formLoading: false,
approvalFlag: false,
showFlag: true,
taskId: '',
bpnId: '',
drawerTitle: "",
@@ -316,8 +320,8 @@ export default {
if(this.taskId){
this.approvalFlag = true
this.processTable()
this.getData();
}
this.getData();
},
methods: {
processTable() {
@@ -344,6 +348,8 @@ export default {
});
},
getData() {
this.formLoading = true
this.showFlag = false
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
@@ -362,7 +368,25 @@ export default {
*/
getFormFieldList(item) {
this.$nextTick(() => {
switch (item.type){
case '1':
this.comName = "merge"
break
case '2':
this.comName = "delay"
break
case '3':
this.comName = "cancel"
break
case '4':
this.comName = "rename"
break
case '5':
this.comName = "establish"
break
}
this.qbfsForm = item;
this.formLoading = false;
this.roleForm.dockUser = item.dockUser;
this.roleForm.dockUserName = item.dockUserName;
this.roleForm.countersigner = item.countersigner;
@@ -446,6 +470,7 @@ export default {
if (valid) {
this.isSubmit = true;
var json = Object.assign(qbzxdFrom, this.roleForm);
console.log(json);
this.$http.get("lawss/activiti/startProcess", { type: "25" }, {
_this: this
}, res => {
@@ -39,21 +39,21 @@
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafter"
v-model="qbfsForm.drafterName"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPerson"
v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeaderName" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeader"
v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
@@ -36,24 +36,24 @@
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafter"
v-model="qbfsForm.drafterName"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPerson"
v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="wgLeaderName" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeader"
v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
@@ -36,24 +36,24 @@
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafter"
v-model="qbfsForm.drafterName"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPerson"
v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="wgLeaderName" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeader"
v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
@@ -36,24 +36,24 @@
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafter"
v-model="qbfsForm.drafterName"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPerson"
v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-form-item prop="wgLeaderName" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeader"
v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
@@ -430,6 +430,7 @@ export default {
},
qdform: {
projectId:"",
projectNumber: "",
projectName: "",
detailedListName: "",
@@ -528,6 +529,7 @@ export default {
} else {
this.qdform.projectNumber = this.selectProject[0].projectNumber;
this.qdform.projectName = this.selectProject[0].projectName;
this.qdform.projectId = this.selectProject[0].id;
this.projectModel = false;
}
@@ -0,0 +1,442 @@
<template>
<div class="phoneBzdyStep7 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准调研流程</template>
<template slot="proNode">责任部门对接人及标准法规部部长审核</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="qbkwForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.title"
placeholder="请输入调研标题"
clearable
></el-input>
</el-form-item>
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.date"
type="date"
placeholder="请选择完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<!-- <el-form-item label="审核意见" prop="textsh" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.textsh"-->
<!-- placeholder="请输入审核意见"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<el-table
:data="tableData"
tooltip-effect="dark"
class="drag-table"
style="width: 100%; flex: auto;"
border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
ref="selection"
>
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="责任人"
align="center">
</el-table-column>
<el-table-column
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
</div>
</template>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="170"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="120"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="120"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
width="120"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
width="200"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "phoneBzdyStep7",
data() {
return {
drawerModal: false,
foldFormFlag: false,
histortData: [],
commentText: '',
tableData: [],
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
active: '1', //
isSubmit: false,
saveLoading: false,
form: {
title: '', //
date: '', //
hzfileId: '',
hzfileName: '',
textsh: ''
},
formRules: {
textsh: [
{ required: true, message: '请输入审核意见', trigger: 'blur' },
]
},
json: {},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
}
},
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {})
},
updateFile (fileId) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
},
//
beginImportFile (file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] //
//
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
return false
}
//
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
//
importFileSuccess (response, file) {
if (response.ok) {
this.fileMadel = false
this.form.hzfileId = response.data.id
this.form.hzfileName = response.data.name
this.$message({
showClose: true,
message: response.message,
type: 'success'
})
}
},
fileUpload () {
this.fileMadel = true
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.actionFlag = 1
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.title = data.title || data.form.title
this.form.date = data.date || data.form.date
this.json = data || data.form
this.tableData = data.responUserList || data.form.responUserList
this.form.hzfileId = data.hzfileId || data.form.hzfileId
this.form.hzfileName = data.hzfileName || data.form.hzfileName
}).catch(e => {
})
})
},
},
mounted () {
this.getHistoryData()
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzdyStep7 {
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -323,10 +323,14 @@
submitBTNText="同意"
>
</ProcessFooter>
<van-dialog v-model="dialogMadal" title="条款内容" @confirm="dialogOk">
<div v-html="itermsConditionsTitle"></div>
</van-dialog>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
@@ -337,6 +341,7 @@
name: "phoneBzjdStep4",
data() {
return {
dialogMadal: false,
drawerModal: false,
//truefalse
foldFormFlag: false,
@@ -363,11 +368,15 @@
}
},
components: {
[Dialog.Component.name]: Dialog.Component,
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
dialogOk () {
this.dialogMadal = false
},
handleTransfer() {
this.drawerModal = true
},
@@ -409,7 +418,7 @@
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.dialogMadal = true
this.itermsConditionsTitle = row
},
getHistoryData () {
@@ -496,6 +505,10 @@
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzjdStep4 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
@@ -270,6 +270,15 @@ export default {
} else if(prcType === '21') {
//
this.toProcessDetail('bzchStep6-1',row)
} else if(prcType === '23'){
//
this.toProcessDetail('qbzxdjhgkStep1-5',row)
}else if(prcType === '24'){
//
this.toProcessDetail('qbfzStep1-7',row)
}else if(prcType === '25'){
//
this.toProcessDetail('qbzxdjhgkStep1-5',row)
}
} else {
this.$message.warning('当前流程未全部办理完成,无法查看')
@@ -980,7 +980,7 @@ export default {
})
} else if (row.taskInfo === '责任人审核') {
this.$router.push({
name: 'phoneBzjdStep4',
name: 'bzjdStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -124,7 +124,8 @@ export default {
@import '~@/assets/styles/mixins';
#accessStandardsAndRegulations {
height: 100%;
//min-height: calc(100% - 20px);
height: inherit;
padding: 0 10px;
background: #fff;
display: flex;
@@ -147,7 +148,7 @@ export default {
flex-direction: column;
.el-tab-pane {
height: 100%;
height: 10px;
flex: auto;
display: flex;
flex-direction: column;
@@ -67,95 +67,97 @@
</div>
<div class="container">
<loading :loading="tableLoading">数据获取中</loading>
<el-table
:data="sarAccessListDatas"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
<div class="table_info">
<el-table
:data="sarAccessListDatas"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectOne"
ref="selection"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="countryAreaShow"
label="国家/地区"
align="center">
</el-table-column>
<el-table-column
prop="detailedListName"
label="清单名称"
align="center"
width="260px"
@selection-change="selectOne"
ref="selection"
>
<template slot-scope="scope">
<a class="table-jump" @click.stop="showTable(scope.row)">{{ scope.row.detailedListName }}</a>
</template>
</el-table-column>
<el-table-column
prop="detailedListState"
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
prop="detailedListVision"
label="清单版本"
align="center">
<template slot-scope="scope">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="countryAreaShow"
label="国家/地区"
align="center">
</el-table-column>
<el-table-column
prop="detailedListName"
label="清单名称"
align="center"
width="260px"
>
<template slot-scope="scope">
<a class="table-jump" @click.stop="showTable(scope.row)">{{ scope.row.detailedListName }}</a>
</template>
</el-table-column>
<el-table-column
prop="detailedListState"
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
prop="detailedListVision"
label="清单版本"
align="center">
<template slot-scope="scope">
<span
v-if="scope.row.detailedListVision != null && scope.row.detailedListVision !== ''">{{
scope.row.detailedListVision
}}</span>
</template>
</el-table-column>
<el-table-column
prop="updateTime"
label="更新时间"
align="center">
<template slot-scope="scope">
<div>{{
scope.row.updateTime ? $moment(scope.row.updateTime).format("YYYY-MM-DD") : scope.row.updateTime
}}
</div>
</template>
</el-table-column>
<el-table-column
prop="updatePeople"
label="更新人"
align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'b736f2469d49b3214cc8087419a24b60'">
查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'4733577057bf2470fc5c1f88d81eaf1d'">
编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'ff411226afb759fd2f4a2798ceac322a'">
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
prop="updateTime"
label="更新时间"
align="center">
<template slot-scope="scope">
<div>{{
scope.row.updateTime ? $moment(scope.row.updateTime).format("YYYY-MM-DD") : scope.row.updateTime
}}
</div>
</template>
</el-table-column>
<el-table-column
prop="updatePeople"
label="更新人"
align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'b736f2469d49b3214cc8087419a24b60'">
查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'4733577057bf2470fc5c1f88d81eaf1d'">
编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'ff411226afb759fd2f4a2798ceac322a'">
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="loading">数据获取中</loading>
<pagination :page="sarSarAccessEOSearch.page" :total="sarAccessListTotal" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
@@ -394,9 +396,11 @@ export default {
@import '~@/assets/styles/mixins';
#listOfCountries {
height: 100%;
//height: 100%;
display: flex;
flex-direction: column;
min-height: calc(100% - 100px);
overflow-y: auto;
.container {
display: flex;
@@ -404,10 +408,14 @@ export default {
position: relative;
flex: auto;
width: 100%;
height: calc(100% - 110px) !important;
//height: calc(100% - 110px) !important;
height: calc(~'100% - 30px');
.table_info {
height: calc(70vh - 90px);
}
.pagination {
position: static;
position: inherit;
/deep/ .pagination-slot {
padding: 0;
@@ -58,98 +58,100 @@
</div>
<div class="container">
<loading :loading="tableLoading">数据获取中</loading>
<el-table
:data="sarAccessListDatas"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
<div class="table_info">
<el-table
:data="sarAccessListDatas"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectOne"
ref="selection"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="detailedList"
label="清单类别"
align="center">
</el-table-column>
<el-table-column
prop="detailedListName"
label="清单名称"
align="center"
width="260px"
@selection-change="selectOne"
ref="selection"
>
<template slot-scope="scope">
<a class="table-jump" @click.stop="showTable(scope.row)">{{ scope.row.detailedListName }}</a>
</template>
</el-table-column>
<el-table-column
prop="detailedListState"
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
prop="detailedListVision"
label="清单版本"
align="center">
<template slot-scope="scope">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="detailedList"
label="清单类别"
align="center">
</el-table-column>
<el-table-column
prop="detailedListName"
label="清单名称"
align="center"
width="260px"
>
<template slot-scope="scope">
<a class="table-jump" @click.stop="showTable(scope.row)">{{ scope.row.detailedListName }}</a>
</template>
</el-table-column>
<el-table-column
prop="detailedListState"
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
prop="detailedListVision"
label="清单版本"
align="center">
<template slot-scope="scope">
<span
v-if="scope.row.detailedListVision != null && scope.row.detailedListVision !== ''">{{ scope.row.detailedListVision
}}</span>
</template>
</el-table-column>
<!-- <el-table-column
prop="applicationScope"
label="适用领域"
align="center">
<template slot-scope="scope">
<span
v-if="scope.row.applicationScope != null && scope.row.applicationScope !== ''">{{ scope.row.applicationScope
}}</span>
</template>
</el-table-column>-->
<el-table-column
prop="updateTime"
label="更新时间"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.updateTime ? $moment(scope.row.updateTime).format('YYYY-MM-DD') : scope.row.updateTime }}</div>
</template>
</el-table-column>
<el-table-column
prop="updatePeople"
label="更新人"
align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'30bfbe928d7ee6e6bcef9408b762bc97'">查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'69ebe6847ad7bf7e90bae8025080678c'">编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'adec3450d97917a4ffa803d40a46dba9'">删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<!-- <el-table-column
prop="applicationScope"
label="适用领域"
align="center">
<template slot-scope="scope">
<span
v-if="scope.row.applicationScope != null && scope.row.applicationScope !== ''">{{ scope.row.applicationScope
}}</span>
</template>
</el-table-column>-->
<el-table-column
prop="updateTime"
label="更新时间"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.updateTime ? $moment(scope.row.updateTime).format('YYYY-MM-DD') : scope.row.updateTime }}</div>
</template>
</el-table-column>
<el-table-column
prop="updatePeople"
label="更新人"
align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'30bfbe928d7ee6e6bcef9408b762bc97'">查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'69ebe6847ad7bf7e90bae8025080678c'">编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'adec3450d97917a4ffa803d40a46dba9'">删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="loading">数据获取中</loading>
<pagination :page="sarSarAccessEOSearch.page" :total="sarAccessListTotal" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
@@ -374,9 +376,11 @@ export default {
@import '~@/assets/styles/mixins';
#listOfCountries {
height: 100%;
//height: 100%;
display: flex;
flex-direction: column;
min-height: calc(100% - 100px);
overflow-y: auto;
.container {
display: flex;
@@ -385,8 +389,12 @@ export default {
flex: auto;
width: 100%;
//height: calc(~'100% - 105px - 56px') !important;
height: calc(~'100% - 30px');
.table_info {
height: calc(70vh - 90px);
}
.pagination {
position: static;
position: inherit;
/deep/ .pagination-slot {
padding: 0;
@@ -68,88 +68,90 @@
</div>
<div class="container">
<loading :loading="tableLoading">数据获取中</loading>
<el-table
:data="sarAccessListDatas"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
<div class="table_info">
<el-table
:data="sarAccessListDatas"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectOne"
ref="selection"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="carTypeShow"
label="车型类别"
align="center">
</el-table-column>
<el-table-column
prop="detailedListName"
label="清单名称"
align="center"
width="260px"
@selection-change="selectOne"
ref="selection"
>
<template slot-scope="scope">
<a class="table-jump" @click.stop="showTable(scope.row)">{{ scope.row.detailedListName }}</a>
</template>
</el-table-column>
<el-table-column
prop="detailedListState"
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
prop="detailedListVision"
label="清单版本"
align="center">
<template slot-scope="scope">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="carTypeShow"
label="车型类别"
align="center">
</el-table-column>
<el-table-column
prop="detailedListName"
label="清单名称"
align="center"
width="260px"
>
<template slot-scope="scope">
<a class="table-jump" @click.stop="showTable(scope.row)">{{ scope.row.detailedListName }}</a>
</template>
</el-table-column>
<el-table-column
prop="detailedListState"
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
prop="detailedListVision"
label="清单版本"
align="center">
<template slot-scope="scope">
<span
v-if="scope.row.detailedListVision != null && scope.row.detailedListVision !== ''">{{ scope.row.detailedListVision
}}</span>
</template>
</el-table-column>
<el-table-column
prop="updateTime"
label="更新时间"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.updateTime ? $moment(scope.row.updateTime).format('YYYY-MM-DD') : scope.row.updateTime }}</div>
</template>
</el-table-column>
<el-table-column
prop="updatePeople"
label="更新人"
align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'cfe3ce86cd64c5924c2e6d13e7f7ea31'">查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'9d0783096e61390a54e0fea1eda461dc'">编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'4136d025d20d4c9b55c732b74dfa581d'">删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
prop="updateTime"
label="更新时间"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.updateTime ? $moment(scope.row.updateTime).format('YYYY-MM-DD') : scope.row.updateTime }}</div>
</template>
</el-table-column>
<el-table-column
prop="updatePeople"
label="更新人"
align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'cfe3ce86cd64c5924c2e6d13e7f7ea31'">查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'9d0783096e61390a54e0fea1eda461dc'">编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'4136d025d20d4c9b55c732b74dfa581d'">删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="loading">数据获取中</loading>
<pagination :page="sarSarAccessEOSearch.page" :total="sarAccessListTotal" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
@@ -427,9 +429,11 @@ export default {
@import '~@/assets/styles/mixins';
#listOfCountries {
height: 100%;
//height: 100%;
display: flex;
flex-direction: column;
min-height: calc(100% - 100px);
overflow-y: auto;
.container {
display: flex;
@@ -438,8 +442,12 @@ export default {
flex: auto;
width: 100%;
//height: calc(~'100% - 105px - 56px') !important;
height: calc(~'100% - 30px');
.table_info {
height: calc(70vh - 90px);
}
.pagination {
position: static;
position: inherit;
/deep/ .pagination-slot {
padding: 0;
@@ -57,65 +57,67 @@
</div>
<div class="container">
<loading :loading="tableLoading">数据获取中</loading>
<el-table
:data="sarAccessListDatas"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
<div class="table_info">
<el-table
:data="sarAccessListDatas"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectOne"
ref="selection"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="lawCode"
width="250"
label="标准编号/政策编号"
align="center">
</el-table-column>
<el-table-column
prop="lawName"
label="标准名称/政策名称"
align="center"
width="300px"
@selection-change="selectOne"
ref="selection"
>
</el-table-column>
<el-table-column
prop="productType"
label="产品类型"
align="center">
</el-table-column>
<el-table-column
prop="implTime"
sortable
label="实施时间"
align="center">
</el-table-column>
<el-table-column
prop="implRequire"
label="实施要求"
align="center">
</el-table-column>
<el-table-column label="操作" min-width="50" align="center">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="lawCode"
width="250"
label="标准编号/政策编号"
align="center">
</el-table-column>
<el-table-column
prop="lawName"
label="标准名称/政策名称"
align="center"
width="300px"
>
</el-table-column>
<el-table-column
prop="productType"
label="产品类型"
align="center">
</el-table-column>
<el-table-column
prop="implTime"
sortable
label="实施时间"
align="center">
</el-table-column>
<el-table-column
prop="implRequire"
label="实施要求"
align="center">
</el-table-column>
<el-table-column label="操作" min-width="50" align="center">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="loading">数据获取中</loading>
<pagination :page="sarSarAccessEOSearch.page" :total="sarAccessListTotal" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
</div>
@@ -1370,9 +1372,11 @@ export default {
@import '~@/assets/styles/style';
@import '~@/assets/styles/mixins';
#listTracking {
height: 100%;
//height: 100%;
display: flex;
flex-direction: column;
min-height: calc(100% - 100px);
overflow-y: auto;
/deep/.el-form-item__label{
color: #333333;
}
@@ -1382,9 +1386,12 @@ export default {
position: relative;
flex: auto;
width: 100%;
height: calc(100% - 110px) !important;
height: calc(~'100% - 30px');
.table_info {
height: calc(70vh - 90px);
}
.pagination {
position: static;
position: inherit;
/deep/ .pagination-slot {
padding: 0;
}
@@ -17,7 +17,7 @@
:indent="0"
:props="props"
:data="treeList"
default-expanded-keys="['1']"
:default-expanded-keys="['1']"
highlight-current
@node-click="treeClick"
:filter-node-method="filterNode">
@@ -270,8 +270,8 @@
<template slot-scope="scope">
<span
v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'"
style="color: #F56C6C">{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' }}</span>
style="color: #F56C6C">{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ : '-' }}</span>
<span v-else>{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ : '-' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -282,8 +282,8 @@
<template slot-scope="scope">
<span
v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'"
style="color: #F56C6C">{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' }}</span>
style="color: #F56C6C">{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ : '-' }}</span>
<span v-else>{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ : '-' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -334,7 +334,6 @@
<div v-else>
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<!-- <i class="iconfont">&#xe61e;</i>-->
<el-button title="收藏" class="collection-btn" icon="el-icon-star-off"
v-btn-permission="'cac1eb379eb8e3b987cbb2e4599adb50'"
@@ -348,28 +347,6 @@
@click="handleCommand([scope.row, '取消收藏'])"
>
</el-button>
<!-- <el-dropdown-menu slot="dropdown">-->
<!-- <el-dropdown-item v-btn-permission="'cac1eb379eb8e3b987cbb2e4599adb50'"-->
<!-- v-if="scope.row.collectBtn"-->
<!-- :command="[scope.row, '收藏']"-->
<!-- >-->
<!-- 收藏-->
<!-- </el-dropdown-item>-->
<!-- <el-dropdown-item v-btn-permission="'cac1eb379eb8e3b987cbb2e4599adb50'"-->
<!-- v-else-->
<!-- :command="[scope.row, '取消收藏']"-->
<!-- >-->
<!-- 取消收藏-->
<!-- </el-dropdown-item>-->
<!-- <el-dropdown-item :command="[scope.row, '编辑']"-->
<!-- v-btn-permission="'247cebaefa7cf1683092af160af11502'">编辑-->
<!-- </el-dropdown-item>-->
<!-- &lt;!&ndash; <el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="'ce4ec1bb233314d2ad8740d0aa98aca1'">分享</el-dropdown-item>&ndash;&gt;-->
<!-- <el-dropdown-item :command="[scope.row, '删除']"-->
<!-- v-btn-permission="'dbaf9df2990a595c8abea28e68b1a681'">删除-->
<!-- </el-dropdown-item>-->
<!-- </el-dropdown-menu>-->
</el-dropdown>
</div>
</div>
</template>
@@ -83,13 +83,14 @@
<el-tab-pane label="未维护" name="notMaintenance"></el-tab-pane>
</el-tabs>
</div>
<el-table
<div class="table_info">
<el-table
ref="multipleTable"
:data="localProTableList"
tooltip-effect="dark"
style="width: 100%"
border
max-height="600"
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '15px',
fontWeight: 'normal', height: '48px'}"
@selection-change="handleSelectionChange">
@@ -208,6 +209,7 @@
</template>
</el-table-column>
</el-table>
</div>
<pagination
:page="page"
:pageSize="pageSize"
@@ -1618,11 +1620,22 @@ export default {
@import '~@/assets/styles/style';
.local-products-or-project-library {
//height: calc(100% - 69px);
//position: relative;
height: calc(100% - 100px);
min-height: calc(100% - 100px);
overflow-y: auto;
.container {
height: calc(~'100% - 55px');
display: flex;
flex-direction: column;
position: relative;
flex: auto;
width: 100%;
//height: calc(100% - 110px);
height: calc(~'100% - 30px');
.table_info {
height: calc(70vh - 90px);
}
}
.el-drawer-form {
@@ -1630,7 +1643,8 @@ export default {
}
/deep/ .pagination {
position: absolute;
position:inherit;
//position: unset;
}
.row-col-box {
@@ -115,35 +115,17 @@
<el-table-column
prop="ssrq"
width="190px"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{
scope.row.ssrq ? $moment(scope.row.ssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrqgj"
prop="xcxssrq"
width="190px"
sortable
label="新车型实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{
scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrqgj"
sortable
prop="zccssrq"
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{
scope.row.zccssrq ? $moment(scope.row.zccssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
@@ -165,7 +147,8 @@
<!-- <el-button @click="changeState(scope.row)">符合性状态</el-button>-->
<div class="table-jump" @click="changeState(scope.row)">
<div v-if="scope.row.unCount === 0">符合</div>
<div v-else >不符合</div>
<div v-if="scope.row.unCount === 1">不符合</div>
<div v-else ></div>
</div>
</template>
</el-table-column>
@@ -6,9 +6,9 @@
<el-tab-pane label="未符合项整改数据库" name="database">
<rectification-database></rectification-database>
</el-tab-pane>
<!-- <el-tab-pane label="重点问题项管控" name="keynote">-->
<!-- <key-issues :keynoteActiveName="keynoteActiveName"></key-issues>-->
<!-- </el-tab-pane>-->
<el-tab-pane label="重点问题项管控" name="keynote">
<key-issues :keynoteActiveName="keynoteActiveName"></key-issues>
</el-tab-pane>
</el-tabs>
</div>
</div>
+38
View File
@@ -1237,6 +1237,17 @@ const routes = [
title: '标准调研流程'
}
},
{
path: '/phoneBzdyStep7',
name: 'phoneBzdyStep7',
component: () => import('@/pages/processCenter/pages/phone/bzdy/step7.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准调研流程'
}
},
{
path: '/bzdyStep1-9',
name: 'bzdyStep1-9',
@@ -1589,6 +1600,15 @@ const routes = [
title: '企标复审流程'
}
},
{
path: '/qbfsStep1-4',
name: 'qbfsStep1-4',
component: () => import('@/pages/processCenter/pages/creatProcess/qbfs/step1-4.vue'),
meta: {
requireAuth: true,
title: '企标复审流程'
}
},
//企标废止流程
{
path: '/qbfzStep1',
@@ -1653,6 +1673,15 @@ const routes = [
title: '企标废止流程'
}
},
{
path: '/qbfzStep1-7',
name: 'qbfzStep1-7',
component: () => import('@/pages/processCenter/pages/creatProcess/qbfz/step1-7.vue'),
meta: {
requireAuth: true,
title: '企标废止流程'
}
},
//企标制修订计划管控流程
{
path: '/qbzxdjhgkStep1',
@@ -1699,6 +1728,15 @@ const routes = [
title: '企标制修订计划管控流程'
}
},
{
path: '/qbzxdjhgkStep1-5',
name: 'qbzxdjhgkStep1-5',
component: () => import('@/pages/processCenter/pages/creatProcess/qbzxdjhgk/step1-5.vue'),
meta: {
requireAuth: true,
title: '企标制修订计划管控流程'
}
},
// 外部标准化协会入会流程
{
path: '/bzrhStep1',