Merge branch 'develop' of http://gitlab.91isoft.com:90/LAWS/laws-system-front-FOTON into develop
Conflicts: src/sysConfig/index.js
@@ -17,3 +17,5 @@ npm run build
|
||||
|
||||
### Customize configuration
|
||||
See [Configuration Reference](https://cli.vuejs.org/config/).
|
||||
|
||||
### test
|
||||
|
||||
@@ -11040,6 +11040,12 @@
|
||||
"polyline-miter-util": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"popper.js": {
|
||||
"version": "1.16.1",
|
||||
"resolved": "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1.tgz",
|
||||
"integrity": "sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs=",
|
||||
"dev": true
|
||||
},
|
||||
"portfinder": {
|
||||
"version": "1.0.28",
|
||||
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
|
||||
@@ -12300,6 +12306,11 @@
|
||||
"is-plain-obj": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"sortablejs": {
|
||||
"version": "1.14.0",
|
||||
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
|
||||
"integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
|
||||
},
|
||||
"source-list-map": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
|
||||
@@ -13518,9 +13529,9 @@
|
||||
"integrity": "sha512-XLI5s0AdqMP2Lf4I4CmdmOq8kjb5DDFGR77wAuxCfpEuYSfhTRyyx6MetgZMiL6Lxa0DasjBOiOcciU3NkL3/Q=="
|
||||
},
|
||||
"vue-loader-v16": {
|
||||
"version": "npm:vue-loader@16.2.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz",
|
||||
"integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==",
|
||||
"version": "npm:vue-loader@16.3.3",
|
||||
"resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.3.3.tgz",
|
||||
"integrity": "sha1-5EDk6xJ4bhYTi12YthIgjynd9TI=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
@@ -13531,8 +13542,8 @@
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"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",
|
||||
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
@@ -13541,8 +13552,8 @@
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
|
||||
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
|
||||
"resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz",
|
||||
"integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
@@ -13552,8 +13563,8 @@
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
@@ -13562,29 +13573,29 @@
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
|
||||
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
|
||||
"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==",
|
||||
"resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626716578584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
|
||||
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"hash-sum": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
|
||||
"integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
|
||||
"resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz",
|
||||
"integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"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==",
|
||||
"resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
|
||||
"integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
@@ -13595,8 +13606,8 @@
|
||||
},
|
||||
"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==",
|
||||
"resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
|
||||
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"jquery": "^3.5.1",
|
||||
"js-base64": "^2.6.2",
|
||||
"moment": "^2.29.1",
|
||||
"sortablejs": "^1.14.0",
|
||||
"v-charts": "^1.19.0",
|
||||
"vue": "^2.6.11",
|
||||
"vue-clipboard2": "^0.3.1",
|
||||
@@ -34,6 +35,7 @@
|
||||
"@vue/cli-service": "~4.5.0",
|
||||
"less": "^3.13.1",
|
||||
"less-loader": "^5.0.0",
|
||||
"popper.js": "^1.16.1",
|
||||
"vue-template-compiler": "^2.6.11",
|
||||
"webpack": "^4.27.1"
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
License: www.highcharts.com/license
|
||||
*/
|
||||
(function(){var e=window,h=document,f=e.MooTools.version.substring(0,3),i=f==="1.2"||f==="1.1",j=i||f==="1.3",g=e.$extend||function(){return Object.append.apply(Object,arguments)};e.HighchartsAdapter={init:function(a){var b=Fx.prototype,c=b.start,d=Fx.Morph.prototype,e=d.compute;b.start=function(b,d){var e=this.element;if(b.d)this.paths=a.init(e,e.d,this.toD);c.apply(this,arguments);return this};d.compute=function(b,c,d){var f=this.paths;if(f)this.element.attr("d",a.step(f[0],f[1],d,this.toD));else return e.apply(this,
|
||||
(function(){var e=window,h=document,f=e.MooTools.version.substring(0,3),i=f==="1.2"||f==="1.1",j=i||f==="1.3",g=e.$extend||function(){return Object.append.apply(Object,arguments)};e.HighchartsAdapter={init:function(a){var b=Fx.prototype,c=b.start,d=Fx.Morph.prototype,e=d.compute;b.start=function(b,d){var e=this.element;if(b.d)this.paths=a.init(e,e.d,this.toD);c.apply(this,arguments);return this};d.compute=function(b,c,d){var f=this.paths;if(f)this.element.attr("d",a.step1(f[0],f[1],d,this.toD));else return e.apply(this,
|
||||
arguments)}},adapterRun:function(a,b){if(b==="width"||b==="height")return parseInt($(a).getStyle(b),10)},getScript:function(a,b){var c=h.getElementsByTagName("head")[0],d=h.createElement("script");d.type="text/javascript";d.src=a;d.onload=b;c.appendChild(d)},animate:function(a,b,c){var d=a.attr,f=c&&c.complete;if(d&&!a.setStyle)a.getStyle=a.attr,a.setStyle=function(){var a=arguments;this.attr.call(this,a[0],a[1][0])},a.$family=function(){return!0};e.HighchartsAdapter.stop(a);c=new Fx.Morph(d?a:$(a),
|
||||
g({transition:Fx.Transitions.Quad.easeInOut},c));if(d)c.element=a;if(b.d)c.toD=b.d;f&&c.addEvent("complete",f);c.start(b);a.fx=c},each:function(a,b){return i?$each(a,b):Array.each(a,b)},map:function(a,b){return a.map(b)},grep:function(a,b){return a.filter(b)},inArray:function(a,b,c){return b?b.indexOf(a,c):-1},offset:function(a){a=a.getPosition();return{left:a.x,top:a.y}},extendWithEvents:function(a){a.addEvent||(a.nodeName?$(a):g(a,new Events))},addEvent:function(a,b,c){typeof b==="string"&&(b===
|
||||
"unload"&&(b="beforeunload"),e.HighchartsAdapter.extendWithEvents(a),a.addEvent(b,c))},removeEvent:function(a,b,c){typeof a!=="string"&&a.addEvent&&(b?(b==="unload"&&(b="beforeunload"),c?a.removeEvent(b,c):a.removeEvents&&a.removeEvents(b)):a.removeEvents())},fireEvent:function(a,b,c,d){b={type:b,target:a};b=j?new Event(b):new DOMEvent(b);b=g(b,c);if(!b.target&&b.event)b.target=b.event.target;b.preventDefault=function(){d=null};a.fireEvent&&a.fireEvent(b.type,b);d&&d(b)},washMouseEvent:function(a){if(a.page)a.pageX=
|
||||
|
||||
@@ -60,7 +60,7 @@ win.HighchartsAdapter = {
|
||||
if (paths) {
|
||||
fx.element.attr(
|
||||
'd',
|
||||
pathAnim.step(paths[0], paths[1], delta, fx.toD)
|
||||
pathAnim.step1(paths[0], paths[1], delta, fx.toD)
|
||||
);
|
||||
} else {
|
||||
return morphCompute.apply(fx, arguments);
|
||||
@@ -68,14 +68,14 @@ win.HighchartsAdapter = {
|
||||
};
|
||||
/*jslint unparam: false*/
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Run a general method on the framework, following jQuery syntax
|
||||
* @param {Object} el The HTML element
|
||||
* @param {String} method Which method to run on the wrapped element
|
||||
*/
|
||||
adapterRun: function (el, method) {
|
||||
|
||||
|
||||
// This currently works for getting inner width and height. If adding
|
||||
// more methods later, we need a conditional implementation for each.
|
||||
if (method === 'width' || method === 'height') {
|
||||
@@ -182,7 +182,7 @@ win.HighchartsAdapter = {
|
||||
grep: function (arr, fn) {
|
||||
return arr.filter(fn);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Return the index of an item in an array, or -1 if not matched
|
||||
*/
|
||||
@@ -240,13 +240,13 @@ win.HighchartsAdapter = {
|
||||
// el.removeEvents below apperantly calls this method again. Do not quite understand why, so for now just bail out.
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (el.addEvent) { // If el doesn't have an addEvent method, there are no events to remove
|
||||
if (type) {
|
||||
if (type === 'unload') { // Moo self destructs before custom unload events
|
||||
type = 'beforeunload';
|
||||
}
|
||||
|
||||
|
||||
if (fn) {
|
||||
el.removeEvent(type, fn);
|
||||
} else if (el.removeEvents) { // #958
|
||||
@@ -288,7 +288,7 @@ win.HighchartsAdapter = {
|
||||
defaultFunction(event);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Set back e.pageX and e.pageY that MooTools has abstracted away. #1165, #1346.
|
||||
*/
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
Highcharts license: www.highcharts.com/license.
|
||||
*/
|
||||
var HighchartsAdapter=function(){var f=typeof Effect!=="undefined";return{init:function(a){if(f)Effect.HighchartsTransition=Class.create(Effect.Base,{initialize:function(b,c,d,g){var e;this.element=b;this.key=c;e=b.attr?b.attr(c):$(b).getStyle(c);if(c==="d")this.paths=a.init(b,b.d,d),this.toD=d,e=0,d=1;this.start(Object.extend(g||{},{from:e,to:d,attribute:c}))},setup:function(){HighchartsAdapter._extend(this.element);if(!this.element._highchart_animation)this.element._highchart_animation={};this.element._highchart_animation[this.key]=
|
||||
this},update:function(b){var c=this.paths,d=this.element;c&&(b=a.step(c[0],c[1],b,this.toD));d.attr?d.element&&d.attr(this.options.attribute,b):(c={},c[this.options.attribute]=b,$(d).setStyle(c))},finish:function(){this.element&&this.element._highchart_animation&&delete this.element._highchart_animation[this.key]}})},adapterRun:function(a,b){return parseInt($(a).getStyle(b),10)},getScript:function(a,b){var c=$$("head")[0];c&&c.appendChild((new Element("script",{type:"text/javascript",src:a})).observe("load",
|
||||
this},update:function(b){var c=this.paths,d=this.element;c&&(b=a.step1(c[0],c[1],b,this.toD));d.attr?d.element&&d.attr(this.options.attribute,b):(c={},c[this.options.attribute]=b,$(d).setStyle(c))},finish:function(){this.element&&this.element._highchart_animation&&delete this.element._highchart_animation[this.key]}})},adapterRun:function(a, b){return parseInt($(a).getStyle(b),10)},getScript:function(a, b){var c=$$("head")[0];c&&c.appendChild((new Element("script",{type:"text/javascript",src:a})).observe("load",
|
||||
b))},addNS:function(a){var b=/^(?:click|mouse(?:down|up|over|move|out))$/;return/^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/.test(a)||b.test(a)?a:"h:"+a},addEvent:function(a,b,c){a.addEventListener||a.attachEvent?Event.observe($(a),HighchartsAdapter.addNS(b),c):(HighchartsAdapter._extend(a),a._highcharts_observe(b,c))},animate:function(a,b,c){var d,c=c||{};c.delay=0;c.duration=(c.duration||500)/1E3;c.afterFinish=c.complete;if(f)for(d in b)new Effect.HighchartsTransition($(a),
|
||||
d,b[d],c);else{if(a.attr)for(d in b)a.attr(d,b[d]);c.complete&&c.complete()}a.attr||$(a).setStyle(b)},stop:function(a){var b;if(a._highcharts_extended&&a._highchart_animation)for(b in a._highchart_animation)a._highchart_animation[b].cancel()},each:function(a,b){$A(a).each(b)},inArray:function(a,b,c){return b?b.indexOf(a,c):-1},offset:function(a){return $(a).cumulativeOffset()},fireEvent:function(a,b,c,d){a.fire?a.fire(HighchartsAdapter.addNS(b),c):a._highcharts_extended&&(c=c||{},a._highcharts_fire(b,
|
||||
c));c&&c.defaultPrevented&&(d=null);d&&d(c)},removeEvent:function(a,b,c){$(a).stopObserving&&(b&&(b=HighchartsAdapter.addNS(b)),$(a).stopObserving(b,c));window===a?Event.stopObserving(a,b,c):(HighchartsAdapter._extend(a),a._highcharts_stop_observing(b,c))},washMouseEvent:function(a){return a},grep:function(a,b){return a.findAll(b)},map:function(a,b){return a.map(b)},_extend:function(a){a._highcharts_extended||Object.extend(a,{_highchart_events:{},_highchart_animation:null,_highcharts_extended:!0,
|
||||
|
||||
@@ -79,21 +79,21 @@ return {
|
||||
obj;
|
||||
|
||||
if (paths) {
|
||||
position = pathAnim.step(paths[0], paths[1], position, this.toD);
|
||||
position = pathAnim.step1(paths[0], paths[1], position, this.toD);
|
||||
}
|
||||
|
||||
if (element.attr) { // SVGElement
|
||||
|
||||
|
||||
if (element.element) { // If not, it has been destroyed (#1405)
|
||||
element.attr(this.options.attribute, position);
|
||||
}
|
||||
|
||||
|
||||
} else { // HTML, #409
|
||||
obj = {};
|
||||
obj[this.options.attribute] = position;
|
||||
$(element).setStyle(obj);
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
finish: function () {
|
||||
// Delete the property that holds this animation now that it is finished.
|
||||
@@ -105,18 +105,18 @@ return {
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Run a general method on the framework, following jQuery syntax
|
||||
* @param {Object} el The HTML element
|
||||
* @param {String} method Which method to run on the wrapped element
|
||||
*/
|
||||
adapterRun: function (el, method) {
|
||||
|
||||
|
||||
// This currently works for getting inner width and height. If adding
|
||||
// more methods later, we need a conditional implementation for each.
|
||||
return parseInt($(el).getStyle(method), 10);
|
||||
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -205,7 +205,7 @@ return {
|
||||
each: function (arr, fn) {
|
||||
$A(arr).each(fn);
|
||||
},
|
||||
|
||||
|
||||
inArray: function (item, arr, from) {
|
||||
return arr ? arr.indexOf(item, from) : -1;
|
||||
},
|
||||
@@ -251,7 +251,7 @@ return {
|
||||
el._highcharts_stop_observing(event, handler);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
washMouseEvent: function (e) {
|
||||
return e;
|
||||
},
|
||||
|
||||
@@ -9,7 +9,7 @@ var HighchartsAdapter=function(){function o(c){function a(a,b,d){a.removeEventLi
|
||||
a,!1);else if(d.attachEvent){g=function(b){a.call(d,b)};if(!d.HCProxiedMethods)d.HCProxiedMethods={};d.HCProxiedMethods[a.toString()]=g;d.attachEvent("on"+b,g)}c[b]===r&&(c[b]=[]);c[b].push(a)},unbind:function(c,h){var f,i;c?(f=this.HCEvents[c]||[],h?(i=HighchartsAdapter.inArray(h,f),i>-1&&(f.splice(i,1),this.HCEvents[c]=f),this.removeEventListener?a(this,c,h):this.attachEvent&&d(this,c,h)):(b(this,c),this.HCEvents[c]=[])):(b(this),this.HCEvents={})},trigger:function(b,a){var d=this.HCEvents[b]||
|
||||
[],c=d.length,g,k,j;k=function(){a.defaultPrevented=!0};for(g=0;g<c;g++){j=d[g];if(a.stopped)break;a.preventDefault=k;a.target=this;a.type=b;j.call(this,a)===!1&&a.preventDefault()}}});return c}var r,l=document,p=[],m=[],q,n;Math.easeInOutSine=function(c,a,d,b){return-d/2*(Math.cos(Math.PI*c/b)-1)+a};return{init:function(c){if(!l.defaultView)this._getStyle=function(a,d){var b;return a.style[d]?a.style[d]:(d==="opacity"&&(d="filter"),b=a.currentStyle[d.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()})],
|
||||
d==="filter"&&(b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(b,a){return a/100})),b===""?1:b)},this.adapterRun=function(a,d){var b={width:"clientWidth",height:"clientHeight"}[d];if(b)return a.style.zoom=1,a[b]-2*parseInt(HighchartsAdapter._getStyle(a,"padding"),10)};if(!Array.prototype.forEach)this.each=function(a,d){for(var b=0,c=a.length;b<c;b++)if(d.call(a[b],a[b],b,a)===!1)return b};if(!Array.prototype.indexOf)this.inArray=function(a,d){var b,c=0;if(d)for(b=d.length;c<b;c++)if(d[c]===a)return c;
|
||||
return-1};if(!Array.prototype.filter)this.grep=function(a,d){for(var b=[],c=0,h=a.length;c<h;c++)d(a[c],c)&&b.push(a[c]);return b};n=function(a,c,b){this.options=c;this.elem=a;this.prop=b};n.prototype={update:function(){var a;a=this.paths;var d=this.elem,b=d.element;a&&b?d.attr("d",c.step(a[0],a[1],this.now,this.toD)):d.attr?b&&d.attr(this.prop,this.now):(a={},a[d]=this.now+this.unit,Highcharts.css(d,a));this.options.step&&this.options.step.call(this.elem,this.now,this)},custom:function(a,c,b){var e=
|
||||
return-1};if(!Array.prototype.filter)this.grep=function(a,d){for(var b=[],c=0,h=a.length;c<h;c++)d(a[c],c)&&b.push(a[c]);return b};n=function(a,c,b){this.options=c;this.elem=a;this.prop=b};n.prototype={update:function(){var a;a=this.paths;var d=this.elem,b=d.element;a&&b?d.attr("d",c.step1(a[0],a[1],this.now,this.toD)):d.attr?b&&d.attr(this.prop,this.now):(a={},a[d]=this.now+this.unit,Highcharts.css(d,a));this.options.step1&&this.options.step1.call(this.elem,this.now,this)},custom:function(a, c, b){var e=
|
||||
this,h=function(a){return e.step(a)},f;this.startTime=+new Date;this.start=a;this.end=c;this.unit=b;this.now=this.start;this.pos=this.state=0;h.elem=this.elem;h()&&m.push(h)===1&&(q=setInterval(function(){for(f=0;f<m.length;f++)m[f]()||m.splice(f--,1);m.length||clearInterval(q)},13))},step:function(a){var c=+new Date,b;b=this.options;var e;if(this.elem.stopAnimation)b=!1;else if(a||c>=b.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();a=this.options.curAnim[this.prop]=
|
||||
!0;for(e in b.curAnim)b.curAnim[e]!==!0&&(a=!1);a&&b.complete&&b.complete.call(this.elem);b=!1}else e=c-this.startTime,this.state=e/b.duration,this.pos=b.easing(e,0,1,b.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update(),b=!0;return b}};this.animate=function(a,d,b){var e,h="",f,i,g;a.stopAnimation=!1;if(typeof b!=="object"||b===null)e=arguments,b={duration:e[2],easing:e[3],complete:e[4]};if(typeof b.duration!=="number")b.duration=400;b.easing=Math[b.easing]||Math.easeInOutSine;
|
||||
b.curAnim=Highcharts.extend({},d);for(g in d)i=new n(a,b,g),f=null,g==="d"?(i.paths=c.init(a,a.d,d.d),i.toD=d.d,e=0,f=1):a.attr?e=a.attr(g):(e=parseFloat(HighchartsAdapter._getStyle(a,g))||0,g!=="opacity"&&(h="px")),f||(f=parseFloat(d[g])),i.custom(e,f,h)}},_getStyle:function(c,a){return window.getComputedStyle(c).getPropertyValue(a)},getScript:function(c,a){var d=l.getElementsByTagName("head")[0],b=l.createElement("script");b.type="text/javascript";b.src=c;b.onload=a;d.appendChild(b)},inArray:function(c,
|
||||
|
||||
@@ -86,7 +86,7 @@ function augment(obj) {
|
||||
|
||||
// handle old IE implementation
|
||||
} else if (el.attachEvent) {
|
||||
|
||||
|
||||
wrappedFn = function (e) {
|
||||
fn.call(el, e);
|
||||
};
|
||||
@@ -148,7 +148,7 @@ function augment(obj) {
|
||||
preventDefault = function () {
|
||||
args.defaultPrevented = true;
|
||||
};
|
||||
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
fn = events[i];
|
||||
|
||||
@@ -159,8 +159,8 @@ function augment(obj) {
|
||||
|
||||
args.preventDefault = preventDefault;
|
||||
args.target = target;
|
||||
args.type = name; // #2297
|
||||
|
||||
args.type = name; // #2297
|
||||
|
||||
// If the event handler return false, prevent the default handler from executing
|
||||
if (fn.call(this, args) === false) {
|
||||
args.preventDefault();
|
||||
@@ -181,7 +181,7 @@ return {
|
||||
init: function (pathAnim) {
|
||||
|
||||
/**
|
||||
* Compatibility section to add support for legacy IE. This can be removed if old IE
|
||||
* Compatibility section to add support for legacy IE. This can be removed if old IE
|
||||
* support is not needed.
|
||||
*/
|
||||
if (!doc.defaultView) {
|
||||
@@ -197,15 +197,15 @@ return {
|
||||
val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b) { return b.toUpperCase(); })];
|
||||
if (prop === 'filter') {
|
||||
val = val.replace(
|
||||
/alpha\(opacity=([0-9]+)\)/,
|
||||
function (a, b) {
|
||||
return b / 100;
|
||||
/alpha\(opacity=([0-9]+)\)/,
|
||||
function (a, b) {
|
||||
return b / 100;
|
||||
}
|
||||
);
|
||||
}
|
||||
/*jslint unparam: false*/
|
||||
return val === '' ? 1 : val;
|
||||
}
|
||||
}
|
||||
};
|
||||
this.adapterRun = function (elem, method) {
|
||||
var alias = { width: 'clientWidth', height: 'clientHeight' }[method];
|
||||
@@ -219,7 +219,7 @@ return {
|
||||
|
||||
if (!Array.prototype.forEach) {
|
||||
this.each = function (arr, fn) { // legacy
|
||||
var i = 0,
|
||||
var i = 0,
|
||||
len = arr.length;
|
||||
for (; i < len; i++) {
|
||||
if (fn.call(arr[i], arr[i], i, arr) === false) {
|
||||
@@ -231,12 +231,12 @@ return {
|
||||
|
||||
if (!Array.prototype.indexOf) {
|
||||
this.inArray = function (item, arr) {
|
||||
var len,
|
||||
var len,
|
||||
i = 0;
|
||||
|
||||
if (arr) {
|
||||
len = arr.length;
|
||||
|
||||
|
||||
for (; i < len; i++) {
|
||||
if (arr[i] === item) {
|
||||
return i;
|
||||
@@ -276,7 +276,7 @@ return {
|
||||
this.prop = prop;
|
||||
};
|
||||
Fx.prototype = {
|
||||
|
||||
|
||||
update: function () {
|
||||
var styles,
|
||||
paths = this.paths,
|
||||
@@ -285,8 +285,8 @@ return {
|
||||
|
||||
// Animating a path definition on SVGElement
|
||||
if (paths && elemelem) {
|
||||
elem.attr('d', pathAnim.step(paths[0], paths[1], this.now, this.toD));
|
||||
|
||||
elem.attr('d', pathAnim.step1(paths[0], paths[1], this.now, this.toD));
|
||||
|
||||
// Other animations on SVGElement
|
||||
} else if (elem.attr) {
|
||||
if (elemelem) {
|
||||
@@ -299,9 +299,9 @@ return {
|
||||
styles[elem] = this.now + this.unit;
|
||||
Highcharts.css(elem, styles);
|
||||
}
|
||||
|
||||
if (this.options.step) {
|
||||
this.options.step.call(this.elem, this.now, this);
|
||||
|
||||
if (this.options.step1) {
|
||||
this.options.step1.call(this.elem, this.now, this);
|
||||
}
|
||||
|
||||
},
|
||||
@@ -323,7 +323,7 @@ return {
|
||||
|
||||
if (t() && timers.push(t) === 1) {
|
||||
timerId = setInterval(function () {
|
||||
|
||||
|
||||
for (i = 0; i < timers.length; i++) {
|
||||
if (!timers[i]()) {
|
||||
timers.splice(i--, 1);
|
||||
@@ -336,7 +336,7 @@ return {
|
||||
}, 13);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
step: function (gotoEnd) {
|
||||
var t = +new Date(),
|
||||
ret,
|
||||
@@ -406,11 +406,11 @@ return {
|
||||
}
|
||||
opt.easing = Math[opt.easing] || Math.easeInOutSine;
|
||||
opt.curAnim = Highcharts.extend({}, prop);
|
||||
|
||||
|
||||
for (name in prop) {
|
||||
fx = new Fx(el, opt, name);
|
||||
end = null;
|
||||
|
||||
|
||||
if (name === 'd') {
|
||||
fx.paths = pathAnim.init(
|
||||
el,
|
||||
@@ -428,12 +428,12 @@ return {
|
||||
unit = 'px';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!end) {
|
||||
end = parseFloat(prop[name]);
|
||||
}
|
||||
fx.custom(start, end, unit);
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ o(a,"%Y-%m-%d %H:%M:%S"),d=new Date(b),e,f=d[rb](),g=d[tb](),h=d[Sa](),i=d[$a]()
|
||||
a.substr(1):a};Jb.prototype={wrapColor:function(a){if(this.color>=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};D=function(){for(var a=0,b=arguments,c=b.length,d={};a<c;a++)d[b[a++]]=b[a];return d}(Db,1,pb,1E3,Ya,6E4,Qa,36E5,ua,864E5,Za,6048E5,Ra,26784E5,Da,31556952E3);Ab={init:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h,i,j=function(a){for(g=a.length;g--;)a[g]==="M"&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&
|
||||
(j(b),j(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-6,6));if(d<=c.length/f&&b.length===c.length)for(;d--;)c=[].concat(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(a=c.length;b.length<a;)d=[].concat(b).splice(b.length-f,f),e&&(d[f-6]=d[f-2],d[f-5]=d[f-1]),b=b.concat(d);h&&(b=b.concat(h),c=c.concat(i));return[b,c]},step:function(a,b,c,d){var e=[],f=a.length;if(c===1)e=d;else if(f===b.length&&c<1)for(;f--;)d=parseFloat(a[f]),e[f]=isNaN(d)?a[f]:c*parseFloat(b[f]-d)+d;else e=b;return e}};
|
||||
(function(a){O.HighchartsAdapter=O.HighchartsAdapter||a&&{init:function(b){var c=a.fx,d=c.step,e,f=a.Tween,g=f&&f.propHooks;e=a.cssHooks.opacity;a.extend(a.easing,{easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c}});a.each(["cur","_default","width","height","opacity"],function(a,b){var e=d,k,l;b==="cur"?e=c.prototype:b==="_default"&&f&&(e=g[b],b="set");(k=e[b])&&(e[b]=function(c){c=a?c:this;if(c.prop!=="align")return l=c.elem,l.attr?l.attr(c.prop,b==="cur"?w:c.now):k.apply(this,arguments)})});
|
||||
mb(e,"get",function(a,b,c){return b.attr?b.opacity||0:a.call(this,b,c)});e=function(a){var c=a.elem,d;if(!a.started)d=b.init(c,c.d,c.toD),a.start=d[0],a.end=d[1],a.started=!0;c.attr("d",b.step(a.start,a.end,a.pos,c.toD))};f?g.d={set:e}:d.d=e;this.each=Array.prototype.forEach?function(a,b){return Array.prototype.forEach.call(a,b)}:function(a,b){for(var c=0,d=a.length;c<d;c++)if(b.call(a[c],a[c],c,a)===!1)return c};a.fn.highcharts=function(){var a="Chart",b=arguments,c,d;ea(b[0])&&(a=b[0],b=Array.prototype.slice.call(b,
|
||||
mb(e,"get",function(a,b,c){return b.attr?b.opacity||0:a.call(this,b,c)});e=function(a){var c=a.elem,d;if(!a.started)d=b.init(c,c.d,c.toD),a.start=d[0],a.end=d[1],a.started=!0;c.attr("d",b.step1(a.start,a.end,a.pos,c.toD))};f?g.d={set:e}:d.d=e;this.each=Array.prototype.forEach?function(a, b){return Array.prototype.forEach.call(a,b)}:function(a, b){for(var c=0,d=a.length; c<d; c++)if(b.call(a[c],a[c],c,a)===!1)return c};a.fn.highcharts=function(){var a="Chart",b=arguments,c,d;ea(b[0])&&(a=b[0],b=Array.prototype.slice.call(b,
|
||||
1));c=b[0];if(c!==w)c.chart=c.chart||{},c.chart.renderTo=this[0],new Highcharts[a](c,b[1]),d=this;c===w&&(d=Ga[v(this[0],"data-highcharts-chart")]);return d}},getScript:a.getScript,inArray:a.inArray,adapterRun:function(b,c){return a(b)[c]()},grep:a.grep,map:function(a,c){for(var d=[],e=0,f=a.length;e<f;e++)d[e]=c.call(a[e],a[e],e,a);return d},offset:function(b){return a(b).offset()},addEvent:function(b,c,d){a(b).bind(c,d)},removeEvent:function(b,c,d){var e=y.removeEventListener?"removeEventListener":
|
||||
"detachEvent";y[e]&&b&&!b[e]&&(b[e]=function(){});a(b).unbind(c,d)},fireEvent:function(b,c,d,e){var f=a.Event(c),g="detached"+c,h;!ta&&d&&(delete d.layerX,delete d.layerY);r(f,d);b[c]&&(b[g]=b[c],b[c]=null);a.each(["preventDefault","stopPropagation"],function(a,b){var c=f[b];f[b]=function(){try{c.call(f)}catch(a){b==="preventDefault"&&(h=!0)}}});a(b).trigger(f);b[g]&&(b[c]=b[g],b[g]=null);e&&!f.isDefaultPrevented()&&!h&&e(f)},washMouseEvent:function(a){var c=a.originalEvent||a;if(c.pageX===w)c.pageX=
|
||||
a.pageX,c.pageY=a.pageY;return c},animate:function(b,c,d){var e=a(b);if(!b.style)b.style={};if(c.d)b.toD=c.d,c.d=1;e.stop();c.opacity!==w&&b.attr&&(c.opacity+="px");e.animate(c,d)},stop:function(b){a(b).stop()}}})(O.jQuery);var X=O.HighchartsAdapter,G=X||{};X&&X.init.call(X,Ab);var jb=G.adapterRun,Vb=G.getScript,qa=G.inArray,n=G.each,ub=G.grep,Wb=G.offset,Na=G.map,J=G.addEvent,aa=G.removeEvent,z=G.fireEvent,Xb=G.washMouseEvent,Bb=G.animate,Wa=G.stop,G={enabled:!0,x:0,y:15,style:{color:"#666",cursor:"default",
|
||||
@@ -90,12 +90,12 @@ f.get("rgb");else{j=b.getElementsByTagName(c);if(j.length)j[0].opacity=1,j[0].ty
|
||||
Ia(a)?b.d=a:T(a)&&r(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,c){var d=this.symbol("circle");if(T(a))c=a.r,b=a.y,a=a.x;d.isCircle=!0;d.r=c;return d.attr({x:a,y:b})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement(Ea).attr(b)},image:function(a,b,c,d,e){var f=this.createElement("img").attr({src:a});arguments.length>1&&f.attr({x:b,y:c,width:d,height:e});return f},rect:function(a,b,c,d,e,f){var g=this.symbol("rect");g.r=
|
||||
T(a)?a.r:e;return g.attr(T(a)?a:g.crisp(f,a,b,s(c,0),s(d,0)))},invertChild:function(a,b){var c=b.style;K(a,{flip:"x",left:C(c.width)-1,top:C(c.height)-1,rotation:-90})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d,c=e.innerR,d=V(f),i=ca(f),j=V(g),k=ca(g);if(g-f===0)return["x"];f=["wa",a-h,b-h,a+h,b+h,a+h*d,b+h*i,a+h*j,b+h*k];e.open&&!c&&f.push("e","M",a,b);f.push("at",a-c,b-c,a+c,b+c,a+c*j,b+c*k,a+c*d,b+c*i,"x","e");f.isArc=!0;return f},circle:function(a,b,c,d,e){e&&(c=d=2*e.r);
|
||||
e&&e.isCircle&&(a-=c/2,b-=d/2);return["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(a,b,c,d,e){var f=a+c,g=b+d,h;!u(e)||!e.r?f=Ha.prototype.symbols.square.apply(0,arguments):(h=I(e.r,c,d),f=["M",a+h,b,"L",f-h,b,"wa",f-2*h,b,f,b+2*h,f-h,b,f,b+h,"L",f,g-h,"wa",f-2*h,g-2*h,f,g,f,g-h,f-h,g,"L",a+h,g,"wa",a,g-2*h,a+2*h,g,a+h,g,a,g-h,"L",a,b+h,"wa",a,b,a+2*h,b+2*h,a,b+h,a+h,b,"x","e"]);return f}}};Highcharts.VMLRenderer=F=function(){this.init.apply(this,arguments)};F.prototype=x(Ha.prototype,
|
||||
ma);Va=F}var Tb;if($)Highcharts.CanVGRenderer=F=function(){za="http://www.w3.org/1999/xhtml"},F.prototype.symbols={},Tb=function(){function a(){var a=b.length,d;for(d=0;d<a;d++)b[d]();b=[]}var b=[];return{push:function(c,d){b.length===0&&Vb(d,a);b.push(c)}}}(),Va=F;Ma.prototype={addLabel:function(){var a=this.axis,b=a.options,c=a.chart,d=a.horiz,e=a.categories,f=a.series[0]&&a.series[0].names,g=this.pos,h=b.labels,i=a.tickPositions,d=d&&e&&!h.step&&!h.staggerLines&&!h.rotation&&c.plotWidth/i.length||
|
||||
ma);Va=F}var Tb;if($)Highcharts.CanVGRenderer=F=function(){za="http://www.w3.org/1999/xhtml"},F.prototype.symbols={},Tb=function(){function a(){var a=b.length,d;for(d=0;d<a;d++)b[d]();b=[]}var b=[];return{push:function(c,d){b.length===0&&Vb(d,a);b.push(c)}}}(),Va=F;Ma.prototype={addLabel:function(){var a=this.axis,b=a.options,c=a.chart,d=a.horiz,e=a.categories,f=a.series[0]&&a.series[0].names,g=this.pos,h=b.labels,i=a.tickPositions,d=d&&e&&!h.step1&&!h.staggerLines&&!h.rotation&&c.plotWidth/i.length||
|
||||
!d&&(c.margin[3]||c.chartWidth*0.33),j=g===i[0],k=g===i[i.length-1],l,f=e?o(e[g],f&&f[g],g):g,e=this.label,m=i.info;a.isDatetimeAxis&&m&&(l=b.dateTimeLabelFormats[m.higherRanks[g]||m.unitName]);this.isFirst=j;this.isLast=k;b=a.labelFormatter.call({axis:a,chart:c,isFirst:j,isLast:k,dateTimeLabelFormat:l,value:a.isLog?ia(fa(f)):f});g=d&&{width:s(1,t(d-2*(h.padding||10)))+"px"};g=r(g,h.style);if(u(e))e&&e.attr({text:b}).css(g);else{l={align:a.labelAlign};if(sa(h.rotation))l.rotation=h.rotation;if(d&&
|
||||
h.ellipsis)l._clipHeight=a.len/i.length;this.label=u(b)&&h.enabled?c.renderer.text(b,0,0,h.useHTML).attr(l).css(g).add(a.labelGroup):null}},getLabelSize:function(){var a=this.label,b=this.axis;return a?(this.labelBBox=a.getBBox())[b.horiz?"height":"width"]:0},getLabelSides:function(){var a=this.axis,b=this.labelBBox.width,a=b*{left:0,center:0.5,right:1}[a.labelAlign]-a.options.labels.x;return[-a,b-a]},handleOverflow:function(a,b){var c=!0,d=this.axis,e=d.chart,f=this.isFirst,g=this.isLast,h=b.x,i=
|
||||
d.reversed,j=d.tickPositions;if(f||g){var k=this.getLabelSides(),l=k[0],k=k[1],e=e.plotLeft,m=e+d.len,j=(d=d.ticks[j[a+(f?1:-1)]])&&d.label.xy&&d.label.xy.x+d.getLabelSides()[f?0:1];f&&!i||g&&i?h+l<e&&(h=e-l,d&&h+k>j&&(c=!1)):h+k>m&&(h=m-k,d&&h+l<j&&(c=!1));b.x=h}return c},getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-e.left:0),y:a?
|
||||
g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var i=this.axis,j=i.transA,k=i.reversed,l=i.staggerLines,m=i.chart.renderer.fontMetrics(e.style.fontSize).b,p=e.rotation,a=a+e.x-(f&&d?f*j*(k?-1:1):0),b=b+e.y-(f&&!d?f*j*(k?1:-1):0);p&&i.side===2&&(b-=m-m*V(p*Ua));!u(e.y)&&!p&&(b+=m-c.getBBox().height/2);l&&(b+=g/(h||1)%l*(i.labelOffset/l));return{x:a,y:b}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",
|
||||
a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,i=this.label,j=this.pos,k=e.labels,l=this.gridLine,m=h?h+"Grid":"grid",p=h?h+"Tick":"tick",q=e[m+"LineWidth"],n=e[m+"LineColor"],A=e[m+"LineDashStyle"],s=e[p+"Length"],m=e[p+"Width"]||0,u=e[p+"Color"],t=e[p+"Position"],p=this.mark,r=k.step,v=!0,x=d.tickmarkOffset,E=this.getPosition(g,j,x,b),H=E.x,E=E.y,B=g&&H===d.pos+d.len||!g&&E===d.pos?-1:1,C=d.staggerLines;this.isActive=!0;if(q){j=
|
||||
a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,i=this.label,j=this.pos,k=e.labels,l=this.gridLine,m=h?h+"Grid":"grid",p=h?h+"Tick":"tick",q=e[m+"LineWidth"],n=e[m+"LineColor"],A=e[m+"LineDashStyle"],s=e[p+"Length"],m=e[p+"Width"]||0,u=e[p+"Color"],t=e[p+"Position"],p=this.mark,r=k.step1,v=!0,x=d.tickmarkOffset,E=this.getPosition(g,j,x,b),H=E.x,E=E.y,B=g&&H===d.pos+d.len||!g&&E===d.pos?-1:1,C=d.staggerLines;this.isActive=!0;if(q){j=
|
||||
d.getPlotLinePath(j+x,q*B,b,!0);if(l===w){l={stroke:n,"stroke-width":q};if(A)l.dashstyle=A;if(!h)l.zIndex=1;if(b)l.opacity=0;this.gridLine=l=q?f.path(j).attr(l).add(d.gridGroup):null}if(!b&&l&&j)l[this.isNew?"attr":"animate"]({d:j,opacity:c})}if(m&&s)t==="inside"&&(s=-s),d.opposite&&(s=-s),b=this.getMarkPath(H,E,s,m*B,g,f),p?p.animate({d:b,opacity:c}):this.mark=f.path(b).attr({stroke:u,"stroke-width":m,opacity:c}).add(d.axisGroup);if(i&&!isNaN(H))i.xy=E=this.getLabelPosition(H,E,i,g,k,x,a,r),this.isFirst&&
|
||||
!this.isLast&&!o(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!o(e.showLastLabel,1)?v=!1:!C&&g&&k.overflow==="justify"&&!this.handleOverflow(a,E)&&(v=!1),r&&a%r&&(v=!1),v&&!isNaN(E.y)?(E.opacity=c,i[this.isNew?"attr":"animate"](E),this.isNew=!1):i.attr("y",-9999)},destroy:function(){Ka(this,this.axis)}};vb.prototype={render:function(){var a=this,b=a.axis,c=b.horiz,d=(b.pointRange||0)/2,e=a.options,f=e.label,g=a.label,h=e.width,i=e.to,j=e.from,k=u(j)&&u(i),l=e.value,m=e.dashStyle,p=a.svgElem,q=
|
||||
[],n,A=e.color,L=e.zIndex,t=e.events,w=b.chart.renderer;b.isLog&&(j=na(j),i=na(i),l=na(l));if(h){if(q=b.getPlotLinePath(l,h),d={stroke:A,"stroke-width":h},m)d.dashstyle=m}else if(k){if(j=s(j,b.min-d),i=I(i,b.max+d),q=b.getPlotBandPath(j,i,e),d={fill:A},e.borderWidth)d.stroke=e.borderColor,d["stroke-width"]=e.borderWidth}else return;if(u(L))d.zIndex=L;if(p)q?p.animate({d:q},null,p.onGetPath):(p.hide(),p.onGetPath=function(){p.show()});else if(q&&q.length&&(a.svgElem=p=w.path(q).attr(d).add(),t))for(n in e=
|
||||
@@ -242,7 +242,7 @@ function(b){a[b]&&(d=c&&b==="group"?"hide":"destroy",a[b][d]())});if(b.hoverSeri
|
||||
if(j&&!i)c.dataLabel=j.destroy();else if(i){b=x(e,d);i=b.rotation;k=c.getLabelConfig();f=b.format?Ca(b.format,k):b.formatter.call(k,b);b.style.color=o(b.color,b.style.color,a.color,"black");if(j)if(u(f))j.attr({text:f}),p=!1;else{if(c.dataLabel=j=j.destroy(),m)c.connector=m.destroy()}else if(u(f)){j={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:i,padding:b.padding,zIndex:1};for(l in j)j[l]===w&&delete j[l];j=c.dataLabel=a.chart.renderer[i?"text":
|
||||
"label"](f,0,-999,null,null,null,b.useHTML).attr(j).css(b.style).add(g).shadow(b.shadow)}j&&a.alignDataLabel(c,j,b,null,p)}})},alignDataLabel:function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=o(a.plotX,-999),i=o(a.plotY,-999),j=b.getBBox();if(a=this.visible&&f.isInsidePlot(a.plotX,a.plotY,g))d=r({x:g?f.plotWidth-i:h,y:t(g?f.plotHeight-h:i),width:0,height:0},d),r(c,{width:j.width,height:j.height}),c.rotation?(g={align:c.align,x:d.x+c.x+d.width/2,y:d.y+c.y+d.height/2},b[e?"attr":"animate"](g)):(b.align(c,
|
||||
null,d),g=b.alignAttr,o(c.overflow,"justify")==="justify"?this.justifyDataLabel(b,c,g,j,d,e):o(c.crop,!0)&&(a=f.isInsidePlot(g.x,g.y)&&f.isInsidePlot(g.x+j.width,g.y+j.height)));a||b.attr({y:-999})},justifyDataLabel:function(a,b,c,d,e,f){var g=this.chart,h=b.align,i=b.verticalAlign,j,k;j=c.x;if(j<0)h==="right"?b.align="left":b.x=-j,k=!0;j=c.x+d.width;if(j>g.plotWidth)h==="left"?b.align="right":b.x=g.plotWidth-j,k=!0;j=c.y;if(j<0)i==="bottom"?b.verticalAlign="top":b.y=-j,k=!0;j=c.y+d.height;if(j>g.plotHeight)i===
|
||||
"top"?b.verticalAlign="bottom":b.y=g.plotHeight-j,k=!0;if(k)a.placed=!f,a.align(b,null,e)},getSegmentPath:function(a){var b=this,c=[],d=b.options.step;n(a,function(e,f){var g=e.plotX,h=e.plotY,i;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(i=a[f-1],d==="right"?c.push(i.plotX,h):d==="center"?c.push((i.plotX+g)/2,i.plotY,(i.plotX+g)/2,h):c.push(g,i.plotY)),c.push(e.plotX,e.plotY))});return c},getGraphPath:function(){var a=this,b=[],c,d=[];n(a.segments,function(e){c=
|
||||
"top"?b.verticalAlign="bottom":b.y=g.plotHeight-j,k=!0;if(k)a.placed=!f,a.align(b,null,e)},getSegmentPath:function(a){var b=this,c=[],d=b.options.step1;n(a,function(e, f){var g=e.plotX,h=e.plotY,i;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(i=a[f-1],d==="right"?c.push(i.plotX,h):d==="center"?c.push((i.plotX+g)/2,i.plotY,(i.plotX+g)/2,h):c.push(g,i.plotY)),c.push(e.plotX,e.plotY))});return c},getGraphPath:function(){var a=this,b=[],c,d=[];n(a.segments,function(e){c=
|
||||
a.getSegmentPath(e);e.length>1?b=b.concat(c):d.push(e[0])});a.singlePoints=d;return a.graphPath=b},drawGraph:function(){var a=this,b=this.options,c=[["graph",b.lineColor||this.color]],d=b.lineWidth,e=b.dashStyle,f=this.getGraphPath(),g=b.negativeColor;g&&c.push(["graphNeg",g]);n(c,function(c,g){var j=c[0],k=a[j];if(k)Wa(k),k.animate({d:f});else if(d&&f.length)k={stroke:c[1],"stroke-width":d,zIndex:1},e?k.dashstyle=e:k["stroke-linecap"]=k["stroke-linejoin"]="round",a[j]=a.chart.renderer.path(f).attr(k).add(a.group).shadow(!g&&
|
||||
b.shadow)})},clipNeg:function(){var a=this.options,b=this.chart,c=b.renderer,d=a.negativeColor||a.negativeFillColor,e,f=this.graph,g=this.area,h=this.posClip,i=this.negClip;e=b.chartWidth;var j=b.chartHeight,k=s(e,j),l=this.yAxis;if(d&&(f||g)){d=t(l.toPixels(a.threshold||0,!0));a={x:0,y:0,width:k,height:d};k={x:0,y:d,width:k,height:k};if(b.inverted)a.height=k.y=b.plotWidth-d,c.isVML&&(a={x:b.plotWidth-d-b.plotLeft,y:0,width:e,height:j},k={x:d+b.plotLeft-e,y:0,width:b.plotLeft+d,height:e});l.reversed?
|
||||
(b=k,e=a):(b=a,e=k);h?(h.animate(b),i.animate(e)):(this.posClip=h=c.clipRect(b),this.negClip=i=c.clipRect(e),f&&this.graphNeg&&(f.clip(h),this.graphNeg.clip(i)),g&&(g.clip(h),this.areaNeg.clip(i)))}},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};n(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;if(b.xAxis)J(c,"resize",a),J(b,"destroy",function(){aa(c,"resize",a)}),a(),b.invertGroups=a},plotGroup:function(a,b,c,d,e){var f=this[a],
|
||||
@@ -254,7 +254,7 @@ this.chart,b=this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inver
|
||||
a)a.onMouseOver()};if(e&&!c)for(m=e+1;m--;)d[m]==="M"&&d.splice(m+1,0,d[m+1]-i,d[m+2],"L"),(m&&d[m]==="M"||m===e)&&d.splice(m,0,"L",d[m-2]+i,d[m-1]);for(m=0;m<k.length;m++)e=k[m],d.push("M",e.plotX-i,e.plotY,"L",e.plotX+i,e.plotY);j?j.attr({d:d}):(a.tracker=h.path(d).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:Qb,fill:c?Qb:S,"stroke-width":b.lineWidth+(c?0:2*i),zIndex:2}).add(a.group),n([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",
|
||||
p).on("mouseout",function(a){g.onTrackerMouseOut(a)}).css(l);if(ib)a.on("touchstart",p)}))}};G=ha(Q);W.line=G;Y.area=x(X,{threshold:0});G=ha(Q,{type:"area",getSegments:function(){var a=[],b=[],c=[],d=this.xAxis,e=this.yAxis,f=e.stacks[this.stackKey],g={},h,i,j=this.points,k=this.options.connectNulls,l,m,p;if(this.options.stacking&&!this.cropped){for(m=0;m<j.length;m++)g[j[m].x]=j[m];for(p in f)c.push(+p);c.sort(function(a,b){return a-b});n(c,function(a){if(!k||g[a]&&g[a].y!==null)g[a]?b.push(g[a]):
|
||||
(h=d.translate(a),l=f[a].percent?f[a].total?f[a].cum*100/f[a].total:0:f[a].cum,i=e.toPixels(l,!0),b.push({y:null,plotX:h,clientX:h,plotY:i,yBottom:i,onMouseOver:pa}))});b.length&&a.push(b)}else Q.prototype.getSegments.call(this),a=this.segments;this.segments=a},getSegmentPath:function(a){var b=Q.prototype.getSegmentPath.call(this,a),c=[].concat(b),d,e=this.options;d=b.length;var f=this.yAxis.getThreshold(e.threshold),g;d===3&&c.push("L",b[1],b[2]);if(e.stacking&&!this.closedStacks)for(d=a.length-
|
||||
1;d>=0;d--)g=o(a[d].yBottom,f),d<a.length-1&&e.step&&c.push(a[d+1].plotX,g),c.push(a[d].plotX,g);else this.closeSegment(c,a,f);this.areaPath=this.areaPath.concat(c);return b},closeSegment:function(a,b,c){a.push("L",b[b.length-1].plotX,c,"L",b[0].plotX,c)},drawGraph:function(){this.areaPath=[];Q.prototype.drawGraph.apply(this);var a=this,b=this.areaPath,c=this.options,d=c.negativeColor,e=c.negativeFillColor,f=[["area",this.color,c.fillColor]];(d||e)&&f.push(["areaNeg",d,e]);n(f,function(d){var e=d[0],
|
||||
1;d>=0;d--)g=o(a[d].yBottom,f),d<a.length-1&&e.step1&&c.push(a[d+1].plotX,g),c.push(a[d].plotX,g);else this.closeSegment(c,a,f);this.areaPath=this.areaPath.concat(c);return b},closeSegment:function(a, b, c){a.push("L",b[b.length-1].plotX,c,"L",b[0].plotX,c)},drawGraph:function(){this.areaPath=[];Q.prototype.drawGraph.apply(this);var a=this,b=this.areaPath,c=this.options,d=c.negativeColor,e=c.negativeFillColor,f=[["area",this.color,c.fillColor]];(d||e)&&f.push(["areaNeg",d,e]);n(f,function(d){var e=d[0],
|
||||
f=a[e];f?f.animate({d:b}):a[e]=a.chart.renderer.path(b).attr({fill:o(d[2],ra(d[1]).setOpacity(o(c.fillOpacity,0.75)).get()),zIndex:0}).add(a.group)})},drawLegendSymbol:function(a,b){b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,a.options.symbolWidth,12,2).attr({zIndex:3}).add(b.legendGroup)}});W.area=G;Y.spline=x(X);F=ha(Q,{type:"spline",getPointSpline:function(a,b,c){var d=b.plotX,e=b.plotY,f=a[c-1],g=a[c+1],h,i,j,k;if(f&&g){a=f.plotY;j=g.plotX;var g=g.plotY,l;h=(1.5*d+f.plotX)/2.5;i=(1.5*
|
||||
e+a)/2.5;j=(1.5*d+j)/2.5;k=(1.5*e+g)/2.5;l=(k-i)*(j-d)/(j-h)+e-k;i+=l;k+=l;i>a&&i>e?(i=s(a,e),k=2*e-i):i<a&&i<e&&(i=I(a,e),k=2*e-i);k>g&&k>e?(k=s(g,e),i=2*e-k):k<g&&k<e&&(k=I(g,e),i=2*e-k);b.rightContX=j;b.rightContY=k}c?(b=["C",f.rightContX||f.plotX,f.rightContY||f.plotY,h||d,i||e,d,e],f.rightContX=f.rightContY=null):b=["M",d,e];return b}});W.spline=F;Y.areaspline=x(Y.area);ma=G.prototype;F=ha(F,{type:"areaspline",closedStacks:!0,getSegmentPath:ma.getSegmentPath,closeSegment:ma.closeSegment,drawGraph:ma.drawGraph,
|
||||
drawLegendSymbol:ma.drawLegendSymbol});W.areaspline=F;Y.column=x(X,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:0.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,threshold:0});F=ha(Q,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",
|
||||
|
||||
@@ -9221,8 +9221,8 @@ Tween.prototype = {
|
||||
}
|
||||
this.now = ( this.end - this.start ) * eased + this.start;
|
||||
|
||||
if ( this.options.step ) {
|
||||
this.options.step.call( this.elem, this.now, this );
|
||||
if ( this.options.step1 ) {
|
||||
this.options.step1.call( this.elem, this.now, this );
|
||||
}
|
||||
|
||||
if ( hooks && hooks.set ) {
|
||||
@@ -9257,8 +9257,8 @@ Tween.propHooks = {
|
||||
set: function( tween ) {
|
||||
// use step hook for back compat - use cssHook if its there - use .style if its
|
||||
// available and use plain properties where available
|
||||
if ( jQuery.fx.step[ tween.prop ] ) {
|
||||
jQuery.fx.step[ tween.prop ]( tween );
|
||||
if ( jQuery.fx.step1[ tween.prop ] ) {
|
||||
jQuery.fx.step1[ tween.prop ]( tween );
|
||||
} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
|
||||
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
|
||||
} else {
|
||||
|
||||
@@ -214,6 +214,8 @@ export default {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
background: url('~@/assets/images/shangqi/home/BG.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
& > div{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
import axios from '@/common/axiosV2'
|
||||
|
||||
// 查询未整改项列表接口
|
||||
export function standUnqualified (data) {
|
||||
return axios({
|
||||
url: '/api/sarStandUnqualified/sar-stand-unqualified',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
// 人员菜单列表获取
|
||||
export function roleTreeData (data) {
|
||||
return axios({
|
||||
url: '/api/SarInstitution/institution/institutionAndUser',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
// 上传文件
|
||||
export function uploadFileText (data) {
|
||||
return axios({
|
||||
url: 'api/att/attFile/upload',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
export function dicTypeData (data) {
|
||||
return axios({
|
||||
url: 'api/sys/dictype/getDicTypeListCode',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
export function StandardsInfoPage (data) {
|
||||
return axios({
|
||||
url: 'api/sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 943 B |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 632 B |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 17 KiB |
@@ -63,7 +63,7 @@ export const m = {
|
||||
issueTime: '发布日期',
|
||||
putTime: '实施日期',
|
||||
standNatureShow: '标准性质',
|
||||
standStateShow: '标准状态',
|
||||
standStateShow: '文本状态',
|
||||
action: '操作',
|
||||
see: '查看',
|
||||
stand: '标准/文件性质',
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
#app{
|
||||
&.theme-one {
|
||||
//background: url('~@/assets/images/shangqi/home/home-bg.png') no-repeat;
|
||||
background: url('~@/assets/images/shangqi/home/BG.png') no-repeat;
|
||||
//background: url('~@/assets/images/shangqi/home/BG.png') no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
input:focus{
|
||||
|
||||
@@ -3,7 +3,12 @@
|
||||
* @author: xx
|
||||
* @date: 2018-09-01 15:11:57
|
||||
*/
|
||||
|
||||
/deep/.el-tree-node:focus > .el-tree-node__content {
|
||||
color: #409EFF !important;
|
||||
}
|
||||
.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
|
||||
color: #409EFF !important;
|
||||
}
|
||||
.ellipsis () {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
|
||||
@@ -902,3 +902,15 @@ tr.el-table__row{
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
.filter-tree-input {
|
||||
margin: 10px;
|
||||
width: calc(~'100% - 20px');
|
||||
}
|
||||
.button-list {
|
||||
padding: 5px 0px;
|
||||
}
|
||||
.myNewSelect {
|
||||
backgrounnd: red;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
// 流程样式
|
||||
.prc-content-border {
|
||||
border: 1px dashed #ddd;
|
||||
padding: 20px;
|
||||
border: 1px solid #ddd;
|
||||
padding: 0 20px;
|
||||
background: #fdfdfd;
|
||||
.el-form-item__content {
|
||||
line-height: 50px;
|
||||
}
|
||||
.add-form-item:last-child {
|
||||
border-bottom: 0px dashed #e5e5e5;
|
||||
}
|
||||
.form-item-disabled {
|
||||
.el-form-item__label, .el-form-item__content .el-input .el-input__inner,
|
||||
.el-form-item__content .el-textarea .el-textarea__inner{
|
||||
@@ -11,6 +17,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-item-content-wrap {
|
||||
padding: 0 10px;
|
||||
height: 49px;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2) inset;
|
||||
}
|
||||
.el-table__fixed {
|
||||
height:auto !important; // 让固定列的高自适应,且设置!important覆盖ele-ui的默认样式
|
||||
//height:auto !important; // 让固定列的高自适应,且设置!important覆盖ele-ui的默认样式
|
||||
bottom:17px; // 固定列默认设置了定位, position: absolute;top: 0;left: 0;只需要再设置一下bottom的值,让固定列和父元素的底部出现距离即可
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
||||
@@ -7,9 +7,12 @@ import axios from 'axios'
|
||||
import router from '@/router'
|
||||
import store from '@/store'
|
||||
import {Message} from 'element-ui'
|
||||
import { baseUrl } from '@/sysConfig'
|
||||
export const CancelToken = axios.CancelToken
|
||||
// import 'element-ui/lib/theme-chalk/index.css'
|
||||
const _axios = axios.create()
|
||||
const _axios = axios.create({
|
||||
baseURL: process.env.NODE_ENV === 'production' ? baseUrl : '/'
|
||||
})
|
||||
|
||||
/**
|
||||
* @description: FormData
|
||||
@@ -63,7 +66,7 @@ _axios.interceptors.response.use(
|
||||
}
|
||||
})
|
||||
function api () {
|
||||
return store.getters.getTypeFlag === 'CloudRepository' ? '/busApi/' : ''
|
||||
return store.getters.getTypeFlag === 'CloudRepository' ? '/busApi/' : '/api/'
|
||||
}
|
||||
export default {
|
||||
_axios,
|
||||
@@ -280,6 +283,47 @@ export default {
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
downloadFile (url, param, fileName) {
|
||||
_axios({
|
||||
method: 'post',
|
||||
url,
|
||||
data: param,
|
||||
responseType: 'blob'
|
||||
}).then(
|
||||
res => {
|
||||
const data = res.data
|
||||
const r = new FileReader()
|
||||
r.onload = function () {
|
||||
try {
|
||||
const resData = JSON.parse(this.result)
|
||||
} catch (err) {
|
||||
// 下载正常处理
|
||||
// 兼容ie11
|
||||
if (window.navigator.msSaveOrOpenBlob) {
|
||||
try {
|
||||
const blobObject = new Blob([data])
|
||||
window.navigator.msSaveOrOpenBlob(blobObject, fileName)
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
return
|
||||
}
|
||||
// a标签实现下载
|
||||
let url = window.URL.createObjectURL(new Blob([data]))
|
||||
let link = document.createElement('a')
|
||||
link.style.display = 'none'
|
||||
link.href = url
|
||||
link.setAttribute('download', fileName)
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
resolve(fileName)
|
||||
}
|
||||
}
|
||||
r.readAsText(data) // FileReader的API
|
||||
}).catch(res => {
|
||||
console.log(res)
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description: delete方法
|
||||
* @author: chenxiaoxi
|
||||
@@ -444,5 +488,18 @@ export default {
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: delete方法
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-14 09:55:30
|
||||
*/
|
||||
postDelete (url, param, thenFun, exeFun) {
|
||||
_axios.post(api() + url, {}).then(res => {
|
||||
thenFun.call(this, res.data)
|
||||
}).catch(err => {
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import axios from 'axios'
|
||||
import router from '@/router'
|
||||
import store from '@/store'
|
||||
import {Message} from 'element-ui'
|
||||
import { baseUrl } from '@/sysConfig'
|
||||
// import 'element-ui/lib/theme-chalk/index.css'
|
||||
|
||||
/**
|
||||
@@ -18,7 +19,7 @@ let formData = (data) => {
|
||||
}
|
||||
|
||||
const service = axios.create({
|
||||
baseURL: '/'
|
||||
baseURL: process.env.NODE_ENV === 'production' ? baseUrl : '/'
|
||||
})
|
||||
|
||||
service.defaults.timeout = 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
|
||||
|
||||
@@ -23,9 +23,7 @@ const tableBtnPermission = Vue.directive('tableBtnPermission', {
|
||||
bind (el, binding, vnode) {
|
||||
// 获取按钮权限
|
||||
let btnPermission = binding.value
|
||||
console.log(el, binding, vnode)
|
||||
function handler(event) {
|
||||
console.log(event)
|
||||
event.stopImmediatePropagation()
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -24,8 +24,9 @@ export default {
|
||||
* */
|
||||
validateStandardItem (rule, value, callback) {
|
||||
// return callback()
|
||||
let testval = /^[A-Za-z0-9/ ,.-\\-()()]+$/
|
||||
if (value && !value.match(testval)) {
|
||||
let testval = /^[A-Za-z0-9/]+$/
|
||||
let testval1 = /[.-]+/
|
||||
if (value && !value.match(testval) && !value.match(testval1)) {
|
||||
return callback(new Error('只能为(字母、数字、.、-)'))
|
||||
} else {
|
||||
callback()
|
||||
@@ -457,6 +458,15 @@ export default {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
// 验证输入数字
|
||||
testNumberCode (rule, value, callback) {
|
||||
let reg = /^[0-9]*$/
|
||||
if (value !== '' && !value.match(reg)) {
|
||||
return callback(new Error('只能输入数字'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
validUrl (rule, value, callback) {
|
||||
let reg = /(^((https|ftp|http|file):\/\/)|www\.)*([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/gm
|
||||
if (!value.match(reg)) {
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
:class="{'form-item-disabled': disabled}"
|
||||
>
|
||||
<el-date-picker
|
||||
:value-format="valueFormat"
|
||||
format="yyyy-MM-dd"
|
||||
:value="value"
|
||||
type="date"
|
||||
:editable="true"
|
||||
@@ -38,6 +40,10 @@ export default {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
valueFormat: {
|
||||
type: String,
|
||||
default: 'yyyy-MM-dd'
|
||||
},
|
||||
// 栅格比例
|
||||
span: {
|
||||
type: Number,
|
||||
|
||||
@@ -117,7 +117,6 @@ export default {
|
||||
},
|
||||
mounted () {
|
||||
this.resolveFormFieldListRules()
|
||||
console.log(this.$dateFormat(1602518400000, 'yyyy-MM-dd hh:mm:ss'))
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
@@ -155,7 +154,6 @@ export default {
|
||||
},
|
||||
jiaoyan () {
|
||||
this.$refs['sarStandardsInfoForm'].validate((valid) => {
|
||||
console.log(valid)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
:class="{'disabled': disabled}"
|
||||
multiple
|
||||
drag
|
||||
|
||||
:show-file-list="showUploadlist"
|
||||
:on-success="uploadSuccess"
|
||||
:before-upload="beforeUpload"
|
||||
@@ -255,7 +256,7 @@ export default {
|
||||
uploadSuccess(res, file, fileList) {
|
||||
if (res.ok) {
|
||||
// this.value += res.data.id + ','
|
||||
this.$emit('input', this.value + res.data.id + ',')
|
||||
this.$emit('input', this.value ? this.value + ','+ res.data.id + ',' : this.value+ res.data.id + ',')
|
||||
this.$emit('success')
|
||||
this.$message({
|
||||
message: '文件上传成功',
|
||||
|
||||
@@ -57,7 +57,6 @@ export default {
|
||||
handleChange (event) {
|
||||
// const value = event.target.value
|
||||
const value = event
|
||||
console.log(value)
|
||||
this.$emit('input', value)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,7 +204,6 @@ export default {
|
||||
handleChange (event) {
|
||||
// const value = event.target.value
|
||||
const value = event
|
||||
console.log(value)
|
||||
this.$emit('input', value)
|
||||
},
|
||||
selectLaws () {
|
||||
@@ -227,7 +226,7 @@ export default {
|
||||
this.quoteIdList1 = []
|
||||
this.replaceLawsNumForm.quoteIdList = ''
|
||||
}
|
||||
this.$http.get('lawss/sarStandardsInfo/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
_this: this,
|
||||
loading: 'replaceLoading'
|
||||
}, res => {
|
||||
@@ -303,7 +302,6 @@ export default {
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
console.log('看看看看看看看看item', item)
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherBussStandardDetails',
|
||||
params: {
|
||||
|
||||
@@ -207,7 +207,6 @@ export default {
|
||||
handleChange (event) {
|
||||
// const value = event.target.value
|
||||
const value = event
|
||||
console.log(value)
|
||||
this.$emit('input', value)
|
||||
if (value.length==1000){
|
||||
return this.$message({
|
||||
|
||||
@@ -211,7 +211,6 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
dataSourceChange (val) {
|
||||
console.log(val)
|
||||
},
|
||||
handleChange (event) {
|
||||
// const value = event.target.value
|
||||
@@ -239,7 +238,7 @@ export default {
|
||||
}
|
||||
this.replaceLawsNumForm.page = 1
|
||||
this.replacePage = 1
|
||||
this.$http.get('lawss/sarStandardsInfo/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
_this: this,
|
||||
loading: 'replaceLoading'
|
||||
}, res => {
|
||||
@@ -266,7 +265,7 @@ export default {
|
||||
this.replaceLawsNumForm.quoteIdList = ''
|
||||
}
|
||||
this.replaceLawsNumForm.standType = this.config.attrField === 'CBBH' ? 'FOREIGN' : 'INLAND'
|
||||
this.$http.get('lawss/sarStandardsInfo/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
_this: this,
|
||||
loading: 'replaceLoading'
|
||||
}, res => {
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
round
|
||||
@click="getReplaceLawsNumRowFirst">
|
||||
@click="getReplaceLawsNumRowFirst(true)">
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item class="search-item btn-box">
|
||||
@@ -120,7 +120,7 @@
|
||||
@pageChange="pageChangeReplace"
|
||||
@pageSizeChange="pageSizeChangeReplace"></pagination>
|
||||
<div slot="footer" class="demo-drawer-footer">
|
||||
<el-button class="common-button-default" icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
|
||||
<el-button class="common-button-default" round icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
|
||||
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@@ -186,6 +186,7 @@ export default {
|
||||
replaceLawsNumRow: [], // 代替政策号 数组内容
|
||||
replaceTotal: 0,
|
||||
selectedListRep: [],
|
||||
ids: [],
|
||||
replaceLoading: true,
|
||||
replacePage: 1
|
||||
|
||||
@@ -217,7 +218,10 @@ export default {
|
||||
this.getReplaceLawsNumRow()
|
||||
},
|
||||
// 代替政策号 请求数据
|
||||
getReplaceLawsNumRowFirst () {
|
||||
getReplaceLawsNumRowFirst (val) {
|
||||
if (val) {
|
||||
this.replaceLawsNumForm.page = '1'
|
||||
}
|
||||
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
|
||||
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
|
||||
} else {
|
||||
@@ -226,7 +230,7 @@ export default {
|
||||
}
|
||||
this.replaceLawsNumForm.page = 1
|
||||
this.replacePage = 1
|
||||
this.$http.get('lawss/sarStandardsInfo/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
_this: this,
|
||||
loading: 'replaceLoading'
|
||||
}, res => {
|
||||
@@ -253,7 +257,7 @@ export default {
|
||||
this.replaceLawsNumForm.quoteIdList = ''
|
||||
}
|
||||
// this.replaceLawsNumForm.standType = this.config.attrField === 'CBBH' ? 'FOREIGN' : 'INLAND'
|
||||
this.$http.get('lawss/sarStandardsInfo/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
_this: this,
|
||||
loading: 'replaceLoading'
|
||||
}, res => {
|
||||
@@ -294,6 +298,7 @@ export default {
|
||||
// 代替政策编号确定
|
||||
replaceLawsNumModelBt () {
|
||||
let textArr = []
|
||||
this.ids = []
|
||||
|
||||
if (typeof this.value === 'string') {
|
||||
if (this.value) {
|
||||
@@ -319,12 +324,14 @@ export default {
|
||||
} else {
|
||||
texts = item.standSortShow !== null ? item.standSortShow + ' ' + item.standNumber : item.standNumber
|
||||
}
|
||||
this.ids.push(item.id);
|
||||
textArr.push(texts)
|
||||
textArr = [...new Set(textArr)]
|
||||
this.replaceLawsNumModel = false
|
||||
})
|
||||
// this.SarLawsInfoEO.replaceLawsNum = textArr.join(',')
|
||||
this.$emit('input', textArr.join(','))
|
||||
this.$emit('popoverHide', this.ids, this.config.attrField);
|
||||
this.$refs.selections.clearSelection()
|
||||
},
|
||||
// 点击查看
|
||||
@@ -336,7 +343,7 @@ export default {
|
||||
standNum = item.standSort + ' ' + item.standNumber
|
||||
}
|
||||
// 验证标准号在系统中是否存在
|
||||
this.$http.post('lawss/sarTestItem/validateStandNumber', {
|
||||
this.$http.post('sarStandardsInfo/sar-standards-info/validateStandNumber', {
|
||||
standnumber: standNum
|
||||
}, {
|
||||
_this: this
|
||||
@@ -358,7 +365,7 @@ export default {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standType: 'ALL',
|
||||
quoteIdList: '',
|
||||
validFlag: '0'
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ export default {
|
||||
formData.standType = this.replaceLawsNumForm.dataSource === 'INLAND_STAND' ? 'INLAND'
|
||||
: this.replaceLawsNumForm.dataSource === 'FOREIGN_STAND' ? 'FOREIGN' : ''
|
||||
formData.standNumber = formData.numberName
|
||||
let url = this.replaceLawsNumForm.dataSource === 'BUSINESS' ? 'lawss/sarBussionessStand/getSarBussionStandPage' : 'lawss/sarStandardsInfo/getSarStandardsInfoPage'
|
||||
let url = this.replaceLawsNumForm.dataSource === 'BUSINESS' ? 'lawss/sarBussionessStand/getSarBussionStandPage' : 'sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage'
|
||||
this.$http.get(url, formData, {
|
||||
_this: this,
|
||||
loading: 'replaceLoading'
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
round
|
||||
@click="getReplaceLawsNumRow">
|
||||
@click="getReplaceLawsNumRow(true)">
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item class="search-item btn-box">
|
||||
@@ -126,7 +126,7 @@
|
||||
@pageChange="pageChangeReplace"
|
||||
@pageSizeChange="pageSizeChangeReplace"></pagination>
|
||||
<div slot="footer" class="demo-drawer-footer">
|
||||
<el-button class="common-button-default" icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
|
||||
<el-button class="common-button-default" round icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
|
||||
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@@ -227,14 +227,17 @@ export default {
|
||||
this.getReplaceLawsNumRow()
|
||||
},
|
||||
// 代替政策号 请求数据
|
||||
getReplaceLawsNumRow () {
|
||||
getReplaceLawsNumRow (val) {
|
||||
if (val) {
|
||||
this.replaceLawsNumForm.page = '1'
|
||||
}
|
||||
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
|
||||
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
|
||||
} else {
|
||||
this.quoteIdList1 = []
|
||||
this.replaceLawsNumForm.quoteIdList = ''
|
||||
}
|
||||
this.$http.get('lawss/sarStandardsInfo/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
|
||||
_this: this,
|
||||
loading: 'replaceLoading'
|
||||
}, res => {
|
||||
@@ -326,7 +329,7 @@ export default {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
standType: 'FOREIGN',
|
||||
standType: 'ALL',
|
||||
quoteIdList: '',
|
||||
validFlag: '0'
|
||||
}
|
||||
|
||||
@@ -93,7 +93,6 @@ export default {
|
||||
// 匹配项来源
|
||||
if (this.searchKey === '') {
|
||||
this.filterOptions = this.options
|
||||
console.log(this.options)
|
||||
} else {
|
||||
let result = []
|
||||
// 用原始数据进行匹配
|
||||
|
||||
@@ -89,7 +89,6 @@ export default {
|
||||
this.treeCheckNode = treeCheckNode
|
||||
},
|
||||
handleTreeDblClick (event, treeId, treeNode) {
|
||||
console.log('event, treeId, treeNode', event, treeId, treeNode)
|
||||
this.$emit('input', treeNode.id)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +91,6 @@ export default {
|
||||
this.treeCheckNode = treeCheckNode
|
||||
},
|
||||
handleTreeDblClick (treeId, treeNode) {
|
||||
console.log('event, treeId, treeNode', event, treeId, treeNode)
|
||||
this.$emit('input', treeNode.id)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,7 +112,6 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
handleTreeDblClick (treeId, treeNode) {
|
||||
console.log(treeNode.id)
|
||||
this.checkedName = treeNode.name
|
||||
this.$emit('input', treeNode.id)
|
||||
this.visible = false
|
||||
@@ -130,8 +129,6 @@ export default {
|
||||
return name
|
||||
},
|
||||
handleTreeDrawerConfirm () {
|
||||
console.log(this.config.selVal)
|
||||
console.log(this.treeCheckNode)
|
||||
if (this.config.selVal === 'USERLIST') {
|
||||
const checkedList = []
|
||||
const checkedNameList = []
|
||||
@@ -141,9 +138,7 @@ export default {
|
||||
checkedNameList.push(item.name)
|
||||
}
|
||||
})
|
||||
console.log(checkedNameList)
|
||||
this.checkedName = checkedNameList.join(',')
|
||||
console.log(this.checkedName)
|
||||
this.$emit('input', checkedList.join(','))
|
||||
} else {
|
||||
const checkedList = []
|
||||
@@ -157,7 +152,6 @@ export default {
|
||||
}
|
||||
})
|
||||
this.checkedName = checkedNameList.join(',')
|
||||
console.log(this.checkedName)
|
||||
this.$emit('input', checkedList.join(','))
|
||||
}
|
||||
this.visible = false
|
||||
@@ -179,11 +173,9 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
value (newVal) {
|
||||
console.log(newVal)
|
||||
this.checkedName = newVal || ''
|
||||
},
|
||||
checkedName (val) {
|
||||
console.log(val)
|
||||
this.$emit('update:value', val)
|
||||
}
|
||||
},
|
||||
|
||||
@@ -120,13 +120,11 @@ export default {
|
||||
},
|
||||
watch:{
|
||||
value(newValue, oldValue) {
|
||||
console.log(newValue)
|
||||
this.resolveValueToResultNodes(newValue)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleSelectTreeClick(treeId, treeNode) {
|
||||
console.log(treeId, treeNode)
|
||||
this.selectNode = { ...treeNode }
|
||||
},
|
||||
|
||||
@@ -186,7 +184,6 @@ export default {
|
||||
handleResultTreeEdit(treeId, treeNode) {
|
||||
const wxId = treeNode.wxId
|
||||
const findNode = this.resultNodes.find(item => item.wxId === wxId)
|
||||
console.log(findNode)
|
||||
if (findNode && findNode.type === 'user') {
|
||||
this.editNode = findNode
|
||||
this.editNodeForForm = { ...findNode }
|
||||
@@ -223,7 +220,6 @@ export default {
|
||||
userName: item.type === 'user' && item.nativeName || null
|
||||
}
|
||||
})
|
||||
console.log(result)
|
||||
this.$emit('input', result)
|
||||
},
|
||||
|
||||
|
||||
@@ -63,7 +63,6 @@ export default {
|
||||
},
|
||||
watch:{
|
||||
value(newValue, oldValue) {
|
||||
console.log(newValue)
|
||||
this.resolveValueToResultNodes(newValue)
|
||||
}
|
||||
},
|
||||
|
||||
@@ -141,7 +141,6 @@ export default {
|
||||
submitLoading: 'loading'
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
console.log('success', res)
|
||||
this.newDialogVisible = false
|
||||
this.submitLoading = false
|
||||
this.$message({
|
||||
|
||||
@@ -21,8 +21,10 @@ import AdvancedQuery from './advancedQuery' // 高级查询
|
||||
import GenerationNumber from './generationNumber' // 生成企标编号组件
|
||||
import RoleUserTree from './roleUserTree' // 根据部门和角色查询人员
|
||||
import DeptRoleTree from './deptRoleTree' // 根据部门查询角色
|
||||
import RoleTree from './roleTree' // 查询所有机构及人员
|
||||
import SQTree from './SQTree'
|
||||
import OrgTable from './OrgTable'
|
||||
import MySelect from './mySelect'
|
||||
|
||||
const install = function (Vue) {
|
||||
Vue.component('loading', Loading)
|
||||
@@ -46,6 +48,8 @@ const install = function (Vue) {
|
||||
Vue.component('DeptRoleTree', DeptRoleTree)
|
||||
Vue.component('SQTree', SQTree)
|
||||
Vue.component('OrgTable', OrgTable)
|
||||
Vue.component('RoleTree', RoleTree)
|
||||
Vue.component('MySelect', MySelect)
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
@@ -1449,7 +1449,6 @@ export default {
|
||||
this.destroyZTree()
|
||||
$(this.dragBind).unbind('mousedown')
|
||||
$('#' + this.searchId).unbind('input propertychange')
|
||||
// console.log('beforeDestroy')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -141,7 +141,6 @@ export default {
|
||||
* @date: 2018/10/23 10:19:24
|
||||
*/
|
||||
rightRemove () {
|
||||
console.log('rightRemove')
|
||||
$(`#${this.treeDivId}rMenu`).css({'visibility': 'hidden'})
|
||||
this.setOpenNodes()
|
||||
this.$emit('treeRemove', this.treeId, this.treeNode)
|
||||
@@ -153,7 +152,6 @@ export default {
|
||||
* @date: 2020/2/6 10:19:24
|
||||
*/
|
||||
rightCopy () {
|
||||
console.log('rightCopy')
|
||||
$(`#${this.treeDivId}rMenu`).css({'visibility': 'hidden'})
|
||||
this.setOpenNodes()
|
||||
this.$emit('treeCopy', this.treeId, this.treeNode)
|
||||
@@ -1284,7 +1282,6 @@ export default {
|
||||
}
|
||||
|
||||
function showRMenu (type, x, y, treeId, treeNode) {
|
||||
console.log('showRMenu')
|
||||
// 右键隐藏菜单的节点
|
||||
if (treeNode.pId !== null && _this.showRMenu && !_this.disabled && _this.editable) {
|
||||
_this.isRoot = false
|
||||
@@ -1322,7 +1319,6 @@ export default {
|
||||
}
|
||||
/* eslint-disable */
|
||||
function hideRMenu () {
|
||||
console.log('hideRMenu')
|
||||
if (rMenu) rMenu.css({'visibility': 'hidden'})
|
||||
$('body').unbind('mousedown', onBodyMouseDown)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
<template>
|
||||
<div id="mySelect">
|
||||
<el-dropdown placement="bottom" @command="handleCommand" trigger="click">
|
||||
<div class="my-select-input__wrap">
|
||||
<input class="el-input__inner" type="text" v-model.lazy="selectVal" v-show="false">
|
||||
<input class="el-input__inner mySelect" type="text" v-model.lazy="showLabel" readonly="readonly">
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item
|
||||
v-for="(item,index) in options"
|
||||
:key="index"
|
||||
:command="item">{{ item.label }}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
<i class="el-icon-arrow-down myIcon"></i>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "mySelect",
|
||||
data() {
|
||||
return {
|
||||
showLabel: '',
|
||||
activeLi: '',
|
||||
active: false,
|
||||
selectVal: ''
|
||||
}
|
||||
},
|
||||
props: {
|
||||
value: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
options: { // option
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleCommand (row) {
|
||||
this.selectVal = row.label
|
||||
this.showLabel = row.label
|
||||
this.active = !this.active
|
||||
this.$emit('update:value', this.selectVal);
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value: {
|
||||
immediate: true,
|
||||
handler (val) {
|
||||
this.selectVal = val
|
||||
for (let a = 0; a < this.options.length; a++) {
|
||||
if (this.selectVal === this.options[a].value) {
|
||||
this.showLabel = this.options[a].label
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
for (let a = 0; a < this.options.length; a++) {
|
||||
if (this.selectVal === this.options[a].value) {
|
||||
this.showLabel = this.options[a].label
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
#mySelect {
|
||||
|
||||
}
|
||||
.active {
|
||||
background-color: rgb(245, 247, 250);
|
||||
}
|
||||
.mySelect {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
.mySelect:focus + .myIcon{
|
||||
transform:rotate(180deg);
|
||||
-ms-transform:rotate(180deg); /* IE 9 */
|
||||
-moz-transform:rotate(180deg); /* Firefox */
|
||||
-webkit-transform:rotate(180deg); /* Safari 和 Chrome */
|
||||
-o-transform:rotate(180deg);
|
||||
}
|
||||
.mySelect:focus-within + .myIcon{
|
||||
transform:rotate(180deg);
|
||||
-ms-transform:rotate(180deg); /* IE 9 */
|
||||
-moz-transform:rotate(180deg); /* Firefox */
|
||||
-webkit-transform:rotate(180deg); /* Safari 和 Chrome */
|
||||
-o-transform:rotate(180deg);
|
||||
}
|
||||
.myIcon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 7px;
|
||||
top: calc(~'50% - 7px');
|
||||
transition: all .3s;
|
||||
}
|
||||
</style>
|
||||
@@ -76,7 +76,7 @@ export default {
|
||||
title: '标准法规库',
|
||||
path: '/regulatoryRepository',
|
||||
'icon-class': 'fagui',
|
||||
menuId: 'PMYP5AG3M2',
|
||||
menuId: '2ewfwfa',
|
||||
children: [
|
||||
// {
|
||||
// title: '动态&资料',
|
||||
@@ -86,18 +86,29 @@ export default {
|
||||
{
|
||||
title: '国内标准法规',
|
||||
path: '/domesticStandardsAndRegulations',
|
||||
menuId: 'A59EFAQ7AC'
|
||||
menuId: '3e3657498664beaa0dc1de1ecb3ae0da'
|
||||
},
|
||||
// {
|
||||
// title: '零部件编号申请',
|
||||
// path: '/partCodeApply',
|
||||
// menuId: ''
|
||||
// },
|
||||
// {
|
||||
// title: '标准法规工作组数据统计',
|
||||
// path: '/dataStatisComments',
|
||||
// menuId: ''
|
||||
// },
|
||||
{
|
||||
title: '海外标准法规',
|
||||
path: '/foreignStandardsAndRegulations',
|
||||
menuId: '18c1e5134ea0cf865e8960b26b81fd8c'
|
||||
},
|
||||
{
|
||||
title: '标准征求意见',
|
||||
path: '/standardForComments',
|
||||
menuId: ''
|
||||
menuId: '2b25c67f10abbbadf37d60daaaec54d3'
|
||||
},
|
||||
// {
|
||||
// title: '海外标准法规',
|
||||
// path: '/foreignStandardsAndRegulations',
|
||||
// menuId: '6K8A2RZYRE'
|
||||
// },
|
||||
|
||||
// {
|
||||
// title: '国内外政策',
|
||||
// path: '/foreignRegulationsDatabase',
|
||||
@@ -110,7 +121,7 @@ export default {
|
||||
{
|
||||
title: '标准法规清单',
|
||||
path: '/accessStandardsAndRegulations',
|
||||
menuId: 'UR3CSDWEQM6Q2GEW339L'
|
||||
menuId: '08dbd417864b08426034ca56d1fa3d02'
|
||||
},
|
||||
// // {
|
||||
// // title: '标准法规清单详情',
|
||||
@@ -124,11 +135,11 @@ export default {
|
||||
// // // title: '本地产品/项目库',
|
||||
// // // path: '/localProductsOrProjectLibrary'
|
||||
// // // },
|
||||
// {
|
||||
// title: '企业标准库',
|
||||
// path: '/enterpriseStandardDatabase',
|
||||
// menuId: '3YVZP8R4TC'
|
||||
// },
|
||||
{
|
||||
title: '企业标准库',
|
||||
path: '/enterpriseStandardDatabase',
|
||||
menuId: '01ed8f752748227777b3572d56ee9ab5'
|
||||
},
|
||||
// {
|
||||
// title: '企标制修订计划',
|
||||
// path: '/enterBSysRevPlanManaLib',
|
||||
@@ -141,13 +152,13 @@ export default {
|
||||
{
|
||||
title: '车型/项目库',
|
||||
path: '/localProductsOrProjectLibrary',
|
||||
menuId: 'PCZKM8TQJAH5UP5EAXTJ'
|
||||
menuId: '42ce39c9f953be65a3e5643a4a2c786f'
|
||||
},
|
||||
{
|
||||
title: '未符合项整改',
|
||||
path: '/nonConfomity',
|
||||
menuId: '0119abd677e0204e061eb0f0b8cafda0'
|
||||
},
|
||||
// {
|
||||
// title: '未符合项跟踪',
|
||||
// path: '/nonConfomity',
|
||||
// menuId: 'HQSK8WWPDJG7R5F53LTK'
|
||||
// },
|
||||
// {
|
||||
// title: '标准法规工作组',
|
||||
// path: '/workGroup',
|
||||
@@ -161,7 +172,7 @@ export default {
|
||||
{
|
||||
title: '标准合规评估结果', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
|
||||
path: '/standInvolveProject',
|
||||
menuId: 'JURHS3LVP35US88ABULS'
|
||||
menuId: '8a9c87fe06244fb9d55e78fb281f625b'
|
||||
}
|
||||
// {
|
||||
// title: '动态信息',
|
||||
@@ -170,52 +181,29 @@ export default {
|
||||
// }
|
||||
]
|
||||
},
|
||||
// {
|
||||
// title: '工作台',
|
||||
// path: '/processCenter',
|
||||
// 'icon-class': 'liucheng',
|
||||
// menuId: '6GDJ5JDHUS',
|
||||
// children: [
|
||||
// {
|
||||
// title: '流程中心',
|
||||
// path: '/processCenter'
|
||||
// },
|
||||
// {
|
||||
// title: '发起流程',
|
||||
// path: '/createProcessNew'
|
||||
// },
|
||||
// // {
|
||||
// // title: '标准法规管理流程',
|
||||
// // path: '/newProcess/1'
|
||||
// // },
|
||||
// // {
|
||||
// // title: '政策管理流程',
|
||||
// // path: '/newProcess/2'
|
||||
// // },
|
||||
// // {
|
||||
// // title: '企标管理流程',
|
||||
// // path: '/newProcess/3'
|
||||
// // },
|
||||
// // {
|
||||
// // title: '标准采购翻译申请流程',
|
||||
// // path: '/newProcess/4'
|
||||
// // },
|
||||
// // {
|
||||
// // title: '工作组会议管理流程',
|
||||
// // path: '/newProcess/5'
|
||||
// // },
|
||||
// // {
|
||||
// // title: '标准法规清单管理流程',
|
||||
// // path: '/newProcess/6'
|
||||
// // }
|
||||
// ]
|
||||
// },
|
||||
|
||||
{
|
||||
title: '工作台',
|
||||
path: '/processCenter',
|
||||
'icon-class': 'liucheng',
|
||||
menuId: '3fadf',
|
||||
children: [
|
||||
{
|
||||
title: '流程中心',
|
||||
path: '/processCenter',
|
||||
menuId: '7455dc97eac2933341e18be659f07e89'
|
||||
},
|
||||
{
|
||||
title: '新建流程',
|
||||
path: '/createProcessNew',
|
||||
menuId: 'b53e6722b33a37c0fa2d87a9b06cca40'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '本地工具',
|
||||
path: '/localTool',
|
||||
'icon-class': 'tools',
|
||||
menuId: 'F3RJJEMLK8',
|
||||
menuId: 'afsd12',
|
||||
children: [
|
||||
// {
|
||||
// title: '标准预警',
|
||||
@@ -224,17 +212,17 @@ export default {
|
||||
{
|
||||
title: '标准内容自动识别',
|
||||
path: '/standardRecognition',
|
||||
menuId: '27RCLPSNL22JAMJ2MBTZ'
|
||||
menuId: '3db80f62af9d96d6dfc6d429eea4b29b'
|
||||
},
|
||||
{
|
||||
title: '标准拆分',
|
||||
path: '/standAutoSplit',
|
||||
menuId: 'B8UYM3WFCMGXR2BPF9JA'
|
||||
menuId: '0062e261bc65e27e0a968dac67e16a3c'
|
||||
},
|
||||
{
|
||||
title: '标准比对',
|
||||
path: '/standContrast',
|
||||
menuId: '3RYN5FLTTDYP7D2PJ44H'
|
||||
menuId: '1d83a6278f781419f628e9f5560f5c86'
|
||||
},
|
||||
// {
|
||||
// title: '标准比对库',
|
||||
@@ -259,7 +247,7 @@ export default {
|
||||
title: '标准预警',
|
||||
path: '/standardWarning',
|
||||
'icon-class': 'warning',
|
||||
menuId: 'ABCLRLJUQN44ENBS93CQ',
|
||||
menuId: 'asfdew33',
|
||||
isChildren: true // 判断没有子菜单
|
||||
},
|
||||
// {
|
||||
@@ -276,32 +264,37 @@ export default {
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// title: '配置管理',
|
||||
// path: '/config',
|
||||
// 'icon-class': 'conf',
|
||||
// menuId: '95KGANGWCV',
|
||||
// children: [
|
||||
// {
|
||||
// title: '标准法规属性管理',
|
||||
// path: '/standLawsAttrManage',
|
||||
// menuId: 'C5VHBSYRMA'
|
||||
// },
|
||||
{
|
||||
title: '配置管理',
|
||||
path: '/config',
|
||||
'icon-class': 'conf',
|
||||
menuId: 'adff323',
|
||||
children: [
|
||||
{
|
||||
title: '标准法规属性管理',
|
||||
path: '/standLawsAttrManage',
|
||||
menuId: '72a24657972d286b8b5d80735cf4eee2'
|
||||
},
|
||||
// {
|
||||
// title: '资料中心管理',
|
||||
// path: '/dynamicInformationManage',
|
||||
// menuId: '6V2QZ9STRZ'
|
||||
// },
|
||||
// {
|
||||
// title: '机构管理',
|
||||
// path: '/MechanismManage',
|
||||
// menuId: '7MWCQK6NNH'
|
||||
// },
|
||||
// {
|
||||
// title: '角色管理',
|
||||
// path: '/roleManage',
|
||||
// menuId: 'NVU76EMB7N'
|
||||
// },
|
||||
{
|
||||
title: '机构管理',
|
||||
path: '/MechanismManage',
|
||||
menuId: '5a09164da97760846509c5c9dd86b80c'
|
||||
},
|
||||
{
|
||||
title: '角色管理',
|
||||
path: '/roleManage',
|
||||
menuId: 'd73d0e230eafdb2ddefe1c97daf657ea'
|
||||
},
|
||||
{
|
||||
title: '岗位管理',
|
||||
path: '/postManage',
|
||||
menuId: 'd2954be3abaaf2de3dc79add4c8ab8cd'
|
||||
},
|
||||
// {
|
||||
// title: '用户管理',
|
||||
// path: '/userManage',
|
||||
@@ -317,10 +310,16 @@ export default {
|
||||
// path: '/convertDocView',
|
||||
// menuId: '3F52K25546'
|
||||
// },
|
||||
// // {
|
||||
// // title: '菜单管理',
|
||||
// // path: '/menuManage'
|
||||
// // },
|
||||
/*{
|
||||
title: '菜单管理',
|
||||
path: '/menuManage',
|
||||
menuId: '87b8b4f5817a7829696e63185c744d52'
|
||||
},*/
|
||||
{
|
||||
title: '链接管理',
|
||||
path: '/linkManage',
|
||||
menuId: 'd3ff92078c53a4d9d1f1a94450fee91e'
|
||||
},
|
||||
// // {
|
||||
// // title: '保密管理',
|
||||
// // path: '/convertDocView'
|
||||
@@ -330,11 +329,11 @@ export default {
|
||||
// path: '/DynamicInformations',
|
||||
// menuId: '3C87BSHJUF'
|
||||
// },
|
||||
// {
|
||||
// title: '标准属性自定义',
|
||||
// path: '/attributeCustom',
|
||||
// menuId: 'PGPZXNUFEXC85BVPV9AU'
|
||||
// },
|
||||
{
|
||||
title: '标准属性自定义',
|
||||
path: '/attributeCustom',
|
||||
menuId: '9cdb9b40157dd967b664b9af462b960b'
|
||||
},
|
||||
// // {
|
||||
// // title: '流程分类管理',
|
||||
// // path: '/processClassificationManage',
|
||||
@@ -355,69 +354,68 @@ export default {
|
||||
// path: '/enterpriseStandardNumberManagement',
|
||||
// menuId: '9YSFG39S3CBFUJCEU3QX'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// title: '个人中心',
|
||||
// path: '/personal',
|
||||
// 'icon-class': 'ucenter',
|
||||
// menuId: 'ZY9RFA4M35',
|
||||
// children: [
|
||||
// {
|
||||
// title: '我的消息',
|
||||
// path: '/dynamics',
|
||||
// menuId: 'JCEV4AEV32'
|
||||
// },
|
||||
// {
|
||||
// title: '我的企标',
|
||||
// path: '/MyEnterpriseStandard',
|
||||
// menuId: 'LKU3W23UMEHDM9VLDHGK'
|
||||
// },
|
||||
// {
|
||||
// title: '我的收藏',
|
||||
// path: '/collection',
|
||||
// menuId: 'JY5LKL2HPD'
|
||||
// },
|
||||
//
|
||||
// {
|
||||
// title: '我的浏览',
|
||||
// path: '/browsing',
|
||||
// menuId: 'HAEY2A4LMX'
|
||||
// },
|
||||
// {
|
||||
// title: '已收分享',
|
||||
// path: '/push',
|
||||
// menuId: '9F8T7DPYHE'
|
||||
// },
|
||||
// {
|
||||
// title: '已发分享',
|
||||
// path: '/forward',
|
||||
// menuId: 'K45Y9TGKZV2K4XP4CETD'
|
||||
// },
|
||||
// {
|
||||
// title: '我的问答',
|
||||
// path: '/questionsAndAnswers',
|
||||
// menuId: '8VKLZATQQG4NQHXV9UDS'
|
||||
// },
|
||||
// {
|
||||
// title: '我的板块',
|
||||
// path: '/plate',
|
||||
// menuId: 'TUYHX8JBWV'
|
||||
// }
|
||||
// // {
|
||||
// // title: '个人信息',
|
||||
// // path: '/info',
|
||||
// // menuId: '8K7FDHG89G'
|
||||
// // }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// title: '搜索中心',
|
||||
// path: '/advancedSearch',
|
||||
// 'icon-class': 'search',
|
||||
// menuId: 'K9BAYUPZBC',
|
||||
// isChildren: true // 判断没有子菜单
|
||||
// },
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '个人中心',
|
||||
path: '/personal',
|
||||
'icon-class': 'ucenter',
|
||||
menuId: '32143ffasdf',
|
||||
children: [
|
||||
// {
|
||||
// title: '我的消息',
|
||||
// path: '/dynamics',
|
||||
// menuId: 'JCEV4AEV32'
|
||||
// },
|
||||
// {
|
||||
// title: '我的企标',
|
||||
// path: '/MyEnterpriseStandard',
|
||||
// menuId: 'LKU3W23UMEHDM9VLDHGK'
|
||||
// },
|
||||
{
|
||||
title: '我的收藏',
|
||||
path: '/collection',
|
||||
menuId: '63e999c65b1f2b1339119a00eb1d50cf'
|
||||
},
|
||||
// {
|
||||
// title: '我的浏览',
|
||||
// path: '/browsing',
|
||||
// menuId: 'HAEY2A4LMX'
|
||||
// },
|
||||
// {
|
||||
// title: '已收分享',
|
||||
// path: '/push',
|
||||
// menuId: '9F8T7DPYHE'
|
||||
// },
|
||||
// {
|
||||
// title: '已发分享',
|
||||
// path: '/forward',
|
||||
// menuId: 'K45Y9TGKZV2K4XP4CETD'
|
||||
// },
|
||||
// {
|
||||
// title: '我的问答',
|
||||
// path: '/questionsAndAnswers',
|
||||
// menuId: '8VKLZATQQG4NQHXV9UDS'
|
||||
// },
|
||||
{
|
||||
title: '我的板块',
|
||||
path: '/plate',
|
||||
menuId: 'e4a94f03223df6f4ad70732b96f07221'
|
||||
}
|
||||
// {
|
||||
// title: '个人信息',
|
||||
// path: '/info',
|
||||
// menuId: '8K7FDHG89G'
|
||||
// }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '搜索中心',
|
||||
path: '/advancedSearch',
|
||||
'icon-class': 'search',
|
||||
menuId: '1332FSFAD',
|
||||
isChildren: true // 判断没有子菜单
|
||||
},
|
||||
// {
|
||||
// title: '标准比对库',
|
||||
// path: '/standardComparisonLibrary',
|
||||
@@ -446,7 +444,7 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
logo () {
|
||||
return this.isCollapse ? require('assets/images/shangqi/img/logo-isCollapse.png') : require('assets/images/shangqi/img/logo2.png')
|
||||
return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo2.png')
|
||||
},
|
||||
...mapGetters(['getDynamicTotal', 'isCollapse'])
|
||||
},
|
||||
@@ -470,7 +468,7 @@ export default {
|
||||
overflow-y: auto;
|
||||
user-select: none;
|
||||
box-sizing: border-box;
|
||||
background: url("~assets/images/shangqi/sideBar/side-bar-isCollapse-bg.png") no-repeat;
|
||||
background: url("~assets/images/shangqi/sideBar/newside-bar-bg1.png") no-repeat;
|
||||
background-size: 100% 100%;
|
||||
&:not(.is-collapse) {
|
||||
width: 212px;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
:total="total"
|
||||
:current-page="page"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="pageSize"
|
||||
:page-size="_pageSize"
|
||||
@current-change="pageChange"
|
||||
@size-change="pageSizeChange"
|
||||
layout="total, prev, pager, next, sizes, jumper"
|
||||
@@ -28,20 +28,24 @@ export default {
|
||||
this.$emit('pageChange', page)
|
||||
},
|
||||
pageSizeChange (pageSize) {
|
||||
if (this.getTypeFlag === 'CloudRepository') {
|
||||
this.userInfo.configContent = pageSize
|
||||
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
} else {
|
||||
this.pageConfig(pageSize).then((res) => {
|
||||
if (res.ok) {
|
||||
this.userInfo.configContent = pageSize
|
||||
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
}
|
||||
}, e => {
|
||||
})
|
||||
}
|
||||
this.userInfo.configContent = pageSize
|
||||
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
|
||||
// if (this.getTypeFlag === 'CloudRepository') {
|
||||
// this.userInfo.configContent = pageSize
|
||||
// this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
// this.$emit('pageSizeChange', pageSize)
|
||||
// } else {
|
||||
// this.pageConfig(pageSize).then((res) => {
|
||||
// if (res.ok) {
|
||||
// this.userInfo.configContent = pageSize
|
||||
// this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
// this.$emit('pageSizeChange', pageSize)
|
||||
// }
|
||||
// }, e => {
|
||||
// })
|
||||
// }
|
||||
},
|
||||
/**
|
||||
* @description: 每页条数配置
|
||||
@@ -77,12 +81,22 @@ export default {
|
||||
isDivider: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
pageSize: {
|
||||
type: Number,
|
||||
default: 10
|
||||
},
|
||||
// 不随全局页码改变
|
||||
autoSize: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['userInfo', 'getTypeFlag']),
|
||||
pageSize () {
|
||||
return this.userInfo.configContent === '' || this.userInfo.configContent === undefined || this.userInfo.configContent === null ? 20 : parseInt(this.userInfo.configContent)
|
||||
_pageSize () {
|
||||
return this.autoSize ? this.pageSize
|
||||
: this.userInfo.configContent === '' || this.userInfo.configContent === undefined || this.userInfo.configContent === null ? 20 : parseInt(this.userInfo.configContent)
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
|
||||
@@ -56,7 +56,6 @@ export default {
|
||||
padding-inline-start: 0;
|
||||
height: auto;
|
||||
font-size: 0;
|
||||
padding-left: 10px;
|
||||
li{
|
||||
display: inline-block;
|
||||
vertical-align: baseline;
|
||||
|
||||
@@ -37,7 +37,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
toHome () {
|
||||
this.$router.push('/home')
|
||||
this.$router.push('/home1')
|
||||
},
|
||||
// 获取当前时间
|
||||
getTime () {
|
||||
@@ -101,7 +101,7 @@ export default {
|
||||
display: inline-block;
|
||||
width: 160px;
|
||||
height: 61px;
|
||||
background: url("~@/assets/images/shangqi/home/logo-bg.png") no-repeat;
|
||||
background: url("~@/assets/images/shangqi/home/logo2.png") no-repeat;
|
||||
background-size: cover;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,267 @@
|
||||
<template>
|
||||
<div class="roleTree">
|
||||
<el-drawer
|
||||
:title="isTitle"
|
||||
:visible.sync="isVisible2"
|
||||
:wrapperClosable="false"
|
||||
@close="handleTreeDrawerCancel"
|
||||
size="400px">
|
||||
<el-form
|
||||
ref="attributeEO"
|
||||
class="label-input-form"
|
||||
:inline="true"
|
||||
>
|
||||
<el-form-item class="form-item-disabled" style="margin: 10px;">
|
||||
<el-input
|
||||
v-model="filterText"
|
||||
placeholder="请输入姓名"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-tree
|
||||
v-if="open1 && isVisible2"
|
||||
node-key="id"
|
||||
style="height: 100%; overflow: auto;"
|
||||
class="filter-tree tree-line"
|
||||
:class="treeClass"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox
|
||||
ref="tree"
|
||||
:load="loadNode"
|
||||
lazy>
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }">
|
||||
<span :class="node.disabled ? 'is-show' : 'is-leaf-none'"></span>
|
||||
<span> {{ node.label }} </span>
|
||||
</span>
|
||||
</el-tree>
|
||||
<el-tree
|
||||
v-if="!open1 && isVisible2"
|
||||
node-key="id"
|
||||
style="height: 100%; overflow: auto;"
|
||||
class="filter-tree tree-line"
|
||||
:data="treeData1"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
:expand-on-click-node="false"
|
||||
default-expand-all
|
||||
show-checkbox
|
||||
ref="tree">
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }">
|
||||
<span :class="node.disabled ? 'is-show' : 'is-leaf-none'"></span>
|
||||
<span> {{ node.label }} </span>
|
||||
</span>
|
||||
</el-tree>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleTreeDrawerCancel">取消</el-button>
|
||||
</div>
|
||||
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "roleTree",
|
||||
props: {
|
||||
checkBox: { // 单选/多选
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
isTitle: { // 标题
|
||||
type: String
|
||||
},
|
||||
isVisible: { // drawer开关
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
nodeList: { // 回显
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
roleList: [],
|
||||
isVisible2: false,
|
||||
filterText: '',
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name',
|
||||
isLeaf: (data, node) => {
|
||||
if (!node.disabled) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
},
|
||||
treeData1: [],
|
||||
treeData: [],
|
||||
open1: true,
|
||||
treeLoading: false,
|
||||
roleRow: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
treeClass () {
|
||||
|
||||
},
|
||||
handleTreeDrawerCancel () {
|
||||
this.filterText = ''
|
||||
this.isVisible2 = false
|
||||
},
|
||||
saveUserInfo () {
|
||||
this.isVisible2 = false
|
||||
this.$emit('checkedRole', this.roleList)
|
||||
},
|
||||
drawerCheck (data) {
|
||||
if (this.checkBox) {
|
||||
// 单选判断
|
||||
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
|
||||
if(getlist.length == 1) {
|
||||
this.roleRow = getlist[0]
|
||||
}else {
|
||||
this.$refs.tree.setCheckedKeys([data.id]);
|
||||
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
|
||||
}
|
||||
this.roleList = [this.roleRow]
|
||||
} else {
|
||||
this.roleList = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes())
|
||||
}
|
||||
},
|
||||
loadNode(node, resolve) {
|
||||
if (node.level === 0) {
|
||||
return resolve(this.treeData);
|
||||
}
|
||||
this.getChildren(node, resolve)
|
||||
},
|
||||
getChildren (node, resolve) {
|
||||
this.$http.get('SarInstitution/institution/getNext', {
|
||||
institutionId: node.key
|
||||
}, {}, res => {
|
||||
resolve(res)
|
||||
})
|
||||
},
|
||||
getTree () {
|
||||
this.treeLoading = true
|
||||
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res=> {
|
||||
this.treeData = res
|
||||
this.treeLoading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
isVisible (val) {
|
||||
this.isVisible2 = val
|
||||
},
|
||||
isVisible2 (val) {
|
||||
this.$emit('update:isVisible', val)
|
||||
},
|
||||
filterText (val) {
|
||||
if (val.length) {
|
||||
this.open1 = false
|
||||
this.treeLoading = true
|
||||
this.$http.get('SarInstitution/institution/institutionAndUser', {
|
||||
userName: val
|
||||
}, {}, res => {
|
||||
this.treeData1 = res.data
|
||||
this.treeLoading = false
|
||||
})
|
||||
} else {
|
||||
this.open1 = true
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getTree()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
/deep/.el-tree-node__content {
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
/deep/ .is-leaf{
|
||||
background-image:none;
|
||||
background-size:100% 100%;
|
||||
}
|
||||
/deep/ .is-leaf-none{
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background:url('~@/assets/images/shangqi/img/personnel.png');
|
||||
background-size:100% 100%;
|
||||
}
|
||||
/deep/ .is-show{
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background:url('~@/assets/images/shangqi/img/mechanism.png');
|
||||
background-size:100% 100%;
|
||||
}
|
||||
/deep/.tree-line{
|
||||
.el-tree-node {
|
||||
position: relative;
|
||||
padding-left: 0px; // 缩进量
|
||||
line-height: 30px;
|
||||
}
|
||||
.el-tree-node__children {
|
||||
padding-left: 16px; // 缩进量
|
||||
}
|
||||
// 竖线
|
||||
.el-tree-node::before {
|
||||
content: "";
|
||||
height: 100%;
|
||||
width: 1px;
|
||||
position: absolute;
|
||||
left: -3px;
|
||||
top: -26px;
|
||||
border-width: 1px;
|
||||
border-left: 1px dashed #858990e0;
|
||||
}
|
||||
// 当前层最后一个节点的竖线高度固定
|
||||
.el-tree-node:last-child::before {
|
||||
height: 38px; // 可以自己调节到合适数值
|
||||
}
|
||||
// 横线
|
||||
.el-tree-node::after {
|
||||
content: "";
|
||||
width: 11px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
left: -3px;
|
||||
top: 12px;
|
||||
border-width: 1px;
|
||||
border-top: 1px dashed #858990e0;
|
||||
}
|
||||
// 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
|
||||
& > .el-tree-node::after {
|
||||
border-top: none;
|
||||
}
|
||||
& > .el-tree-node::before {
|
||||
border-left: none;
|
||||
}
|
||||
// 展开关闭的icon
|
||||
.el-tree-node__expand-icon{
|
||||
font-size: 16px;
|
||||
// 叶子节点(无子节点)
|
||||
&.is-leaf{
|
||||
color: transparent;
|
||||
// display: none; // 也可以去掉
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,198 @@
|
||||
<!--
|
||||
/**
|
||||
* 下拉选择树形组件,下拉框展示树形结构,提供选择某节点功能,方便其他模块调用
|
||||
* 调用示例:
|
||||
* <tree-select :height="400" // 下拉框中树形高度
|
||||
* :width="200" // 下拉框中树形宽度
|
||||
* :data="data" // 树结构的数据
|
||||
* :defaultProps="defaultProps" // 树结构的props
|
||||
* multiple // 多选
|
||||
* checkStrictly // 多选时,严格遵循父子不互相关联
|
||||
* :nodeKey="nodeKey" // 绑定nodeKey,默认绑定'id'
|
||||
* :checkedKeys="defaultCheckedKeys" // 传递默认选中的节点key组成的数组
|
||||
* @popoverHide="popoverHide"> // 事件有两个参数:第一个是所有选中的节点ID,第二个是所有选中的节点数据
|
||||
* </tree-select>
|
||||
*/
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div class="mask" v-show="isShowSelect" @click="isShowSelect = !isShowSelect"></div>
|
||||
<el-popover placement="bottom-start" :width="width" trigger="manual" :disabled="disabled"
|
||||
v-model="isShowSelect" @hide="popoverHide">
|
||||
<el-tree class="common-tree" :style="style" ref="tree" :data="data" :props="defaultProps"
|
||||
:show-checkbox="multiple"
|
||||
:node-key="nodeKey"
|
||||
:check-strictly="checkStrictly"
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
:default-checked-keys="defaultCheckedKeys"
|
||||
:highlight-current="true"
|
||||
@node-click="handleNodeClick"
|
||||
@check-change="handleCheckChange"></el-tree>
|
||||
<el-select :style="selectStyle" slot="reference" ref="select"
|
||||
v-model="selectedData"
|
||||
:multiple="multiple"
|
||||
@click.native="isShowSelect = !isShowSelect"
|
||||
class="tree-select">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-popover>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'tree-select',
|
||||
props: {
|
||||
// 树结构数据
|
||||
data: {
|
||||
type: Array,
|
||||
default () {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
defaultProps: {
|
||||
type: Object,
|
||||
default () {
|
||||
return {};
|
||||
}
|
||||
},
|
||||
// 配置是否可多选
|
||||
multiple: {
|
||||
type: Boolean,
|
||||
default () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
nodeKey: {
|
||||
type: String,
|
||||
default () {
|
||||
return 'id';
|
||||
}
|
||||
},
|
||||
// 显示复选框情况下,是否严格遵循父子不互相关联
|
||||
checkStrictly: {
|
||||
type: Boolean,
|
||||
default () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
// 默认选中的节点key数组
|
||||
checkedKeys: {
|
||||
type: Array,
|
||||
default () {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
width: {
|
||||
type: String,
|
||||
default () {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
defaultCheckedKeys: [],
|
||||
isShowSelect: false, // 是否显示树状选择器
|
||||
options: [],
|
||||
selectedData: [], // 选中的节点
|
||||
style: 'width:' + this.width + 'px;' + 'height:100%;',
|
||||
selectStyle: 'width:100%;',
|
||||
checkedIds: [],
|
||||
checkedData: []
|
||||
};
|
||||
},
|
||||
created(){
|
||||
},
|
||||
mounted () {
|
||||
if (this.checkedKeys.length > 0) {
|
||||
if (this.multiple) {
|
||||
this.defaultCheckedKeys = this.checkedKeys;
|
||||
this.selectedData = this.checkedKeys.map((item) => {
|
||||
var node = this.$refs.tree.getNode(item);
|
||||
return node.label;
|
||||
});
|
||||
} else {
|
||||
var item = this.checkedKeys[0];
|
||||
this.$refs.tree.setCurrentKey(item);
|
||||
var node = this.$refs.tree.getNode(item);
|
||||
this.selectedData = node.label;
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
popoverHide () {
|
||||
if (this.multiple) {
|
||||
this.checkedIds = this.$refs.tree.getCheckedKeys(); // 所有被选中的节点的 key 所组成的数组数据
|
||||
this.checkedData = this.$refs.tree.getCheckedNodes(); // 所有被选中的节点所组成的数组数据
|
||||
} else {
|
||||
this.checkedIds = this.$refs.tree.getCurrentKey();
|
||||
this.checkedData = this.$refs.tree.getCurrentNode();
|
||||
}
|
||||
this.$emit('popoverHide', this.checkedIds, this.checkedData);
|
||||
},
|
||||
// 节点被点击时的回调,返回被点击的节点数据
|
||||
handleNodeClick (data, node) {
|
||||
if (!this.multiple) {
|
||||
let tmpMap = {};
|
||||
tmpMap.value = node.key;
|
||||
tmpMap.label = node.label;
|
||||
this.options = [];
|
||||
this.options.push(tmpMap);
|
||||
this.selectedData = node.label;
|
||||
this.isShowSelect = !this.isShowSelect;
|
||||
}
|
||||
},
|
||||
// 节点选中状态发生变化时的回调
|
||||
handleCheckChange () {
|
||||
var checkedKeys = this.$refs.tree.getCheckedKeys(); // 所有被选中的节点的 key 所组成的数组数据
|
||||
this.options = checkedKeys.map((item) => {
|
||||
var node = this.$refs.tree.getNode(item); // 所有被选中的节点对应的node
|
||||
let tmpMap = {};
|
||||
tmpMap.value = node.key;
|
||||
tmpMap.label = node.label;
|
||||
return tmpMap;
|
||||
});
|
||||
this.selectedData = this.options.map((item) => {
|
||||
return item.label;
|
||||
});
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
isShowSelect (val) {
|
||||
// 隐藏select自带的下拉框
|
||||
this.$refs.select.blur();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.mask{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
.common-tree{
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.tree-select .el-select__tags .el-tag .el-tag__close{
|
||||
display: none;
|
||||
}
|
||||
.tree-select .el-select__tags .el-tag .el-icon-close{
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,295 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
class="org-tree"
|
||||
:title="drawerTitle"
|
||||
:visible.sync="modalShowFlag"
|
||||
:size="width"
|
||||
:append-to-body=true
|
||||
:before-close="cancelUserInfo"
|
||||
:show-checkbox="showCheckBox"
|
||||
>
|
||||
<el-tree class="common-tree" :style="style" ref="tree" :data="data" :props="defaultProps"
|
||||
:load="loadNode"
|
||||
:lazy="lazy"
|
||||
:show-checkbox="multiple"
|
||||
:node-key="nodeKey"
|
||||
:check-strictly="checkStrictly"
|
||||
:expand-on-click-node="false"
|
||||
:default-checked-keys="defaultCheckedKeys"
|
||||
:highlight-current="true"
|
||||
@node-click="handleNodeClick"
|
||||
@check-change="handleCheckChange"></el-tree>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancelUserInfo">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "treeSelectNew",
|
||||
props: {
|
||||
// 树结构数据
|
||||
data: {
|
||||
type: Array,
|
||||
default () {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
url: {
|
||||
type: String,
|
||||
default () {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
urlChild: {
|
||||
type: String,
|
||||
default () {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
params: {
|
||||
type: Object,
|
||||
default () {
|
||||
return {};
|
||||
}
|
||||
},
|
||||
defaultProps: {
|
||||
type: Object,
|
||||
default () {
|
||||
return {};
|
||||
}
|
||||
},
|
||||
// 配置是否可多选
|
||||
multiple: {
|
||||
type: Boolean,
|
||||
default () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
lazy: {
|
||||
type: Boolean,
|
||||
default () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
nodeKey: {
|
||||
type: String,
|
||||
default () {
|
||||
return 'id';
|
||||
}
|
||||
},
|
||||
// 显示复选框情况下,是否严格遵循父子不互相关联
|
||||
checkStrictly: {
|
||||
type: Boolean,
|
||||
default () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
// 默认选中的节点key数组
|
||||
checkedKeys: {
|
||||
type: Array,
|
||||
default () {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
width: {
|
||||
type: String,
|
||||
default () {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
drawerTitle:{
|
||||
type: String,
|
||||
default () {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
showCheckBox:{
|
||||
type: Boolean,
|
||||
default () {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
// 配置是否展开
|
||||
modalShowFlag: {
|
||||
type: Boolean,
|
||||
default () {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
nodeList: [],
|
||||
defaultCheckedKeys: [],
|
||||
isShowSelect: false, // 是否显示树状选择器
|
||||
options: [],
|
||||
selectedData: [], // 选中的节点
|
||||
style: 'width:' + this.width + 'px;' + 'height:100%;',
|
||||
selectStyle: 'width:100%;',
|
||||
checkedIds: [],
|
||||
checkedData: [],
|
||||
};
|
||||
},
|
||||
created(){
|
||||
},
|
||||
mounted () {
|
||||
if (this.checkedKeys.length > 0) {
|
||||
if (this.multiple) {
|
||||
this.defaultCheckedKeys = this.checkedKeys;
|
||||
this.getChildByIDSList(this.defaultCheckedKeys);
|
||||
// this.selectedData = this.checkedKeys.map((item) => {
|
||||
// var node = this.$refs.tree.getNode(item);
|
||||
// return node.label;
|
||||
// });
|
||||
} else {
|
||||
const item = this.checkedKeys[0];
|
||||
this.getChildByIDSList(item);
|
||||
// this.$refs.tree.setCurrentKey(item);
|
||||
// var node = this.$refs.tree.getNode(item);
|
||||
// this.selectedData = node.label;
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadNode(node, resolve) {
|
||||
const that = this;
|
||||
|
||||
if (node.level === 0) {
|
||||
that.loadTreeData(resolve);
|
||||
}
|
||||
|
||||
if (node.level >= 1) {
|
||||
setTimeout(() => {
|
||||
this.getChildByList(node.data.id, resolve);
|
||||
}, 500);
|
||||
return resolve([]); // 加上这个,防止在该节点没有子节点时一直转圈的问题发生。
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
getChildByIDSList( _parentID) { // 获取子节点请求
|
||||
let params = {ids : _parentID};
|
||||
this.$http.get(this.urlChild, params, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if(res.data){
|
||||
this.$emit('popoverHide', this.checkedIds, res.data,false);
|
||||
}
|
||||
})
|
||||
},
|
||||
getChildByList( _parentID,resolve) { // 获取子节点请求
|
||||
let params = {ids : _parentID};
|
||||
this.$http.get(this.urlChild, params, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if(res.data){
|
||||
resolve(res.data);
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
},
|
||||
loadTreeData(resolve) {
|
||||
// 获取loadtreeData 就是父节点数据,getChildByList就是异步获取子节点数据
|
||||
this.$http.get(this.url, '', {
|
||||
_this: this
|
||||
}, res => {
|
||||
if(res.data){
|
||||
resolve(res.data)
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
},
|
||||
popoverHide () {
|
||||
|
||||
},
|
||||
// 节点被点击时的回调,返回被点击的节点数据
|
||||
handleNodeClick (data, node) {
|
||||
if (!this.multiple) {
|
||||
let tmpMap = {};
|
||||
tmpMap.value = node.key;
|
||||
tmpMap.label = node.label;
|
||||
this.options = [];
|
||||
this.options.push(tmpMap);
|
||||
this.selectedData = node.label;
|
||||
this.isShowSelect = !this.isShowSelect;
|
||||
}
|
||||
},
|
||||
// 递归
|
||||
getTreeData(data) {
|
||||
// 循环遍历json数据
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (data[i].children.length < 1) {
|
||||
// children若为空数组,则将children设为undefined
|
||||
delete data[i].children
|
||||
} else {
|
||||
// children若不为空数组,则继续 递归调用 本方法
|
||||
this.getTreeData(data[i].children)
|
||||
}
|
||||
}
|
||||
return data
|
||||
},
|
||||
// 节点选中状态发生变化时的回调
|
||||
handleCheckChange () {
|
||||
var checkedKeys = this.$refs.tree.getCheckedKeys(); // 所有被选中的节点的 key 所组成的数组数据
|
||||
this.options = checkedKeys.map((item) => {
|
||||
var node = this.$refs.tree.getNode(item); // 所有被选中的节点对应的node
|
||||
let tmpMap = {};
|
||||
tmpMap.value = node.key;
|
||||
tmpMap.label = node.label;
|
||||
return tmpMap;
|
||||
});
|
||||
this.selectedData = this.options.map((item) => {
|
||||
return item.label;
|
||||
});
|
||||
},
|
||||
saveUserInfo () {
|
||||
if (this.multiple) {
|
||||
this.checkedIds = this.$refs.tree.getCheckedKeys(); // 所有被选中的节点的 key 所组成的数组数据
|
||||
this.checkedData = this.$refs.tree.getCheckedNodes(); // 所有被选中的节点所组成的数组数据
|
||||
} else {
|
||||
this.checkedIds = this.$refs.tree.getCurrentKey();
|
||||
this.checkedData = this.$refs.tree.getCurrentNode();
|
||||
}
|
||||
this.$emit('popoverHide', this.checkedIds, this.checkedData,false);
|
||||
},
|
||||
cancelUserInfo () {
|
||||
this.$emit('popoverHide', this.checkedIds, this.checkedData,false);
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
/deep/ .expanded{
|
||||
background-image: none !important;
|
||||
background-size:100% 100%;
|
||||
}
|
||||
.el-drawer__body{
|
||||
& > div:first-child{
|
||||
display: flex;
|
||||
flex: auto;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
::v-deep .el-drawer__header{
|
||||
&>span:first-child{
|
||||
outline: none!important;
|
||||
}
|
||||
}
|
||||
::v-deep .el-drawer{
|
||||
outline: none!important;
|
||||
}
|
||||
</style>
|
||||
@@ -2,8 +2,8 @@
|
||||
<template>
|
||||
<div class="attribute-custom v-class">
|
||||
<div class="action-bar1">
|
||||
<el-button class="common-button-primary add-button" v-btn-permission="'7UARYUBX8J8BX3ELZDH2'" type="primary" @click="showAddModel"><i class="iconfont"></i>新增</el-button>
|
||||
<el-button class="common-button-default" v-btn-permission="'8QSDDR8R7UMDS9S6M2HU'" @click="showDisplayLocationDialog" >展示区域管理</el-button>
|
||||
<el-button class="common-button-primary add-button" size="mini" v-btn-permission="'7UARYUBX8J8BX3ELZDH2'" type="primary" @click="showAddModel"><i class="iconfont"></i>新增</el-button>
|
||||
<el-button class="common-button-default" size="mini" v-btn-permission="'8QSDDR8R7UMDS9S6M2HU'" @click="showDisplayLocationDialog" >展示区域管理</el-button>
|
||||
</div>
|
||||
<loading :loading="attributeDataLoading">数据处理中</loading>
|
||||
<div class="content">
|
||||
@@ -76,8 +76,8 @@
|
||||
<el-dropdown trigger="click" @command="handleCommand">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'QNDKHM2VNP8D938ZA9CQ'">编辑</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="scope.row.isEdit==='1'" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'18f50c76137df9b3112d07942b0d517f'">编辑</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="scope.row.isEdit==='1'" v-btn-permission="'eca5a9d90a5de7bf86c349cd0e73b1cf'" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
@@ -189,7 +189,7 @@
|
||||
</div>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button
|
||||
round
|
||||
size="mini"
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@@ -341,7 +341,7 @@ export default {
|
||||
{required: true, message: '所属模块不能为空', trigger: 'change'}
|
||||
],
|
||||
showIndex: [
|
||||
{ type: 'number', required: true, message: '请输入排序号', trigger: 'blur' },
|
||||
{ type: 'number', required: true, message: '不能为空且为正整数', trigger: 'blur' },
|
||||
{ type: 'number', min: 0, max: 999, message: '请输入0-999之间的整数', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
@@ -470,7 +470,7 @@ export default {
|
||||
this.$confirm('确认删除该条数据?', {
|
||||
title: '确认删除',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
callback: (action, instance) => {
|
||||
if (action === 'confirm') {
|
||||
const {id} = data
|
||||
@@ -674,7 +674,7 @@ export default {
|
||||
this.$confirm('确认删除选中数据?',{
|
||||
title: '提示',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
callback: (action, instance) => {
|
||||
if (action === 'confirm') {
|
||||
this.$http.put('lawss/sarStandAttrDetails/deleteByIds', {
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<template>
|
||||
<div class="attribute-custom v-class">
|
||||
<div class="action-bar1">
|
||||
<el-button class="common-button-primary add-button" type="primary" v-btn-permission="'H9WU2ZJHG5WNTY5MDUXH'" @click="showAddModel"><i class="iconfont"></i>新增</el-button>
|
||||
<el-button class="common-button-default" @click="showDisplayLocationDialog" v-btn-permission="'XT94XKWBCTELWNJQVYCU'">展示区域管理</el-button>
|
||||
<el-button class="common-button-primary add-button" size="mini" type="primary" v-btn-permission="'H9WU2ZJHG5WNTY5MDUXH'" @click="showAddModel"><i class="iconfont"></i>新增</el-button>
|
||||
<el-button class="common-button-default" size="mini" @click="showDisplayLocationDialog" v-btn-permission="'XT94XKWBCTELWNJQVYCU'">展示区域管理</el-button>
|
||||
</div>
|
||||
<loading :loading="attributeDataLoading">数据处理中</loading>
|
||||
<div class="content">
|
||||
@@ -76,8 +76,8 @@
|
||||
<el-dropdown trigger="click" @command="handleCommand">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'XFFUQ8ASE5SS9HGDGANZ'">编辑</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="scope.row.isEdit==='1'" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'b1e60ec7b60389713bf5b450ec2d1115'">编辑</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="scope.row.isEdit==='1'" v-btn-permission="'c157be4e073787ea6c4a04bd39686c2d'" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
@@ -331,7 +331,7 @@ export default {
|
||||
{required: true, message: '所属模块不能为空', trigger: 'change'}
|
||||
],
|
||||
showIndex: [
|
||||
{ type: 'number', required: true, message: '请输入排序号', trigger: 'blur' },
|
||||
{ type: 'number', required: true, message: '不能为空且为正整数', trigger: 'blur' },
|
||||
{ type: 'number', min: 0, max: 999, message: '请输入0-999之间的整数', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
@@ -459,7 +459,7 @@ export default {
|
||||
removeDisplayLocation (data) {
|
||||
this.$confirm('确认删除该条数据?', {
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
title: '确认删除',
|
||||
callback: (action, instance) => {
|
||||
if (action === 'confirm') {
|
||||
@@ -658,7 +658,7 @@ export default {
|
||||
this.$confirm('确认删除选中数据?', {
|
||||
title: '提示',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
callback: (action, instance) => {
|
||||
if (action === 'confirm') {
|
||||
this.$http.put('lawss/sarStandAttrDetails/deleteByIds', {
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<template>
|
||||
<div class="attribute-custom v-class">
|
||||
<div class="action-bar1">
|
||||
<el-button class="common-button-primary add-button" v-btn-permission="'EAT8LJFSP6P4QMR6M8F4'" type="primary" @click="showAddModel"><i class="iconfont"></i>新增</el-button>
|
||||
<el-button class="common-button-default" v-btn-permission="'Q2AQMSUHKZDKLXJBHJEN'" @click="showDisplayLocationDialog">展示区域管理</el-button>
|
||||
<el-button class="common-button-primary add-button" size="mini" v-btn-permission="''" type="primary" @click="showAddModel"><i class="iconfont"></i>新增</el-button>
|
||||
<el-button class="common-button-default" size="small" v-btn-permission="''" @click="showDisplayLocationDialog">展示区域管理</el-button>
|
||||
</div>
|
||||
<loading :loading="attributeDataLoading">数据处理中</loading>
|
||||
<div class="content">
|
||||
@@ -76,8 +76,8 @@
|
||||
<el-dropdown trigger="click" @command="handleCommand">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-btn-permission="'PTH96GYZT6SQZE9H8XCF'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="scope.row.isEdit==='1'" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
<el-dropdown-item v-btn-permission="''" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
|
||||
<el-dropdown-item v-btn-permission="''" :disabled="scope.row.isEdit==='1'" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
@@ -188,8 +188,8 @@
|
||||
</el-form>
|
||||
</div>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" icon="el-icon-check" type="primary" @click="saveInfo()">提交</el-button>
|
||||
<el-button class="common-button-default" icon="el-icon-close" @click="cancelModel">取消</el-button>
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveInfo()">提交</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancelModel">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
width="400px"
|
||||
>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<el-button class="common-button-primary add-button" type="primary" icon="add" @click="showAddDisplayLocationDialog(undefined)">新增</el-button>
|
||||
<el-button size="mini" class="common-button-primary add-button" v-btn-permission="'e128da8f053dd19113e75772f2c70f29'" type="primary" icon="add" @click="showAddDisplayLocationDialog(undefined)">新增</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
:loading="displayLocationDialogTableConfig.loading"
|
||||
@@ -230,8 +230,8 @@
|
||||
<el-dropdown trigger="click" @command="handleCommand2">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="[scope.row, '修改']">修改</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="scope.row.validFlag===1" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
<el-dropdown-item v-btn-permission="'2a788bca1cca66384e97f8ff722d4232'" :command="[scope.row, '修改']">修改</el-dropdown-item>
|
||||
<el-dropdown-item v-btn-permission="'116a3f339f3600e639271d0073045912'" :disabled="scope.row.validFlag===1" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
@@ -269,12 +269,12 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序号" prop="showIndex" class="add-form-item">
|
||||
<el-input v-model.number="displayLocationDialogFormData.showIndex" placeholder="请输入排序号"></el-input>
|
||||
<el-input v-model="displayLocationDialogFormData.showIndex" placeholder="请输入排序号"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button class="common-button-default" @click="handleDisplayLocationFormDialogReset('displayLocationDialogForm')">取 消</el-button>
|
||||
<el-button class="common-button-primary" type="primary" @click="handleDisplayLocationFormDialogSubmit('displayLocationDialogForm')">确 定</el-button>
|
||||
<el-button size="mini" class="common-button-default" @click="handleDisplayLocationFormDialogReset('displayLocationDialogForm')">取 消</el-button>
|
||||
<el-button size="mini" class="common-button-primary" type="primary" @click="handleDisplayLocationFormDialogSubmit('displayLocationDialogForm')">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -319,6 +319,7 @@ export default {
|
||||
},
|
||||
displayLocationDialogFormData: {
|
||||
areaName: '',
|
||||
sarType: '',
|
||||
showIndex: ''
|
||||
},
|
||||
displayLocationDialogFormRules: {
|
||||
@@ -330,8 +331,9 @@ export default {
|
||||
{required: true, message: '所属模块不能为空', trigger: 'change'}
|
||||
],
|
||||
showIndex: [
|
||||
{ type: 'number', required: true, message: '请输入排序号', trigger: 'blur' },
|
||||
{ type: 'number', min: 0, max: 999, message: '请输入0-999之间的整数', trigger: 'blur' }
|
||||
{ required: true, message: '排序号不能为空且为正整数', trigger: 'blur'},
|
||||
{ type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur'},
|
||||
{ min: 0, max: 999, message: '请输入0-999之间的整数', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
attributeDataLoading: false,
|
||||
@@ -351,7 +353,7 @@ export default {
|
||||
showRegionId: '',
|
||||
selVal: '',
|
||||
isSearch: '1',
|
||||
sarType: '',
|
||||
sarType: 'STAND',
|
||||
isWarn: '1'
|
||||
},
|
||||
attrTypeOptions: [
|
||||
@@ -459,7 +461,7 @@ export default {
|
||||
this.$confirm('确认删除该条数据?', {
|
||||
title: '确认删除',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
callback: (action, instance) => {
|
||||
if (action === 'confirm') {
|
||||
const {id} = data
|
||||
@@ -559,7 +561,7 @@ export default {
|
||||
queryDisplayLocationList (sarType) {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$http.get('lawssBase/utArea/getAreaList', {
|
||||
sarType: 'INLAND_STAND'
|
||||
sarType: sarType
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
@@ -657,7 +659,7 @@ export default {
|
||||
this.$confirm('确认删除选中数据?', {
|
||||
title: '提示',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
callback: (action, instance) => {
|
||||
if (action === 'confirm') {
|
||||
this.$http.put('lawss/sarStandAttrDetails/deleteByIds', {
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
<stand v-if="tabValue === 'stand'"></stand>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="国内外政策" name="laws">
|
||||
<!-- <el-tab-pane label="国内外政策" name="laws">
|
||||
<div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
|
||||
<laws v-if="tabValue === 'laws'"></laws>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tab-pane>-->
|
||||
<el-tab-pane label="企业标准库" name="buss">
|
||||
<div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
|
||||
<buss v-if="tabValue === 'buss'"></buss>
|
||||
|
||||
@@ -228,7 +228,6 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
handlePreview (item) {
|
||||
console.log('item1111111', item)
|
||||
// let routeUrl = this.$router.resolve({
|
||||
// name: 'OtherStandardDetails',
|
||||
// params: {
|
||||
@@ -252,12 +251,10 @@ export default {
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
console.log('res.data', res)
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
handleLaws (item) {
|
||||
console.log('item1111111', item)
|
||||
// let routeUrl = this.$router.resolve({
|
||||
// name: 'OtherLawsDetails',
|
||||
// params: {
|
||||
@@ -283,7 +280,6 @@ export default {
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
console.log('res.data', res)
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
@@ -369,7 +365,6 @@ export default {
|
||||
}, res => {
|
||||
this.isSubmit = false
|
||||
this.msgDetails.collectId = res.data.id
|
||||
console.log('msgDetails.collectId', this.msgDetails.collectId)
|
||||
}, e => {
|
||||
this.isSubmit = false
|
||||
})
|
||||
|
||||
@@ -301,7 +301,6 @@ export default {
|
||||
}, res => {
|
||||
this.isSubmit = false
|
||||
this.msgDetails.collectId = res.data.id
|
||||
console.log('msgDetails.collectId', this.msgDetails.collectId)
|
||||
}, e => {
|
||||
this.isSubmit = false
|
||||
})
|
||||
@@ -329,7 +328,6 @@ export default {
|
||||
obj.content = this.relateList[i].content
|
||||
this.relateNowList.push(obj)
|
||||
}
|
||||
console.log('relateNowList', this.relateNowList)
|
||||
}, e => {
|
||||
|
||||
})
|
||||
@@ -419,7 +417,6 @@ export default {
|
||||
this.$message.warning('暂无相关标准')
|
||||
} else {
|
||||
let row = item.releventStandIds.split('/')
|
||||
console.log(row)
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
@@ -436,7 +433,6 @@ export default {
|
||||
this.$message.warning('暂无相关政策')
|
||||
} else {
|
||||
let row = item.releventLawsIds.split('/')
|
||||
console.log(row)
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherLawsDetails',
|
||||
params: {
|
||||
|
||||
@@ -264,7 +264,6 @@
|
||||
},
|
||||
// 批量删除
|
||||
batchMSGDel (type, row) {
|
||||
console.log(row);
|
||||
if (type === 2) {
|
||||
this.$confirm('是否删除此数据?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
@@ -355,7 +354,6 @@
|
||||
// 查看
|
||||
// 如果为自定义类型,可再当前结构树中手动维护,添加删除编辑等,
|
||||
// 如果为基础体系库则是查看基础库中的数据。不可编辑删除操作。
|
||||
console.log(row)
|
||||
this.$store.commit('setDetailMap', this.$route.path)
|
||||
this.$router.push({
|
||||
name: 'managementTree',
|
||||
|
||||
@@ -302,22 +302,18 @@
|
||||
},
|
||||
treeClickThree (treeNode) {
|
||||
this.selectTree = treeNode // 记录当前选中的二级菜单
|
||||
console.log('选择的树', this.selectTree)
|
||||
},
|
||||
treeRightClickThree (treeNode) {
|
||||
this.selectTree = treeNode // 记录当前选中的二级菜单
|
||||
if (treeNode.selfFlag === '2'){
|
||||
this.operationAuthority = true
|
||||
console.log('ok');
|
||||
} else {
|
||||
this.operationAuthority = false
|
||||
}
|
||||
console.log('右击选择的树', this.selectTree)
|
||||
},
|
||||
// 二级菜单新建,编辑,删除
|
||||
clickDropMenu (name, treeNode) {
|
||||
this.selectSarMenu = JSON.parse(JSON.stringify(treeNode))
|
||||
console.log('点击',this.selectSarMenu);
|
||||
if (undefined !== this.selectSarMenu.id) { // 当前有选中节点
|
||||
if (name === 'newMenu') {
|
||||
this.menuModalTitle = '新增目录'
|
||||
@@ -332,7 +328,6 @@
|
||||
rootNum:this.baseDataId
|
||||
}
|
||||
} else if (name === 'editMenu') {
|
||||
console.log('treeNode',treeNode);
|
||||
this.menuModalTitle = '编辑目录'
|
||||
this.menuModalFlag = true
|
||||
this.menuAddOrUpdateFlag = 2
|
||||
@@ -421,7 +416,6 @@
|
||||
// 体系基础数据库-新建,编辑,删除
|
||||
clickDropMenuThree (name, treeNode) {
|
||||
this.selectSarMenu = JSON.parse(JSON.stringify(treeNode))
|
||||
console.log('点击',this.selectSarMenu);
|
||||
if (undefined !== this.selectSarMenu.id) { // 当前有选中节点
|
||||
if (name === 'newMenu') {
|
||||
this.modalTitle = '新增目录'
|
||||
@@ -435,7 +429,6 @@
|
||||
selfSort: ''
|
||||
}
|
||||
} else if (name === 'editMenu') {
|
||||
console.log('treeNode',treeNode);
|
||||
this.modalTitle = '编辑目录'
|
||||
this.modalFlag = true
|
||||
this.threeFlag = 2
|
||||
@@ -444,7 +437,6 @@
|
||||
this.dataListThree.map((item, index) => {
|
||||
if (this.addMenu.id === item.id) {
|
||||
selectNode.push(item)
|
||||
console.log('编辑的selectNode', selectNode)
|
||||
this.addMenu.pid = selectNode[0].pid
|
||||
this.addMenu.selfCode = selectNode[0].svppsCode
|
||||
this.addMenu.selfName = selectNode[0].svppsCnName
|
||||
@@ -582,7 +574,6 @@
|
||||
if (valid) {
|
||||
if (this.menuAddOrUpdateFlag === 1) {
|
||||
this.sarMenu.pid = this.selectSarMenu.id
|
||||
console.log(this.selectSarMenu.id)
|
||||
// if (this.selectSarMenu.parentIds != null) {
|
||||
// this.sarMenu.parentIds = this.selectSarMenu.parentIds + ',' + this.selectSarMenu.id
|
||||
// } else {
|
||||
@@ -650,11 +641,9 @@
|
||||
},
|
||||
watch: {
|
||||
operationAuthority(newValue) {
|
||||
console.log('newValue',newValue)
|
||||
// this.operationAuthority = newValue
|
||||
this.$nextTick(() => {
|
||||
this.operationAuthority = newValue
|
||||
console.log('this.operationAuthority',this.operationAuthority)
|
||||
this.$forceUpdate()
|
||||
})
|
||||
}
|
||||
@@ -662,8 +651,6 @@
|
||||
computed: {
|
||||
},
|
||||
mounted () {
|
||||
console.log('this.$route.params.qbDataType',this.$route.query.qbDataType)
|
||||
console.log('this.$route.params.qbBaseId',this.$route.query.qbBaseId)
|
||||
this.baseDataId =this.$route.query.qbBaseId
|
||||
switch (this.$route.query.qbDataType) {
|
||||
case '1':
|
||||
|
||||
@@ -0,0 +1,389 @@
|
||||
<!-- 配置管理 - 链接管理 -->
|
||||
<template>
|
||||
<div id="post-manage">
|
||||
<!-- 头部操作按钮-->
|
||||
<div class="action-bar">
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
@click="addLink"
|
||||
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
|
||||
size="mini">新增</el-button>
|
||||
<!-- <el-button type="primary"-->
|
||||
<!-- class="common-button-primary add-button"-->
|
||||
<!-- @click="linkOrder"-->
|
||||
<!-- v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"-->
|
||||
<!-- size="mini">顺序调整</el-button>-->
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
@click="deleteAllLink"
|
||||
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
|
||||
size="mini">删除</el-button>
|
||||
</div>
|
||||
<!-- 表格-->
|
||||
<div class="content">
|
||||
<el-table
|
||||
:data="linkList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
height="100%"
|
||||
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="orderBy"
|
||||
label="序号"
|
||||
align="center"
|
||||
width="50px">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="链接名称"
|
||||
width="220px">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="链接">
|
||||
<template slot-scope="scope" >
|
||||
<span v-if="scope.row.url.slice(0,7) === 'http://'" @click="linkto(scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
|
||||
{{ scope.row.url }}
|
||||
</span>
|
||||
<span v-else @click="linkto('http://' + scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">{{ scope.row.url }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
width="50px">
|
||||
<template slot-scope="scope">
|
||||
<div @click.stop style="display: inline-block">
|
||||
<el-dropdown trigger="click" @command="handleCommand">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<loading :loading="Loading">加载中...</loading>
|
||||
<!-- 新增链接弹窗-->
|
||||
<el-dialog
|
||||
:title="dialogTitle"
|
||||
:visible.sync="modalshowflag"
|
||||
:wrapperClosable="false"
|
||||
size="800px"
|
||||
@close="resetForm"
|
||||
>
|
||||
<el-form
|
||||
ref="sarStandardsInfoForm"
|
||||
:model="sarStandardsInfoEO"
|
||||
:rules="sarStandardsInfoRules"
|
||||
class="label-input-form"
|
||||
>
|
||||
<el-form-item label="链接名称" prop="name" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="sarStandardsInfoEO.name"
|
||||
placeholder="请输入链接名称"
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="sarStandardsInfoEO.url"
|
||||
placeholder="请输入链接">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="demo-drawer-footer">
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
|
||||
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Sortable from 'sortablejs'
|
||||
export default {
|
||||
name: "linkManage",
|
||||
data () {
|
||||
return {
|
||||
editId: '',
|
||||
type: '', // 1为新增 2为编辑
|
||||
dialogTitle: '',
|
||||
submitLoading: false,
|
||||
// 向后台传参使用
|
||||
data: [],
|
||||
Loading: false,
|
||||
modalshowflag: false,
|
||||
// 排序
|
||||
order:[],
|
||||
// 表格选取的
|
||||
selectList:[],
|
||||
selectId:[],
|
||||
ids:'',
|
||||
// 向后台传参使用
|
||||
sarStandardsInfoEO: {
|
||||
name: '',
|
||||
url: '',
|
||||
// sortId: ''
|
||||
},
|
||||
//新增链接未输入时提示
|
||||
sarStandardsInfoRules: {
|
||||
name: [
|
||||
{ required: true, message: '请输入链接名称', trigger: 'blur' }
|
||||
],
|
||||
url: [
|
||||
{ required: true, message: '请输入链接', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
|
||||
modalRole: false,
|
||||
props: {
|
||||
label: 'name',
|
||||
children: 'children'
|
||||
},
|
||||
|
||||
linkList: [],
|
||||
sortData: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//链接点击跳转,链接形式为http://xxxxxx
|
||||
linkto(link_href){
|
||||
window.open(link_href)
|
||||
},
|
||||
//头部新增按钮
|
||||
addLink () {
|
||||
this.type = 1
|
||||
this.dialogTitle = '新增链接'
|
||||
this.modalshowflag = true
|
||||
},
|
||||
//表格中操作列删除操作弹窗
|
||||
deleteLink (row) {
|
||||
this.$confirm('此操作将删除该链接, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
|
||||
this.$http.delete('sarUrl/tsUrl/delete', {
|
||||
id: row.id
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'Loading'
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('删除成功')
|
||||
let arr = []
|
||||
for (let a = 0; a < this.linkList.length; a++) {
|
||||
if (this.linkList[a].id === row.id) {
|
||||
this.linkList.splice(a, 1)
|
||||
}
|
||||
}
|
||||
this.linkList.forEach((item, index) => {
|
||||
let json = {}
|
||||
json.id = item.id
|
||||
json.orderBy = index + 1
|
||||
arr.push(json)
|
||||
})
|
||||
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
|
||||
this.getLink()
|
||||
})
|
||||
}else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
});
|
||||
});
|
||||
|
||||
},
|
||||
//头部删除按钮
|
||||
deleteAllLink() {
|
||||
this.selectId=[]
|
||||
for (var i=0;i<this.selectList.length;i++){
|
||||
this.selectId.push(this.selectList[i].id)
|
||||
}
|
||||
this.ids = this.selectId.join(",")
|
||||
if (this.selectList.length === 0) {
|
||||
this.$message.warning('请选择要删除的链接')
|
||||
} else {
|
||||
this.modalRole = true
|
||||
this.$confirm('此操作将删除链接, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$http.delete('sarUrl/tsUrl/deleteBatch', {
|
||||
ids: this.ids
|
||||
}, {}, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('删除成功')
|
||||
let arr = this.linkList.filter(items => {
|
||||
if (!this.ids.includes(items.id)) return items;
|
||||
})
|
||||
let newArr = []
|
||||
arr.forEach((item, index) => {
|
||||
let json = {}
|
||||
json.id = item.id
|
||||
json.orderBy = index + 1
|
||||
newArr.push(json)
|
||||
})
|
||||
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(newArr), {}, res => {
|
||||
this.getLink()
|
||||
})
|
||||
}else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
//弹窗关闭操作
|
||||
resetForm () {
|
||||
this.$refs['sarStandardsInfoForm'].resetFields();
|
||||
this.modalshowflag = false
|
||||
},
|
||||
//弹窗确认操作
|
||||
submit () {
|
||||
this.$refs['sarStandardsInfoForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.type === 1) {
|
||||
this.$http.postData('/sarUrl/tsUrl/add', {
|
||||
...this.sarStandardsInfoEO,
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'Loading'
|
||||
}, res=> {
|
||||
if (res.ok) {
|
||||
this.$message.success('新增成功')
|
||||
this.modalshowflag = false
|
||||
this.getLink()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
// 编辑
|
||||
this.$http.putData('/sarUrl/tsUrl/edit', {
|
||||
id: this.editId,
|
||||
name: this.sarStandardsInfoEO.name,
|
||||
url: this.sarStandardsInfoEO.url,
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'Loading'
|
||||
}, res=> {
|
||||
if (res.ok) {
|
||||
this.$message.success('修改成功')
|
||||
this.modalshowflag = false
|
||||
this.getLink()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
//表格中操作列
|
||||
handleCommand (command) {
|
||||
switch (command[1]) {
|
||||
case '删除':
|
||||
this.deleteLink(command[0])
|
||||
break
|
||||
case '编辑':
|
||||
this.editLink(command[0])
|
||||
break
|
||||
}
|
||||
},
|
||||
//表格中操作列编辑操作弹窗
|
||||
editLink (row) {
|
||||
this.type = 2
|
||||
this.editId = row.id
|
||||
this.sarStandardsInfoEO.name = row.name
|
||||
this.sarStandardsInfoEO.url = row.url
|
||||
this.sarStandardsInfoEO.sortId = row.sortId
|
||||
this.dialogTitle = '修改链接'
|
||||
this.modalshowflag = true
|
||||
},
|
||||
//多选框选择
|
||||
handleSelectionChange (val) {
|
||||
this.selectList = val
|
||||
},
|
||||
// 获取链接数据
|
||||
getLink () {
|
||||
this.$http.get('sarUrl/tsUrl', {
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'Loading'
|
||||
}, res=> {
|
||||
this.linkList = res.data
|
||||
this.initSortable()
|
||||
})
|
||||
},
|
||||
initSortable () {
|
||||
this.sortData = [...this.linkList]
|
||||
const el = document.querySelector('.el-table__body-wrapper tbody')
|
||||
//创建拖拽对象
|
||||
this.sortable = Sortable.create(el, {
|
||||
sort: true, //是否可进行拖拽排序
|
||||
animation: 150,
|
||||
onEnd: ({newIndex, oldIndex}) => {
|
||||
const val = this.sortData[oldIndex]
|
||||
this.sortData.splice(oldIndex, 1)
|
||||
this.sortData.splice(newIndex, 0, val)
|
||||
this.sortData.forEach((item, index) => {
|
||||
item.orderBy = index + 1
|
||||
})
|
||||
let arr = []
|
||||
this.sortData.forEach(item => {
|
||||
let json = {}
|
||||
json.id = item.id
|
||||
json.orderBy = item.orderBy
|
||||
arr.push(json)
|
||||
})
|
||||
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('保存成功')
|
||||
} else {
|
||||
this.$message.warning('保存失败!')
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getLink();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/mixins';
|
||||
#post-manage {
|
||||
height: 100%;
|
||||
.content {
|
||||
height: calc(~'100% - 53px')
|
||||
}
|
||||
.filter-tree {
|
||||
height: calc(~'100% - 50px')
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -2,89 +2,73 @@
|
||||
<template>
|
||||
<div id="permission-menu-manage">
|
||||
<div class="permission-menu-manage-left">
|
||||
<laws-tree
|
||||
ref="permissionManage"
|
||||
treeDivId="permissionManage"
|
||||
:zNodes="zNodes"
|
||||
autoSelect
|
||||
deptSelect
|
||||
showRMenu
|
||||
@treeClick="(treeId, treeNode) => handleClick(treeId, treeNode)"
|
||||
@treeAdd="(treeId, treeNode) => handleAdd(treeId, treeNode)"
|
||||
@treeEdit="(treeId, treeNode) => handleEdit(treeId, treeNode)"
|
||||
@treeRightClick="(treeId, treeNode) => treeRightClick(treeId, treeNode)"
|
||||
@treeRemove="(treeId, treeNode) => handleRemove(treeId, treeNode)"
|
||||
></laws-tree>
|
||||
<el-tree
|
||||
class="filter-tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
highlight-current
|
||||
ref="tree"
|
||||
@node-contextmenu="rightHandleNodeClick"
|
||||
@node-click="handleNodeClick">
|
||||
</el-tree>
|
||||
</div>
|
||||
<div class="permission-menu-manage-right" v-if="showSarMenuInfoFlag">
|
||||
<div class="permission-content">
|
||||
<el-form ref="sarMenuForm" :model="sarMenuEO" :rules="sarMenuRules" class="label-input-form">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<span style="color: #fff">1</span>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<el-form-item label="ID" prop="id" label-width="130px" class="standards-info-item">
|
||||
<el-input v-model="sarMenuEO.id" :disabled="formdisableflag" class="permission-input"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<span style="color: #fff">1</span>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<el-form-item label="名称" prop="name" label-width="130px" class="standards-info-item">
|
||||
<el-input v-model="sarMenuEO.name" class="permission-input"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<Row>
|
||||
<el-col :span="6">
|
||||
<span style="color: #fff">1</span>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<el-form-item label="父节点ID" prop="pId" label-width="130px" class="standards-info-item">
|
||||
<el-input v-model="sarMenuEO.pId" :disabled="formdisableflag" class="permission-input"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</Row>
|
||||
<Row>
|
||||
<el-col :span="6">
|
||||
<span style="color: #fff">1</span>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<el-form-item label="前台页面地址" prop="href" label-width="130px" class="standards-info-item">
|
||||
<el-input v-model="sarMenuEO.href" class="permission-input"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</Row>
|
||||
<Row>
|
||||
<el-col :span="6">
|
||||
<span style="color: #fff">1</span>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<el-form-item label="排序号" prop="isShow" label-width="130px" class="standards-info-item">
|
||||
<el-input v-model="sarMenuEO.isShow" maxlength="2" class="permission-input"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</Row>
|
||||
<Row>
|
||||
<el-col :span="6">
|
||||
<span style="color: #fff">1</span>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<el-form-item label="后台接口权限" prop="permission" label-width="130px" class="standards-info-item">
|
||||
<el-input v-model="sarMenuEO.permission" class="permission-input"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</Row>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="permission-btn" v-if="submitBtnFlag">
|
||||
<el-button type="primary" :loading="isSubmit" @click="saveMenuInfo">提交</el-button>
|
||||
</div>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
@click="Add"
|
||||
size="mini">新增</el-button>
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
@click="deleteList"
|
||||
size="mini">删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form
|
||||
ref="sarStandardsInfoForm"
|
||||
:model="form"
|
||||
label-width="100px"
|
||||
class="label-input-form"
|
||||
>
|
||||
<el-form-item label="Id" class="search-item">
|
||||
<el-input v-model="form.id" clearable disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" class="search-item">
|
||||
<el-input v-model="form.menuName" clearable disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="父节点Id" class="search-item">
|
||||
<el-input v-model="form.parentId" clearable disabled/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<el-dialog
|
||||
title="新增"
|
||||
:visible.sync="modalshowflag"
|
||||
:wrapperClosable="false"
|
||||
:before-close="closeDialog"
|
||||
size="800px">
|
||||
<el-form
|
||||
ref="sarStandardsInfoForm"
|
||||
:model="NewForm"
|
||||
label-width="100px"
|
||||
class="label-input-form"
|
||||
>
|
||||
<el-form-item label="名称" class="search-item">
|
||||
<el-input v-model="NewForm.menuName" clearable/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer">
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="closeDialog">取消</el-button>
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="confirmDialog">提交</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -96,212 +80,72 @@ export default {
|
||||
name: 'permission-menu-manage',
|
||||
data () {
|
||||
return {
|
||||
formdisableflag: true,
|
||||
zNodes: [],
|
||||
sarMenuEO: {
|
||||
modalshowflag: false,
|
||||
showSarMenuInfoFlag: false,
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'menuName'
|
||||
},
|
||||
form: {
|
||||
id: '',
|
||||
name: '',
|
||||
pId: '',
|
||||
href: '',
|
||||
isShow: '',
|
||||
permission: '',
|
||||
menuName: '',
|
||||
parentId: ''
|
||||
},
|
||||
sarMenuRules: {
|
||||
name: [
|
||||
{ required: true, message: '不能为空', trigger: 'blur' }
|
||||
]
|
||||
// isShow: [
|
||||
// { type: 'string', required: true, message: '不能为空', trigger: 'blur' }
|
||||
// ]
|
||||
},
|
||||
isSubmit: false,
|
||||
showSarMenuInfoFlag: false,
|
||||
submitBtnFlag: false,
|
||||
saveClickNodeInfo: '',
|
||||
clickType: '' // 1为新增,2为修改
|
||||
NewForm: {
|
||||
menuName: '',
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getTree () {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$http.get('sys/menu/listAllMenu', {}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
let zNodes = []
|
||||
for (let i = 0; i < res.data.length; i++) {
|
||||
let zObj = {}
|
||||
zObj.id = res.data[i].id
|
||||
zObj.pId = res.data[i].parentId
|
||||
zObj.name = res.data[i].name
|
||||
zObj.href = res.data[i].href
|
||||
zObj.isShow = res.data[i].isShow
|
||||
zObj.permission = res.data[i].permission
|
||||
zObj.remarks = res.data[i].remarks
|
||||
zNodes[i] = zObj
|
||||
if (res.data[i].parentIds !== null) {}
|
||||
}
|
||||
this.zNodes = zNodes
|
||||
}
|
||||
resolve()
|
||||
}, e => {
|
||||
reject(e)
|
||||
})
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description: 树节点点击
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-25 16:13:25
|
||||
*/
|
||||
handleClick (treeId, treeNode) {
|
||||
this.submitBtnFlag = false
|
||||
this.showSarMenuInfoFlag = true
|
||||
this.sarMenuEO = treeNode
|
||||
if (treeNode.href == null || treeNode.href === '' || treeNode.href === 'null') {
|
||||
this.sarMenuEO.href = ''
|
||||
}
|
||||
if (treeNode.permission == null || treeNode.permission === '' || treeNode.permission === 'null') {
|
||||
this.sarMenuEO.permission = ''
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @description: 树节点添加
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018/12/26 15:39:22
|
||||
*/
|
||||
handleAdd (treeId, treeNode) {
|
||||
this.resetForm()
|
||||
this.submitBtnFlag = true
|
||||
this.clickType = '1'
|
||||
this.showSarMenuInfoFlag = true
|
||||
this.sarMenuEO.pId = treeNode.id
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 树节点删除
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-25 14:05:25
|
||||
*/
|
||||
handleRemove (treeId, treeNode) {
|
||||
if (treeNode.pId == null || treeNode.pId === '') {
|
||||
this.$Message.error('不能删除根级节点')
|
||||
} else {
|
||||
this.$http.get('sys/menu/judgeContentChild', {
|
||||
id: treeNode.id
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data != null && res.data.length > 0) {
|
||||
this.$message.error('该节点包含子节点,不能删除')
|
||||
} else {
|
||||
this.sureDeleteMenu(treeNode)
|
||||
}
|
||||
}, e => {})
|
||||
}
|
||||
},
|
||||
sureDeleteMenu (treeNode) {
|
||||
this.$confirm('确认删除该条数据?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: true
|
||||
}).then(() => {
|
||||
if (treeNode.id != null && treeNode.id !== '') {
|
||||
this.$http.put('sys/menu/deleteMenuById', {
|
||||
id: treeNode.id
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data != null) {
|
||||
this.getTree()
|
||||
this.showSarMenuInfoFlag = false
|
||||
this.resetForm()
|
||||
}
|
||||
}, e => {
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('没有获取到所选节点id')
|
||||
deleteList () {
|
||||
this.$http.delete('lawss/sarMenu', {
|
||||
menuId: this.form.id
|
||||
}, {}, res=> {
|
||||
if (res.ok) {
|
||||
this.getTree()
|
||||
this.$message.success('删除成功')
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description: 节点编辑
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018/12/26 15:29:46
|
||||
*/
|
||||
handleEdit (treeId, treeNode) {
|
||||
this.submitBtnFlag = true
|
||||
this.clickType = '2'
|
||||
confirmDialog () {
|
||||
var form = {}
|
||||
form.parentId = this.form.id
|
||||
form.menuName = this.NewForm.menuName
|
||||
this.$http.postData('lawss/sarMenu/add', form, {}, res=> {
|
||||
if (res.ok) {
|
||||
this.getTree()
|
||||
this.modalshowflag = false
|
||||
this.$message.success('成功')
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
Add () {
|
||||
this.NewForm.menuName = ''
|
||||
this.modalshowflag = true
|
||||
},
|
||||
closeDialog () {
|
||||
this.modalshowflag = false
|
||||
this.NewForm.menuName = ''
|
||||
},
|
||||
rightHandleNodeClick (e, data) {},
|
||||
handleNodeClick (data) {
|
||||
this.form.id = data.id
|
||||
this.form.menuName = data.menuName
|
||||
this.form.parentId = data.parentId
|
||||
this.showSarMenuInfoFlag = true
|
||||
this.saveClickNodeInfo = treeNode
|
||||
this.sarMenuEO = treeNode
|
||||
if (treeNode.href == null || treeNode.href === '' || treeNode.href === 'null') {
|
||||
this.sarMenuEO.href = ''
|
||||
}
|
||||
if (treeNode.permission == null || treeNode.permission === '' || treeNode.permission === 'null') {
|
||||
this.sarMenuEO.permission = ''
|
||||
}
|
||||
},
|
||||
treeRightClick (treeId, treeNode) {
|
||||
},
|
||||
resetForm () {
|
||||
this.sarMenuEO.id = ''
|
||||
this.sarMenuEO.pId = ''
|
||||
this.sarMenuEO.name = ''
|
||||
this.sarMenuEO.href = ''
|
||||
this.sarMenuEO.isShow = ''
|
||||
this.sarMenuEO.permission = ''
|
||||
},
|
||||
saveMenuInfo () {
|
||||
if (this.sarMenuEO.isShow != null && this.sarMenuEO.isShow !== '') {
|
||||
this.isSubmit = true
|
||||
this.$refs['sarMenuForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.sarMenuEO.parentId = this.sarMenuEO.pId
|
||||
let menuEO = JSON.parse(JSON.stringify(this.sarMenuEO))
|
||||
if (this.clickType === '1') {
|
||||
this.$http.post('sys/menu/addMenu', menuEO, {
|
||||
_this: this,
|
||||
loading: 'isSubmit'
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
this.isSubmit = false
|
||||
this.submitBtnFlag = false
|
||||
this.getTree()
|
||||
}
|
||||
}, e => {
|
||||
this.isSubmit = false
|
||||
})
|
||||
} else {
|
||||
this.$http.put('sys/menu/updateMenu', this.sarMenuEO, {
|
||||
_this: this,
|
||||
loading: 'isSubmit'
|
||||
}, res => {
|
||||
this.isSubmit = false
|
||||
this.submitBtnFlag = false
|
||||
this.getTree()
|
||||
}, e => {
|
||||
this.isSubmit = false
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.isSubmit = false
|
||||
this.$message.error('请检查表单是否填写正确!')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('排序号不能为空!')
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
sideClose: {
|
||||
type: Boolean
|
||||
getTree () {
|
||||
this.$http.get('lawss/sarMenu', {}, {}, res=> {
|
||||
if (res.ok) {
|
||||
this.treeData = res.data
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
props: {},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted () {
|
||||
@@ -312,177 +156,29 @@ export default {
|
||||
|
||||
<style lang="less">
|
||||
//@import '~styles/mixins';
|
||||
#permission-menu-manage{
|
||||
#permission-menu-manage {
|
||||
display: flex;
|
||||
//.flex();
|
||||
background: #FFF;
|
||||
.permission-menu-manage-left{
|
||||
height: 100%;
|
||||
.permission-menu-manage-left {
|
||||
width: 240px;
|
||||
height: 100%;
|
||||
border-right: 1px solid #DDD;
|
||||
position: relative;
|
||||
overflow-x: auto;
|
||||
padding: 5px;
|
||||
.node_name{
|
||||
display: inline-block;
|
||||
max-width: 200px;
|
||||
//.ellipsis();
|
||||
}
|
||||
}
|
||||
.permission-menu-manage-right{
|
||||
|
||||
.permission-menu-manage-right {
|
||||
width: calc(~'100% - 240px');
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
.content{
|
||||
|
||||
.content {
|
||||
height: calc(~'100% - 150px');
|
||||
background: #CCC;
|
||||
.hasNoData{
|
||||
background: #FFF;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.no-data-icon{
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ivu-table-overflowX{
|
||||
overflow-x: auto;
|
||||
}
|
||||
.pagination{
|
||||
.ivu-divider{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.syncInfo{
|
||||
padding-bottom: 0.2rem;
|
||||
//.flex();
|
||||
flex: 1;
|
||||
align-items: center;
|
||||
}
|
||||
.permission-content{
|
||||
padding-top: 30px;
|
||||
.permission-input{
|
||||
width: 300px;
|
||||
}
|
||||
}
|
||||
.permission-btn{
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.ivu-tree-children{
|
||||
.ivu-tree-arrow{
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.content .btn-group{
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
.permission-menu-manage-right-search{
|
||||
.ivu-form-item-label{
|
||||
padding: 0;
|
||||
}
|
||||
.ivu-form-item-content{
|
||||
width: calc(~'100% - 60px');
|
||||
.ivu-select{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.ivu-form-item{
|
||||
margin: 0;
|
||||
}
|
||||
.ivu-btn{
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
}
|
||||
.ivu-divider-horizontal{
|
||||
margin: 8px 0;
|
||||
}
|
||||
.ivu-table-body{
|
||||
overflow-x: auto;
|
||||
}
|
||||
.ivu-table-tip{
|
||||
width: 100%;
|
||||
height: calc(~'100% - 41px');
|
||||
table{
|
||||
display: block;
|
||||
tbody,tr,td{
|
||||
display: block;
|
||||
width: 100% !important;
|
||||
height: 100%;
|
||||
}
|
||||
td{
|
||||
//.flex();
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
.hasNoData{
|
||||
background: #FFF;
|
||||
.no-data-icon{
|
||||
width: 85px;
|
||||
}
|
||||
}
|
||||
.ivu-table-fixed,
|
||||
.ivu-table-fixed-right{
|
||||
height: 100%;
|
||||
.ivu-table-fixed-body{
|
||||
height: calc(~'100% - 41px');
|
||||
}
|
||||
}
|
||||
.ivu-select-item{
|
||||
max-width: 200px;
|
||||
//.ellipsis();
|
||||
}
|
||||
.demo-drawer-footer{
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
background: #fff;
|
||||
}
|
||||
.btn-show{
|
||||
display: inline-block !important;
|
||||
}
|
||||
.btn-hide{
|
||||
display: none !important;
|
||||
}
|
||||
.ivu-tag{
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
.role-setting-form{
|
||||
.ivu-modal-body{
|
||||
overflow-y: inherit;
|
||||
}
|
||||
}
|
||||
.demo-drawer-profile{
|
||||
font-size: 14px;
|
||||
}
|
||||
.demo-drawer-profile .ivu-col{
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.user-info-text{
|
||||
color: #A59D9D;
|
||||
}
|
||||
.mechanism-tree-modal{
|
||||
.ivu-modal{
|
||||
width: 350px !important;
|
||||
.form-content{
|
||||
width: 300px;
|
||||
margin: 0 auto;
|
||||
.ivu-form-item{
|
||||
//.flex();
|
||||
.ivu-form-item-content{
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,326 @@
|
||||
<!-- 配置管理 - 岗位管理 -->
|
||||
<template>
|
||||
<div id="post-manage">
|
||||
<div class="action-bar">
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
@click="addModal"
|
||||
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
|
||||
size="mini">新增</el-button>
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
@click="addRole"
|
||||
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
|
||||
size="mini">配置角色</el-button>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
height="100%"
|
||||
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="岗位名称"
|
||||
width="170px">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="NameList"
|
||||
label="绑定角色">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="operator"
|
||||
label="操作人"
|
||||
width="170px">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="operateTime"
|
||||
label="操作时间"
|
||||
width="170px">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
width="50px">
|
||||
<template slot-scope="scope">
|
||||
<div @click.stop style="display: inline-block">
|
||||
<el-dropdown trigger="click" @command="handleCommand">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">删除</el-dropdown-item>
|
||||
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<loading :loading="Loading">加载中...</loading>
|
||||
<el-dialog
|
||||
:title="dialogTitle"
|
||||
:visible.sync="modalshowflag"
|
||||
:wrapperClosable="false"
|
||||
size="800px"
|
||||
@close="resetForm"
|
||||
>
|
||||
<el-form
|
||||
ref="sarStandardsInfoForm"
|
||||
:model="sarStandardsInfoEO"
|
||||
:rules="sarStandardsInfoRules"
|
||||
class="label-input-form"
|
||||
>
|
||||
<el-form-item label="岗位名称" prop="name" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="sarStandardsInfoEO.name"
|
||||
placeholder="请输入岗位名称"
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="demo-drawer-footer">
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
|
||||
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-drawer
|
||||
title="配置角色"
|
||||
:visible.sync="modalRole"
|
||||
:wrapperClosable="false"
|
||||
size="800px"
|
||||
@close="resetFormRole"
|
||||
>
|
||||
<el-tree
|
||||
ref="tree"
|
||||
node-key="id"
|
||||
class="filter-tree"
|
||||
style="height: 100%; overflow: auto;"
|
||||
v-if="modalRole"
|
||||
:props="props"
|
||||
:data="roleList"
|
||||
highlight-current
|
||||
:default-checked-keys="nodeList"
|
||||
check-strictly
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox>
|
||||
</el-tree>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button
|
||||
size="mini"
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="RoleSubmit"
|
||||
:loading="submitLoading"
|
||||
>确定</el-button>
|
||||
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="resetFormRole">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'PostManage',
|
||||
data () {
|
||||
return {
|
||||
editId: '',
|
||||
type: '', // 1为新增 2为编辑
|
||||
dialogTitle: '',
|
||||
nodeList: [],
|
||||
submitLoading: false,
|
||||
selectList: [],
|
||||
data: [],
|
||||
Loading: false,
|
||||
modalshowflag: false,
|
||||
sarStandardsInfoEO: {
|
||||
name: ''
|
||||
},
|
||||
sarStandardsInfoRules: {
|
||||
name: [
|
||||
{ required: true, message: '请输入岗位名称', trigger: 'blur' },
|
||||
{ min: 0, max: 100, message: '长度应不超过100个字符', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
modalRole: false,
|
||||
roleList: [],
|
||||
props: {
|
||||
label: 'name',
|
||||
children: 'children'
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleCommand (command) {
|
||||
switch (command[1]) {
|
||||
case '删除':
|
||||
this.deleteData(command[0])
|
||||
break
|
||||
case '编辑':
|
||||
this.editData(command[0])
|
||||
break
|
||||
}
|
||||
},
|
||||
deleteData (row) {
|
||||
this.$http.delete('sarPosition/position', {
|
||||
positionId: row.id
|
||||
}, {}, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('删除成功')
|
||||
this.getData()
|
||||
}
|
||||
})
|
||||
},
|
||||
editData (row) {
|
||||
this.type = 2
|
||||
this.editId = row.id
|
||||
this.sarStandardsInfoEO.name = row.name
|
||||
this.dialogTitle = '修改岗位信息'
|
||||
this.modalshowflag = true
|
||||
},
|
||||
RoleSubmit () { // 配置角色提交
|
||||
this.submitLoading = true
|
||||
this.$http.postData('sarPosition/position/role', {
|
||||
positionId: this.selectList[0].id,
|
||||
roleIds: this.$refs.tree.getCheckedKeys().concat(this.$refs.tree.getHalfCheckedKeys())
|
||||
}, {}, res=> {
|
||||
if (res.ok) {
|
||||
this.$message.success('配置成功')
|
||||
this.modalRole = false
|
||||
this.getData()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
this.submitLoading = false
|
||||
})
|
||||
},
|
||||
resetFormRole () { // 配置角色关闭事件
|
||||
this.modalRole = false
|
||||
},
|
||||
getRole () {
|
||||
this.$http.get('sarRole/role', {}, {}, res=> {
|
||||
this.roleList = res.data
|
||||
})
|
||||
},
|
||||
handleSelectionChange (val) { // 选中角色
|
||||
this.selectList = val
|
||||
},
|
||||
addRole () { // 点击配置角色按钮
|
||||
if (this.selectList.length === 1) {
|
||||
this.modalRole = true
|
||||
this.nodeList = this.selectList[0].idList
|
||||
} else if (this.selectList.length === 0) {
|
||||
this.$message.warning('请选择要配置角色的岗位')
|
||||
} else {
|
||||
this.$message.warning('请选择一条岗位')
|
||||
}
|
||||
},
|
||||
getData () { // 获取岗位数据
|
||||
this.$http.get('sarPosition/position', {}, {
|
||||
_this: this,
|
||||
loading: 'Loading'
|
||||
}, res=> {
|
||||
res.data.forEach((item)=>{
|
||||
var idList = []
|
||||
var NameList = ''
|
||||
item.roles.forEach((items)=>{
|
||||
if (NameList.length > 0) {
|
||||
NameList += ','
|
||||
}
|
||||
idList.push(items.id)
|
||||
NameList += items.name
|
||||
})
|
||||
item.idList = idList
|
||||
item.NameList = NameList
|
||||
})
|
||||
this.data = res.data
|
||||
})
|
||||
},
|
||||
addModal () { // 点击新增按钮
|
||||
this.type = 1
|
||||
this.dialogTitle = '新增岗位'
|
||||
this.modalshowflag = true
|
||||
},
|
||||
resetForm () { // 新增岗位关闭事件
|
||||
this.$refs['sarStandardsInfoForm'].resetFields();
|
||||
this.modalshowflag = false
|
||||
},
|
||||
submit () { // 新增角色确认
|
||||
this.$refs['sarStandardsInfoForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.type === 1) {
|
||||
this.$http.post('sarPosition/position', {
|
||||
createById: this.$store.getters.userInfo.userId,
|
||||
operator: this.$store.getters.userInfo.account,
|
||||
name: this.sarStandardsInfoEO.name
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'Loading'
|
||||
}, res=> {
|
||||
if (res.ok) {
|
||||
this.$message.success('新增成功')
|
||||
this.modalshowflag = false
|
||||
this.getData()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$http.put('sarPosition/position', {
|
||||
id: this.editId,
|
||||
name: this.sarStandardsInfoEO.name
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'Loading'
|
||||
}, res=> {
|
||||
if (res.ok) {
|
||||
this.$message.success('修改成功')
|
||||
this.modalshowflag = false
|
||||
this.getData()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted () {
|
||||
this.getData()
|
||||
this.getRole()
|
||||
const menuList = this.$store.getters.getMenuList
|
||||
menuList.forEach(item => {
|
||||
if (item.id === '980cb239683de9e29ee5335cec98e5b4') {
|
||||
console.log('有')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
@import '~@/assets/styles/mixins';
|
||||
#post-manage {
|
||||
height: 100%;
|
||||
.content {
|
||||
height: calc(~'100% - 53px')
|
||||
}
|
||||
.filter-tree {
|
||||
height: calc(~'100% - 50px')
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -108,7 +108,6 @@ export default {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
console.log('新增/编辑成功')
|
||||
this.$emit('success')
|
||||
this.$emit('close')
|
||||
}
|
||||
|
||||
@@ -84,7 +84,6 @@ export default {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
console.log('新增/编辑成功')
|
||||
this.$emit('success')
|
||||
this.$emit('close')
|
||||
}
|
||||
|
||||
@@ -178,7 +178,6 @@ export default {
|
||||
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
console.log('item', item)
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
@@ -216,7 +215,6 @@ export default {
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
console.log('删除成功')
|
||||
this.$message.warning(res.message)
|
||||
this.queryTablePage()
|
||||
}, e => {
|
||||
|
||||
@@ -170,7 +170,6 @@ export default {
|
||||
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
console.log('item', item)
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
|
||||
@@ -32,18 +32,16 @@
|
||||
<el-button
|
||||
class="common-button-primary"
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
round
|
||||
size="mini"
|
||||
@click="searchBtn"
|
||||
></el-button>
|
||||
>搜索</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="" class="search-item btn-box">
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
icon="el-icon-refresh-left"
|
||||
@click="resetSelect"
|
||||
round
|
||||
></el-button>
|
||||
size="mini"
|
||||
>清空</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -51,12 +49,12 @@
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
round
|
||||
size="mini"
|
||||
@click="showAddModel(1, null)"
|
||||
v-btn-permission="'29YZ482LEHRJJXELWZGG'"
|
||||
v-btn-permission="''"
|
||||
><i class="iconfont"></i>新增</el-button
|
||||
>
|
||||
<el-button @click="deleteAttr" round class="common-button-default" v-btn-permission="T97J4LTH3TP36CREJ62A"
|
||||
<el-button @click="deleteAttr" size="mini" class="common-button-default" v-btn-permission=""
|
||||
><i class="iconfont"></i>删除</el-button
|
||||
>
|
||||
</div>
|
||||
@@ -79,7 +77,7 @@
|
||||
}"
|
||||
@selection-change="handleSelectone"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center">
|
||||
<el-table-column type="selection" :selectable="handleSelected" width="55" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="dictionaryCode" label="数据字典编码">
|
||||
</el-table-column>
|
||||
@@ -124,13 +122,13 @@
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item
|
||||
v-btn-permission="'5B3QMLDMTJ4XPLKSFA8Q'"
|
||||
v-btn-permission="''"
|
||||
:disabled="scope.row.enable === '0'"
|
||||
:command="[scope.row, '编辑']"
|
||||
>编辑</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item
|
||||
v-btn-permission="'T97J4LTH3TP36CREJ62A'"
|
||||
v-btn-permission="''"
|
||||
:disabled="scope.row.enable === '0'"
|
||||
:command="[scope.row, '删除']"
|
||||
>删除</el-dropdown-item
|
||||
@@ -262,13 +260,13 @@
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
round
|
||||
size="mini"
|
||||
icon="el-icon-check"
|
||||
@click="saveInfo"
|
||||
>提交</el-button
|
||||
>
|
||||
<el-button
|
||||
round
|
||||
size="mini"
|
||||
icon="el-icon-close"
|
||||
class="common-button-default"
|
||||
@click="cancelModel"
|
||||
@@ -380,18 +378,26 @@ export default {
|
||||
}
|
||||
},
|
||||
goNuwPage (item) {
|
||||
console.log('item', item)
|
||||
this.$store.commit('setDetailMap', this.$route.path)
|
||||
this.$router.push({
|
||||
name: 'StandLawsAttrDetails',
|
||||
params: {
|
||||
id: item.id,
|
||||
dictionaryName: item.dictionaryName,
|
||||
dictionType: item.dictionType,
|
||||
isRelate: item.isRelate,
|
||||
relateDicId: item.relateDicId
|
||||
}
|
||||
})
|
||||
const params = {
|
||||
id: item.id,
|
||||
dictionaryName: item.dictionaryName,
|
||||
dictionType: item.dictionType,
|
||||
isRelate: item.isRelate,
|
||||
relateDicId: item.relateDicId
|
||||
}
|
||||
if(item.dictionType && item.dictionType === 'TREE'){
|
||||
this.$router.push({
|
||||
name: 'standLawsAttrTreeDetails',
|
||||
params: params
|
||||
})
|
||||
}else {
|
||||
this.$router.push({
|
||||
name: 'StandLawsAttrDetails',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
handleSelectone (data) {
|
||||
this.selectedList = []
|
||||
@@ -399,6 +405,12 @@ export default {
|
||||
this.selectedList.push(data[i].id)
|
||||
}
|
||||
},
|
||||
// 判断可选择的项
|
||||
handleSelected(row, index) {
|
||||
if (row.enable === '1') {
|
||||
return true
|
||||
}
|
||||
},
|
||||
pageChange (page) {
|
||||
this.pageNo = page
|
||||
this.getAttrByPage()
|
||||
@@ -520,7 +532,7 @@ export default {
|
||||
confirmButtonText: '确定',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
cancelButtonText: '取消',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
@@ -598,13 +610,12 @@ export default {
|
||||
let listId = this.selectedList[i]
|
||||
listIds.push(listId)
|
||||
}
|
||||
console.log(listIds)
|
||||
let listIdsStr = listIds.join(',')
|
||||
this.$confirm('确定删除这些数据?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
cancelButtonText: '取消',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$http.put(
|
||||
|
||||
@@ -17,26 +17,26 @@
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" class="search-item btn-box">
|
||||
<el-button class="common-button-primary" type="primary" icon="el-icon-search" round @click="selectProductBtn"></el-button>
|
||||
<el-button class="common-button-primary" type="primary" size="mini" @click="selectProductBtn">搜索</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="" class="search-item btn-box">
|
||||
<el-button class="common-button-default" icon="el-icon-refresh-left" @click="resetSelect" round></el-button>
|
||||
<el-button class="common-button-default" size="mini" @click="resetSelect" >清空</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="right">
|
||||
<el-button class="common-button-primary add-button"
|
||||
v-btn-permission="'4UF7LY2ZSCFHBKYS7VE2'"
|
||||
v-btn-permission="''"
|
||||
type="primary"
|
||||
icon="add"
|
||||
size="small"
|
||||
v-if="dictionaryId != 'ERDFGHGGJJ' && dictionaryId != 'D975E8V5KVQUY3DZFV7E' && dictionaryId != 'WQERWC39J4E8SV6WREP2'"
|
||||
round
|
||||
@click="productAdd">新增</el-button>
|
||||
<el-button class="common-button-default delete-button"
|
||||
v-btn-permission="'7WBE2BGZ2F745MDQ8VVD'"
|
||||
round
|
||||
v-btn-permission="''"
|
||||
v-if="dictionaryId != 'ERDFGHGGJJ' && dictionaryId != 'D975E8V5KVQUY3DZFV7E' && dictionaryId != 'WQERWC39J4E8SV6WREP2'"
|
||||
icon="delete"
|
||||
size="small"
|
||||
@click="productBatchDel">删除</el-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -85,8 +85,8 @@
|
||||
<div v-if="relateDicId">
|
||||
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'AQCEYWZK8F4DL85BZPRB'">查看</el-dropdown-item>
|
||||
</div>
|
||||
<el-dropdown-item :command="[scope.row, '编辑']" v-if="dictionaryId !== 'ERDFGHGGJJ' && dictionaryId !== 'D975E8V5KVQUY3DZFV7E' && dictionaryId !== 'WQERWC39J4E8SV6WREP2'" v-btn-permission="'8DGUGJTPV32F9F478K4P'">编辑</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '删除']" v-if="dictionaryId !== 'ERDFGHGGJJ' && dictionaryId !== 'D975E8V5KVQUY3DZFV7E' && dictionaryId !== 'WQERWC39J4E8SV6WREP2'" v-btn-permission="'7WBE2BGZ2F745MDQ8VVD'">删除</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '编辑']" v-if="dictionaryId !== 'ERDFGHGGJJ' && dictionaryId !== '48723deaa90798f56e939aea6aa49a23' && dictionaryId !== 'WQERWC39J4E8SV6WREP2'" v-btn-permission="''">编辑</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '删除']" v-if="dictionaryId !== 'ERDFGHGGJJ' && dictionaryId !== '982b2f92a26c3c91b6b868419f0e2d3b' && dictionaryId !== 'WQERWC39J4E8SV6WREP2'" v-btn-permission="''">删除</el-dropdown-item>
|
||||
<!-- <el-dropdown-item :command="[scope.row, '流程']">流程</el-dropdown-item>-->
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
|
||||
@@ -690,7 +690,6 @@ export default {
|
||||
},
|
||||
// 打开新增用户模态框
|
||||
openAddUserModal () {
|
||||
console.log('userVO',this.userVO)
|
||||
this.userTitle = '新增用户'
|
||||
this.userVO.roleIdList = ''
|
||||
this.showPWD = true
|
||||
|
||||
@@ -1564,7 +1564,7 @@ export default {
|
||||
// 请求标准id和类型
|
||||
showReplaceStandInfo (item) {
|
||||
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
|
||||
this.$http.get('lawss/sarStandardsInfo/queryInfoByStandNum', {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', {
|
||||
standNumber: item
|
||||
}, {
|
||||
_this: this
|
||||
|
||||
@@ -5,42 +5,9 @@
|
||||
<div class="details-header">
|
||||
<span>{{sarStandardsInfoEO.standSortShow || ''}} {{sarStandardsInfoEO.standNumber}}-{{sarStandardsInfoEO.standYear}} 《{{sarStandardsInfoEO.standName}}》 标准详情</span>
|
||||
</div>
|
||||
<div class="details-fraction">
|
||||
<span>9.5分</span>
|
||||
</div>
|
||||
<!--主体内容-->
|
||||
<div class="details-content">
|
||||
<div class="details-content-modular basic-information">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title"><i class="icon-modular-title" /><span>标准信息</span>
|
||||
</div>
|
||||
<div class="modular-header-btn">
|
||||
<el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="icon-collection" :loading="isSubmit"></el-button>
|
||||
<el-button v-else @click="collectClick()" title="收藏" class="collection-btn" icon="el-icon-star-off" :loading="isSubmit"></el-button>
|
||||
<el-button class="relation-btn" icon="icon-relation" @click="relateEvent()">更新记录</el-button>
|
||||
<el-button class="relation-btn" @click="knowledgeSharing">标准问答</el-button>
|
||||
<el-button class="relation-btn" @click="comparisonDialogOpen">标准分解单</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="basic-information-content">
|
||||
<p style="color: #C42626;">
|
||||
<label>标准号:</label>
|
||||
<span v-if="sarStandardsInfoEO.standYear">{{ sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear }}</span>
|
||||
<span v-else>{{ sarStandardsInfoEO.standSort + ' ' + sarStandardsInfoEO.standNumber }}</span>
|
||||
</p>
|
||||
<p><label>中文名称:</label><span>{{ sarStandardsInfoEO.standName || '-' }}</span></p>
|
||||
<p><label>英文名称:</label><span>{{ sarStandardsInfoEO.standEnName || '-' }}</span></p>
|
||||
<p>
|
||||
<label
|
||||
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
|
||||
>标准状态<i class="el-icon-warning-outline"></i>:</label>
|
||||
<span style="color: #409EFF;">{{ sarStandardsInfoEO.standStateShow || '-' }}</span>
|
||||
</p>
|
||||
<p><label>标准发布日期:</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
|
||||
<p><label>文本说明:</label><span style="color: #999999">{{ sarStandardsInfoEO.synopsis || '-' }}</span></p>
|
||||
<p><label>重要度:</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? 'A' : 'B'}}</span></p>
|
||||
<p><label>纳入标准法规清单的国家/地区:</label><span>{{ sarStandardsInfoEO.accessCountry || '-' }}</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="details-content-modular clearfix"
|
||||
@@ -48,20 +15,64 @@
|
||||
:key="index"
|
||||
v-if="item.isShowImp === '0'"
|
||||
>
|
||||
<div class="modular-header">
|
||||
<div class="modular-header" v-if="item.label !== '基础信息'">
|
||||
<div class="modular-header-title"><i class="icon-modular-title" /><span>{{ item.label }}</span></div>
|
||||
</div>
|
||||
<div class="modular-header" v-if="item.label === '基础信息'">
|
||||
<div class="modular-header-title"><i class="icon-modular-title" /><span>{{ item.label }}</span></div>
|
||||
<div class="details-content-modular basic-information" style="border-top:none">
|
||||
<div class="modular-header">
|
||||
<!-- <div class="modular-header-title"><i class="icon-modular-title" /><span>基础信息</span>-->
|
||||
<!-- </div>-->
|
||||
<div class="modular-header-btn">
|
||||
<el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="icon-collection" :loading="isSubmit"></el-button>
|
||||
<el-button v-else @click="collectClick()" title="收藏" class="collection-btn" icon="el-icon-star-off" :loading="isSubmit"></el-button>
|
||||
<el-button class="relation-btn" icon="icon-relation" @click="relateEvent()">更新记录</el-button>
|
||||
<!-- <el-button class="relation-btn" @click="knowledgeSharing">标准问答</el-button>-->
|
||||
<!-- <el-button class="relation-btn" @click="showItemsModel()">标准分解单</el-button>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modular-content">
|
||||
<template v-if="item.label === '基础信息'" >
|
||||
<div class="details-content-modular basic-information" style="border-top:none">
|
||||
<div class="basic-information-content">
|
||||
<!-- <p><label style=" margin-right: 150px;">标准类别</label><span>{{ sarStandardsInfoEO.standSort || '-' }}</span></p>-->
|
||||
<p style="color: #C42626;">
|
||||
<label style=" margin-right: 150px;">标准号</label>
|
||||
<span v-if="sarStandardsInfoEO.standYear">{{ sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear }}</span>
|
||||
<span v-else>{{ sarStandardsInfoEO.standSort + ' ' + sarStandardsInfoEO.standNumber }}</span>
|
||||
</p>
|
||||
<!-- <p><label style=" margin-right: 150px;">标准年份</label><span>{{ sarStandardsInfoEO.standYear || '-' }}</span></p>-->
|
||||
<p><label style=" margin-right: 150px;">中文名称</label><span>{{ sarStandardsInfoEO.standName || '-' }}</span></p>
|
||||
<p><label style=" margin-right: 150px;">英文名称</label><span>{{ sarStandardsInfoEO.standEnName || '-' }}</span></p>
|
||||
<p><label style=" margin-right: 150px;">标准性质</label><span>{{ standMap[sarStandardsInfoEO.standNature] || '-' }}</span></p>
|
||||
<p>
|
||||
<label style=" margin-right: 132px;"
|
||||
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
|
||||
>文本状态<i class="el-icon-warning-outline"></i></label>
|
||||
<span style="color: #409EFF;">{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
|
||||
</p>
|
||||
<p><label style=" margin-right: 150px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
|
||||
<p><label style=" margin-right: 76px;">是否纳入认证清单</label><span>{{sarStandardsInfoEO.isRelateAccess ? (sarStandardsInfoEO.isRelateAccess === '1' ? '是' : '否') : '-'}}</span></p>
|
||||
<p v-if="saveStandType === 'INLAND_STAND'"><label style=" margin-right: 150px;">标准体系</label><span>{{ sarStandardsInfoEO.standSystem || '-' }}</span></p>
|
||||
<!-- <p><label>文本说明:</label><span style="color: #999999">{{ sarStandardsInfoEO.synopsis || '-' }}</span></p>-->
|
||||
<!-- <p><label>重要度:</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? 'A' : 'B'}}</span></p>-->
|
||||
<!-- <p><label>纳入标准法规清单的国家/地区:</label><span>{{ sarStandardsInfoEO.accessCountry || '-' }}</span></p>-->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template
|
||||
v-for="(child, childIndex) in item.half"
|
||||
v-if="child.isShowImp === '0'"
|
||||
v-if="child.isShowImp === '0' && child.attrField !== 'CBCD'"
|
||||
>
|
||||
<!-- 代替标准编号-->
|
||||
<div
|
||||
:key="child.id"
|
||||
class="modular-item"
|
||||
:class="!(childIndex === item.half.length - 1) || childIndex % 2 === 1 ? 'half' : ''"
|
||||
v-if="child.attrField === 'DTBJH' || child.attrField === 'YYBJ' || child.attrField === 'BYYBJ' || child.attrField === 'CBBH' || child.attrField === 'DXBZ' || child.attrField === 'XGLC' || child.attrField === 'BDTBZBH'"
|
||||
v-if=" child.attrField === 'DTBJH' || child.attrField === 'YYBJ' || child.attrField === 'BYYBJ' || child.attrField === 'CBBH' || child.attrField === 'DXBZ' || child.attrField === 'XGLC' || child.attrField === 'BDTBZBH' || child.attrField === 'BFDTBZ' || child.attrField === 'BBFDTBZ' "
|
||||
>
|
||||
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
|
||||
<span
|
||||
@@ -125,6 +136,12 @@
|
||||
{{ '-' }}
|
||||
</template>
|
||||
</span>
|
||||
<span
|
||||
v-else-if="child.attrType === 'DATE_PICKER'"
|
||||
class="modular-content-p-val"
|
||||
>
|
||||
{{ child.value ? child.value.substring(0,10) : '-' }}
|
||||
</span>
|
||||
<span
|
||||
v-else-if="child.attrType !== 'FILE'"
|
||||
class="modular-content-p-val"
|
||||
@@ -145,13 +162,13 @@
|
||||
title="下载"
|
||||
@click="downloadFile(file.id)"
|
||||
class="icon-download"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'WGJP2VRZSJ77EGH2447M' : '44KKMQHU3CNRRPNNF8VN'"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||||
/>
|
||||
<i
|
||||
title="下载带水印"
|
||||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||||
class="icon-download2"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'EZVNMCLGSB5LWG6XRRL3' : 'VSUKQX3NZW4N8CT5VQE3'"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||||
/>
|
||||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||||
</template>
|
||||
@@ -161,29 +178,29 @@
|
||||
title="下载"
|
||||
@click="downloadFile(file.id)"
|
||||
class="icon-download"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'JHQALHMF6F' : 'dakDL3sNLq'"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||||
/>
|
||||
<i
|
||||
title="下载带水印"
|
||||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||||
class="icon-download2"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'KDLDNFJHENFMF' : 'LKJSNLKFHOFN'"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||||
/>
|
||||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||||
</template>
|
||||
<!-- <el-button-->
|
||||
<!-- @click="showItemsModel(child.attrField)"-->
|
||||
<!-- class="decomposition-btn"-->
|
||||
<!-- icon="icon-separate"-->
|
||||
<!-- >标准分解单</el-button>-->
|
||||
</p>
|
||||
<el-button
|
||||
@click="showItemsModel(child.attrField)"
|
||||
class="decomposition-btn"
|
||||
icon="icon-separate"
|
||||
>标准分解单</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<template
|
||||
v-for="(child, childIndex) in item.one"
|
||||
v-if="child.isShowImp === '0' && (item.label !== '实施日期' || (childIndex < 6 || item.showAll))"
|
||||
v-for="(child, childIndex) in item.child"
|
||||
v-if="child.isShowImp === '0' && item.label === '关联信息'"
|
||||
>
|
||||
<div
|
||||
:key="child.id"
|
||||
@@ -199,7 +216,7 @@
|
||||
</p>
|
||||
</template>
|
||||
<template
|
||||
v-else-if="child.attrField === 'DTBJH'|| child.attrField === 'BDTBZBH' || child.attrField === 'YYBJ' || child.attrField === 'BYYBJ' || child.attrField === 'CBBH' || child.attrField === 'DXBZ'"
|
||||
v-else-if="child.attrField === 'DTBJH'|| child.attrField === 'BDTBZBH' || child.attrField === 'YYBJ' || child.attrField === 'BYYBJ' || child.attrField === 'CBBH' || child.attrField === 'DXBZ' || child.attrField === 'BFDTBZ' || child.attrField === 'BBFDTBZ'"
|
||||
>
|
||||
<p class="modular-content-p-val" v-if="child.value">
|
||||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||||
@@ -228,20 +245,23 @@
|
||||
v-for="(file, fileIndex) in child.value"
|
||||
:key="fileIndex"
|
||||
>
|
||||
<!-- <span style="cursor: pointer;" @click="openFileInPdf(file.id, file.oldFileName)">|{{file.id}}|</span>-->
|
||||
<!--发布稿、增补件单独设置下载权限-->
|
||||
<template v-if="child.attrField === 'FBGBJBD' || child.attrField === 'ZBJBD'">
|
||||
<template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG'
|
||||
|| child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA'
|
||||
|| child.attrField === 'JDWJ' || child.attrField === 'GLWJ'">
|
||||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||||
<i
|
||||
title="下载"
|
||||
@click="downloadFile(file.id)"
|
||||
class="icon-download"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'WGJP2VRZSJ77EGH2447M' : '44KKMQHU3CNRRPNNF8VN'"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||||
/>
|
||||
<i
|
||||
title="下载带水印"
|
||||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||||
class="icon-download2"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'EZVNMCLGSB5LWG6XRRL3' : 'VSUKQX3NZW4N8CT5VQE3'"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||||
/>
|
||||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||||
</template>
|
||||
@@ -251,27 +271,121 @@
|
||||
title="下载"
|
||||
@click="downloadFile(file.id)"
|
||||
class="icon-download"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'JHQALHMF6F' : 'dakDL3sNLq'"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||||
/>
|
||||
<i
|
||||
title="下载带水印"
|
||||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||||
class="icon-download2"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'KDLDNFJHENFMF' : 'LKJSNLKFHOFN'"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||||
/>
|
||||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||||
</template>
|
||||
</p>
|
||||
<el-button
|
||||
v-if="child.attrField === 'FBGBJBD' || child.attrField === 'SSG' || child.attrField === 'ZQYJG' || child.attrField === 'BPG' || child.attrField === 'ZBJBD' || child.attrField === 'CA'"
|
||||
@click="showItemsModel(child.attrField)"
|
||||
class="decomposition-btn"
|
||||
icon="icon-separate"
|
||||
>标准分解单</el-button>
|
||||
<!-- <el-button-->
|
||||
<!-- v-if="child.attrField === 'FBGBJBD' || child.attrField === 'SSG' || child.attrField === 'ZQYJG' || child.attrField === 'BPG' || child.attrField === 'ZBJBD' || child.attrField === 'CA'"-->
|
||||
<!-- @click="showItemsModel(child.attrField)"-->
|
||||
<!-- class="decomposition-btn"-->
|
||||
<!-- icon="icon-separate"-->
|
||||
<!-- >标准分解单</el-button>-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<template
|
||||
v-for="(child, childIndex) in item.one"
|
||||
v-if="child.isShowImp === '0' && item.label !== '关联信息' && (item.label !== '实施日期' || (childIndex < 6 || item.showAll))"
|
||||
>
|
||||
<div
|
||||
:key="child.id"
|
||||
class="modular-item"
|
||||
>
|
||||
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
|
||||
<!--相关流程-->
|
||||
<template v-if="child.attrField === 'XGLC' && child.value">
|
||||
<p class="modular-content-p-val">
|
||||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||||
<a @click="processCenterClick(item)" style="cursor: pointer;color: #0c91e5;margin-right: 5px;" class="span-line">{{item}}</a>
|
||||
</span>
|
||||
</p>
|
||||
</template>
|
||||
<template
|
||||
v-else-if="child.attrField === 'DTBJH'|| child.attrField === 'BDTBZBH' || child.attrField === 'YYBJ' || child.attrField === 'BYYBJ' || child.attrField === 'CBBH' || child.attrField === 'DXBZ' || child.attrField === 'BFDTBZ' || child.attrField === 'BBFDTBZ'"
|
||||
>
|
||||
<p class="modular-content-p-val" v-if="child.value">
|
||||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||||
<a @click="showReplaceStandInfo(item)" style="cursor: pointer;color: #0c91e5;margin-right: 5px;" class="span-line">{{item}}</a>
|
||||
</span>
|
||||
</p>
|
||||
<span class="modular-content-p-val" v-else>-</span>
|
||||
</template>
|
||||
<span
|
||||
v-else-if="child.attrField === 'SVPPS'"
|
||||
class="modular-content-p-val"
|
||||
:title="child.tips || '-'"
|
||||
>
|
||||
{{ !child.value || child.value === 'null' ? '-' : child.value }}
|
||||
</span>
|
||||
<span
|
||||
v-else-if="child.attrType !== 'FILE'"
|
||||
class="modular-content-p-val"
|
||||
:title="child.value || '-'"
|
||||
>
|
||||
{{ child.value || '-' }}
|
||||
</span>
|
||||
<div v-else class="modular-content-p-flies">
|
||||
<p
|
||||
class="files-title"
|
||||
v-for="(file, fileIndex) in child.value"
|
||||
:key="fileIndex"
|
||||
>
|
||||
<!-- <span style="cursor: pointer;" @click="openFileInPdf(file.id, file.oldFileName)">|{{file.id}}|</span>-->
|
||||
<!--发布稿、增补件单独设置下载权限-->
|
||||
<template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG'
|
||||
|| child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA'
|
||||
|| child.attrField === 'JDWJ' || child.attrField === 'GLWJ'">
|
||||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||||
<i
|
||||
title="下载"
|
||||
@click="downloadFile(file.id)"
|
||||
class="icon-download"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||||
/>
|
||||
<i
|
||||
title="下载带水印"
|
||||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||||
class="icon-download2"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||||
/>
|
||||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||||
<i
|
||||
title="下载"
|
||||
@click="downloadFile(file.id)"
|
||||
class="icon-download"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||||
/>
|
||||
<i
|
||||
title="下载带水印"
|
||||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||||
class="icon-download2"
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||||
/>
|
||||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||||
</template>
|
||||
</p>
|
||||
<el-button
|
||||
v-if="child.attrField === 'FBGBJBD' || child.attrField === 'SSG' || child.attrField === 'ZQYJG' || child.attrField === 'BPG' || child.attrField === 'ZBJBD' || child.attrField === 'CA'"
|
||||
@click="showItemsModel(child.attrField)"
|
||||
class="decomposition-btn"
|
||||
icon="icon-separate"
|
||||
>标准分解单</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<div class="modular-item-more" v-if="item.label === '实施日期' && item.one.length > 6">
|
||||
<div class="wrap" @click="handleToggleShowAll(item)">
|
||||
<span>{{ item.showAll ? '收起' : '更多' }}</span>
|
||||
@@ -304,28 +418,52 @@
|
||||
trigger="click"
|
||||
:value="false"
|
||||
>
|
||||
<el-input
|
||||
v-model="standItemSearch.orgName"
|
||||
slot="reference"
|
||||
placeholder="请选择部门"
|
||||
readonly
|
||||
id="searchInlandDeptBtn"
|
||||
@on-change="inputChange"
|
||||
style="margin-right: 0;"/>
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="standItemSearch.orgName"-->
|
||||
<!-- slot="reference"-->
|
||||
<!-- placeholder="请选择部门"-->
|
||||
<!-- readonly-->
|
||||
<!-- id="searchInlandDeptBtn"-->
|
||||
<!-- @on-change="inputChange"-->
|
||||
<!-- style="margin-right: 0;"/>-->
|
||||
<div class="api">
|
||||
<laws-tree :zNodes="searchInlandNodes"
|
||||
treeDivId="domesticTree1"
|
||||
ref="reloadTree2"
|
||||
deptSelect
|
||||
showRMenu
|
||||
@treeDblClick="searchInlandNodesClick"
|
||||
class="ztree" style="width: 200px;height: 400px;overflow: auto">
|
||||
</laws-tree>
|
||||
<!-- <laws-tree :zNodes="searchInlandNodes"-->
|
||||
<!-- treeDivId="domesticTree1"-->
|
||||
<!-- ref="reloadTree2"-->
|
||||
<!-- deptSelect-->
|
||||
<!-- showRMenu-->
|
||||
<!-- @treeDblClick="searchInlandNodesClick"-->
|
||||
<!-- class="ztree" style="width: 200px;height: 400px;overflow: auto">-->
|
||||
<!-- </laws-tree>-->
|
||||
</div>
|
||||
</el-popover>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
|
||||
<el-form-item class="search-item">
|
||||
<el-input v-model="standItemSearch.nameOrRequest" size="small" placeholder="根据条款名称/内容查找" clearable maxlength="100"></el-input>
|
||||
<el-input v-model="standItemSearch.itemsName" size="small" placeholder="根据条款名称查找" clearable maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<!-- 新车实施日期-->
|
||||
<el-form-item class="search-item">
|
||||
<div class="block">
|
||||
<el-date-picker
|
||||
v-model="standItemSearch.XCXSSRQ"
|
||||
type="date"
|
||||
placeholder="新车实施日期">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- //在产车实施日期-->
|
||||
<el-form-item class="search-item">
|
||||
<div class="block">
|
||||
<el-date-picker
|
||||
v-model="standItemSearch.ZCCSSRQ"
|
||||
type="date"
|
||||
placeholder="在产车实施日期">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item class="search-item">-->
|
||||
<!-- <el-input v-model="standItemSearch.parts" size="small" placeholder="根据涉及零部件查找" clearable maxlength="100"></el-input>-->
|
||||
@@ -335,7 +473,7 @@
|
||||
:loading="searching"
|
||||
icon="el-icon-search"
|
||||
type="primary"
|
||||
round
|
||||
size="mini"
|
||||
class="common-button-primary"
|
||||
@click="searchSarStandItems">
|
||||
</el-button>
|
||||
@@ -345,28 +483,17 @@
|
||||
class="common-button-default"
|
||||
icon="el-icon-refresh-left"
|
||||
@click="clearAllSearch"
|
||||
round>
|
||||
size="mini">
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="action-bar">
|
||||
<!--<el-button-->
|
||||
<!-- round-->
|
||||
<!-- type="primary"-->
|
||||
<!-- class="common-button-primary add-button"-->
|
||||
<!-- :loading="searching"-->
|
||||
<!-- icon="add"-->
|
||||
<!-- @click="addItemModal"-->
|
||||
<!-- v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '84a37ea1e1' : '3D87NJR8N3'">新增</el-button>-->
|
||||
<!--<el-button class="common-button-default" :loading="searching" @click="uploadImportModal">模板下载</el-button>-->
|
||||
<!--<el-button class="common-button-default in-button" :loading="searching" icon="in" @click="addImportModal(2)" v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '9ca97b05b2' : '6JM97X9W9C'">导入</el-button>-->
|
||||
<el-button class="common-button-default export-button" icon="export"
|
||||
<el-button class="common-button-default export-button" icon="export" size="mini"
|
||||
@click="exportStandardItem" v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '52HT9PLW49G6ZWS9RZSC' : '9CLEQQBS75SYV8JQQYFB'">导出</el-button>
|
||||
<!--<el-button class="common-button-default delete-button" icon="delete" @click="deleteStandItem(2)" v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '8ac1820c42' : 'LRQHPT8E2Y'">删除</el-button>-->
|
||||
<el-button
|
||||
round
|
||||
size="mini"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
@click="openRelatedTermsDrawer"
|
||||
@@ -394,20 +521,23 @@
|
||||
show-overflow-tooltip
|
||||
prop="itemsNum"
|
||||
label="条款号"
|
||||
width="150"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="itemsName"
|
||||
label="条款名称"
|
||||
width="150"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="itemsTitle"
|
||||
label="条款内容"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="termsConditions"
|
||||
label="内容简介"
|
||||
width="250"
|
||||
label="解读内容"
|
||||
show-overflow-tooltip
|
||||
:resizable="false"
|
||||
>
|
||||
@@ -416,43 +546,42 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="responsibleUnitShow"
|
||||
label="责任部门"
|
||||
width="150">
|
||||
prop="XCXSSRQ"
|
||||
label="新车型实施日期(文本)"
|
||||
width="180">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="foShow"
|
||||
label="FO"
|
||||
width="150">
|
||||
prop="ZCCSSRQ"
|
||||
label="在产车实施日期(文本)"
|
||||
width="180">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dutyEngineerShow"
|
||||
label="项目评估角色"
|
||||
show-overflow-tooltip
|
||||
prop="applyArctic"
|
||||
label="适用车型"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="responsibleUnit"
|
||||
label="责任部门">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dutyEngineer"
|
||||
label="责任工程师">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="comparedWithPrevious"
|
||||
label="基于上一版本差异"
|
||||
width="150">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="svppsShow"
|
||||
label="SVPPS"
|
||||
width="150">
|
||||
prop="complianceRequire"
|
||||
label="符合性状态">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="applyArcticShow"
|
||||
label="适用车辆类型"
|
||||
width="150">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="claimTypeShow"
|
||||
label="要求类型"
|
||||
width="150">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="busStandCover"
|
||||
label="覆盖关系"
|
||||
width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ busStandCoverName(scope.row.busStandCover) }}</span>
|
||||
</template>
|
||||
prop="complianceState"
|
||||
label="合规性分析">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="50" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
@@ -702,11 +831,11 @@
|
||||
<div class="action-bar">
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
round
|
||||
size="mini"
|
||||
:v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'PVBSWCJQ9X4RVBM9RK7L' : 'NJ3YL4SVEJADWH7ESHDX'"
|
||||
@click="addknowledge(1)"><i class="iconfont"></i>新增</el-button>
|
||||
<el-button class="common-button-default delete-button"
|
||||
round
|
||||
size="mini"
|
||||
:v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '4V4592SVLAZY9HMC8WHU' : '485WL3QHGRJ27H2XD34Z'"
|
||||
@click="deleteknowledge(2)"><i class="iconfont"></i>批量删除</el-button>
|
||||
</div>
|
||||
@@ -798,7 +927,7 @@
|
||||
</el-formItem>
|
||||
</el-form>
|
||||
<div slot="footer" class="demo-drawer-footer">
|
||||
<el-button type="primary" round class="common-button-primary" :loading="AddKnowSubLoading" icon="el-icon-check" @click="AddKnowSub">确定</el-button>
|
||||
<el-button type="primary" size="mini" class="common-button-primary" :loading="AddKnowSubLoading" icon="el-icon-check" @click="AddKnowSub">确定</el-button>
|
||||
<el-button class="common-button-default" icon="el-icon-close" @click="AddKnowClose">取消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@@ -838,23 +967,19 @@
|
||||
icon="el-icon-search"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
round
|
||||
size="mini"
|
||||
@click="getComparison()">
|
||||
</el-button>
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
icon="el-icon-refresh-left"
|
||||
round
|
||||
size="mini"
|
||||
@click="clearComparison()"></el-button>
|
||||
<el-button type="primary" class="common-button-primary" round @click="addComparison"><i class="iconfont"></i>新增</el-button>
|
||||
<el-button type="primary" class="common-button-primary" size="mini" @click="addComparison"><i class="iconfont"></i>新增</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="action-bar">
|
||||
<!-- <el-button type="primary"-->
|
||||
<!-- class="common-button-primary add-button"-->
|
||||
<!-- round-->
|
||||
<!-- @click="addComparison"><i class="iconfont"></i>新增</el-button>-->
|
||||
<div class="myRadio">
|
||||
<template>
|
||||
<el-radio-group v-for="(item, index) in comparisonList" :key="index" v-model="comparisonId">
|
||||
@@ -864,7 +989,7 @@
|
||||
</template>
|
||||
</div>
|
||||
<div slot="footer" class="demo-drawer-footer">
|
||||
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="comparisonSub">确定</el-button>
|
||||
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="comparisonSub">确定</el-button>
|
||||
<el-button class="common-button-default" icon="el-icon-close" @click="comparisonClose">取消</el-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -909,7 +1034,7 @@
|
||||
<p v-html="importForm.content"></p>
|
||||
</div>
|
||||
<div slot="footer" class="demo-drawer-footer">
|
||||
<el-button type="primary" round class="common-button-default" icon="el-icon-check" @click="importFailed = false">确认</el-button>
|
||||
<el-button type="primary" size="mini" class="common-button-default" icon="el-icon-check" @click="importFailed = false">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<loading :loading="loading">数据获取中</loading>
|
||||
@@ -933,8 +1058,8 @@
|
||||
></related-terms-select>
|
||||
</div>
|
||||
<div class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" icon="el-icon-check" type="primary" :loading="btnLoading" @click="handleRelatedTermsDrawerSubmit">{{$t('m.submit')}}</el-button>
|
||||
<el-button class="common-button-default" icon="el-icon-close" @click="handleRelatedTermsDrawerCancel">{{$t('m.cancel')}}</el-button>
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" :loading="btnLoading" @click="handleRelatedTermsDrawerSubmit">{{$t('m.submit')}}</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleRelatedTermsDrawerCancel">{{$t('m.cancel')}}</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
<!--内容简介-->
|
||||
@@ -1013,7 +1138,7 @@ export default {
|
||||
relateDialog: false,
|
||||
relateList: [],
|
||||
relateNowList: [],
|
||||
loading: true,
|
||||
loading: false,
|
||||
showItemInfoModal: false,
|
||||
standShowItemEO: {},
|
||||
// 提交状态
|
||||
@@ -1146,15 +1271,13 @@ export default {
|
||||
modalStandItemflag: false,
|
||||
tableLoading: false,
|
||||
standItemSearch: {
|
||||
XCXSSRQ:'',
|
||||
ZCCSSRQ:'',
|
||||
standId: '',
|
||||
fileType: '',
|
||||
responsibleUnit: '',
|
||||
orgName: '',
|
||||
validFlag: '0',
|
||||
itemsName:'',
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
page: 1,
|
||||
nameOrRequest: '',
|
||||
parts: ''
|
||||
},
|
||||
standitemTotal: 0,
|
||||
searching: false,
|
||||
@@ -1244,13 +1367,27 @@ export default {
|
||||
content: ''
|
||||
},
|
||||
itemsText: '',
|
||||
itemsTextDialogs: false
|
||||
itemsTextDialogs: false,
|
||||
textStatusMap: {},
|
||||
standMap: {}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
},
|
||||
watch: {},
|
||||
methods: {
|
||||
FormatDate(date){
|
||||
return moment(date).format('YYYY-MM-DD');
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
setMap(data){
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
this.$set(this.standMap, item.value, item.label)
|
||||
})
|
||||
console.log(this.textStatusMap, '文本状态的值')
|
||||
console.log(this.standMap, '标准性质')
|
||||
},
|
||||
statusClick () {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'standInvolveProjectTwo',
|
||||
@@ -1690,7 +1827,7 @@ export default {
|
||||
showReplaceStandInfo (item) {
|
||||
this.replaceStandInfoEO.standNumber = item
|
||||
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
|
||||
this.$http.get('lawss/sarStandardsInfo/queryInfoByStandNum', this.replaceStandInfoEO, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', this.replaceStandInfoEO, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data != null) {
|
||||
@@ -1892,7 +2029,7 @@ export default {
|
||||
},
|
||||
selectStandMessage () {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$http.get('lawss/sarStandardsInfo/getStandInfoById', {id: this.sarStandardsInfoEO.id}, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoById', {id: this.sarStandardsInfoEO.id}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.sarStandardsInfoEO = res.data || {}
|
||||
@@ -2011,7 +2148,7 @@ export default {
|
||||
}
|
||||
// 缺少文件
|
||||
if (this.$route.params.pageType === 'INLAND_STAND') {
|
||||
if (this.$hasPermission('ZWBGBNTL11')) {
|
||||
if (this.$hasPermission('2d6ab9d465ab73d415194e1ca4313793')) {
|
||||
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
|
||||
attId: attId
|
||||
}, {
|
||||
@@ -2055,7 +2192,7 @@ export default {
|
||||
}
|
||||
} else {
|
||||
// 国外在线预览权限
|
||||
if (this.$hasPermission('YfS94QodMK')) {
|
||||
if (this.$hasPermission('ee684b4a9975f5d8a6dfe898c0332f98 ')) {
|
||||
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
|
||||
attId: attId
|
||||
}, {
|
||||
@@ -2116,11 +2253,14 @@ export default {
|
||||
selectSarStandItems (id, flag) {
|
||||
this.standItemSearch.standId = this.sarStandardsInfoEO.id
|
||||
this.standItemSearch.fileType = this.fileType
|
||||
this.$http.get('lawss/sarStandItems/getSarStandItemsList', this.standItemSearch, {
|
||||
_this: this, loading: 'tableLoading'
|
||||
}, res => {
|
||||
this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', this.standItemSearch, {}, res => {
|
||||
this.selectedItemList = []
|
||||
this.standItemList = res.data.list
|
||||
if (res.ok) {
|
||||
this.standItemList = res.data;
|
||||
console.log("hello"+this.standItemList+res.data);
|
||||
this.standitemTotal = res.data.count // 分页需要
|
||||
}
|
||||
|
||||
// if (this.standItemList != null && this.standItemList.length > 0) {
|
||||
// for (let ind = 0; ind < this.standItemList.length; ind++) {
|
||||
// // 去掉html标签
|
||||
@@ -2129,7 +2269,7 @@ export default {
|
||||
// this.standItemList[ind].termsConditions = itemContent
|
||||
// }
|
||||
// }
|
||||
this.standitemTotal = res.data.count // 分页需要
|
||||
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
@@ -2145,7 +2285,7 @@ export default {
|
||||
this.$message.error('水印下载仅支持PDF,pdf格式文件')
|
||||
} else {
|
||||
if (attId != null && attId !== '') {
|
||||
window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId
|
||||
window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId + '&userId=' + this.$store.getters.userInfo.userId
|
||||
} else {
|
||||
this.$message.error('请选择要下载的文件')
|
||||
}
|
||||
@@ -2217,7 +2357,7 @@ export default {
|
||||
confirmButtonText: '确定',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
cancelButtonText: '取消',
|
||||
roundButton: true,
|
||||
roundButton: false,
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
if (this.selectedItemList != null && this.selectedItemList.length > 0) {
|
||||
@@ -2243,7 +2383,7 @@ export default {
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: true
|
||||
roundButton: false
|
||||
}).then(() => {
|
||||
this.$http.post('lawss/sarStandItems/deleteStandItem', {
|
||||
id: ids,
|
||||
@@ -2393,6 +2533,8 @@ export default {
|
||||
// const { data: { STAND: data } } = res
|
||||
const { data = {} } = res
|
||||
this.formFieldListData = data[this.$route.params.pageType]
|
||||
console.log('this.formFieldListData')
|
||||
console.log(this.formFieldListData);
|
||||
// this.resolveFormFieldList()
|
||||
resolve(data[this.$route.params.pageType])
|
||||
} else {
|
||||
@@ -2615,6 +2757,8 @@ export default {
|
||||
this.emergyKindOptions = res.data.ENERGYTYPES
|
||||
this.requestOptions = res.data.REQUESTTYPE
|
||||
this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // 企标覆盖关系
|
||||
this.setMap(res.data.WBZTCLASS) // 文本状态
|
||||
this.setMap(res.data.SARPROPERTY) // 标准性质
|
||||
}, e => {
|
||||
})
|
||||
Promise.all([this.queryDisplayLocation(), this.selectStandMessage(), this.getAddFormFieldList()]).then((values) => {
|
||||
@@ -2622,9 +2766,9 @@ export default {
|
||||
const dynamicFormField = standEO ? standEO.attrInfoMap : {}
|
||||
formFieldList.forEach((field) => {
|
||||
// 相关流程权限
|
||||
if (field.attrField === 'XGLC' && !this.$_has('6A52PZCAX8BAUUJ2TSQ4')) {
|
||||
return
|
||||
}
|
||||
// if (field.attrField === 'XGLC' && !this.$_has('6A52PZCAX8BAUUJ2TSQ4')) {
|
||||
// return
|
||||
// }
|
||||
displayLocation.forEach((location) => {
|
||||
location.isShowImp = '0'
|
||||
if (dynamicFormField) {
|
||||
@@ -2674,8 +2818,8 @@ export default {
|
||||
location.half = half
|
||||
location.showAll = false
|
||||
})
|
||||
this.$http.get('lawss/sarSarAccessInfo/selectProTimeInfoByStandId', {
|
||||
standId: this.$route.params.id
|
||||
this.$http.get('sarLawsAttrDetailedList/sar-laws-attr-detailed-list', {
|
||||
id: this.$route.params.id
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
@@ -2692,6 +2836,7 @@ export default {
|
||||
}
|
||||
})
|
||||
this.dynamicFormField = displayLocation
|
||||
console.log(this.dynamicFormField)
|
||||
})
|
||||
sessionStorage.setItem('displayLocation', JSON.stringify(displayLocation))
|
||||
this.loading = false
|
||||
@@ -2816,17 +2961,6 @@ export default {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.details-fraction{
|
||||
float: right;
|
||||
width:270px;
|
||||
height:80px;
|
||||
line-height: 80px;
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
font-weight: bold;
|
||||
color: #e88218;
|
||||
margin-top: -80px;
|
||||
}
|
||||
/deep/.details-content{
|
||||
/*padding: 0 67px;*/
|
||||
.details-content-modular{
|
||||
|
||||
@@ -1653,7 +1653,7 @@ export default {
|
||||
showReplaceStandInfo (item) {
|
||||
this.replaceStandInfoEO.standNumber = item
|
||||
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
|
||||
this.$http.get('lawss/sarStandardsInfo/queryInfoByStandNum', this.replaceStandInfoEO, {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', this.replaceStandInfoEO, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data != null) {
|
||||
@@ -2557,7 +2557,6 @@ export default {
|
||||
...mapGetters(['rukuBaseInfo'])
|
||||
},
|
||||
async mounted () {
|
||||
console.log(this.rukuBaseInfo)
|
||||
// this.sarStandardsInfoEO.id = this.$route.params.id
|
||||
// // await this.selectStandMessage()
|
||||
// this.standItemEO.standId = this.$route.params.id
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
<!--外部会议资料-->
|
||||
<template>
|
||||
<div class="conference-materials">
|
||||
<ul>
|
||||
<li v-for="item in materialsList" :key="item.id" class="time-title">
|
||||
<a class="title" :title="item.title">{{item.name}}</a>
|
||||
<span class="time">{{putTime}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ConferenceMaterials",
|
||||
data () {
|
||||
return {
|
||||
putTime: '',
|
||||
materialsList: [
|
||||
{
|
||||
id: 1,
|
||||
name: '外部会议资料1',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '外部会议资料2',
|
||||
},{
|
||||
id: 3,
|
||||
name: '外部会议资料3',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: '外部会议资料4',
|
||||
},
|
||||
|
||||
], //会议资料数据
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//获取当前时间
|
||||
getDate () {
|
||||
var date = new Date()
|
||||
var year = date.getFullYear()
|
||||
var month = date.getMonth() + 1
|
||||
var day = date.getDate()
|
||||
if (month < 10) {
|
||||
month = '0' + month
|
||||
}
|
||||
if (day < 10) {
|
||||
day = '0' + day
|
||||
}
|
||||
var nowDate = year + '-' + month + '-' + day
|
||||
this.putTime = nowDate
|
||||
}
|
||||
|
||||
},
|
||||
mounted() {
|
||||
this.getDate()
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.conference-materials {
|
||||
.time-title {
|
||||
margin: 15px;
|
||||
.time {
|
||||
float: right;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
a {
|
||||
color: #FFFFFF;
|
||||
&:hover {
|
||||
color: #e9c851;
|
||||
cursor:pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -2,14 +2,12 @@
|
||||
<template>
|
||||
<div class="link">
|
||||
<ul>
|
||||
<li><a href="http://www.sac.gov.cn/">国家标准化管理委员会</a></li>
|
||||
<li><a href="http://www.sac.gov.cn/">全国标准公共服务平台</a></li>
|
||||
<li><a href="http://www.sac.gov.cn/">国家标准全文公开</a></li>
|
||||
<li><a href="http://www.sac.gov.cn/">全国汽车标准化技术委员会</a></li>
|
||||
<li><a href="http://www.sac.gov.cn/">交通运输标准化信息平台</a></li>
|
||||
<li><a href="http://www.sac.gov.cn/">工信部装备工业发展中心</a></li>
|
||||
<li><a href="http://www.sac.gov.cn/">中华人民共和国生态环境部</a></li>
|
||||
<li><a href="">更多链接></a></li>
|
||||
<li v-for="(link, index) in linkList" v-if="index<5" :key="index">
|
||||
<a @click="openLinkUrl(link.url)" v-html="link.name"></a>
|
||||
</li>
|
||||
<li>
|
||||
<router-link to="/linkManage">更多链接></router-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
@@ -20,12 +18,38 @@ export default {
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
return {}
|
||||
return {
|
||||
linkList: [],
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {},
|
||||
methods: {},
|
||||
mounted() {
|
||||
this.getLink();
|
||||
},
|
||||
methods: {
|
||||
// 跳转链接
|
||||
openLinkUrl (linkUri) {
|
||||
let getHttp = linkUri.substring(0, 7)
|
||||
let getHttps = linkUri.substring(0, 8)
|
||||
if (getHttp === 'http://' || getHttps === 'https://') {
|
||||
window.open(linkUri)
|
||||
} else {
|
||||
window.open('https://' + linkUri)
|
||||
}
|
||||
},
|
||||
// 获取链接数据
|
||||
getLink () {
|
||||
this.$http.get('sarUrl/tsUrl', {
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'Loading'
|
||||
}, res=> {
|
||||
this.linkList = res.data
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,71 +1,95 @@
|
||||
<!-- 右侧导航 -->
|
||||
<template>
|
||||
<div class="nav-menu">
|
||||
<div class="lattice">
|
||||
<div class="menu-wrap">
|
||||
<enter-card label="高级检索" path="/" style="margin-left:0px;"></enter-card>
|
||||
<enter-card label="个人中心" path="/"></enter-card>
|
||||
<enter-card label="统计图表" path="/"></enter-card>
|
||||
</div>
|
||||
<div class="menu-wrap">
|
||||
<enter-card label="国内法规" path="/domesticStandardsAndRegulations" style="margin-left:0px;"></enter-card>
|
||||
<enter-card label="国外法规" path="/"></enter-card>
|
||||
<enter-card label="标准清单" path="/"></enter-card>
|
||||
</div>
|
||||
<div class="menu-wrap">
|
||||
<enter-card label="国内外政策" path="/" style="margin-left:0px;"></enter-card>
|
||||
<enter-card label="企业标准" path="/"></enter-card>
|
||||
<enter-card label="标准预警" path="/"></enter-card>
|
||||
</div>
|
||||
<div class="nav-menu">
|
||||
<div class="lattice">
|
||||
<div class="menu-wrap">
|
||||
<enter-card v-for="(item, index) in list"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:path="item.path"
|
||||
:class="list.length === 1 ? 'wx-card1' : (list.length == 2 ? 'wx-card2' :'')"></enter-card>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import EnterCard from '@/pages/home/components/EnterCard'
|
||||
export default {
|
||||
name: 'NavMenu',
|
||||
components: {EnterCard},
|
||||
mixins: [],
|
||||
data() {
|
||||
return {
|
||||
import EnterCard from '@/pages/home/components/EnterCard'
|
||||
export default {
|
||||
name: 'NavMenu',
|
||||
components: {EnterCard},
|
||||
mixins: [],
|
||||
data() {
|
||||
return {
|
||||
list: []
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
getData (){
|
||||
this.$http.get('/sarPersonalCenter/sar-user-personal-menu/getList',
|
||||
{
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {_this: this}, res => {
|
||||
if (res.ok) {
|
||||
res.data.records.forEach( item => {
|
||||
if (item.state == 1) {
|
||||
var json = {}
|
||||
json.label = item.menuName
|
||||
json.path = item.menuUrl
|
||||
this.list.push(json)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
toPage() {
|
||||
this.$router.push(this.path)
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
toPage() {
|
||||
this.$router.push(this.path)
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.nav-menu {
|
||||
margin-bottom: 10px;
|
||||
.lattice {
|
||||
.menu-wrap {
|
||||
display: flex;
|
||||
color: #ffffff;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.menu-item {
|
||||
flex: 1;
|
||||
line-height: 88px;
|
||||
text-align: center;
|
||||
margin-right: 10px;
|
||||
background: rgba(182, 213, 255, 0.22);
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
.nav-menu {
|
||||
.lattice {
|
||||
.menu-wrap {
|
||||
height: 324px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content:space-between;
|
||||
color: #ffffff;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.wx-card {
|
||||
width: 32%;
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
.wx-card1 {
|
||||
width: 100%;
|
||||
}
|
||||
.wx-card2 {
|
||||
width: 49%;
|
||||
}
|
||||
.menu-item {
|
||||
flex: 1;
|
||||
line-height: 88px;
|
||||
text-align: center;
|
||||
margin-right: 10px;
|
||||
background: rgba(182, 213, 255, 0.22);
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<!--会议通知-->
|
||||
<template>
|
||||
<div class="notice-of-meeting">
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "NoticeOfMeeting",
|
||||
data () {
|
||||
return {
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.notice-of-meeting {
|
||||
|
||||
}
|
||||
</style>
|
||||
@@ -60,6 +60,7 @@ export default {
|
||||
color: #ffffff;
|
||||
&:hover {
|
||||
color: #e9c851;
|
||||
cursor:pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<div class="release">
|
||||
<ul>
|
||||
<li v-for="item in standardReleaseList" :key="item.id" class="time-title">
|
||||
<a class="title" :title="item.title">{{ item.title }}</a>
|
||||
<span class="time">{{ getDate(item.pubTime) }}</span>
|
||||
<a @click="handlePreview(item)" class="table-jump">{{ item.standName }}</a>
|
||||
<span class="time">{{ getDate(item.issueTime) }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -28,6 +28,17 @@ export default {
|
||||
this.getAdvice()
|
||||
},
|
||||
methods: {
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
id: item.id,
|
||||
pageType: item.standType + '_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
@@ -35,12 +46,11 @@ export default {
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
let obj = {}
|
||||
obj.msgType = 'RESOURCE'
|
||||
obj.rowLimit = 8
|
||||
this.$http.get('lawss/msgDynamicInfo/page', obj, {
|
||||
obj.limit = 8
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoByList', obj, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.list
|
||||
this.standardReleaseList = res.data
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
@@ -61,6 +71,7 @@ export default {
|
||||
color: #ffffff;
|
||||
&:hover {
|
||||
color: #e9c851;
|
||||
cursor:pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||