完成全部字典模块
This commit is contained in:
parent
f9c142a7ca
commit
d3e0002975
|
|
@ -1446,33 +1446,12 @@
|
||||||
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"color-convert": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"color-name": "~1.1.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"color-name": {
|
|
||||||
"version": "1.1.4",
|
|
||||||
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
|
|
||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"emoji-regex": {
|
"emoji-regex": {
|
||||||
"version": "9.2.2",
|
"version": "9.2.2",
|
||||||
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
||||||
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"is-fullwidth-code-point": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"string-width": {
|
"string-width": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz",
|
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz",
|
||||||
|
|
@ -1484,40 +1463,6 @@
|
||||||
"strip-ansi": "^7.0.1"
|
"strip-ansi": "^7.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"string-width-cjs": {
|
|
||||||
"version": "npm:string-width@4.2.3",
|
|
||||||
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
|
|
||||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"emoji-regex": "^8.0.0",
|
|
||||||
"is-fullwidth-code-point": "^3.0.0",
|
|
||||||
"strip-ansi": "^6.0.1"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"ansi-regex": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"emoji-regex": {
|
|
||||||
"version": "8.0.0",
|
|
||||||
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
|
||||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"strip-ansi": {
|
|
||||||
"version": "6.0.1",
|
|
||||||
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ansi-regex": "^5.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"strip-ansi": {
|
"strip-ansi": {
|
||||||
"version": "7.1.0",
|
"version": "7.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz",
|
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz",
|
||||||
|
|
@ -1527,23 +1472,6 @@
|
||||||
"ansi-regex": "^6.0.1"
|
"ansi-regex": "^6.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"strip-ansi-cjs": {
|
|
||||||
"version": "npm:strip-ansi@6.0.1",
|
|
||||||
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ansi-regex": "^5.0.1"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"ansi-regex": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"wrap-ansi": {
|
"wrap-ansi": {
|
||||||
"version": "8.1.0",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
||||||
|
|
@ -1554,60 +1482,6 @@
|
||||||
"string-width": "^5.0.1",
|
"string-width": "^5.0.1",
|
||||||
"strip-ansi": "^7.0.1"
|
"strip-ansi": "^7.0.1"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"wrap-ansi-cjs": {
|
|
||||||
"version": "npm:wrap-ansi@7.0.0",
|
|
||||||
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
|
||||||
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ansi-styles": "^4.0.0",
|
|
||||||
"string-width": "^4.1.0",
|
|
||||||
"strip-ansi": "^6.0.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"ansi-regex": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"ansi-styles": {
|
|
||||||
"version": "4.3.0",
|
|
||||||
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
|
||||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"color-convert": "^2.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"emoji-regex": {
|
|
||||||
"version": "8.0.0",
|
|
||||||
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
|
||||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"string-width": {
|
|
||||||
"version": "4.2.3",
|
|
||||||
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
|
|
||||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"emoji-regex": "^8.0.0",
|
|
||||||
"is-fullwidth-code-point": "^3.0.0",
|
|
||||||
"strip-ansi": "^6.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"strip-ansi": {
|
|
||||||
"version": "6.0.1",
|
|
||||||
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ansi-regex": "^5.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -4176,7 +4050,6 @@
|
||||||
"version": "1.0.7",
|
"version": "1.0.7",
|
||||||
"resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
|
"resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
|
||||||
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
|
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"es-define-property": "^1.0.0",
|
"es-define-property": "^1.0.0",
|
||||||
"es-errors": "^1.3.0",
|
"es-errors": "^1.3.0",
|
||||||
|
|
@ -6487,7 +6360,6 @@
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
|
"resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
|
||||||
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
|
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"es-define-property": "^1.0.0",
|
"es-define-property": "^1.0.0",
|
||||||
"es-errors": "^1.3.0",
|
"es-errors": "^1.3.0",
|
||||||
|
|
@ -7147,7 +7019,6 @@
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz",
|
||||||
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
|
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"get-intrinsic": "^1.2.4"
|
"get-intrinsic": "^1.2.4"
|
||||||
}
|
}
|
||||||
|
|
@ -7155,8 +7026,7 @@
|
||||||
"es-errors": {
|
"es-errors": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
|
"resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
|
||||||
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"es-object-atoms": {
|
"es-object-atoms": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
|
|
@ -8605,7 +8475,6 @@
|
||||||
"version": "1.2.4",
|
"version": "1.2.4",
|
||||||
"resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
|
"resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
|
||||||
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
|
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"es-errors": "^1.3.0",
|
"es-errors": "^1.3.0",
|
||||||
"function-bind": "^1.1.2",
|
"function-bind": "^1.1.2",
|
||||||
|
|
@ -8782,7 +8651,6 @@
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz",
|
"resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz",
|
||||||
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
|
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"get-intrinsic": "^1.1.3"
|
"get-intrinsic": "^1.1.3"
|
||||||
}
|
}
|
||||||
|
|
@ -8904,7 +8772,6 @@
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
|
"resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
|
||||||
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
|
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"es-define-property": "^1.0.0"
|
"es-define-property": "^1.0.0"
|
||||||
}
|
}
|
||||||
|
|
@ -8912,14 +8779,12 @@
|
||||||
"has-proto": {
|
"has-proto": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz",
|
"resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz",
|
||||||
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
|
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"has-symbols": {
|
"has-symbols": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz",
|
"resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz",
|
||||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
|
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"has-tostringtag": {
|
"has-tostringtag": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
|
|
@ -13110,8 +12975,7 @@
|
||||||
"object-inspect": {
|
"object-inspect": {
|
||||||
"version": "1.13.1",
|
"version": "1.13.1",
|
||||||
"resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz",
|
"resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz",
|
||||||
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
|
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"object-is": {
|
"object-is": {
|
||||||
"version": "1.1.6",
|
"version": "1.1.6",
|
||||||
|
|
@ -16419,9 +16283,12 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"qs": {
|
"qs": {
|
||||||
"version": "0.6.6",
|
"version": "6.12.3",
|
||||||
"resolved": "https://registry.npmmirror.com/qs/-/qs-0.6.6.tgz",
|
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.12.3.tgz",
|
||||||
"integrity": "sha512-kN+yNdAf29Jgp+AYHUmC7X4QdJPR8czuMWLNLc0aRxkQ7tB3vJQEONKKT9ou/rW7EbqVec11srC9q9BiVbcnHA=="
|
"integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==",
|
||||||
|
"requires": {
|
||||||
|
"side-channel": "^1.0.6"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"query-string": {
|
"query-string": {
|
||||||
"version": "4.3.4",
|
"version": "4.3.4",
|
||||||
|
|
@ -16791,6 +16658,13 @@
|
||||||
"stringstream": "~0.0.4",
|
"stringstream": "~0.0.4",
|
||||||
"tough-cookie": ">=0.12.0",
|
"tough-cookie": ">=0.12.0",
|
||||||
"tunnel-agent": "~0.4.0"
|
"tunnel-agent": "~0.4.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"qs": {
|
||||||
|
"version": "0.6.6",
|
||||||
|
"resolved": "https://registry.npmmirror.com/qs/-/qs-0.6.6.tgz",
|
||||||
|
"integrity": "sha512-kN+yNdAf29Jgp+AYHUmC7X4QdJPR8czuMWLNLc0aRxkQ7tB3vJQEONKKT9ou/rW7EbqVec11srC9q9BiVbcnHA=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"request-promise-core": {
|
"request-promise-core": {
|
||||||
|
|
@ -17507,7 +17381,6 @@
|
||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz",
|
"resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz",
|
||||||
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
|
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"define-data-property": "^1.1.4",
|
"define-data-property": "^1.1.4",
|
||||||
"es-errors": "^1.3.0",
|
"es-errors": "^1.3.0",
|
||||||
|
|
@ -17618,7 +17491,6 @@
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz",
|
"resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz",
|
||||||
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
|
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"call-bind": "^1.0.7",
|
"call-bind": "^1.0.7",
|
||||||
"es-errors": "^1.3.0",
|
"es-errors": "^1.3.0",
|
||||||
|
|
@ -18296,6 +18168,46 @@
|
||||||
"strip-ansi": "^3.0.0"
|
"strip-ansi": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"string-width-cjs": {
|
||||||
|
"version": "npm:string-width@4.2.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"emoji-regex": "^8.0.0",
|
||||||
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
|
"strip-ansi": "^6.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"emoji-regex": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-fullwidth-code-point": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"string.prototype.trim": {
|
"string.prototype.trim": {
|
||||||
"version": "1.2.9",
|
"version": "1.2.9",
|
||||||
"resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
|
"resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
|
||||||
|
|
@ -18352,6 +18264,23 @@
|
||||||
"ansi-regex": "^2.0.0"
|
"ansi-regex": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"strip-ansi-cjs": {
|
||||||
|
"version": "npm:strip-ansi@6.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"strip-bom": {
|
"strip-bom": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-2.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-2.0.0.tgz",
|
||||||
|
|
@ -21147,6 +21076,81 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"wrap-ansi-cjs": {
|
||||||
|
"version": "npm:wrap-ansi@7.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^4.0.0",
|
||||||
|
"string-width": "^4.1.0",
|
||||||
|
"strip-ansi": "^6.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"emoji-regex": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-fullwidth-code-point": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"string-width": {
|
||||||
|
"version": "4.2.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"emoji-regex": "^8.0.0",
|
||||||
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
|
"strip-ansi": "^6.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"wrappy": {
|
"wrappy": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
|
"resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
"leaflet.wmts": "^1.0.2",
|
"leaflet.wmts": "^1.0.2",
|
||||||
"node-sass": "^4.12.0",
|
"node-sass": "^4.12.0",
|
||||||
"ol": "6.4.0",
|
"ol": "6.4.0",
|
||||||
|
"qs": "^6.12.3",
|
||||||
"sass-loader": "^7.1.0",
|
"sass-loader": "^7.1.0",
|
||||||
"swiper": "^6.8.4",
|
"swiper": "^6.8.4",
|
||||||
"vue": "^2.5.2",
|
"vue": "^2.5.2",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,206 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
/* ********************************* 航次数据汇交接口 **************************************/
|
||||||
|
|
||||||
|
// 航次数据汇交列表
|
||||||
|
export function voyageRegList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/voyage/reg/page.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 航次数据汇交新增编辑
|
||||||
|
export function voyageRegEdit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/voyage/reg/edit.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 航次数据汇交新增删除
|
||||||
|
export function voyageRegDelete(data) {
|
||||||
|
return request({
|
||||||
|
url: '/voyage/reg/delete.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ********************************* 样品数据集汇交接口 **************************************/
|
||||||
|
|
||||||
|
// 样品数据集汇列表
|
||||||
|
export function sampleDatasetList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/dataset/page.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据id查询样品数据集
|
||||||
|
export function sampleDatasetFind(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/dataset/find.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 样品数据集新增编辑
|
||||||
|
export function sampleDatasetEdit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/dataset/edit.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 样品数据集删除
|
||||||
|
export function sampleDatasetDelete(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/dataset/delete.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 站位作业样品列表
|
||||||
|
export function stationList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/station/list.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 站位作业样品新增编辑
|
||||||
|
export function stationEdit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/station/edit.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 站位作业样品删除
|
||||||
|
export function stationDelete(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/station/delete.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 测线作业样品列表
|
||||||
|
export function lineList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/line/list.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 测线作业样品新增编辑
|
||||||
|
export function lineEdit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/line/edit.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 测线作业样品删除
|
||||||
|
export function lineDelete(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/line/delete.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 站位数据样品汇交列表
|
||||||
|
export function stationPage(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/station/page.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 测线数据样品汇交列表
|
||||||
|
export function linePage(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/line/page.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 平台类型字典
|
||||||
|
export function platformDict(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dict/platform/all.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设备类型字典
|
||||||
|
export function equipmentDict(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dict/equipment/all.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 样品类型字典
|
||||||
|
export function dataDict(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dict/data/all.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 参航人员列表
|
||||||
|
export function memberList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/voyage/member/list.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 轨迹坐标
|
||||||
|
export function trackMap(data) {
|
||||||
|
return request({
|
||||||
|
url: '/sample/dataset/track/total.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -1,129 +1,161 @@
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
/* ********************************* 数据样品类型字典接口 **************************************/
|
||||||
|
|
||||||
// 数据样品类型字典列表
|
// 数据样品类型字典列表
|
||||||
export function dictDataList(data) {
|
export function dictDataList(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'dict/data/page.htm',
|
url: '/dict/data/page.htm',
|
||||||
method: 'post',
|
|
||||||
params: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 字典列表检索
|
|
||||||
export function getDicList(data) {
|
|
||||||
return request({
|
|
||||||
url: '/dic/type/list?' + 'page=' + data.page + '&size=' + data.size + '&type=' + data.type,
|
|
||||||
method: 'get',
|
|
||||||
type: 'application/x-www-form-urlencoded'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 字典删除
|
|
||||||
export function deleteDoc(data) {
|
|
||||||
return request({
|
|
||||||
url: '/dic/type/delete',
|
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/x-www-form-urlencoded',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设备类型字典添加
|
// 数据样品类型字典新增编辑
|
||||||
export function equAdd(data) {
|
export function dictDataEdit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/equ/add',
|
url: '/dict/data/edit.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设备类型字典修改
|
// 数据样品类型字典删除
|
||||||
export function equUpdate(data) {
|
export function dictDataDelete(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/equ/update',
|
url: '/dict/data/delete.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 参航单位字典添加
|
/* ********************************* 设备类型字典接口 **************************************/
|
||||||
export function partAdd(data) {
|
|
||||||
|
// 设备类型字典列表
|
||||||
|
export function dictEquipmentList(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/part/add',
|
url: '/dict/equipment/page.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 参航单位字典修改
|
// 设备类型字典新增编辑
|
||||||
export function partUpdate(data) {
|
export function dictEquipmentEdit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/part/update',
|
url: '/dict/equipment/edit.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 平台类型字典添加
|
// 设备类型字典删除
|
||||||
export function platformAdd(data) {
|
export function dictEquipmentDelete(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/platform/add',
|
url: '/dict/equipment/delete.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 平台类型字典修改
|
/* ********************************* 平台类型字典接口 **************************************/
|
||||||
export function platformUpdate(data) {
|
|
||||||
|
// 平台类型字典列表
|
||||||
|
export function dictPlatformList(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/platform/update',
|
url: '/dict/platform/page.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数据样品类型字典添加
|
// 平台类型字典新增编辑
|
||||||
export function sampleAdd(data) {
|
export function dictPlatformEdit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/sample/add',
|
url: '/dict/platform/edit.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数据样品类型字典修改
|
// 平台类型字典删除
|
||||||
export function sampleUpdate(data) {
|
export function dictPlatformDelete(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/sample/update',
|
url: '/dict/platform/delete.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 共享机构字典添加
|
/* ********************************* 参航单位字典接口 **************************************/
|
||||||
export function shareAdd(data) {
|
|
||||||
|
// 参航单位字典列表
|
||||||
|
export function dictSailList(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/share/add',
|
url: '/dict/unit/sail/page.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 共享机构字典修改
|
// 参航单位字典新增编辑
|
||||||
export function shareUpdate(data) {
|
export function dictSailEdit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/dic/share/update',
|
url: '/dict/unit/sail/edit.htm',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
type: 'application/json',
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 参航单位字典删除
|
||||||
|
export function dictSailDelete(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dict/unit/sail/delete.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ********************************* 共享单位字典接口 **************************************/
|
||||||
|
|
||||||
|
// 共享单位字典列表
|
||||||
|
export function dictShareList(data) {
|
||||||
|
return request({
|
||||||
|
url: 'dict/unit/share/page.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 共享单位字典新增编辑
|
||||||
|
export function dictShareEdit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dict/unit/share/edit.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 共享单位字典删除
|
||||||
|
export function dictShareDelete(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dict/unit/share/delete.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 登录
|
||||||
|
export function login(data) {
|
||||||
|
return request({
|
||||||
|
url: '/frame/optr/login.htm',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 退出登录
|
||||||
|
export function loginOut(data) {
|
||||||
|
return request({
|
||||||
|
url: '/frame/optr/logout.htm ',
|
||||||
|
method: 'post',
|
||||||
|
type: 'application/x-www-form-urlencoded',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -34,22 +34,39 @@
|
||||||
<div class="menu2" >
|
<div class="menu2" >
|
||||||
<i class="el-icon-menu" @click="handleMenu"></i>
|
<i class="el-icon-menu" @click="handleMenu"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="fr">
|
<div>
|
||||||
<i v-if="loginStatuss" class="logOut" @click="loginOut">logOut</i>
|
<el-tooltip class="tooltip" effect="dark" content="登录" placement="bottom">
|
||||||
</div>
|
<el-button type="primary" icon="el-icon-user" circle @click="onLogin"></el-button>
|
||||||
<!-- <div class="fr loginReg ovh">
|
|
||||||
<div v-if="loginStatuss"FV>
|
|
||||||
<span>welcome!</span>
|
|
||||||
<el-tooltip v-if="loginStatuss.length>5" :content="loginStatuss" placement="bottom" effect="dark">
|
|
||||||
<span class="ellCu">{{ loginStatuss }}</span>
|
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<span v-else class="ellCu">
|
|
||||||
{{ $store.state.app.cu }}
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="login cursor" @click="loginIn"> <img src="../../../static/images/形状 1@2x.png" alt=""> LOGIN | REGISTER</div>
|
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 登录弹窗-->
|
||||||
|
<el-dialog title="用户登录" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||||
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules">
|
||||||
|
<el-form-item prop="loginName">
|
||||||
|
<el-input
|
||||||
|
v-model="loginForm.loginName"
|
||||||
|
type="text"
|
||||||
|
auto-complete="off"
|
||||||
|
placeholder="请输入登录名称"
|
||||||
|
prefix-icon="el-icon-user"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="loginPass">
|
||||||
|
<el-input
|
||||||
|
v-model="loginForm.loginPass"
|
||||||
|
type="loginPass"
|
||||||
|
auto-complete="off"
|
||||||
|
placeholder="请输入登录密码"
|
||||||
|
prefix-icon="el-icon-lock"
|
||||||
|
@keyup.enter.native="handleLogin"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="handleLogin">登 录</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</header>
|
</header>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -59,7 +76,8 @@ import {
|
||||||
} from '@/utils/logoutCas' // get token from cookie
|
} from '@/utils/logoutCas' // get token from cookie
|
||||||
import {
|
import {
|
||||||
removeToken
|
removeToken
|
||||||
} from '@/utils/auth' // get token from cookie
|
} from '@/utils/auth'
|
||||||
|
import { login } from '@/api/login' // get token from cookie
|
||||||
export default {
|
export default {
|
||||||
name: 'headers',
|
name: 'headers',
|
||||||
props: {
|
props: {
|
||||||
|
|
@ -119,16 +137,15 @@ export default {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"数据汇交",
|
name:"数据汇交",
|
||||||
path:"voyageDelivery",
|
|
||||||
children:[
|
children:[
|
||||||
{
|
{
|
||||||
name:"航次数据汇交",
|
name:"航次数据汇交",
|
||||||
path:"voyageDelivery",
|
path:"VoyageReg",
|
||||||
children:[]
|
children:[]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"数据样品信息汇交",
|
name:"样品数据集汇交",
|
||||||
path:"sampleRemitt",
|
path:"SampleDataset",
|
||||||
children:[]
|
children:[]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -202,20 +219,31 @@ export default {
|
||||||
],
|
],
|
||||||
nowPathName: '',
|
nowPathName: '',
|
||||||
navShow:false,
|
navShow:false,
|
||||||
|
open: false,
|
||||||
|
loginForm: {
|
||||||
|
loginName: '',
|
||||||
|
loginPass: '',
|
||||||
|
loginCode: '1234'
|
||||||
|
},
|
||||||
|
loginRules: {
|
||||||
|
loginName: [
|
||||||
|
{ required: true, trigger: "blur", message: "请输入登录名称" }
|
||||||
|
],
|
||||||
|
loginPass: [
|
||||||
|
{ required: true, trigger: "blur", message: "请输入登录密码" }
|
||||||
|
],
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.loginStatuss = this.$store.state.app.cu
|
|
||||||
// this.loginStatuss = 'test_jisjf'
|
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
$('.dropdown').hover(
|
$('.dropdown').hover(
|
||||||
function () {
|
function () {
|
||||||
$(this).children('.sub-menu').slideDown(200);
|
$(this).children('.sub-menu').slideDown(10);
|
||||||
},
|
},
|
||||||
function () {
|
function () {
|
||||||
$(this).children('.sub-menu').slideUp(200);
|
$(this).children('.sub-menu').slideUp(10);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
this.changeClass()
|
this.changeClass()
|
||||||
|
|
@ -226,7 +254,6 @@ export default {
|
||||||
})()
|
})()
|
||||||
}
|
}
|
||||||
this.nowPathName = this.$route.name
|
this.nowPathName = this.$route.name
|
||||||
|
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
//当屏幕小于1400时添加一个属性,大于的时候删除属性
|
//当屏幕小于1400时添加一个属性,大于的时候删除属性
|
||||||
|
|
@ -236,19 +263,11 @@ export default {
|
||||||
this.navShow=true
|
this.navShow=true
|
||||||
} else{
|
} else{
|
||||||
this.navShow=false
|
this.navShow=false
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleMenu(){
|
handleMenu(){
|
||||||
this.collapse=!this.collapse
|
this.collapse=!this.collapse
|
||||||
},
|
},
|
||||||
activeMethod(item){
|
|
||||||
if(this.nowPathName==item.path){
|
|
||||||
return 'activeClass'
|
|
||||||
}else{
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
},
|
|
||||||
routerTurn(name){
|
routerTurn(name){
|
||||||
this.nowPathName = name
|
this.nowPathName = name
|
||||||
if(name!=this.$route.name && name){
|
if(name!=this.$route.name && name){
|
||||||
|
|
@ -257,91 +276,40 @@ export default {
|
||||||
this.collapse=true
|
this.collapse=true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 中英文切换
|
// 登录
|
||||||
handleCommand(value) {
|
onLogin() {
|
||||||
localStorage.setItem('user_lang', value)
|
this.open = true
|
||||||
this.$i18n.locale = value// 改变当前语言
|
|
||||||
location.reload()
|
|
||||||
},
|
},
|
||||||
handleClick() {
|
// 提交表单
|
||||||
console.log(this.activeName)
|
handleLogin() {
|
||||||
},
|
this.$refs['loginForm'].validate(valid => {
|
||||||
loginIn() {
|
if (valid) {
|
||||||
window.location.href = process.env.VUE_APP_CAS_LOGIN_FRONT
|
login(this.loginForm).then(res => {
|
||||||
},
|
console.log(res)
|
||||||
loginOut() {
|
|
||||||
this.$confirm('Are you sure you want to log out?', 'hint', {
|
|
||||||
confirmButtonText: 'Sure',
|
|
||||||
cancelButtonText: 'Cancel',
|
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
removeToken()
|
|
||||||
this.loginStatuss = ''
|
|
||||||
window.sessionStorage.setItem('cu', '')
|
|
||||||
window.sessionStorage.setItem('userID', '')
|
|
||||||
logoutCas(process.env.VUE_APP_CAS_LOGOUT_URL_FRONT, true)
|
|
||||||
}).catch(() => {
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 关闭弹窗
|
||||||
|
cancel() {
|
||||||
|
this.open = false
|
||||||
|
this.reset()
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
loginName: '',
|
||||||
|
loginPass: '',
|
||||||
|
loginCode: '1234'
|
||||||
|
}
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.fr {
|
.tooltip {
|
||||||
float: right;
|
z-index: 3000;
|
||||||
}
|
|
||||||
.loginReg {
|
|
||||||
height: 32px;
|
|
||||||
line-height: 32px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #fff;
|
|
||||||
margin-top: 24px;
|
|
||||||
}
|
|
||||||
.topic {
|
|
||||||
width: 100%;
|
|
||||||
height: 50px;
|
|
||||||
position: relative;
|
|
||||||
background: #1d2a73;
|
|
||||||
// padding: 0 20px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.loginReg .login{
|
|
||||||
color:white;
|
|
||||||
|
|
||||||
// text-decoration: underline;
|
|
||||||
}
|
|
||||||
.loginReg img{
|
|
||||||
width:13px;
|
|
||||||
padding-right:10px;
|
|
||||||
margin-bottom:-2px;
|
|
||||||
}
|
|
||||||
.topic .fr i{
|
|
||||||
font-style: normal;
|
|
||||||
color:white;
|
|
||||||
width: 56px;
|
|
||||||
height: 32px;
|
|
||||||
line-height: 32px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #fff;
|
|
||||||
margin-top: 9px;
|
|
||||||
display: inline-block;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.ellCu{
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
width:40px;
|
|
||||||
|
|
||||||
}
|
|
||||||
.loginReg>div{
|
|
||||||
display: inline-block;
|
|
||||||
width:148px;
|
|
||||||
}
|
|
||||||
.loginReg>div span{
|
|
||||||
float:left;
|
|
||||||
}
|
}
|
||||||
.el-icon-menu{
|
.el-icon-menu{
|
||||||
float:right;
|
float:right;
|
||||||
|
|
|
||||||
|
|
@ -59,15 +59,35 @@ export const constantRoutes = [
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'voyageDelivery',
|
path: 'voyageReg',
|
||||||
name: 'voyageDelivery',
|
name: 'VoyageReg',
|
||||||
component: () => import('@/views/voyageDelivery.vue'),
|
component: () => import('@/views/dataTransfer/voyageReg.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: '航次数据汇交',
|
title: '航次数据汇交',
|
||||||
icon: 'peoples',
|
icon: 'peoples',
|
||||||
loginAuthority: true
|
loginAuthority: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'sampleDataset',
|
||||||
|
name: 'SampleDataset',
|
||||||
|
component: () => import('@/views/dataTransfer/sampleDataset.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '数据样品信息汇交',
|
||||||
|
icon: 'peoples',
|
||||||
|
loginAuthority: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// path: 'voyageDelivery',
|
||||||
|
// name: 'voyageDelivery',
|
||||||
|
// component: () => import('@/views/voyageDelivery.vue'),
|
||||||
|
// meta: {
|
||||||
|
// title: '航次数据汇交',
|
||||||
|
// icon: 'peoples',
|
||||||
|
// loginAuthority: true
|
||||||
|
// }
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
path: 'voyageEntry',
|
path: 'voyageEntry',
|
||||||
name: 'voyageEntry',
|
name: 'voyageEntry',
|
||||||
|
|
@ -78,16 +98,16 @@ export const constantRoutes = [
|
||||||
loginAuthority: true
|
loginAuthority: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
path: 'sampleRemitt',
|
// path: 'sampleRemitt',
|
||||||
name: 'sampleRemitt',
|
// name: 'sampleRemitt',
|
||||||
component: () => import('@/views/sampleRemitt.vue'),
|
// component: () => import('@/views/sampleRemitt.vue'),
|
||||||
meta: {
|
// meta: {
|
||||||
title: '数据样品信息汇交',
|
// title: '数据样品信息汇交',
|
||||||
icon: 'peoples',
|
// icon: 'peoples',
|
||||||
loginAuthority: true
|
// loginAuthority: true
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
path: 'sampleEntry',
|
path: 'sampleEntry',
|
||||||
name: 'sampleEntry',
|
name: 'sampleEntry',
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import Vuex from 'vuex'
|
||||||
import getters from './getters'
|
import getters from './getters'
|
||||||
import app from './modules/app'
|
import app from './modules/app'
|
||||||
import settings from './modules/settings'
|
import settings from './modules/settings'
|
||||||
|
import sample from '@/store/modules/sample'
|
||||||
// import user from './modules/user'
|
// import user from './modules/user'
|
||||||
|
|
||||||
Vue.use(Vuex)
|
Vue.use(Vuex)
|
||||||
|
|
@ -10,7 +11,8 @@ Vue.use(Vuex)
|
||||||
const store = new Vuex.Store({
|
const store = new Vuex.Store({
|
||||||
modules: {
|
modules: {
|
||||||
app,
|
app,
|
||||||
settings
|
settings,
|
||||||
|
sample
|
||||||
// user
|
// user
|
||||||
},
|
},
|
||||||
getters
|
getters
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
const sample = {
|
||||||
|
state: {
|
||||||
|
// 数据样品集表单参数
|
||||||
|
formData: new Object(),
|
||||||
|
// 当前数据样品集数据
|
||||||
|
datasetRow: new Object(),
|
||||||
|
// 当前数据样品集ID
|
||||||
|
datasetId: null
|
||||||
|
},
|
||||||
|
mutations: {
|
||||||
|
SET_FORM_DATA: (state, data) => {
|
||||||
|
const obj = data
|
||||||
|
for (const key in obj) {
|
||||||
|
if (obj[key] === null || obj[key] === undefined || obj[key] === '') {
|
||||||
|
delete obj[key]
|
||||||
|
} else if (typeof obj[key] === 'object' && Object.keys(obj[key]).length === 0) {
|
||||||
|
delete obj[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state.formData = { ...state.formData, ...obj }
|
||||||
|
},
|
||||||
|
SET_ROW: (state, row) => {
|
||||||
|
state.datasetRow = row
|
||||||
|
},
|
||||||
|
SET_ID: (state, id) => {
|
||||||
|
state.datasetId = id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default sample
|
||||||
|
|
@ -17,6 +17,7 @@ header{
|
||||||
height: 90px;
|
height: 90px;
|
||||||
background: #012458;
|
background: #012458;
|
||||||
padding: 0 3%;
|
padding: 0 3%;
|
||||||
|
box-sizing: border-box;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ service.defaults.crossDomain = true
|
||||||
service.interceptors.request.use(
|
service.interceptors.request.use(
|
||||||
config => {
|
config => {
|
||||||
if (config.type == 'application/x-www-form-urlencoded') {
|
if (config.type == 'application/x-www-form-urlencoded') {
|
||||||
config.data = qs.stringify(config.data)
|
config.data = qs.stringify(config.data, { arrayFormat: 'repeat' })
|
||||||
config.headers['content-type'] = config.type
|
config.headers['content-type'] = config.type
|
||||||
} else {
|
} else {
|
||||||
config.headers['content-type'] = config.type ? config.type : 'application/json'
|
config.headers['content-type'] = config.type ? config.type : 'application/json'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,110 @@
|
||||||
|
<template>
|
||||||
|
<div id="" class="page-body">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1 class="page-title">数据样品信息汇交</h1>
|
||||||
|
<el-breadcrumb>
|
||||||
|
<el-breadcrumb-item :to="{path: '/'}">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item :to="{name: 'VoyageReg'}">数据汇交</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>样品数据集管理</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
|
<div class="filter-container">
|
||||||
|
<div class="checkBtn">
|
||||||
|
<el-button
|
||||||
|
v-for="item in btnList"
|
||||||
|
:key="item.value"
|
||||||
|
:type="item.value === currentValue ? 'primary' : ''"
|
||||||
|
size="medium"
|
||||||
|
@click="handleBtn(item)"
|
||||||
|
>{{ item.label }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--新增数据集-->
|
||||||
|
<add-data v-if="currentValue === 'add'" />
|
||||||
|
<!--编辑数据集-->
|
||||||
|
<add-data v-if="currentValue === 'edit'" />
|
||||||
|
<!--数据集列表-->
|
||||||
|
<data-list v-if="currentValue === 'list'" @edit="handleEdit" />
|
||||||
|
<!--测线数据样品汇交-->
|
||||||
|
<line-list v-if="currentValue === 'line'" @edit="handleEdit" />
|
||||||
|
<!--站位数据样品汇交-->
|
||||||
|
<station-list v-if="currentValue === 'station'" @edit="handleEdit" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AddData from '@/views/dataTransfer/sampleViews/AddData'
|
||||||
|
import DataList from '@/views/dataTransfer/sampleViews/DataList'
|
||||||
|
import LineList from '@/views/dataTransfer/sampleViews/LineList'
|
||||||
|
import StationList from '@/views/dataTransfer/sampleViews/StationList'
|
||||||
|
export default {
|
||||||
|
name: 'SampleDataset',
|
||||||
|
components: { AddData, DataList, LineList, StationList },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
btnList: [
|
||||||
|
{
|
||||||
|
label: '新增数据集',
|
||||||
|
value: 'add'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '数据集列表',
|
||||||
|
value: 'list'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '测线数据样品汇交',
|
||||||
|
value: 'line'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '站位数据样品汇交',
|
||||||
|
value: 'station'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '批量导入样品',
|
||||||
|
value: 'sample'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '批量导入下潜轨迹',
|
||||||
|
value: 'track'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
currentValue: 'add',
|
||||||
|
row: {},
|
||||||
|
id: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleBtn(item) {
|
||||||
|
if (item.value === 'sample') {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.currentValue = item.value
|
||||||
|
if (item.value === 'edit') {
|
||||||
|
return false
|
||||||
|
} else if (item.value === 'add') {
|
||||||
|
this.$store.commit('SET_ROW', {})
|
||||||
|
this.$store.commit('SET_ID', null)
|
||||||
|
} else {
|
||||||
|
this.btnList[0] = {
|
||||||
|
label: '新增数据集',
|
||||||
|
value: 'add'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleEdit(row) {
|
||||||
|
this.currentValue = 'edit'
|
||||||
|
this.btnList[0] = {
|
||||||
|
label: '数据集详细信息',
|
||||||
|
value: 'edit'
|
||||||
|
}
|
||||||
|
this.$store.commit('SET_ROW', row)
|
||||||
|
this.$store.commit('SET_ID', row.tsy_id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
<template>
|
||||||
|
<div class="container-add">
|
||||||
|
<el-breadcrumb separator="/">
|
||||||
|
<el-breadcrumb-item v-for="(item, index) in steps" :key="index">
|
||||||
|
<span
|
||||||
|
style="color: #909fa7;"
|
||||||
|
:class="currentStep == index ? 'current-s' : ''"
|
||||||
|
>{{ item }}</span>
|
||||||
|
</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
|
<el-card class="box-card">
|
||||||
|
<!-- 平台信息表单-->
|
||||||
|
<platform v-if="currentStep === 0" @next="handleNext" />
|
||||||
|
<!-- 设备信息表单-->
|
||||||
|
<equipment v-if="currentStep === 1" @next="handleNext" />
|
||||||
|
<!-- 数据样品类型信息表单-->
|
||||||
|
<data-type v-if="currentStep === 2" @next="handleNext" @first="handleFirst" />
|
||||||
|
<!-- 数据样品条目-->
|
||||||
|
<sample-list v-if="currentStep === 3" />
|
||||||
|
<!-- 潜次信息-->
|
||||||
|
<track-info v-if="currentStep === 0 && id" />
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Platform from '@/views/dataTransfer/sampleViews/formViews/Platform'
|
||||||
|
import Equipment from '@/views/dataTransfer/sampleViews/formViews/Equipment'
|
||||||
|
import DataType from '@/views/dataTransfer/sampleViews/formViews/DataType'
|
||||||
|
import SampleList from '@/views/dataTransfer/sampleViews/formViews/SampleList'
|
||||||
|
import TrackInfo from '@/views/dataTransfer/sampleViews/formViews/TrackInfo'
|
||||||
|
export default {
|
||||||
|
name: 'AddData',
|
||||||
|
components: { Platform, Equipment, DataType, SampleList, TrackInfo },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 步骤条
|
||||||
|
steps: ['平台信息', '设备信息', '数据样品类型信息', '数据样品条目'],
|
||||||
|
// 当前步骤下标
|
||||||
|
currentStep: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
id() {
|
||||||
|
return this.$store.state.sample.datasetId
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// handleStep(index) {
|
||||||
|
// this.currentStep = index
|
||||||
|
// },
|
||||||
|
handleNext() {
|
||||||
|
this.currentStep++
|
||||||
|
},
|
||||||
|
handleFirst() {
|
||||||
|
this.currentStep = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.container-add {
|
||||||
|
min-height: 400px;
|
||||||
|
.current-s {
|
||||||
|
color: #27c24c !important;
|
||||||
|
}
|
||||||
|
.box-card {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,161 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" @expand-change="expandChange" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
|
<el-table-column type="expand">
|
||||||
|
<template v-slot="slot">
|
||||||
|
<el-table v-if="slot.row.job_type === '站位作业'" v-loading="slot.row.loading" stripe border :data="slot.row.childRowData">
|
||||||
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
|
<el-table-column prop="sample_name" label="样品编号" />
|
||||||
|
<el-table-column prop="funding_org" label="资助机构" />
|
||||||
|
<el-table-column prop="publish_rule" label="公开期限" width="160" />
|
||||||
|
<el-table-column prop="sampling_time" label="采样时间" width="160" />
|
||||||
|
<el-table-column prop="sampling_lon" label="采样经度" width="100" />
|
||||||
|
<el-table-column prop="sampling_lat" label="采样纬度" width="100" />
|
||||||
|
<el-table-column prop="sampling_deep" label="采样深度" width="100" />
|
||||||
|
<el-table-column prop="sample_tag_name" label="样品标签" width="100" />
|
||||||
|
</el-table>
|
||||||
|
<el-table v-if="slot.row.job_type === '测线作业'" v-loading="slot.row.loading" stripe border :data="slot.row.childRowData">
|
||||||
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
|
<el-table-column prop="sample_name" label="样品编号" />
|
||||||
|
<el-table-column prop="funding_org" label="资助机构" width="250" />
|
||||||
|
<el-table-column prop="publish_rule" label="公开期限" width="160" />
|
||||||
|
<el-table-column prop="line_sn" label="测线号" width="80" />
|
||||||
|
<el-table-column prop="line_deep" label="探测深度" width="100" />
|
||||||
|
<el-table-column prop="start_time" label="开始时间" width="160" />
|
||||||
|
<el-table-column prop="end_time" label="结束时间" width="160" />
|
||||||
|
<el-table-column prop="sample_status" label="处理状态" width="100" />
|
||||||
|
<el-table-column prop="sample_tag_name" label="样品标签" width="100" />
|
||||||
|
</el-table>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
|
<el-table-column prop="dataset_name" label="数据集名称编号" />
|
||||||
|
<el-table-column prop="file_total" label="样品数量" width="100" />
|
||||||
|
<el-table-column prop="platform_type" label="平台类型" width="150" />
|
||||||
|
<el-table-column prop="platform_name" label="平台名称" width="150" />
|
||||||
|
<el-table-column prop="diving_sn" label="潜次名称" width="100" />
|
||||||
|
<el-table-column prop="equipment_type" label="设备类型" width="150" />
|
||||||
|
<el-table-column prop="job_type" label="作业类型" width="100" />
|
||||||
|
<el-table-column prop="data_type" label="样本类型" />
|
||||||
|
<el-table-column label="操作" width="120">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end" v-if="!scope.row.file_total">
|
||||||
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" style="margin-left: 0%;" />
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="pagination-box">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
:page-sizes="[10, 20, 30]"
|
||||||
|
:page-size="params.limit"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total"
|
||||||
|
:current-page="pageNum"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { lineList, sampleDatasetDelete, sampleDatasetList, stationList } from '@/api/dataTransfer'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'DataList',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
// 分页请求参数
|
||||||
|
params: {
|
||||||
|
start: 0,
|
||||||
|
limit: 10,
|
||||||
|
group: 10
|
||||||
|
},
|
||||||
|
pageNum: 1,
|
||||||
|
// 列表数据
|
||||||
|
tableData: [],
|
||||||
|
total: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取列表数据
|
||||||
|
getData() {
|
||||||
|
this.loading = true
|
||||||
|
sampleDatasetList(this.params).then(res => {
|
||||||
|
const arr = res.page.records
|
||||||
|
arr.map(item => {
|
||||||
|
item.open = false
|
||||||
|
item.loading = false
|
||||||
|
item.childRowData = []
|
||||||
|
})
|
||||||
|
this.tableData = arr
|
||||||
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 展开行
|
||||||
|
expandChange(row) {
|
||||||
|
const datasetId = row.tsy_id
|
||||||
|
const jobType = row.job_type
|
||||||
|
this.tableData.map(item => {
|
||||||
|
if (item.tsy_id == row.tsy_id) {
|
||||||
|
if (item.open) { // 判断当前行是否展开,防止折叠时的接口请求
|
||||||
|
item.open = false
|
||||||
|
} else {
|
||||||
|
item.open = true
|
||||||
|
item.loading = true
|
||||||
|
if (jobType === '站位作业') {
|
||||||
|
stationList({ dataset_id: datasetId }).then(res => {
|
||||||
|
item.childRowData = res.array
|
||||||
|
item.loading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
lineList({ dataset_id: datasetId }).then(res => {
|
||||||
|
item.childRowData = res.array
|
||||||
|
item.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
this.$emit('edit', row)
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(row) {
|
||||||
|
this.$confirm('确定要删除该数据集吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
sampleDatasetDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
|
})
|
||||||
|
}).catch(() => {})
|
||||||
|
},
|
||||||
|
// 分页
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.pageNum = val
|
||||||
|
this.params.start = val * this.params.limit - this.params.limit
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.params.limit = val
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
|
<el-table-column prop="sample_name" label="数据样品编号" />
|
||||||
|
<el-table-column prop="funding_org" label="资助机构" />
|
||||||
|
<el-table-column prop="publish_rule" label="公开期限" width="160" />
|
||||||
|
<el-table-column prop="line_sn" label="测线号" width="80" />
|
||||||
|
<el-table-column prop="start_time" label="测线开始时间" width="160" />
|
||||||
|
<el-table-column prop="end_time" label="测线结束时间" width="160" />
|
||||||
|
<el-table-column prop="sample_status" label="数据状态" width="100" />
|
||||||
|
<el-table-column prop="sample_tag_name" label="数据标签" width="100" />
|
||||||
|
<el-table-column label="操作" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="pagination-box">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
:page-sizes="[10, 20, 30]"
|
||||||
|
:page-size="params.limit"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total"
|
||||||
|
:current-page="pageNum"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { linePage, sampleDatasetFind } from '@/api/dataTransfer'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'LineList',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
// 分页请求参数
|
||||||
|
params: {
|
||||||
|
start: 0,
|
||||||
|
limit: 10,
|
||||||
|
group: 10
|
||||||
|
},
|
||||||
|
pageNum: 1,
|
||||||
|
// 列表数据
|
||||||
|
tableData: [],
|
||||||
|
total: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取列表数据
|
||||||
|
getData() {
|
||||||
|
this.loading = true
|
||||||
|
linePage(this.params).then(res => {
|
||||||
|
this.tableData = res.page.records
|
||||||
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
sampleDatasetFind({ dataset_id: row.dataset_id }).then(res => {
|
||||||
|
const data = res.entity
|
||||||
|
this.$emit('edit', data)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 分页
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.pageNum = val
|
||||||
|
this.params.start = val * this.params.limit - this.params.limit
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.params.limit = val
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,101 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
|
<el-table-column prop="sample_name" label="数据样品编号" />
|
||||||
|
<el-table-column prop="funding_org" label="资助机构" />
|
||||||
|
<el-table-column prop="publish_rule" label="公开期限" width="160" />
|
||||||
|
<el-table-column prop="sampling_time" label="采样时间" width="160" />
|
||||||
|
<el-table-column prop="sampling_lon" label="采样经度" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.sampling_lon + '°'}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="sampling_lat" label="采样纬度" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.sampling_lat + '°'}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="sampling_deep" label="采样深度" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.sampling_deep + '米'}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="sample_tag_name" label="数据标签" width="100" />
|
||||||
|
<el-table-column label="操作" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="pagination-box">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
:page-sizes="[10, 20, 30]"
|
||||||
|
:page-size="params.limit"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total"
|
||||||
|
:current-page="pageNum"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { sampleDatasetFind, stationPage } from '@/api/dataTransfer'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'StationList',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
// 分页请求参数
|
||||||
|
params: {
|
||||||
|
start: 0,
|
||||||
|
limit: 10,
|
||||||
|
group: 10
|
||||||
|
},
|
||||||
|
pageNum: 1,
|
||||||
|
// 列表数据
|
||||||
|
tableData: [],
|
||||||
|
total: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取列表数据
|
||||||
|
getData() {
|
||||||
|
this.loading = true
|
||||||
|
stationPage(this.params).then(res => {
|
||||||
|
this.tableData = res.page.records
|
||||||
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
sampleDatasetFind({ dataset_id: row.dataset_id }).then(res => {
|
||||||
|
const data = res.entity
|
||||||
|
this.$emit('edit', data)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 分页
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.pageNum = val
|
||||||
|
this.params.start = val * this.params.limit - this.params.limit
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.params.limit = val
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,140 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="200px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="作业类型" prop="job_type">
|
||||||
|
<el-select v-model="form.job_type" filterable placeholder="" :disabled="disabled" style="width: 100%;">
|
||||||
|
<el-option v-for="item in jobTypes" :key="item" :label="item" :value="item"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-form-item label="样品类型" prop="data_id">
|
||||||
|
<el-select v-model="form.data_id" filterable placeholder="" :disabled="disabled" style="width: 100%;">
|
||||||
|
<el-option v-for="item in dataDicts" :key="item.tsy_id" :label="`${item.data_name}(${item.data_alias})`" :value="item.tsy_id"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="描述信息" prop="dataset_remark">
|
||||||
|
<el-input type="textarea" :rows="3" v-model="form.dataset_remark" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<el-divider></el-divider>
|
||||||
|
<div class="submit-box">
|
||||||
|
<template v-if="id">
|
||||||
|
<el-button type="primary" @click="onNext">修改样品数据集</el-button>
|
||||||
|
<el-button @click="onCopy">复制当前数据集</el-button>
|
||||||
|
<el-button @click="onList">查看数据样品条目</el-button>
|
||||||
|
</template>
|
||||||
|
<el-button v-else type="primary" @click="onNext">保存数据样品集。进入下一步:输入数据样品条目</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { dataDict, sampleDatasetEdit } from '@/api/dataTransfer'
|
||||||
|
export default {
|
||||||
|
name: 'Equipment',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 表单禁用
|
||||||
|
disabled: false,
|
||||||
|
// 作业类型下拉数据
|
||||||
|
jobTypes: ['站位作业', '测线作业'],
|
||||||
|
// 样品类型下拉数据
|
||||||
|
dataDicts: [],
|
||||||
|
// 数据样品类型信息表单数据
|
||||||
|
form: {
|
||||||
|
job_type: '',
|
||||||
|
data_id: '',
|
||||||
|
dataset_remark: ''
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
job_type: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
data_id: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
id() {
|
||||||
|
return this.$store.state.sample.datasetId
|
||||||
|
},
|
||||||
|
row() {
|
||||||
|
return this.$store.state.sample.datasetRow
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.disabled = this.id ? true : false
|
||||||
|
this.getDataDict()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取样品类型字典
|
||||||
|
getDataDict() {
|
||||||
|
dataDict().then(res => {
|
||||||
|
this.dataDicts = res.array
|
||||||
|
if (this.id || this.row.job_type) {
|
||||||
|
this.echoEdit()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑表单回显
|
||||||
|
echoEdit() {
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
this.form[key] = this.row[key]
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 下一步
|
||||||
|
onNext() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
this.$store.commit('SET_FORM_DATA', this.form)
|
||||||
|
const formData = this.$store.state.sample.formData
|
||||||
|
this.submitForm(formData)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onCopy() {
|
||||||
|
this.$store.commit('SET_FORM_DATA', this.form)
|
||||||
|
const formData = this.$store.state.sample.formData
|
||||||
|
this.$store.commit('SET_ID', null)
|
||||||
|
this.$store.commit('SET_ROW', formData)
|
||||||
|
this.$emit('first')
|
||||||
|
},
|
||||||
|
onList() {
|
||||||
|
this.$emit('next')
|
||||||
|
},
|
||||||
|
// 提交表单信息
|
||||||
|
submitForm(formData) {
|
||||||
|
if (this.id) {
|
||||||
|
sampleDatasetEdit({ ...formData, tsy_id: this.id }).then(res => {
|
||||||
|
this.$emit('next')
|
||||||
|
this.$message.success('已更新数据集!')
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
sampleDatasetEdit(formData).then(res => {
|
||||||
|
this.$store.commit('SET_ID', res.entity.tsy_id)
|
||||||
|
this.$store.commit('SET_ROW', res.entity)
|
||||||
|
this.$emit('next')
|
||||||
|
this.$message.success('已创建新的数据集!')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.submit-box {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="200px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="设备类型" prop="equipment_id">
|
||||||
|
<el-select v-model="form.equipment_id" filterable placeholder="" :disabled="disabled" style="width: 100%;">
|
||||||
|
<el-option v-for="item in equipmentDicts" :key="item.tsy_id" :label="`${item.equipment_name}(${item.equipment_alias})`" :value="item.tsy_id"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="设备定标时间" prop="equipment_time">
|
||||||
|
<el-date-picker v-model="form.equipment_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="设备型号" prop="equipment_model">
|
||||||
|
<el-input v-model="form.equipment_model" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="设备序号" prop="equipment_sn">
|
||||||
|
<el-input v-model="form.equipment_sn" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<el-divider></el-divider>
|
||||||
|
<div class="submit-box">
|
||||||
|
<el-button type="primary" @click="onNext">下一步:数据样品类型信息</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { equipmentDict } from '@/api/dataTransfer'
|
||||||
|
export default {
|
||||||
|
name: 'Equipment',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 表单禁用
|
||||||
|
disabled: false,
|
||||||
|
// 设备类型下拉数据
|
||||||
|
equipmentDicts: [],
|
||||||
|
// 设备信息表单数据
|
||||||
|
form: {
|
||||||
|
equipment_id: '',
|
||||||
|
equipment_time: '',
|
||||||
|
equipment_model: '',
|
||||||
|
equipment_sn: ''
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
equipment_id: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
id() {
|
||||||
|
return this.$store.state.sample.datasetId
|
||||||
|
},
|
||||||
|
row() {
|
||||||
|
return this.$store.state.sample.datasetRow
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.disabled = this.id ? true : false
|
||||||
|
this.getEquipmentDict()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取设备类型字典
|
||||||
|
getEquipmentDict() {
|
||||||
|
equipmentDict().then(res => {
|
||||||
|
this.equipmentDicts = res.array
|
||||||
|
if (this.id || this.row.equipment_id) {
|
||||||
|
this.echoEdit()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑表单回显
|
||||||
|
echoEdit() {
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
this.form[key] = this.row[key]
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 下一步
|
||||||
|
onNext() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
this.$store.commit('SET_FORM_DATA', this.form)
|
||||||
|
this.$emit('next')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.submit-box {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,507 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="200px">
|
||||||
|
<el-row v-if="id">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="数据集名称" prop="dataset_name">
|
||||||
|
<el-input v-model="form.dataset_name" :disabled="disabled" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="航次名称" prop="voyage_id">
|
||||||
|
<el-select v-model="form.voyage_id" filterable placeholder="" style="width: 100%;" @change="changeVoyage" :disabled="disabled">
|
||||||
|
<el-option v-for="item in voyageOptions" :key="item.tsy_id" :label="item.voyage_name" :value="item.tsy_id"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row v-if="showPlatform">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="平台类型" prop="platform_id">
|
||||||
|
<el-select v-model="form.platform_id" filterable placeholder="" style="width: 100%;" @change="changePlatform" :disabled="disabled">
|
||||||
|
<el-option v-for="item in platformDicts" :key="item.tsy_id" :label="`${item.platform_name}(${item.platform_alias})`" :value="item.tsy_id"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<template v-if="currentPlatform === '载人潜水器组'">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="平台名称" prop="platform_name">
|
||||||
|
<el-input v-model="form.platform_name" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="潜次序号" prop="diving_sn">
|
||||||
|
<el-input v-model="form.diving_sn" :disabled="disabled" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="主驾" prop="driver_master">
|
||||||
|
<el-select v-model="form.driver_master" filterable placeholder="" style="width: 100%;">
|
||||||
|
<el-option v-for="item in memberOptions" :key="item.member_name" :label="item.member_name" :value="item.member_name"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="左舷" prop="driver_left">
|
||||||
|
<el-select v-model="form.driver_left" filterable placeholder="" style="width: 100%;">
|
||||||
|
<el-option v-for="item in memberOptions" :key="item.member_name" :label="item.member_name" :value="item.member_name"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="右舷" prop="driver_right">
|
||||||
|
<el-select v-model="form.driver_right" filterable placeholder="" style="width: 100%;">
|
||||||
|
<el-option v-for="item in memberOptions" :key="item.member_name" :label="item.member_name" :value="item.member_name"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label=""></el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="左舷科学家单位" prop="driver_unit_left">
|
||||||
|
<el-input v-model="form.driver_unit_left" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="右舷科学家单位" prop="driver_unit_right">
|
||||||
|
<el-input v-model="form.driver_unit_right" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="入水时间" prop="water_in_time">
|
||||||
|
<el-date-picker v-model="form.water_in_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="出水时间" prop="water_out_time">
|
||||||
|
<el-date-picker v-model="form.water_out_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="id">
|
||||||
|
<el-form-item label="水中时间" prop="water_minutes">
|
||||||
|
<el-input v-model="form.water_minutes" :disabled="disabled">
|
||||||
|
<template slot="append">分钟</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="坐底时间" prop="bottom_time">
|
||||||
|
<el-date-picker v-model="form.bottom_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="抛载时间" prop="throwing_time">
|
||||||
|
<el-date-picker v-model="form.throwing_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="id">
|
||||||
|
<el-form-item label="作业时间" prop="job_minutes">
|
||||||
|
<el-input v-model="form.job_minutes" :disabled="disabled">
|
||||||
|
<template slot="append">分钟</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="回收时间" prop="receive_time">
|
||||||
|
<el-date-picker v-model="form.receive_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放经度" prop="wiring_lon">
|
||||||
|
<el-input v-model="form.wiring_lon">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放纬度" prop="wiring_lat">
|
||||||
|
<el-input v-model="form.wiring_lat">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放深度" prop="wiring_deep">
|
||||||
|
<el-input v-model="form.wiring_deep">
|
||||||
|
<template slot="append">米</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
<template v-if="currentPlatform === '无人潜水器组'">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="平台名称" prop="platform_name">
|
||||||
|
<el-input v-model="form.platform_name" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="潜次序号" prop="diving_name">
|
||||||
|
<el-input v-model="form.diving_name" :disabled="disabled" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="入水时间" prop="water_in_time">
|
||||||
|
<el-date-picker v-model="form.water_in_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="出水时间" prop="water_out_time">
|
||||||
|
<el-date-picker v-model="form.water_out_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="id">
|
||||||
|
<el-form-item label="水中时间" prop="water_minutes">
|
||||||
|
<el-input v-model="form.water_minutes" :disabled="disabled">
|
||||||
|
<template slot="append">分钟</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="坐底时间" prop="bottom_time">
|
||||||
|
<el-date-picker v-model="form.bottom_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="抛载时间" prop="throwing_time">
|
||||||
|
<el-date-picker v-model="form.throwing_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="id">
|
||||||
|
<el-form-item label="作业时间" prop="job_minutes">
|
||||||
|
<el-input v-model="form.job_minutes" :disabled="disabled">
|
||||||
|
<template slot="append">分钟</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="回收时间" prop="receive_time">
|
||||||
|
<el-date-picker v-model="form.receive_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放经度" prop="wiring_lon">
|
||||||
|
<el-input v-model="form.wiring_lon">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放纬度" prop="wiring_lat">
|
||||||
|
<el-input v-model="form.wiring_lat">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放深度" prop="wiring_deep">
|
||||||
|
<el-input v-model="form.wiring_deep">
|
||||||
|
<template slot="append">米</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
<template v-if="currentPlatform === '船舶组'">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="平台名称" prop="platform_name">
|
||||||
|
<el-input v-model="form.platform_name" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
<template v-if="currentPlatform === '其他组'">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="入水时间" prop="water_in_time">
|
||||||
|
<el-date-picker v-model="form.water_in_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="出水时间" prop="water_out_time">
|
||||||
|
<el-date-picker v-model="form.water_out_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="id">
|
||||||
|
<el-form-item label="水中时间" prop="water_minutes">
|
||||||
|
<el-input v-model="form.water_minutes">
|
||||||
|
<template slot="append">分钟</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="回收时间" prop="receive_time">
|
||||||
|
<el-date-picker v-model="form.receive_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放经度" prop="wiring_lon">
|
||||||
|
<el-input v-model="form.wiring_lon">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放纬度" prop="wiring_lat">
|
||||||
|
<el-input v-model="form.wiring_lat">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="布放深度" prop="wiring_deep">
|
||||||
|
<el-input v-model="form.wiring_deep">
|
||||||
|
<template slot="append">米</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
</el-form>
|
||||||
|
<el-divider></el-divider>
|
||||||
|
<div class="submit-box">
|
||||||
|
<el-button type="primary" @click="onNext">下一步:设备信息</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { memberList, platformDict, voyageRegList } from '@/api/dataTransfer'
|
||||||
|
export default {
|
||||||
|
name: 'Platform',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 表单禁用
|
||||||
|
disabled: false,
|
||||||
|
// 航次名称下拉数据
|
||||||
|
voyageOptions: [],
|
||||||
|
// 平台类型下拉数据
|
||||||
|
platformDicts: [],
|
||||||
|
// 参航人员下拉数据
|
||||||
|
memberOptions: [],
|
||||||
|
// 平台信息表单数据
|
||||||
|
form: {
|
||||||
|
dataset_name: '',
|
||||||
|
voyage_id: '',
|
||||||
|
platform_id: '',
|
||||||
|
platform_name: '',
|
||||||
|
diving_sn: '',
|
||||||
|
driver_master: '',
|
||||||
|
driver_left: '',
|
||||||
|
driver_right: '',
|
||||||
|
driver_unit_left: '',
|
||||||
|
driver_unit_right: '',
|
||||||
|
water_in_time: '',
|
||||||
|
water_out_time: '',
|
||||||
|
water_minutes: '',
|
||||||
|
bottom_time: '',
|
||||||
|
throwing_time: '',
|
||||||
|
job_minutes: '',
|
||||||
|
receive_time: '',
|
||||||
|
wiring_lon: '',
|
||||||
|
wiring_lat: '',
|
||||||
|
wiring_deep: '',
|
||||||
|
// 无人潜水器组参数
|
||||||
|
diving_name: ''
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
voyage_id: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
platform_id: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
platform_name: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
diving_sn: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
driver_master: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
driver_left: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
driver_right: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
driver_unit_left: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
driver_unit_right: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
water_in_time: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
water_out_time: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
bottom_time: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
throwing_time: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
wiring_lon: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
wiring_lat: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
wiring_deep: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
// 无人潜水器组参数校验
|
||||||
|
diving_name: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 当前平台组
|
||||||
|
currentPlatform: '',
|
||||||
|
// 是否显示平台类型
|
||||||
|
showPlatform: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
id() {
|
||||||
|
return this.$store.state.sample.datasetId
|
||||||
|
},
|
||||||
|
row() {
|
||||||
|
return this.$store.state.sample.datasetRow
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
console.log(this.row)
|
||||||
|
this.disabled = this.id ? true : false
|
||||||
|
this.getVoyageList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取航次名称列表
|
||||||
|
getVoyageList() {
|
||||||
|
voyageRegList().then(res => {
|
||||||
|
this.voyageOptions = res.page.records
|
||||||
|
this.getPlatformDict()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取平台类型字典
|
||||||
|
getPlatformDict() {
|
||||||
|
platformDict().then(res => {
|
||||||
|
this.platformDicts = res.array
|
||||||
|
if (this.id || this.row.platform_id) {
|
||||||
|
this.showPlatform = true
|
||||||
|
// 根据平台类型名称匹配平台类型组
|
||||||
|
this.platformDicts.forEach(item => {
|
||||||
|
if (item.tsy_id == this.row.platform_id) {
|
||||||
|
this.currentPlatform = item.platform_group
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.echoEdit()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑表单回显
|
||||||
|
echoEdit() {
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
this.form[key] = this.row[key]
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取参航人员列表
|
||||||
|
getMemberList(id) {
|
||||||
|
memberList({ voyage_id: id }).then(res => {
|
||||||
|
this.memberOptions = res.array
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择航次名称
|
||||||
|
changeVoyage(val) {
|
||||||
|
this.getMemberList(val)
|
||||||
|
this.showPlatform = val ? true : false
|
||||||
|
},
|
||||||
|
// 选择平台类型
|
||||||
|
changePlatform(val) {
|
||||||
|
this.platformDicts.forEach(item => {
|
||||||
|
if (item.tsy_id == val) {
|
||||||
|
this.currentPlatform = item.platform_group
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 下一步
|
||||||
|
onNext() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
this.$store.commit('SET_FORM_DATA', this.form)
|
||||||
|
this.$emit('next')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
dataset_name: '',
|
||||||
|
voyage_id: '',
|
||||||
|
platform_id: '',
|
||||||
|
platform_name: '',
|
||||||
|
diving_sn: '',
|
||||||
|
driver_master: '',
|
||||||
|
driver_left: '',
|
||||||
|
driver_right: '',
|
||||||
|
driver_unit_left: '',
|
||||||
|
driver_unit_right: '',
|
||||||
|
water_in_time: '',
|
||||||
|
water_out_time: '',
|
||||||
|
water_minutes: '',
|
||||||
|
bottom_time: '',
|
||||||
|
throwing_time: '',
|
||||||
|
job_minutes: '',
|
||||||
|
receive_time: '',
|
||||||
|
wiring_lon: '',
|
||||||
|
wiring_lat: '',
|
||||||
|
wiring_deep: '',
|
||||||
|
// 无人潜水器组参数
|
||||||
|
diving_name: ''
|
||||||
|
}
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
this.showPlatform = false
|
||||||
|
this.currentPlatform = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.submit-box {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,514 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="bar">
|
||||||
|
<span class="track-name">{{ row.job_type }}数据样品 [{{ row.dataset_name }}]</span>
|
||||||
|
<el-button type="primary" @click="handleAdd">新增样品</el-button>
|
||||||
|
</div>
|
||||||
|
<el-table v-if="row.job_type === '站位作业'" v-loading="loading" stripe border :data="dataList">
|
||||||
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
|
<el-table-column prop="funding_org" label="资助机构" />
|
||||||
|
<el-table-column prop="publish_rule" label="公开期限" />
|
||||||
|
<el-table-column prop="sampling_time" label="采样时间" />
|
||||||
|
<el-table-column prop="sampling_lon" label="采样经度" />
|
||||||
|
<el-table-column prop="sampling_lat" label="采样纬度" />
|
||||||
|
<el-table-column prop="sampling_deep" label="采样深度" />
|
||||||
|
<el-table-column prop="sample_tag_name" label="样品标签" />
|
||||||
|
<el-table-column label="操作" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip class="item" effect="dark" content="上传轨迹文件" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="info" class="el-icon-upload2" />
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
||||||
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-table v-if="row.job_type === '测线作业'" v-loading="loading" stripe border :data="dataList">
|
||||||
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
|
<el-table-column prop="funding_org" label="资助机构" />
|
||||||
|
<el-table-column prop="publish_rule" label="公开期限" />
|
||||||
|
<el-table-column prop="line_sn" label="测线号" />
|
||||||
|
<el-table-column prop="line_deep" label="探测深度" />
|
||||||
|
<el-table-column prop="start_time" label="开始时间" />
|
||||||
|
<el-table-column prop="end_time" label="结束时间" />
|
||||||
|
<el-table-column prop="sample_status" label="处理状态" />
|
||||||
|
<el-table-column prop="sample_tag_name" label="样品标签" />
|
||||||
|
<el-table-column label="操作" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip class="item" effect="dark" content="上传轨迹文件" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="info" class="el-icon-upload2" />
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
||||||
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!-- 新增/编辑弹窗-->
|
||||||
|
<el-dialog :title="`${title}数据样品`" :visible.sync="open" :before-close="cancel" width="1000px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="资助机构">
|
||||||
|
<el-tag
|
||||||
|
:key="tag"
|
||||||
|
v-for="tag in dynamicTags"
|
||||||
|
closable
|
||||||
|
:disable-transitions="false"
|
||||||
|
@close="handleClose(tag)">
|
||||||
|
{{tag}}
|
||||||
|
</el-tag>
|
||||||
|
<el-input
|
||||||
|
class="input-new-tag"
|
||||||
|
v-if="inputVisible"
|
||||||
|
v-model="inputValue"
|
||||||
|
ref="saveTagInput"
|
||||||
|
size="small"
|
||||||
|
@keyup.enter.native="handleInputConfirm"
|
||||||
|
@blur="handleInputConfirm"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ 添加</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<template v-if="row.job_type === '站位作业'">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="公开期限" prop="publish_rule">
|
||||||
|
<el-select v-model="form.publish_rule" filterable placeholder="" style="width: 100%;">
|
||||||
|
<el-option v-for="item in publishRuleDicts" :key="item" :label="item" :value="item"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="采样时间" prop="sampling_time">
|
||||||
|
<el-date-picker v-model="form.sampling_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="采样经度" prop="sampling_lon">
|
||||||
|
<el-input v-model="form.sampling_lon">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="采样纬度" prop="sampling_lat">
|
||||||
|
<el-input v-model="form.sampling_lat">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="采样深度" prop="sampling_deep">
|
||||||
|
<el-input v-model="form.sampling_deep">
|
||||||
|
<template slot="append">米</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
<template v-if="row.job_type === '测线作业'">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="公开期限" prop="publish_rule">
|
||||||
|
<el-select v-model="form.publish_rule" filterable placeholder="" style="width: 100%;">
|
||||||
|
<el-option v-for="item in publishRuleDicts" :key="item" :label="item" :value="item"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="处理状态" prop="sample_status">
|
||||||
|
<el-select v-model="form.sample_status" filterable placeholder="" style="width: 100%;">
|
||||||
|
<el-option v-for="item in sampleStatusDicts" :key="item" :label="item" :value="item"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="数据格式" prop="sample_format">
|
||||||
|
<el-input v-model="form.sample_format" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="测线编号" prop="line_sn">
|
||||||
|
<el-input v-model="form.line_sn" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="测线开始时间" prop="start_time">
|
||||||
|
<el-date-picker v-model="form.start_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="测线结束时间" prop="end_time">
|
||||||
|
<el-date-picker v-model="form.end_time" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="测线开始经度" prop="start_lon">
|
||||||
|
<el-input v-model="form.start_lon">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="测线开始纬度" prop="start_lat">
|
||||||
|
<el-input v-model="form.start_lat">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="测线结束经度" prop="end_lon">
|
||||||
|
<el-input v-model="form.end_lon">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="测线结束纬度" prop="end_lat">
|
||||||
|
<el-input v-model="form.end_lat">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="探测深度" prop="line_deep">
|
||||||
|
<el-input v-model="form.line_deep">
|
||||||
|
<template slot="append">米</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="标签类型" prop="sample_tag_name">
|
||||||
|
<el-select v-model="form.sample_tag_name" filterable placeholder="" style="width: 100%;">
|
||||||
|
<el-option v-for="item in tagTypes" :key="item" :label="item" :value="item"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="描述信息" prop="sample_remark">
|
||||||
|
<el-input type="textarea" :rows="3" v-model="form.sample_remark" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
lineDelete,
|
||||||
|
lineEdit,
|
||||||
|
lineList,
|
||||||
|
stationDelete,
|
||||||
|
stationEdit,
|
||||||
|
stationList
|
||||||
|
} from '@/api/dataTransfer'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'SampleList',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
jobType: '站位作业',
|
||||||
|
loading: false,
|
||||||
|
// 列表数据
|
||||||
|
dataList: [],
|
||||||
|
// 新增和编辑表单参数
|
||||||
|
open: false,
|
||||||
|
title: '新增',
|
||||||
|
form: {
|
||||||
|
funding_org_array: [],
|
||||||
|
funding_org: '',
|
||||||
|
publish_rule: '',
|
||||||
|
sampling_time: '',
|
||||||
|
sampling_lon: '',
|
||||||
|
sampling_lat: '',
|
||||||
|
sampling_deep: '',
|
||||||
|
sample_tag_name: '',
|
||||||
|
sample_remark: '',
|
||||||
|
sample_status: '',
|
||||||
|
sample_format: '',
|
||||||
|
line_sn: '',
|
||||||
|
start_time: '',
|
||||||
|
end_time: '',
|
||||||
|
start_lon: '',
|
||||||
|
start_lat: '',
|
||||||
|
end_lon: '',
|
||||||
|
end_lat: '',
|
||||||
|
line_deep: ''
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
publish_rule: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sampling_time: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sampling_lon: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
sampling_lat: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
sampling_deep: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
sample_status: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
line_sn: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
start_time: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
end_time: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
start_lon: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
start_lat: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
end_lon: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
end_lat: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
line_deep: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 公开期限下拉数据
|
||||||
|
publishRuleDicts: ['公开获取', '延期公开(6个月)', '延期公开(12个月)', '延期公开(24个月)', '不公开'],
|
||||||
|
// 公开期限下拉数据
|
||||||
|
sampleStatusDicts: ['原始数据', '预处理数据', '后处理数据'],
|
||||||
|
// 标签类型下拉数据
|
||||||
|
tagTypes: ['应急搜捞', '全球深渊深潜计划', '崖州湾共享航次', '基金委共享航次'],
|
||||||
|
inputVisible: false,
|
||||||
|
dynamicTags: [],
|
||||||
|
inputValue: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
id() {
|
||||||
|
return this.$store.state.sample.datasetId
|
||||||
|
},
|
||||||
|
row() {
|
||||||
|
return this.$store.state.sample.datasetRow
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取列表数据
|
||||||
|
getData() {
|
||||||
|
this.loading = true
|
||||||
|
if (this.row.job_type === '站位作业') {
|
||||||
|
stationList({ dataset_id: this.id }).then(res => {
|
||||||
|
this.dataList = res.array
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
lineList({ dataset_id: this.id }).then(res => {
|
||||||
|
this.dataList = res.array
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 新增
|
||||||
|
handleAdd() {
|
||||||
|
this.title = '新增'
|
||||||
|
this.open = true
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
this.title = '编辑'
|
||||||
|
this.open = true
|
||||||
|
this.form = JSON.parse(JSON.stringify(row))
|
||||||
|
this.dynamicTags = this.form.funding_org.split('、')
|
||||||
|
},
|
||||||
|
// 表单参数处理
|
||||||
|
formatParams() {
|
||||||
|
this.form.funding_org_array = this.dynamicTags
|
||||||
|
this.form.funding_org = this.dynamicTags.join('、')
|
||||||
|
this.form.dataset_id = this.id
|
||||||
|
// 剔除空值属性
|
||||||
|
const obj = this.form
|
||||||
|
for (const key in obj) {
|
||||||
|
if (obj[key] === null || obj[key] === undefined || obj[key] === '') {
|
||||||
|
delete obj[key]
|
||||||
|
} else if (typeof obj[key] === 'object' && Object.keys(obj[key]).length === 0) {
|
||||||
|
delete obj[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 提交表单
|
||||||
|
submitForm() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.row.job_type === '站位作业') {
|
||||||
|
if (this.title === '新增') {
|
||||||
|
this.formatParams()
|
||||||
|
stationEdit(this.form).then(res => {
|
||||||
|
this.$message.success('已创建新的站位数据样品!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.formatParams()
|
||||||
|
stationEdit(this.form).then(res => {
|
||||||
|
this.$message.success('站位数据样品已更新!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.title === '新增') {
|
||||||
|
this.formatParams()
|
||||||
|
lineEdit(this.form).then(res => {
|
||||||
|
this.$message.success('已创建新的测线数据样品!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.formatParams()
|
||||||
|
lineEdit(this.form).then(res => {
|
||||||
|
this.$message.success('测线数据样品已更新!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 关闭弹窗
|
||||||
|
cancel() {
|
||||||
|
this.open = false
|
||||||
|
this.reset()
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
funding_org_array: [],
|
||||||
|
funding_org: '',
|
||||||
|
publish_rule: '',
|
||||||
|
sampling_time: '',
|
||||||
|
sampling_lon: '',
|
||||||
|
sampling_lat: '',
|
||||||
|
sampling_deep: '',
|
||||||
|
sample_tag_name: '',
|
||||||
|
sample_remark: '',
|
||||||
|
sample_status: '',
|
||||||
|
sample_format: '',
|
||||||
|
line_sn: '',
|
||||||
|
start_time: '',
|
||||||
|
end_time: '',
|
||||||
|
start_lon: '',
|
||||||
|
start_lat: '',
|
||||||
|
end_lon: '',
|
||||||
|
end_lat: '',
|
||||||
|
line_deep: ''
|
||||||
|
}
|
||||||
|
this.dynamicTags = []
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(row) {
|
||||||
|
this.$confirm('确定要删除该数据样品吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
if (this.row.job_type === '站位作业') {
|
||||||
|
stationDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
lineDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}).catch(() => {})
|
||||||
|
},
|
||||||
|
handleClose(type, tag) {
|
||||||
|
this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1)
|
||||||
|
},
|
||||||
|
showInput() {
|
||||||
|
this.inputVisible = true
|
||||||
|
this.$nextTick(_ => {
|
||||||
|
this.$refs.saveTagInput.$refs.input.focus()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleInputConfirm() {
|
||||||
|
const inputValue = this.inputValue
|
||||||
|
if (inputValue) {
|
||||||
|
this.dynamicTags.push(inputValue)
|
||||||
|
}
|
||||||
|
this.inputVisible = false
|
||||||
|
this.inputValue = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.bar {
|
||||||
|
margin: 20px 0;
|
||||||
|
padding: 10px 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
background-color: rgba(250,251,252);
|
||||||
|
color: #929292;
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.el-tag + .el-tag {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
.button-new-tag {
|
||||||
|
margin-left: 10px;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 30px;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.input-new-tag {
|
||||||
|
width: 90px;
|
||||||
|
margin-left: 10px;
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,126 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="bar">
|
||||||
|
<span class="track-name">潜次 [{{ diving_sn }}]</span>
|
||||||
|
<el-button type="primary">上传轨迹文件</el-button>
|
||||||
|
</div>
|
||||||
|
<el-form ref="form" :model="form" size="small" label-width="200px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="轨迹文件名称">
|
||||||
|
<el-input v-model="diving_track_file" :disabled="true" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="轨迹开始时间">
|
||||||
|
<el-input v-model="form.start.track_time" :disabled="true" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="轨迹结束时间">
|
||||||
|
<el-input v-model="form.end.track_time" :disabled="true" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="轨迹开始经度">
|
||||||
|
<el-input v-model="form.start.track_lon" :disabled="true">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="轨迹开始纬度">
|
||||||
|
<el-input v-model="form.start.track_lat" :disabled="true">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="轨迹结束经度">
|
||||||
|
<el-input v-model="form.end.track_lon" :disabled="true">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="轨迹结束纬度">
|
||||||
|
<el-input v-model="form.end.track_lat" :disabled="true">
|
||||||
|
<template slot="append">°</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { trackMap } from '@/api/dataTransfer'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'TrackInfo',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 轨迹表单数据
|
||||||
|
form: {
|
||||||
|
start: {
|
||||||
|
track_time: '',
|
||||||
|
track_lon: '',
|
||||||
|
track_lat: ''
|
||||||
|
},
|
||||||
|
end: {
|
||||||
|
track_time: '',
|
||||||
|
track_lon: '',
|
||||||
|
track_lat: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
id() {
|
||||||
|
return this.$store.state.sample.datasetId
|
||||||
|
},
|
||||||
|
row() {
|
||||||
|
return this.$store.state.sample.datasetRow
|
||||||
|
},
|
||||||
|
diving_sn() {
|
||||||
|
return this.$store.state.sample.datasetRow.diving_sn
|
||||||
|
},
|
||||||
|
diving_track_file() {
|
||||||
|
return this.$store.state.sample.datasetRow.diving_track_file
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getTrackInfo()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getTrackInfo() {
|
||||||
|
trackMap({ dataset_id: this.id }).then(res => {
|
||||||
|
const map = res.map
|
||||||
|
if (Object.keys(map).length) {
|
||||||
|
this.form = map
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.bar {
|
||||||
|
margin: 20px 0;
|
||||||
|
padding: 10px 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
background-color: rgba(250,251,252);
|
||||||
|
color: #929292;
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,430 @@
|
||||||
|
<template>
|
||||||
|
<div id="" class="page-body">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1 class="page-title">航次数据汇交</h1>
|
||||||
|
<el-breadcrumb>
|
||||||
|
<el-breadcrumb-item :to="{path: '/'}">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item :to="{name: 'VoyageReg'}">数据汇交</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>航次数据汇交</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
|
<div class="filter-container">
|
||||||
|
<div class="checkBtn">
|
||||||
|
<el-button type="primary" size="medium" @click="handleAdd">航次数据录入</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
|
<el-table-column prop="voyage_name" label="航次名称" />
|
||||||
|
<el-table-column prop="ship_name" label="科考船舶" />
|
||||||
|
<el-table-column prop="voyage_start_date" label="离港日期" />
|
||||||
|
<el-table-column prop="voyage_end_date" label="返港日期" />
|
||||||
|
<el-table-column prop="voyage_officer" label="首席" />
|
||||||
|
<el-table-column prop="member_total" label="参航人数" />
|
||||||
|
<el-table-column prop="funding_org" label="资助机构" />
|
||||||
|
<el-table-column prop="funding_code" label="资助编号" />
|
||||||
|
<el-table-column label="操作" width="120">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
||||||
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" style="margin-left: 0%;" />
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="pagination-box">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
:page-sizes="[10, 20, 30]"
|
||||||
|
:page-size="params.limit"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total"
|
||||||
|
:current-page="pageNum"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<!-- 新增/编辑弹窗-->
|
||||||
|
<el-dialog :title="`${title}航次信息`" :visible.sync="open" :before-close="cancel" width="800px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="航次名称" prop="voyage_name">
|
||||||
|
<el-input v-model="form.voyage_name" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="资助编号" prop="funding_code">
|
||||||
|
<el-input v-model="form.funding_code" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="科考船舶" prop="ship_name">
|
||||||
|
<el-select v-model="form.ship_name" style="width: 100%">
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in shipOptions"
|
||||||
|
:key="index"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="涉密航次" prop="serect_status">
|
||||||
|
<el-select v-model="form.serect_status" style="width: 100%">
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in secretOptions"
|
||||||
|
:key="index"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="离岗日期" prop="start_date">
|
||||||
|
<el-date-picker
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="form.start_date"
|
||||||
|
type="date">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="返岗日期" prop="end_date">
|
||||||
|
<el-date-picker
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="form.end_date"
|
||||||
|
type="date">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="航次资助机构">
|
||||||
|
<el-tag
|
||||||
|
:key="tag"
|
||||||
|
v-for="tag in dynamicTags1"
|
||||||
|
closable
|
||||||
|
:disable-transitions="false"
|
||||||
|
@close="handleClose(1, tag)">
|
||||||
|
{{tag}}
|
||||||
|
</el-tag>
|
||||||
|
<el-input
|
||||||
|
class="input-new-tag"
|
||||||
|
v-if="inputVisible1"
|
||||||
|
v-model="inputValue1"
|
||||||
|
ref="saveTagInput1"
|
||||||
|
size="small"
|
||||||
|
@keyup.enter.native="handleInputConfirm(1)"
|
||||||
|
@blur="handleInputConfirm(1)"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
<el-button v-else class="button-new-tag" size="small" @click="showInput(1)">+ 添加</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="航次首席" prop="voyage_officer">
|
||||||
|
<el-tag
|
||||||
|
:key="tag"
|
||||||
|
v-for="tag in dynamicTags2"
|
||||||
|
closable
|
||||||
|
:disable-transitions="false"
|
||||||
|
@close="handleClose(2, tag)">
|
||||||
|
{{tag}}
|
||||||
|
</el-tag>
|
||||||
|
<el-input
|
||||||
|
class="input-new-tag"
|
||||||
|
v-if="inputVisible2"
|
||||||
|
v-model="inputValue2"
|
||||||
|
ref="saveTagInput2"
|
||||||
|
size="small"
|
||||||
|
@keyup.enter.native="handleInputConfirm(2)"
|
||||||
|
@blur="handleInputConfirm(2)"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
<el-button v-else class="button-new-tag" size="small" @click="showInput(2)">+ 添加</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="描述信息" prop="voyage_remark">
|
||||||
|
<el-input type="textarea" :rows="3" v-model="form.voyage_remark" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { voyageRegList, voyageRegEdit, voyageRegDelete } from '@/api/dataTransfer'
|
||||||
|
import { time } from '@/utils/validate'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'VoyageReg',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
// 分页请求参数
|
||||||
|
params: {
|
||||||
|
start: 0,
|
||||||
|
limit: 10,
|
||||||
|
group: 10
|
||||||
|
},
|
||||||
|
pageNum: 1,
|
||||||
|
// 列表数据
|
||||||
|
tableData: [],
|
||||||
|
total: 0,
|
||||||
|
// 新增和编辑表单参数
|
||||||
|
open: false,
|
||||||
|
title: '新增',
|
||||||
|
form: {
|
||||||
|
voyage_name: '',
|
||||||
|
ship_name: '',
|
||||||
|
serect_status: '',
|
||||||
|
start_date: '',
|
||||||
|
end_date: '',
|
||||||
|
voyage_officer_array: [],
|
||||||
|
funding_org_array: [],
|
||||||
|
funding_code: '',
|
||||||
|
voyage_remark: '',
|
||||||
|
voyage_officer: '',
|
||||||
|
funding_org: '',
|
||||||
|
voyage_start_date: '',
|
||||||
|
voyage_end_date: ''
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
voyage_name: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
ship_name: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
start_date: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
end_date: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
],
|
||||||
|
voyage_officer: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'change' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
shipOptions: ['探索一号', '探索二号'],
|
||||||
|
secretOptions: [
|
||||||
|
{
|
||||||
|
label: '是',
|
||||||
|
value: 'Active'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '否',
|
||||||
|
value: 'InActive'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
inputVisible1: false,
|
||||||
|
dynamicTags1: [],
|
||||||
|
inputValue1: '',
|
||||||
|
dynamicTags2: [],
|
||||||
|
inputVisible2: false,
|
||||||
|
inputValue2: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取列表数据
|
||||||
|
getData() {
|
||||||
|
this.loading = true
|
||||||
|
voyageRegList(this.params).then(res => {
|
||||||
|
this.tableData = res.page.records
|
||||||
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 新增
|
||||||
|
handleAdd() {
|
||||||
|
this.title = '新增'
|
||||||
|
this.open = true
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
this.title = '编辑'
|
||||||
|
this.open = true
|
||||||
|
this.form = JSON.parse(JSON.stringify(row))
|
||||||
|
this.form.start_date = new Date(this.form.voyage_start_date)
|
||||||
|
this.form.end_date = new Date(this.form.voyage_end_date)
|
||||||
|
this.dynamicTags1 = this.form.funding_org.split('、')
|
||||||
|
this.form.funding_org_array = this.dynamicTags1
|
||||||
|
this.dynamicTags2 = this.form.voyage_officer.split('、')
|
||||||
|
this.form.voyage_officer_array = this.dynamicTags2
|
||||||
|
},
|
||||||
|
// 表单参数处理
|
||||||
|
formatParams() {
|
||||||
|
this.form.funding_org_array = this.dynamicTags1
|
||||||
|
this.form.funding_org = this.dynamicTags1.join('、')
|
||||||
|
this.form.voyage_officer_array = this.dynamicTags2
|
||||||
|
this.form.voyage_officer = this.dynamicTags2.join('、')
|
||||||
|
this.form.voyage_start_date = time(this.form.start_date, 'date')
|
||||||
|
this.form.voyage_end_date = time(this.form.end_date, 'date')
|
||||||
|
},
|
||||||
|
// 提交表单
|
||||||
|
submitForm() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.title === '新增') {
|
||||||
|
this.formatParams()
|
||||||
|
voyageRegEdit(this.form).then(res => {
|
||||||
|
this.$message.success('已创建新的航次信息!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.formatParams()
|
||||||
|
voyageRegEdit(this.form).then(res => {
|
||||||
|
this.$message.success('航次信息已更新!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 关闭弹窗
|
||||||
|
cancel() {
|
||||||
|
this.open = false
|
||||||
|
this.reset()
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
voyage_name: '',
|
||||||
|
ship_name: '',
|
||||||
|
serect_status: '',
|
||||||
|
start_date: '',
|
||||||
|
end_date: '',
|
||||||
|
voyage_officer_array: [],
|
||||||
|
funding_org_array: [],
|
||||||
|
funding_code: '',
|
||||||
|
voyage_remark: '',
|
||||||
|
voyage_officer: '',
|
||||||
|
funding_org: '',
|
||||||
|
voyage_start_date: '',
|
||||||
|
voyage_end_date: ''
|
||||||
|
}
|
||||||
|
this.dynamicTags1 = []
|
||||||
|
this.dynamicTags2 = []
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(row) {
|
||||||
|
this.$confirm('确定要删除该航次数据吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
voyageRegDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
|
})
|
||||||
|
}).catch(() => {})
|
||||||
|
},
|
||||||
|
// 分页
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.pageNum = val
|
||||||
|
this.params.start = val * this.params.limit - this.params.limit
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.params.limit = val
|
||||||
|
this.getData()
|
||||||
|
},
|
||||||
|
handleClose(type, tag) {
|
||||||
|
if (type === 1) {
|
||||||
|
this.dynamicTags1.splice(this.dynamicTags1.indexOf(tag), 1)
|
||||||
|
}
|
||||||
|
if (type === 2) {
|
||||||
|
this.dynamicTags2.splice(this.dynamicTags2.indexOf(tag), 1)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
showInput(type) {
|
||||||
|
if (type === 1) {
|
||||||
|
this.inputVisible1 = true
|
||||||
|
this.$nextTick(_ => {
|
||||||
|
this.$refs.saveTagInput1.$refs.input.focus()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (type === 2) {
|
||||||
|
this.inputVisible2 = true
|
||||||
|
this.$nextTick(_ => {
|
||||||
|
this.$refs.saveTagInput2.$refs.input.focus()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleInputConfirm(type) {
|
||||||
|
if (type === 1) {
|
||||||
|
const inputValue1 = this.inputValue1
|
||||||
|
if (inputValue1) {
|
||||||
|
this.dynamicTags1.push(inputValue1)
|
||||||
|
}
|
||||||
|
this.inputVisible1 = false
|
||||||
|
this.inputValue1 = ''
|
||||||
|
}
|
||||||
|
if (type === 2) {
|
||||||
|
const inputValue2 = this.inputValue2
|
||||||
|
if (inputValue2) {
|
||||||
|
this.dynamicTags2.push(inputValue2)
|
||||||
|
}
|
||||||
|
this.inputVisible2 = false
|
||||||
|
this.inputValue2 = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
dynamicTags2(arr) {
|
||||||
|
if (arr.length) {
|
||||||
|
this.form.voyage_officer = this.dynamicTags2.join('、')
|
||||||
|
this.$refs.form.clearValidate('voyage_officer')
|
||||||
|
} else {
|
||||||
|
this.form.voyage_officer = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.el-tag + .el-tag {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
.button-new-tag {
|
||||||
|
margin-left: 10px;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 30px;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.input-new-tag {
|
||||||
|
width: 90px;
|
||||||
|
margin-left: 10px;
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
|
@ -15,12 +15,22 @@
|
||||||
</div>
|
</div>
|
||||||
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
<el-table-column type="index" label="#" width="50"/>
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
<el-table-column prop="data_name" label="数据样品类型类型名称" />
|
<el-table-column prop="data_name" label="数据样品类型名称" />
|
||||||
<el-table-column prop="data_eng" label="英文名称" />
|
<el-table-column prop="data_eng" label="英文名称" />
|
||||||
<el-table-column prop="data_alias" label="别名" width="100" />
|
<el-table-column prop="data_alias" label="别名" width="100" />
|
||||||
<el-table-column prop="data_order" label="排序" width="100" />
|
<el-table-column prop="data_order" label="排序" width="100" />
|
||||||
<el-table-column prop="data_group" label="分组" width="100" />
|
<el-table-column prop="data_group" label="分组" width="120" />
|
||||||
<el-table-column prop="create_time" label="创建时间" width="160" />
|
<el-table-column prop="create_time" label="创建时间" width="160" />
|
||||||
|
<el-table-column label="操作" width="120">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
||||||
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" style="margin-left: 0%;" />
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div class="pagination-box">
|
<div class="pagination-box">
|
||||||
<el-pagination
|
<el-pagination
|
||||||
|
|
@ -34,48 +44,38 @@
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal">
|
<!-- 新增/编辑弹窗-->
|
||||||
<el-dialog
|
<el-dialog :title="`${title}数据样品类型`" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||||
:title="handleType ? '添加数据样品类型' : '修改数据样品类型'"
|
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
||||||
:visible.sync="open"
|
<el-form-item label="数据样品类型名称" prop="data_name">
|
||||||
width="30%"
|
<el-input v-model="form.data_name" />
|
||||||
>
|
|
||||||
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
|
|
||||||
<el-form-item label="数据样品类型名称" prop="nameZh">
|
|
||||||
<el-input v-model="form.nameZh" size="medium" auto-complete="off" placeholder="请输入" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="英文名称" prop="nameEn">
|
<el-form-item label="类型分组" prop="data_group">
|
||||||
<el-input v-model="form.nameEn" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.data_group" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="别名" prop="alias">
|
<el-form-item label="英文名称" prop="data_eng">
|
||||||
<el-input v-model="form.alias" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.data_eng" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="数据样品类型描述" prop="description">
|
<el-form-item label="别名(简称)" prop="data_alias">
|
||||||
<el-input v-model="form.description" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.data_alias" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="排序" prop="data_order">
|
||||||
|
<el-input v-model="form.data_order" type="number" maxlength="4" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="描述信息" prop="data_remark">
|
||||||
|
<el-input v-model="form.data_remark" type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row type="flex" justify="center">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
style="width: 100px"
|
<el-button @click="cancel">取 消</el-button>
|
||||||
type="primary"
|
|
||||||
size="medium"
|
|
||||||
@click="submitForm"
|
|
||||||
>确定</el-button>
|
|
||||||
<el-button
|
|
||||||
size="medium"
|
|
||||||
style="margin-left: 10px; width: 100px"
|
|
||||||
type="info"
|
|
||||||
plain
|
|
||||||
@click="cancel"
|
|
||||||
>取消</el-button>
|
|
||||||
</el-row>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { dictDataList } from '@/api/dicManage'
|
import { dictDataDelete, dictDataEdit, dictDataList } from '@/api/dicManage'
|
||||||
export default {
|
export default {
|
||||||
name: 'DataSampleType',
|
name: 'DataSampleType',
|
||||||
data() {
|
data() {
|
||||||
|
|
@ -91,21 +91,29 @@ export default {
|
||||||
// 列表数据
|
// 列表数据
|
||||||
tableData: [],
|
tableData: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
// 弹窗参数
|
// 新增和编辑表单参数
|
||||||
handleType: 1,
|
|
||||||
open: false,
|
open: false,
|
||||||
// 表单参数
|
title: '新增',
|
||||||
form: {},
|
form: {
|
||||||
// 表单规则
|
data_name: '',
|
||||||
|
data_group: '',
|
||||||
|
data_eng: '',
|
||||||
|
data_alias: '',
|
||||||
|
data_order: '',
|
||||||
|
data_remark: ''
|
||||||
|
},
|
||||||
rules: {
|
rules: {
|
||||||
nameZh: [
|
data_name: [
|
||||||
{ required: true, message: '请输入数据样品类型名称', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
nameEn: [
|
data_eng: [
|
||||||
{ required: true, message: '请输入英文名称', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
alias: [
|
data_alias: [
|
||||||
{ required: true, message: '请输入别名', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
data_order: [
|
||||||
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -116,19 +124,74 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
// 获取列表数据
|
// 获取列表数据
|
||||||
getData() {
|
getData() {
|
||||||
|
this.loading = true
|
||||||
dictDataList(this.params).then(res => {
|
dictDataList(this.params).then(res => {
|
||||||
this.tableData = res.page.records
|
this.tableData = res.page.records
|
||||||
this.total = Number(res.page.total)
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 新增
|
// 新增
|
||||||
handleAdd() {},
|
handleAdd() {
|
||||||
|
this.title = '新增'
|
||||||
|
this.open = true
|
||||||
|
},
|
||||||
// 编辑
|
// 编辑
|
||||||
handleEdit() {},
|
handleEdit(row) {
|
||||||
|
this.title = '编辑'
|
||||||
|
this.open = true
|
||||||
|
this.form = JSON.parse(JSON.stringify(row))
|
||||||
|
},
|
||||||
// 提交表单
|
// 提交表单
|
||||||
submitForm() {},
|
submitForm() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.title === '新增') {
|
||||||
|
dictDataEdit(this.form).then(res => {
|
||||||
|
this.$message.success('已创建新的数据样品类型!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
dictDataEdit(this.form).then(res => {
|
||||||
|
this.$message.success('数据样品类型已更新!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
// 关闭弹窗
|
// 关闭弹窗
|
||||||
cancel() {},
|
cancel() {
|
||||||
|
this.open = false
|
||||||
|
this.reset()
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
data_name: '',
|
||||||
|
data_group: '',
|
||||||
|
data_eng: '',
|
||||||
|
data_alias: '',
|
||||||
|
data_order: '',
|
||||||
|
data_remark: ''
|
||||||
|
}
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(row) {
|
||||||
|
this.$confirm('确定要删除该数据样品类型吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
dictDataDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
|
})
|
||||||
|
}).catch(() => {})
|
||||||
|
},
|
||||||
// 分页
|
// 分页
|
||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
this.pageNum = val
|
this.pageNum = val
|
||||||
|
|
|
||||||
|
|
@ -10,30 +10,24 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="filter-container">
|
<div class="filter-container">
|
||||||
<div class="checkBtn">
|
<div class="checkBtn">
|
||||||
<el-button type="primary" size="medium" @click="batchImport">设备类型录入</el-button>
|
<el-button type="primary" size="medium" @click="handleAdd">设备类型录入</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" height="600px" @row-click="openModal">
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
<el-table-column
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
type="index"
|
<el-table-column prop="equipment_name" label="设备类型名称" />
|
||||||
width="50"
|
<el-table-column prop="equipment_eng" label="英文名称" />
|
||||||
/>
|
<el-table-column prop="equipment_alias" label="别名" width="100" />
|
||||||
<el-table-column prop="nameZh" label="设备类型名称" />
|
<el-table-column prop="equipment_order" label="排序" width="100" />
|
||||||
<el-table-column prop="nameEn" label="英文名称" />
|
<el-table-column prop="equipment_group" label="分组" width="120" />
|
||||||
<el-table-column prop="alias" label="别名" />
|
<el-table-column prop="create_time" label="创建时间" width="160" />
|
||||||
<el-table-column prop="description" label="描述" />
|
<el-table-column label="操作" width="120">
|
||||||
<el-table-column prop="updateTime" label="创建时间">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ time(scope.row.updateTime) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" width="200">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" />
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
||||||
<el-button id="del" size="mini" type="danger" class="el-icon-delete" style="margin-left: 0%;" />
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" style="margin-left: 0%;" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -41,308 +35,173 @@
|
||||||
<div class="pagination-box">
|
<div class="pagination-box">
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
:current-page="currentPage"
|
:page-sizes="[10, 20, 30]"
|
||||||
:page-sizes="[15, 30, 50]"
|
:page-size="params.limit"
|
||||||
:page-size="pagesize"
|
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
:total="count"
|
:total="total"
|
||||||
|
:current-page="pageNum"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal">
|
<!-- 新增/编辑弹窗-->
|
||||||
<el-dialog
|
<el-dialog :title="`${title}设备类型`" :visible.sync="open" width="500px" :before-close="cancel" append-to-body>
|
||||||
:title="userStatus? '添加设备类型' : '修改设备类型'"
|
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
||||||
:visible.sync="showUserForm"
|
<el-form-item label="设备类型名称" prop="equipment_name">
|
||||||
width="30%"
|
<el-input v-model="form.equipment_name" />
|
||||||
:before-close="handleClose"
|
|
||||||
>
|
|
||||||
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
|
|
||||||
<el-form-item label="设备类型名称" prop="nameZh">
|
|
||||||
<el-input v-model="form.nameZh" size="medium" auto-complete="off" placeholder="请输入" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="英文名称" prop="nameEn">
|
<el-form-item label="设备分组" prop="equipment_group">
|
||||||
<el-input v-model="form.nameEn" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.equipment_group" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="别名" prop="alias">
|
<el-form-item label="英文名称" prop="equipment_eng">
|
||||||
<el-input v-model="form.alias" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.equipment_eng" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="数据样品类型描述" prop="description">
|
<el-form-item label="别名(简称)" prop="equipment_alias">
|
||||||
<el-input v-model="form.description" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.equipment_alias" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="排序" prop="equipment_order">
|
||||||
|
<el-input v-model="form.equipment_order" type="number" maxlength="4" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="描述信息" prop="equipment_remark">
|
||||||
|
<el-input v-model="form.equipment_remark" type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row type="flex" justify="center">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
v-loading="subLoading"
|
<el-button @click="cancel">取 消</el-button>
|
||||||
style="width: 100px"
|
|
||||||
type="primary"
|
|
||||||
size="medium"
|
|
||||||
@click="saveData"
|
|
||||||
>确定</el-button>
|
|
||||||
<el-button
|
|
||||||
size="medium"
|
|
||||||
style="margin-left: 10px; width: 100px"
|
|
||||||
type="info"
|
|
||||||
plain
|
|
||||||
@click="showUserForm = false;clearInput();resetForm();"
|
|
||||||
>取消</el-button>
|
|
||||||
</el-row>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDicList, deleteDoc, equAdd, equUpdate
|
import { dictEquipmentDelete, dictEquipmentEdit, dictEquipmentList } from '@/api/dicManage'
|
||||||
} from '@/api/dicManage'
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DocType',
|
name: 'DocType',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
subLoading: false,
|
// 分页请求参数
|
||||||
// 新建
|
params: {
|
||||||
userStatus: true,
|
start: 0,
|
||||||
// 数据model
|
limit: 10,
|
||||||
recordEnabled: 0,
|
group: 10
|
||||||
showUserForm: false,
|
},
|
||||||
delDialogVisible: false,
|
pageNum: 1,
|
||||||
currentPage: 1,
|
// 列表数据
|
||||||
pagesize: 15,
|
tableData: [],
|
||||||
count: 0,
|
total: 0,
|
||||||
|
// 新增和编辑表单参数
|
||||||
|
open: false,
|
||||||
|
title: '新增',
|
||||||
form: {
|
form: {
|
||||||
nameZh: '',
|
equipment_name: '',
|
||||||
nameEn: '',
|
equipment_group: '',
|
||||||
alias: '',
|
equipment_eng: '',
|
||||||
description: '',
|
equipment_alias: '',
|
||||||
typeId: '',
|
equipment_order: '',
|
||||||
id: ''
|
equipment_remark: ''
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
nameZh: [
|
equipment_name: [
|
||||||
{ required: true, message: '请输入数据样品类型名称', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
nameEn: [
|
equipment_eng: [
|
||||||
{ required: true, message: '请输入英文名称', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
alias: [
|
equipment_alias: [
|
||||||
{ required: true, message: '请输入别名', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
]
|
],
|
||||||
},
|
equipment_order: [
|
||||||
tableData: [
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
// {
|
|
||||||
// name: '侧扫',
|
|
||||||
// enName: 'Sidescan',
|
|
||||||
// alias: 'VD',
|
|
||||||
// describe: '学科数据类型',
|
|
||||||
// updateTime: '2022.3.4 12: 20: 00'
|
|
||||||
// },
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.init()
|
this.getData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
batchImport() {
|
// 获取列表数据
|
||||||
this.showUserForm = true
|
getData() {
|
||||||
this.userStatus = true
|
this.loading = true
|
||||||
|
dictEquipmentList(this.params).then(res => {
|
||||||
|
this.tableData = res.page.records
|
||||||
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
time(val) {
|
// 新增
|
||||||
if (!val) {
|
handleAdd() {
|
||||||
return ''
|
this.title = '新增'
|
||||||
|
this.open = true
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
this.title = '编辑'
|
||||||
|
this.open = true
|
||||||
|
this.form = JSON.parse(JSON.stringify(row))
|
||||||
|
},
|
||||||
|
// 提交表单
|
||||||
|
submitForm() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.title === '新增') {
|
||||||
|
dictEquipmentEdit(this.form).then(res => {
|
||||||
|
this.$message.success('已创建新的设备类型!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
dictEquipmentEdit(this.form).then(res => {
|
||||||
|
this.$message.success('设备类型已更新!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
var date = new Date(val)
|
}
|
||||||
var y = date.getFullYear()
|
})
|
||||||
var m = date.getMonth() + 1
|
|
||||||
m = m < 10 ? '0' + m : m
|
|
||||||
var d = date.getDate()
|
|
||||||
d = d < 10 ? '0' + d : d
|
|
||||||
var h = date.getHours()
|
|
||||||
h = h < 10 ? '0' + h : h
|
|
||||||
var minute = date.getMinutes()
|
|
||||||
minute = minute < 10 ? '0' + minute : minute
|
|
||||||
var second = date.getSeconds()
|
|
||||||
second = second < 10 ? '0' + second : second
|
|
||||||
return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
|
|
||||||
},
|
},
|
||||||
tableIndex(index) {
|
// 关闭弹窗
|
||||||
return (this.currentPage - 1) * this.pagesize + index + 1
|
cancel() {
|
||||||
|
this.open = false
|
||||||
|
this.reset()
|
||||||
},
|
},
|
||||||
openModal(row, event, column) {
|
// 表单重置
|
||||||
// 判断操作内容
|
reset() {
|
||||||
var opType = column.target.id
|
this.form = {
|
||||||
if (opType == 'del') {
|
equipment_name: '',
|
||||||
this.$confirm('确定删除选中的数据吗?此操作不可撤销!', '提示', {
|
equipment_group: '',
|
||||||
|
equipment_eng: '',
|
||||||
|
equipment_alias: '',
|
||||||
|
equipment_order: '',
|
||||||
|
equipment_remark: ''
|
||||||
|
}
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(row) {
|
||||||
|
this.$confirm('确定要删除该设备类型吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
dictEquipmentDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
})
|
})
|
||||||
.then(() => {
|
}).catch(() => {})
|
||||||
this.deleteData(row.typeId)
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
console.log(error)
|
|
||||||
})
|
|
||||||
} else if (opType == 'mod') {
|
|
||||||
this.showUserForm = true
|
|
||||||
this.userStatus = false
|
|
||||||
this.form = JSON.parse(JSON.stringify(row))
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async deleteData(typeId) {
|
// 分页
|
||||||
this.loading = true
|
handleCurrentChange(val) {
|
||||||
const data = {
|
this.pageNum = val
|
||||||
type: 'equType',
|
this.params.start = val * this.params.limit - this.params.limit
|
||||||
typeId
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await deleteDoc(data)
|
|
||||||
if (res.code == 200) {
|
|
||||||
this.init()
|
|
||||||
}
|
|
||||||
this.loading = false
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
init() {
|
|
||||||
this.currentPage = 1
|
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
handleSizeChange(val) {
|
||||||
handleSizeChange: function(size) {
|
this.params.limit = val
|
||||||
this.pagesize = size
|
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
handleCurrentChange: function(currentPage) {
|
|
||||||
this.currentPage = currentPage
|
|
||||||
this.getData()
|
|
||||||
},
|
|
||||||
fuzzyQueryFunction() {
|
|
||||||
this.currentPage = 1
|
|
||||||
this.getData()
|
|
||||||
},
|
|
||||||
reset() {
|
|
||||||
this.queryName = ''
|
|
||||||
},
|
|
||||||
async getData() {
|
|
||||||
this.loading = true
|
|
||||||
const data = {
|
|
||||||
page: this.currentPage,
|
|
||||||
size: this.pagesize,
|
|
||||||
type: 'equType'
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await getDicList(data)
|
|
||||||
if (res.code == 200) {
|
|
||||||
if (res.data.content) {
|
|
||||||
this.tableData = res.data.content
|
|
||||||
this.count = Number(res.data.count)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.loading = false
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
saveData() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
if (this.userStatus) {
|
|
||||||
this.addFunction()
|
|
||||||
} else {
|
|
||||||
this.updateFunction()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
async addFunction() {
|
|
||||||
this.subLoading = true
|
|
||||||
const data = {
|
|
||||||
nameZh: this.form.nameZh,
|
|
||||||
nameEn: this.form.nameEn,
|
|
||||||
alias: this.form.alias,
|
|
||||||
description: this.form.description
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await equAdd(data)
|
|
||||||
if (res.code === 200) {
|
|
||||||
this.$message({
|
|
||||||
message: '添加成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
this.resetForm()
|
|
||||||
this.subLoading = false
|
|
||||||
this.showUserForm = false
|
|
||||||
this.init()
|
|
||||||
} else {
|
|
||||||
this.$message({
|
|
||||||
message: res.message,
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async updateFunction() {
|
|
||||||
this.subLoading = true
|
|
||||||
const data = {
|
|
||||||
nameZh: this.form.nameZh,
|
|
||||||
nameEn: this.form.nameEn,
|
|
||||||
alias: this.form.alias,
|
|
||||||
description: this.form.description,
|
|
||||||
typeId: this.form.typeId,
|
|
||||||
id: this.form.id
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await equUpdate(data)
|
|
||||||
if (res.code === 200) {
|
|
||||||
this.$message({
|
|
||||||
message: '修改成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
this.resetForm()
|
|
||||||
this.subLoading = false
|
|
||||||
this.showUserForm = false
|
|
||||||
this.init()
|
|
||||||
} else {
|
|
||||||
this.$message({
|
|
||||||
message: res.message,
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
resetForm() {
|
|
||||||
this.$refs['form'].resetFields()
|
|
||||||
},
|
|
||||||
handleClose(done) { // 加一个点击遮罩和关闭按钮时的回调函数
|
|
||||||
this.clearInput()
|
|
||||||
this.resetForm()
|
|
||||||
done()
|
|
||||||
},
|
|
||||||
clearInput() {
|
|
||||||
this.form = {
|
|
||||||
nameZh: '',
|
|
||||||
nameEn: '',
|
|
||||||
alias: '',
|
|
||||||
description: '',
|
|
||||||
typeId: '',
|
|
||||||
id: ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -10,30 +10,24 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="filter-container">
|
<div class="filter-container">
|
||||||
<div class="checkBtn">
|
<div class="checkBtn">
|
||||||
<el-button type="primary" size="medium" @click="batchImport">平台类型录入</el-button>
|
<el-button type="primary" size="medium" @click="handleAdd">平台类型录入</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" height="600px" @row-click="openModal">
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
<el-table-column
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
type="index"
|
<el-table-column prop="platform_name" label="平台类型名称" />
|
||||||
width="50"
|
<el-table-column prop="platform_eng" label="英文名称" />
|
||||||
/>
|
<el-table-column prop="platform_alias" label="别名" width="100" />
|
||||||
<el-table-column prop="nameZh" label="平台类型名称" />
|
<el-table-column prop="platform_order" label="排序" width="100" />
|
||||||
<el-table-column prop="nameEn" label="英文名称" />
|
<el-table-column prop="platform_group" label="分组" width="120" />
|
||||||
<el-table-column prop="alias" label="别名" />
|
<el-table-column prop="create_time" label="创建时间" width="160" />
|
||||||
<el-table-column prop="description" label="描述" />
|
<el-table-column label="操作" width="120">
|
||||||
<el-table-column prop="updateTime" label="创建时间">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ time(scope.row.updateTime) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" width="200">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" />
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
||||||
<el-button id="del" size="mini" type="danger" class="el-icon-delete" style="margin-left: 0%;" />
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" style="margin-left: 0%;" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -41,298 +35,173 @@
|
||||||
<div class="pagination-box">
|
<div class="pagination-box">
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
:current-page="currentPage"
|
:page-sizes="[10, 20, 30]"
|
||||||
:page-sizes="[15, 30, 50]"
|
:page-size="params.limit"
|
||||||
:page-size="pagesize"
|
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
:total="count"
|
:total="total"
|
||||||
|
:current-page="pageNum"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal">
|
<!-- 新增/编辑弹窗-->
|
||||||
<el-dialog
|
<el-dialog :title="`${title}平台类型`" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||||
:title="userStatus? '添加平台类型' : '修改平台类型'"
|
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
||||||
:visible.sync="showUserForm"
|
<el-form-item label="平台类型名称" prop="platform_name">
|
||||||
width="30%"
|
<el-input v-model="form.platform_name" />
|
||||||
:before-close="handleClose"
|
|
||||||
>
|
|
||||||
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
|
|
||||||
<el-form-item label="平台类型名称" prop="nameZh">
|
|
||||||
<el-input v-model="form.nameZh" size="medium" auto-complete="off" placeholder="请输入" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="英文名称" prop="nameEn">
|
<el-form-item label="平台分组" prop="platform_group">
|
||||||
<el-input v-model="form.nameEn" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.platform_group" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="别名" prop="alias">
|
<el-form-item label="英文名称" prop="platform_eng">
|
||||||
<el-input v-model="form.alias" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.platform_eng" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="平台类型描述" prop="description">
|
<el-form-item label="别名(简称)" prop="platform_alias">
|
||||||
<el-input v-model="form.description" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.platform_alias" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="排序" prop="platform_order">
|
||||||
|
<el-input v-model="form.platform_order" type="number" maxlength="4" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="描述信息" prop="platform_remark">
|
||||||
|
<el-input v-model="form.platform_remark" type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row type="flex" justify="center">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
v-loading="subLoading"
|
<el-button @click="cancel">取 消</el-button>
|
||||||
style="width: 100px"
|
|
||||||
type="primary"
|
|
||||||
size="medium"
|
|
||||||
@click="saveData"
|
|
||||||
>确定</el-button>
|
|
||||||
<el-button
|
|
||||||
size="medium"
|
|
||||||
style="margin-left: 10px; width: 100px"
|
|
||||||
type="info"
|
|
||||||
plain
|
|
||||||
@click="showUserForm = false;clearInput();resetForm();"
|
|
||||||
>取消</el-button>
|
|
||||||
</el-row>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDicList, deleteDoc, platformAdd, platformUpdate
|
import { dictPlatformDelete, dictPlatformEdit, dictPlatformList } from '@/api/dicManage'
|
||||||
} from '@/api/dicManage'
|
|
||||||
export default {
|
export default {
|
||||||
name: 'PlatformType',
|
name: 'PlatformType',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
subLoading: false,
|
// 分页请求参数
|
||||||
// 新建
|
params: {
|
||||||
userStatus: true,
|
start: 0,
|
||||||
// 数据model
|
limit: 10,
|
||||||
recordEnabled: 0,
|
group: 10
|
||||||
showUserForm: false,
|
},
|
||||||
delDialogVisible: false,
|
pageNum: 1,
|
||||||
currentPage: 1,
|
// 列表数据
|
||||||
pagesize: 15,
|
tableData: [],
|
||||||
count: 0,
|
total: 0,
|
||||||
|
// 新增和编辑表单参数
|
||||||
|
open: false,
|
||||||
|
title: '新增',
|
||||||
form: {
|
form: {
|
||||||
nameZh: '',
|
platform_name: '',
|
||||||
nameEn: '',
|
platform_group: '',
|
||||||
alias: '',
|
platform_eng: '',
|
||||||
description: '',
|
platform_alias: '',
|
||||||
typeId: '',
|
platform_order: '',
|
||||||
id: ''
|
platform_remark: ''
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
nameZh: [
|
platform_name: [
|
||||||
{ required: true, message: '请输入平台类型名称', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
nameEn: [
|
platform_eng: [
|
||||||
{ required: true, message: '请输入英文名称', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
alias: [
|
platform_alias: [
|
||||||
{ required: true, message: '请输入别名', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
]
|
],
|
||||||
},
|
platform_order: [
|
||||||
tableData: [
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
// {
|
|
||||||
// name: '侧扫',
|
|
||||||
// enName: 'Sidescan',
|
|
||||||
// alias: 'VD',
|
|
||||||
// description: '学科数据类型',
|
|
||||||
// updateTime: '2022.3.4 12: 20: 00'
|
|
||||||
// },
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.init()
|
this.getData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
batchImport() {
|
// 获取列表数据
|
||||||
this.showUserForm = true
|
getData() {
|
||||||
this.userStatus = true
|
this.loading = true
|
||||||
|
dictPlatformList(this.params).then(res => {
|
||||||
|
this.tableData = res.page.records
|
||||||
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
time(val) {
|
// 新增
|
||||||
if (!val) {
|
handleAdd() {
|
||||||
return ''
|
this.title = '新增'
|
||||||
|
this.open = true
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
this.title = '编辑'
|
||||||
|
this.open = true
|
||||||
|
this.form = JSON.parse(JSON.stringify(row))
|
||||||
|
},
|
||||||
|
// 提交表单
|
||||||
|
submitForm() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.title === '新增') {
|
||||||
|
dictPlatformEdit(this.form).then(res => {
|
||||||
|
this.$message.success('已创建新的平台类型!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
dictPlatformEdit(this.form).then(res => {
|
||||||
|
this.$message.success('平台类型已更新!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
var date = new Date(val)
|
}
|
||||||
var y = date.getFullYear()
|
})
|
||||||
var m = date.getMonth() + 1
|
|
||||||
m = m < 10 ? '0' + m : m
|
|
||||||
var d = date.getDate()
|
|
||||||
d = d < 10 ? '0' + d : d
|
|
||||||
var h = date.getHours()
|
|
||||||
h = h < 10 ? '0' + h : h
|
|
||||||
var minute = date.getMinutes()
|
|
||||||
minute = minute < 10 ? '0' + minute : minute
|
|
||||||
var second = date.getSeconds()
|
|
||||||
second = second < 10 ? '0' + second : second
|
|
||||||
return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
|
|
||||||
},
|
},
|
||||||
openModal(row, event, column) {
|
// 关闭弹窗
|
||||||
// 判断操作内容
|
cancel() {
|
||||||
var opType = column.target.id
|
this.open = false
|
||||||
if (opType == 'del') {
|
this.reset()
|
||||||
this.$confirm('确定删除选中的数据吗?此操作不可撤销!', '提示', {
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
platform_name: '',
|
||||||
|
platform_group: '',
|
||||||
|
platform_eng: '',
|
||||||
|
platform_alias: '',
|
||||||
|
platform_order: '',
|
||||||
|
platform_remark: ''
|
||||||
|
}
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(row) {
|
||||||
|
this.$confirm('确定要删除该平台类型吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
dictPlatformDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
})
|
})
|
||||||
.then(() => {
|
}).catch(() => {})
|
||||||
this.deleteData(row.typeId)
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
console.log(error)
|
|
||||||
})
|
|
||||||
} else if (opType == 'mod') {
|
|
||||||
this.showUserForm = true
|
|
||||||
this.userStatus = false
|
|
||||||
this.form = JSON.parse(JSON.stringify(row))
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async deleteData(typeId) {
|
// 分页
|
||||||
this.loading = true
|
handleCurrentChange(val) {
|
||||||
const data = {
|
this.pageNum = val
|
||||||
type: 'platformType',
|
this.params.start = val * this.params.limit - this.params.limit
|
||||||
typeId
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await deleteDoc(data)
|
|
||||||
if (res.code == 200) {
|
|
||||||
this.init()
|
|
||||||
}
|
|
||||||
this.loading = false
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
init() {
|
|
||||||
this.currentPage = 1
|
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
handleSizeChange(val) {
|
||||||
handleSizeChange: function(size) {
|
this.params.limit = val
|
||||||
this.pagesize = size
|
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
handleCurrentChange: function(currentPage) {
|
|
||||||
this.currentPage = currentPage
|
|
||||||
this.getData()
|
|
||||||
},
|
|
||||||
async getData() {
|
|
||||||
this.loading = true
|
|
||||||
const data = {
|
|
||||||
page: this.currentPage,
|
|
||||||
size: this.pagesize,
|
|
||||||
type: 'platformType'
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await getDicList(data)
|
|
||||||
if (res.code == 200) {
|
|
||||||
if (res.data.content) {
|
|
||||||
this.tableData = res.data.content
|
|
||||||
this.count = Number(res.data.count)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.loading = false
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
saveData() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
if (this.userStatus) {
|
|
||||||
this.addFunction()
|
|
||||||
} else {
|
|
||||||
this.updateFunction()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
async addFunction() {
|
|
||||||
this.subLoading = true
|
|
||||||
const data = {
|
|
||||||
nameZh: this.form.nameZh,
|
|
||||||
nameEn: this.form.nameEn,
|
|
||||||
alias: this.form.alias,
|
|
||||||
description: this.form.description
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await platformAdd(data)
|
|
||||||
if (res.code === 200) {
|
|
||||||
this.$message({
|
|
||||||
message: '添加成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
this.resetForm()
|
|
||||||
this.subLoading = false
|
|
||||||
this.showUserForm = false
|
|
||||||
this.init()
|
|
||||||
} else {
|
|
||||||
this.$message({
|
|
||||||
message: res.message,
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async updateFunction() {
|
|
||||||
this.subLoading = true
|
|
||||||
const data = {
|
|
||||||
nameZh: this.form.nameZh,
|
|
||||||
nameEn: this.form.nameEn,
|
|
||||||
alias: this.form.alias,
|
|
||||||
description: this.form.description,
|
|
||||||
typeId: this.form.typeId,
|
|
||||||
id: this.form.id
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await platformUpdate(data)
|
|
||||||
if (res.code === 200) {
|
|
||||||
this.$message({
|
|
||||||
message: '修改成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
this.resetForm()
|
|
||||||
this.subLoading = false
|
|
||||||
this.showUserForm = false
|
|
||||||
this.init()
|
|
||||||
} else {
|
|
||||||
this.$message({
|
|
||||||
message: res.message,
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
resetForm() {
|
|
||||||
this.$refs['form'].resetFields()
|
|
||||||
},
|
|
||||||
handleClose(done) { // 加一个点击遮罩和关闭按钮时的回调函数
|
|
||||||
this.clearInput()
|
|
||||||
this.resetForm()
|
|
||||||
done()
|
|
||||||
},
|
|
||||||
clearInput() {
|
|
||||||
this.form = {
|
|
||||||
nameZh: '',
|
|
||||||
nameEn: '',
|
|
||||||
alias: '',
|
|
||||||
description: '',
|
|
||||||
typeId: '',
|
|
||||||
id: ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -10,27 +10,27 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="filter-container">
|
<div class="filter-container">
|
||||||
<div class="checkBtn">
|
<div class="checkBtn">
|
||||||
<el-button type="primary" size="medium" @click="batchImport">共享单位录入</el-button>
|
<el-button type="primary" size="medium" @click="handleAdd">共享单位录入</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" height="600px" @row-click="openModal">
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
<el-table-column
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
type="index"
|
<el-table-column prop="unit_name" label="共享单位名称" width="300" />
|
||||||
width="50"
|
<el-table-column prop="unit_type" label="单位类型" width="200">
|
||||||
/>
|
|
||||||
<el-table-column prop="orgName" label="单位名称" />
|
|
||||||
<el-table-column prop="updateTime" label="创建时间">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ time(scope.row.updateTime) }}
|
<span>{{ scope.row.unit_type ? '单位类型' + scope.row.unit_type : '' }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="200">
|
<el-table-column prop="link_man" label="单位负责人" width="100" />
|
||||||
|
<el-table-column prop="link_tel" label="联系电话" width="150" />
|
||||||
|
<el-table-column prop="unit_addr" label="单位地址" />
|
||||||
|
<el-table-column label="操作" width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" />
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
||||||
<el-button id="del" size="mini" type="danger" class="el-icon-delete" style="margin-left: 0%;" />
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" style="margin-left: 0%;" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -38,271 +38,195 @@
|
||||||
<div class="pagination-box">
|
<div class="pagination-box">
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
:current-page="currentPage"
|
:page-sizes="[10, 20, 30]"
|
||||||
:page-sizes="[15, 30, 50]"
|
:page-size="params.limit"
|
||||||
:page-size="pagesize"
|
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
:total="count"
|
:total="total"
|
||||||
|
:current-page="pageNum"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal">
|
<!-- 新增/编辑弹窗-->
|
||||||
<el-dialog
|
<el-dialog :title="`${title}共享单位`" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||||
:title="userStatus? '添加共享单位' : '修改共享单位'"
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||||
:visible.sync="showUserForm"
|
<el-form-item label="单位名称" prop="unit_name">
|
||||||
width="30%"
|
<el-input v-model="form.unit_name" />
|
||||||
:before-close="handleClose"
|
</el-form-item>
|
||||||
>
|
<el-form-item label="单位类型" prop="unit_type">
|
||||||
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
|
<el-select v-model="form.unit_type" style="width: 100%;">
|
||||||
<el-form-item label="单位名称" prop="orgName">
|
<el-option
|
||||||
<el-input v-model="form.orgName" size="medium" auto-complete="off" placeholder="请输入" />
|
v-for="item in typeOptions"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="单位地址" prop="unit_addr">
|
||||||
|
<el-input v-model="form.unit_addr" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="单位负责人" prop="link_man">
|
||||||
|
<el-input v-model="form.link_man" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="电子邮件" prop="link_email">
|
||||||
|
<el-input v-model="form.link_email" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="联系电话" prop="link_tel">
|
||||||
|
<el-input v-model="form.link_tel" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="传真号码" prop="link_fax">
|
||||||
|
<el-input v-model="form.link_fax" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注信息" prop="unit_remark">
|
||||||
|
<el-input v-model="form.unit_remark" type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row type="flex" justify="center">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
v-loading="subLoading"
|
<el-button @click="cancel">取 消</el-button>
|
||||||
style="width: 100px"
|
|
||||||
type="primary"
|
|
||||||
size="medium"
|
|
||||||
@click="saveData"
|
|
||||||
>确定</el-button>
|
|
||||||
<el-button
|
|
||||||
size="medium"
|
|
||||||
style="margin-left: 10px; width: 100px"
|
|
||||||
type="info"
|
|
||||||
plain
|
|
||||||
@click="showUserForm = false;clearInput();resetForm();"
|
|
||||||
>取消</el-button>
|
|
||||||
</el-row>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDicList, deleteDoc, shareAdd, shareUpdate
|
import { dictShareDelete, dictShareEdit, dictShareList } from '@/api/dicManage'
|
||||||
} from '@/api/dicManage'
|
|
||||||
export default {
|
export default {
|
||||||
name: 'VisitorUnit',
|
name: 'SharedUnit',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
subLoading: false,
|
// 分页请求参数
|
||||||
// 新建
|
params: {
|
||||||
userStatus: true,
|
start: 0,
|
||||||
// 数据model
|
limit: 10,
|
||||||
recordEnabled: 0,
|
group: 10
|
||||||
showUserForm: false,
|
},
|
||||||
delDialogVisible: false,
|
pageNum: 1,
|
||||||
currentPage: 1,
|
// 列表数据
|
||||||
pagesize: 15,
|
tableData: [],
|
||||||
count: 0,
|
total: 0,
|
||||||
|
// 新增和编辑表单参数
|
||||||
|
open: false,
|
||||||
|
title: '新增',
|
||||||
form: {
|
form: {
|
||||||
orgName: '',
|
unit_name: '',
|
||||||
typeId: '',
|
unit_type: '',
|
||||||
id: ''
|
unit_addr: '',
|
||||||
|
link_man: '',
|
||||||
|
link_email: '',
|
||||||
|
link_tel: '',
|
||||||
|
link_fax: '',
|
||||||
|
unit_remark: ''
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
orgName: [
|
unit_name: [
|
||||||
{ required: true, message: '请输入单位名称', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
tableData: [
|
typeOptions: [
|
||||||
// {
|
{
|
||||||
// name: '侧扫',
|
label: '单位类型A',
|
||||||
// enName: 'Sidescan',
|
value: 'A'
|
||||||
// latitude: 'VD',
|
},
|
||||||
// description: '学科数据类型',
|
{
|
||||||
// updateTime: '2022.3.4 12: 20: 00'
|
label: '单位类型B',
|
||||||
// },
|
value: 'B'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '单位类型C',
|
||||||
|
value: 'C'
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.init()
|
this.getData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
batchImport() {
|
// 获取列表数据
|
||||||
this.showUserForm = true
|
getData() {
|
||||||
this.userStatus = true
|
this.loading = true
|
||||||
|
dictShareList(this.params).then(res => {
|
||||||
|
this.tableData = res.page.records
|
||||||
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
time(val) {
|
// 新增
|
||||||
if (!val) {
|
handleAdd() {
|
||||||
return ''
|
this.title = '新增'
|
||||||
|
this.open = true
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
this.title = '编辑'
|
||||||
|
this.open = true
|
||||||
|
this.form = JSON.parse(JSON.stringify(row))
|
||||||
|
},
|
||||||
|
// 提交表单
|
||||||
|
submitForm() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.title === '新增') {
|
||||||
|
dictShareEdit(this.form).then(res => {
|
||||||
|
this.$message.success('已创建新的共享单位!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
dictShareEdit(this.form).then(res => {
|
||||||
|
this.$message.success('共享单位已更新!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
var date = new Date(val)
|
}
|
||||||
var y = date.getFullYear()
|
})
|
||||||
var m = date.getMonth() + 1
|
|
||||||
m = m < 10 ? '0' + m : m
|
|
||||||
var d = date.getDate()
|
|
||||||
d = d < 10 ? '0' + d : d
|
|
||||||
var h = date.getHours()
|
|
||||||
h = h < 10 ? '0' + h : h
|
|
||||||
var minute = date.getMinutes()
|
|
||||||
minute = minute < 10 ? '0' + minute : minute
|
|
||||||
var second = date.getSeconds()
|
|
||||||
second = second < 10 ? '0' + second : second
|
|
||||||
return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
|
|
||||||
},
|
},
|
||||||
openModal(row, event, column) {
|
// 关闭弹窗
|
||||||
// 判断操作内容
|
cancel() {
|
||||||
var opType = column.target.id
|
this.open = false
|
||||||
if (opType == 'del') {
|
this.reset()
|
||||||
this.$confirm('确定删除选中的数据吗?此操作不可撤销!', '提示', {
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
unit_name: '',
|
||||||
|
unit_type: '',
|
||||||
|
unit_addr: '',
|
||||||
|
link_man: '',
|
||||||
|
link_email: '',
|
||||||
|
link_tel: '',
|
||||||
|
link_fax: '',
|
||||||
|
unit_remark: ''
|
||||||
|
}
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(row) {
|
||||||
|
this.$confirm('确定要删除该单位吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
dictShareDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
})
|
})
|
||||||
.then(() => {
|
}).catch(() => {})
|
||||||
this.deleteData(row.typeId)
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
console.log(error)
|
|
||||||
})
|
|
||||||
} else if (opType == 'mod') {
|
|
||||||
this.showUserForm = true
|
|
||||||
this.userStatus = false
|
|
||||||
this.form = JSON.parse(JSON.stringify(row))
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async deleteData(typeId) {
|
// 分页
|
||||||
this.loading = true
|
handleCurrentChange(val) {
|
||||||
const data = {
|
this.pageNum = val
|
||||||
type: 'shareOrg',
|
this.params.start = val * this.params.limit - this.params.limit
|
||||||
typeId
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await deleteDoc(data)
|
|
||||||
if (res.code == 200) {
|
|
||||||
this.init()
|
|
||||||
}
|
|
||||||
this.loading = false
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
init() {
|
|
||||||
this.currentPage = 1
|
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
handleSizeChange(val) {
|
||||||
handleSizeChange: function(size) {
|
this.params.limit = val
|
||||||
this.pagesize = size
|
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
handleCurrentChange: function(currentPage) {
|
|
||||||
this.currentPage = currentPage
|
|
||||||
this.getData()
|
|
||||||
},
|
|
||||||
async getData() {
|
|
||||||
this.loading = true
|
|
||||||
const data = {
|
|
||||||
page: this.currentPage,
|
|
||||||
size: this.pagesize,
|
|
||||||
type: 'shareOrg'
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await getDicList(data)
|
|
||||||
if (res.code == 200) {
|
|
||||||
if (res.data.content) {
|
|
||||||
this.tableData = res.data.content
|
|
||||||
this.count = Number(res.data.count)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.loading = false
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
saveData() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
if (this.userStatus) {
|
|
||||||
this.addFunction()
|
|
||||||
} else {
|
|
||||||
this.updateFunction()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
async addFunction() {
|
|
||||||
this.subLoading = true
|
|
||||||
const data = {
|
|
||||||
orgName: this.form.orgName,
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await shareAdd(data)
|
|
||||||
if (res.code === 200) {
|
|
||||||
this.$message({
|
|
||||||
message: '添加成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
this.resetForm()
|
|
||||||
this.subLoading = false
|
|
||||||
this.showUserForm = false
|
|
||||||
this.init()
|
|
||||||
} else {
|
|
||||||
this.$message({
|
|
||||||
message: res.message,
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async updateFunction() {
|
|
||||||
this.subLoading = true
|
|
||||||
const data = {
|
|
||||||
orgName: this.form.orgName,
|
|
||||||
typeId: this.form.typeId,
|
|
||||||
id: this.form.id
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await shareUpdate(data)
|
|
||||||
if (res.code === 200) {
|
|
||||||
this.$message({
|
|
||||||
message: '修改成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
this.resetForm()
|
|
||||||
this.subLoading = false
|
|
||||||
this.showUserForm = false
|
|
||||||
this.init()
|
|
||||||
} else {
|
|
||||||
this.$message({
|
|
||||||
message: res.message,
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
resetForm() {
|
|
||||||
this.$refs['form'].resetFields()
|
|
||||||
},
|
|
||||||
handleClose(done) { // 加一个点击遮罩和关闭按钮时的回调函数
|
|
||||||
this.clearInput()
|
|
||||||
this.resetForm()
|
|
||||||
done()
|
|
||||||
},
|
|
||||||
clearInput() {
|
|
||||||
this.form = {
|
|
||||||
orgName: '',
|
|
||||||
typeId: '',
|
|
||||||
id: ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -10,30 +10,21 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="filter-container">
|
<div class="filter-container">
|
||||||
<div class="checkBtn">
|
<div class="checkBtn">
|
||||||
<el-button type="primary" size="medium" @click="batchImport">参航单位录入</el-button>
|
<el-button type="primary" size="medium" @click="handleAdd">新增参航单位</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" height="600px" @row-click="openModal">
|
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||||
<el-table-column
|
<el-table-column type="index" label="#" width="50"/>
|
||||||
type="index"
|
<el-table-column prop="unit_name" label="参航单位名称" />
|
||||||
width="50"
|
<el-table-column prop="unit_lon" label="经度" width="200" />
|
||||||
/>
|
<el-table-column prop="unit_lat" label="纬度" width="200" />
|
||||||
<el-table-column prop="orgName" label="单位名称" />
|
<el-table-column label="操作" width="120">
|
||||||
<el-table-column prop="longitude" label="经度" />
|
|
||||||
<el-table-column prop="latitude" label="纬度" />
|
|
||||||
<el-table-column prop="description" label="单位介绍" />
|
|
||||||
<el-table-column prop="updateTime" label="创建时间">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ time(scope.row.updateTime) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" width="200">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
<el-tooltip class="item" effect="dark" content="修改" placement="top-end">
|
||||||
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" />
|
<el-button id="mod" size="mini" type="warning" class="el-icon-edit" @click="handleEdit(scope.row)" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
<el-tooltip class="item" effect="dark" content="删除" placement="top-end">
|
||||||
<el-button id="del" size="mini" type="danger" class="el-icon-delete" style="margin-left: 0%;" />
|
<el-button id="del" size="mini" type="danger" class="el-icon-delete" @click="handleDelete(scope.row)" style="margin-left: 0%;" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -41,298 +32,165 @@
|
||||||
<div class="pagination-box">
|
<div class="pagination-box">
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
:current-page="currentPage"
|
:page-sizes="[10, 20, 30]"
|
||||||
:page-sizes="[15, 30, 50]"
|
:page-size="params.limit"
|
||||||
:page-size="pagesize"
|
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
:total="count"
|
:total="total"
|
||||||
|
:current-page="pageNum"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal">
|
<!-- 新增/编辑弹窗-->
|
||||||
<el-dialog
|
<el-dialog :title="`${title}参航单位`" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||||
:title="userStatus? '添加参航单位' : '修改参航单位'"
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
:visible.sync="showUserForm"
|
<el-form-item label="单位名称" prop="unit_name">
|
||||||
width="30%"
|
<el-input v-model="form.unit_name" />
|
||||||
:before-close="handleClose"
|
|
||||||
>
|
|
||||||
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
|
|
||||||
<el-form-item label="单位名称" prop="orgName">
|
|
||||||
<el-input v-model="form.orgName" size="medium" auto-complete="off" placeholder="请输入" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="单位介绍" prop="description">
|
<el-form-item label="单位地址" prop="unit_addr">
|
||||||
<el-input v-model="form.description" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.unit_addr" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="经度" prop="longitude">
|
<el-form-item label="所在经度" prop="unit_lon">
|
||||||
<el-input v-model="form.longitude" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.unit_lon" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="纬度" prop="latitude">
|
<el-form-item label="所在纬度" prop="unit_lat">
|
||||||
<el-input v-model="form.latitude" size="medium" auto-complete="off" placeholder="请输入" />
|
<el-input v-model="form.unit_lat" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注信息" prop="unit_remark">
|
||||||
|
<el-input v-model="form.unit_remark" type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row type="flex" justify="center">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
v-loading="subLoading"
|
<el-button @click="cancel">取 消</el-button>
|
||||||
style="width: 100px"
|
|
||||||
type="primary"
|
|
||||||
size="medium"
|
|
||||||
@click="saveData"
|
|
||||||
>确定</el-button>
|
|
||||||
<el-button
|
|
||||||
size="medium"
|
|
||||||
style="margin-left: 10px; width: 100px"
|
|
||||||
type="info"
|
|
||||||
plain
|
|
||||||
@click="showUserForm = false;clearInput();resetForm();"
|
|
||||||
>取消</el-button>
|
|
||||||
</el-row>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDicList, deleteDoc, partAdd, partUpdate
|
import { dictSailList, dictSailEdit, dictSailDelete } from '@/api/dicManage'
|
||||||
} from '@/api/dicManage'
|
|
||||||
export default {
|
export default {
|
||||||
name: 'VisitorUnit',
|
name: 'VisitorUnit',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
subLoading: false,
|
// 分页请求参数
|
||||||
// 新建
|
params: {
|
||||||
userStatus: true,
|
start: 0,
|
||||||
// 数据model
|
limit: 10,
|
||||||
recordEnabled: 0,
|
group: 10
|
||||||
showUserForm: false,
|
},
|
||||||
delDialogVisible: false,
|
pageNum: 1,
|
||||||
currentPage: 1,
|
// 列表数据
|
||||||
pagesize: 15,
|
tableData: [],
|
||||||
count: 0,
|
total: 0,
|
||||||
|
// 新增和编辑表单参数
|
||||||
|
open: false,
|
||||||
|
title: '新增',
|
||||||
form: {
|
form: {
|
||||||
orgName: '',
|
unit_name: '',
|
||||||
longitude: '',
|
unit_addr: '',
|
||||||
latitude: '',
|
unit_lon: '',
|
||||||
description: '',
|
unit_lat: '',
|
||||||
typeId: '',
|
unit_remark: ''
|
||||||
id: ''
|
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
orgName: [
|
unit_name: [
|
||||||
{ required: true, message: '请输入参航单位名称', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
longitude: [
|
unit_lon: [
|
||||||
{ required: true, message: '请输入经度', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
latitude: [
|
unit_lat: [
|
||||||
{ required: true, message: '请输入纬度', trigger: 'blur' }
|
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||||
]
|
|
||||||
},
|
|
||||||
tableData: [
|
|
||||||
// {
|
|
||||||
// name: '侧扫',
|
|
||||||
// enName: 'Sidescan',
|
|
||||||
// latitude: 'VD',
|
|
||||||
// description: '学科数据类型',
|
|
||||||
// updateTime: '2022.3.4 12: 20: 00'
|
|
||||||
// },
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.init()
|
this.getData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
batchImport() {
|
// 获取列表数据
|
||||||
this.showUserForm = true
|
getData() {
|
||||||
this.userStatus = true
|
this.loading = true
|
||||||
|
dictSailList(this.params).then(res => {
|
||||||
|
this.tableData = res.page.records
|
||||||
|
this.total = Number(res.page.total)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
time(val) {
|
// 新增
|
||||||
if (!val) {
|
handleAdd() {
|
||||||
return ''
|
this.title = '新增'
|
||||||
|
this.open = true
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(row) {
|
||||||
|
this.title = '编辑'
|
||||||
|
this.open = true
|
||||||
|
this.form = JSON.parse(JSON.stringify(row))
|
||||||
|
},
|
||||||
|
// 提交表单
|
||||||
|
submitForm() {
|
||||||
|
this.$refs['form'].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.title === '新增') {
|
||||||
|
dictSailEdit(this.form).then(res => {
|
||||||
|
this.$message.success('已创建新的参航单位!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
dictSailEdit(this.form).then(res => {
|
||||||
|
this.$message.success('参航单位已更新!')
|
||||||
|
this.getData()
|
||||||
|
this.cancel()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
var date = new Date(val)
|
}
|
||||||
var y = date.getFullYear()
|
})
|
||||||
var m = date.getMonth() + 1
|
|
||||||
m = m < 10 ? '0' + m : m
|
|
||||||
var d = date.getDate()
|
|
||||||
d = d < 10 ? '0' + d : d
|
|
||||||
var h = date.getHours()
|
|
||||||
h = h < 10 ? '0' + h : h
|
|
||||||
var minute = date.getMinutes()
|
|
||||||
minute = minute < 10 ? '0' + minute : minute
|
|
||||||
var second = date.getSeconds()
|
|
||||||
second = second < 10 ? '0' + second : second
|
|
||||||
return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
|
|
||||||
},
|
},
|
||||||
openModal(row, event, column) {
|
// 关闭弹窗
|
||||||
// 判断操作内容
|
cancel() {
|
||||||
var opType = column.target.id
|
this.open = false
|
||||||
if (opType == 'del') {
|
this.reset()
|
||||||
this.$confirm('确定删除选中的数据吗?此操作不可撤销!', '提示', {
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
unit_name: '',
|
||||||
|
unit_addr: '',
|
||||||
|
unit_lon: '',
|
||||||
|
unit_lat: '',
|
||||||
|
unit_remark: ''
|
||||||
|
}
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleDelete(row) {
|
||||||
|
this.$confirm('确定要删除该单位吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
dictSailDelete(row).then(() => {
|
||||||
|
this.$message.success('删除成功!')
|
||||||
|
this.getData()
|
||||||
})
|
})
|
||||||
.then(() => {
|
}).catch(() => {})
|
||||||
this.deleteData(row.typeId)
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
console.log(error)
|
|
||||||
})
|
|
||||||
} else if (opType == 'mod') {
|
|
||||||
this.showUserForm = true
|
|
||||||
this.userStatus = false
|
|
||||||
this.form = JSON.parse(JSON.stringify(row))
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async deleteData(typeId) {
|
// 分页
|
||||||
this.loading = true
|
handleCurrentChange(val) {
|
||||||
const data = {
|
this.pageNum = val
|
||||||
type: 'partOrg',
|
this.params.start = val * this.params.limit - this.params.limit
|
||||||
typeId
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await deleteDoc(data)
|
|
||||||
if (res.code == 200) {
|
|
||||||
this.init()
|
|
||||||
}
|
|
||||||
this.loading = false
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
init() {
|
|
||||||
this.currentPage = 1
|
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
handleSizeChange(val) {
|
||||||
handleSizeChange: function(size) {
|
this.params.limit = val
|
||||||
this.pagesize = size
|
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
handleCurrentChange: function(currentPage) {
|
|
||||||
this.currentPage = currentPage
|
|
||||||
this.getData()
|
|
||||||
},
|
|
||||||
async getData() {
|
|
||||||
this.loading = true
|
|
||||||
const data = {
|
|
||||||
page: this.currentPage,
|
|
||||||
size: this.pagesize,
|
|
||||||
type: 'partOrg'
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await getDicList(data)
|
|
||||||
if (res.code == 200) {
|
|
||||||
if (res.data.content) {
|
|
||||||
this.tableData = res.data.content
|
|
||||||
this.count = Number(res.data.count)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.loading = false
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
saveData() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
if (this.userStatus) {
|
|
||||||
this.addFunction()
|
|
||||||
} else {
|
|
||||||
this.updateFunction()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
async addFunction() {
|
|
||||||
this.subLoading = true
|
|
||||||
const data = {
|
|
||||||
orgName: this.form.orgName,
|
|
||||||
longitude: this.form.longitude,
|
|
||||||
latitude: this.form.latitude,
|
|
||||||
description: this.form.description
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await partAdd(data)
|
|
||||||
if (res.code === 200) {
|
|
||||||
this.$message({
|
|
||||||
message: '添加成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
this.resetForm()
|
|
||||||
this.subLoading = false
|
|
||||||
this.showUserForm = false
|
|
||||||
this.init()
|
|
||||||
} else {
|
|
||||||
this.$message({
|
|
||||||
message: res.message,
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async updateFunction() {
|
|
||||||
this.subLoading = true
|
|
||||||
const data = {
|
|
||||||
orgName: this.form.orgName,
|
|
||||||
longitude: this.form.longitude,
|
|
||||||
latitude: this.form.latitude,
|
|
||||||
description: this.form.description,
|
|
||||||
typeId: this.form.typeId,
|
|
||||||
id: this.form.id
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await partUpdate(data)
|
|
||||||
if (res.code === 200) {
|
|
||||||
this.$message({
|
|
||||||
message: '修改成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
this.resetForm()
|
|
||||||
this.subLoading = false
|
|
||||||
this.showUserForm = false
|
|
||||||
this.init()
|
|
||||||
} else {
|
|
||||||
this.$message({
|
|
||||||
message: res.message,
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
this.subLoading = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
resetForm() {
|
|
||||||
this.$refs['form'].resetFields()
|
|
||||||
},
|
|
||||||
handleClose(done) { // 加一个点击遮罩和关闭按钮时的回调函数
|
|
||||||
this.clearInput()
|
|
||||||
this.resetForm()
|
|
||||||
done()
|
|
||||||
},
|
|
||||||
clearInput() {
|
|
||||||
this.form = {
|
|
||||||
orgName: '',
|
|
||||||
longitude: '',
|
|
||||||
latitude: '',
|
|
||||||
description: '',
|
|
||||||
typeId: '',
|
|
||||||
id: ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -115,15 +115,15 @@ export default {
|
||||||
},
|
},
|
||||||
multipleSelection: [],
|
multipleSelection: [],
|
||||||
tableData: [
|
tableData: [
|
||||||
// {
|
{
|
||||||
// no: 'SY510-TXS-YS-01',
|
no: 'SY510-TXS-YS-01',
|
||||||
// name: 'TS-14',
|
name: 'TS-14',
|
||||||
// platformType: '载人潜水器',
|
platformType: '载人潜水器',
|
||||||
// cino: '3444',
|
cino: '3444',
|
||||||
// docType: '机械手',
|
docType: '机械手',
|
||||||
// workType: '站位作业',
|
workType: '站位作业',
|
||||||
// sampleType: '岩石'
|
sampleType: '岩石'
|
||||||
// },
|
},
|
||||||
// {
|
// {
|
||||||
// no: 'SY510-TXS-YS-02',
|
// no: 'SY510-TXS-YS-02',
|
||||||
// name: 'TS2-18',
|
// name: 'TS2-18',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue