Conflicts:
	src/sysConfig/index.js
This commit is contained in:
chenxiaoxi
2021-08-09 14:17:59 +08:00
411 changed files with 78586 additions and 163892 deletions
+2
View File
@@ -17,3 +17,5 @@ npm run build
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
### test
+30 -19
View File
@@ -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": {
+2
View File
@@ -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"
}
File diff suppressed because one or more lines are too long
@@ -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);
}
}
};
},
+5 -5
View File
@@ -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",
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -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 {
File diff suppressed because one or more lines are too long
+2
View File
@@ -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;
+40
View File
@@ -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
})
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+1 -1
View File
@@ -63,7 +63,7 @@ export const m = {
issueTime: '发布日期',
putTime: '实施日期',
standNatureShow: '标准性质',
standStateShow: '标准状态',
standStateShow: '文本状态',
action: '操作',
see: '查看',
stand: '标准/文件性质',
+1 -1
View File
@@ -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{
+6 -1
View File
@@ -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;
+12
View File
@@ -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;
}
+9 -2
View File
@@ -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;
+1 -1
View File
@@ -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;
File diff suppressed because it is too large Load Diff
+59 -2
View File
@@ -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 -1
View File
@@ -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
-2
View File
@@ -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
}
+12 -2
View File
@@ -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)
})
}
}
+2 -1
View File
@@ -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({
+4
View File
@@ -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 {
-1
View File
@@ -1449,7 +1449,6 @@ export default {
this.destroyZTree()
$(this.dragBind).unbind('mousedown')
$('#' + this.searchId).unbind('input propertychange')
// console.log('beforeDestroy')
}
}
</script>
-4
View File
@@ -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)
}
+105
View File
@@ -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>
+160 -162
View File
@@ -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;
+31 -17
View File
@@ -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 () {
-1
View File
@@ -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;
+2 -2
View File
@@ -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;
}
+267
View File
@@ -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>
+198
View File
@@ -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>
+295
View File
@@ -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) {
// childrenchildrenundefined
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">&#xe84e;</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">&#xe84e;</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">&#xe61e;</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">&#xe84e;</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">&#xe84e;</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">&#xe61e;</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">&#xe84e;</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">&#xe84e;</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">&#xe61e;</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">&#xe61e;</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':
+389
View File
@@ -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">&#xe61e;</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>
File diff suppressed because it is too large Load Diff
+124 -428
View File
@@ -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: '' // 12
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;
}
}
}
}
}
+326
View File
@@ -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">&#xe61e;</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: {
File diff suppressed because it is too large Load Diff
@@ -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">&#xe84e;</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">&#xe61b;</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">&#xe61e;</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>
File diff suppressed because it is too large Load Diff
@@ -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
+305 -171
View File
@@ -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">&#xe84e;</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">&#xe61b;</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">&#xe84e;</i>新增</el-button>
<el-button type="primary" class="common-button-primary" size="mini" @click="addComparison"><i class="iconfont">&#xe84e;</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">&#xe84e;</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');
},
// idname
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{
+1 -2
View File
@@ -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>
+35 -11
View File
@@ -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>
+81 -57
View File
@@ -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;
}
}
+17 -6
View File
@@ -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;
}
}

Some files were not shown because too many files have changed in this diff Show More