完成全部字典模块
This commit is contained in:
parent
f9c142a7ca
commit
d3e0002975
|
|
@ -1446,33 +1446,12 @@
|
|||
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
||||
"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": {
|
||||
"version": "9.2.2",
|
||||
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
||||
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
||||
"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": "5.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz",
|
||||
|
|
@ -1484,40 +1463,6 @@
|
|||
"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": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz",
|
||||
|
|
@ -1527,23 +1472,6 @@
|
|||
"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": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
||||
|
|
@ -1554,60 +1482,6 @@
|
|||
"string-width": "^5.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",
|
||||
"resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
|
||||
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es-define-property": "^1.0.0",
|
||||
"es-errors": "^1.3.0",
|
||||
|
|
@ -6487,7 +6360,6 @@
|
|||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
|
||||
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es-define-property": "^1.0.0",
|
||||
"es-errors": "^1.3.0",
|
||||
|
|
@ -7147,7 +7019,6 @@
|
|||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz",
|
||||
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"get-intrinsic": "^1.2.4"
|
||||
}
|
||||
|
|
@ -7155,8 +7026,7 @@
|
|||
"es-errors": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
|
||||
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
|
||||
},
|
||||
"es-object-atoms": {
|
||||
"version": "1.0.0",
|
||||
|
|
@ -8605,7 +8475,6 @@
|
|||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
|
||||
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es-errors": "^1.3.0",
|
||||
"function-bind": "^1.1.2",
|
||||
|
|
@ -8782,7 +8651,6 @@
|
|||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz",
|
||||
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"get-intrinsic": "^1.1.3"
|
||||
}
|
||||
|
|
@ -8904,7 +8772,6 @@
|
|||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
|
||||
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es-define-property": "^1.0.0"
|
||||
}
|
||||
|
|
@ -8912,14 +8779,12 @@
|
|||
"has-proto": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz",
|
||||
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
|
||||
"dev": true
|
||||
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
|
||||
},
|
||||
"has-symbols": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz",
|
||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
|
||||
"dev": true
|
||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
||||
},
|
||||
"has-tostringtag": {
|
||||
"version": "1.0.2",
|
||||
|
|
@ -13110,8 +12975,7 @@
|
|||
"object-inspect": {
|
||||
"version": "1.13.1",
|
||||
"resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz",
|
||||
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
|
||||
},
|
||||
"object-is": {
|
||||
"version": "1.1.6",
|
||||
|
|
@ -16419,9 +16283,12 @@
|
|||
"dev": true
|
||||
},
|
||||
"qs": {
|
||||
"version": "0.6.6",
|
||||
"resolved": "https://registry.npmmirror.com/qs/-/qs-0.6.6.tgz",
|
||||
"integrity": "sha512-kN+yNdAf29Jgp+AYHUmC7X4QdJPR8czuMWLNLc0aRxkQ7tB3vJQEONKKT9ou/rW7EbqVec11srC9q9BiVbcnHA=="
|
||||
"version": "6.12.3",
|
||||
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.12.3.tgz",
|
||||
"integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==",
|
||||
"requires": {
|
||||
"side-channel": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"query-string": {
|
||||
"version": "4.3.4",
|
||||
|
|
@ -16791,6 +16658,13 @@
|
|||
"stringstream": "~0.0.4",
|
||||
"tough-cookie": ">=0.12.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": {
|
||||
|
|
@ -17507,7 +17381,6 @@
|
|||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz",
|
||||
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-data-property": "^1.1.4",
|
||||
"es-errors": "^1.3.0",
|
||||
|
|
@ -17618,7 +17491,6 @@
|
|||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz",
|
||||
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"call-bind": "^1.0.7",
|
||||
"es-errors": "^1.3.0",
|
||||
|
|
@ -18296,6 +18168,46 @@
|
|||
"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": {
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
|
||||
|
|
@ -18352,6 +18264,23 @@
|
|||
"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": {
|
||||
"version": "2.0.0",
|
||||
"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": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
"leaflet.wmts": "^1.0.2",
|
||||
"node-sass": "^4.12.0",
|
||||
"ol": "6.4.0",
|
||||
"qs": "^6.12.3",
|
||||
"sass-loader": "^7.1.0",
|
||||
"swiper": "^6.8.4",
|
||||
"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'
|
||||
|
||||
/* ********************************* 数据样品类型字典接口 **************************************/
|
||||
|
||||
// 数据样品类型字典列表
|
||||
export function dictDataList(data) {
|
||||
return request({
|
||||
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',
|
||||
url: '/dict/data/page.htm',
|
||||
method: 'post',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 设备类型字典添加
|
||||
export function equAdd(data) {
|
||||
// 数据样品类型字典新增编辑
|
||||
export function dictDataEdit(data) {
|
||||
return request({
|
||||
url: '/dic/equ/add',
|
||||
url: '/dict/data/edit.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 设备类型字典修改
|
||||
export function equUpdate(data) {
|
||||
// 数据样品类型字典删除
|
||||
export function dictDataDelete(data) {
|
||||
return request({
|
||||
url: '/dic/equ/update',
|
||||
url: '/dict/data/delete.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 参航单位字典添加
|
||||
export function partAdd(data) {
|
||||
/* ********************************* 设备类型字典接口 **************************************/
|
||||
|
||||
// 设备类型字典列表
|
||||
export function dictEquipmentList(data) {
|
||||
return request({
|
||||
url: '/dic/part/add',
|
||||
url: '/dict/equipment/page.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 参航单位字典修改
|
||||
export function partUpdate(data) {
|
||||
// 设备类型字典新增编辑
|
||||
export function dictEquipmentEdit(data) {
|
||||
return request({
|
||||
url: '/dic/part/update',
|
||||
url: '/dict/equipment/edit.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 平台类型字典添加
|
||||
export function platformAdd(data) {
|
||||
// 设备类型字典删除
|
||||
export function dictEquipmentDelete(data) {
|
||||
return request({
|
||||
url: '/dic/platform/add',
|
||||
url: '/dict/equipment/delete.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 平台类型字典修改
|
||||
export function platformUpdate(data) {
|
||||
/* ********************************* 平台类型字典接口 **************************************/
|
||||
|
||||
// 平台类型字典列表
|
||||
export function dictPlatformList(data) {
|
||||
return request({
|
||||
url: '/dic/platform/update',
|
||||
url: '/dict/platform/page.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 数据样品类型字典添加
|
||||
export function sampleAdd(data) {
|
||||
// 平台类型字典新增编辑
|
||||
export function dictPlatformEdit(data) {
|
||||
return request({
|
||||
url: '/dic/sample/add',
|
||||
url: '/dict/platform/edit.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 数据样品类型字典修改
|
||||
export function sampleUpdate(data) {
|
||||
// 平台类型字典删除
|
||||
export function dictPlatformDelete(data) {
|
||||
return request({
|
||||
url: '/dic/sample/update',
|
||||
url: '/dict/platform/delete.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 共享机构字典添加
|
||||
export function shareAdd(data) {
|
||||
/* ********************************* 参航单位字典接口 **************************************/
|
||||
|
||||
// 参航单位字典列表
|
||||
export function dictSailList(data) {
|
||||
return request({
|
||||
url: '/dic/share/add',
|
||||
url: '/dict/unit/sail/page.htm',
|
||||
method: 'post',
|
||||
type: 'application/json',
|
||||
type: 'application/x-www-form-urlencoded',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 共享机构字典修改
|
||||
export function shareUpdate(data) {
|
||||
// 参航单位字典新增编辑
|
||||
export function dictSailEdit(data) {
|
||||
return request({
|
||||
url: '/dic/share/update',
|
||||
url: '/dict/unit/sail/edit.htm',
|
||||
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
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -1,55 +1,72 @@
|
|||
<template>
|
||||
<header>
|
||||
<div id="topnavbar">
|
||||
<div class="logo logo2 cursor">
|
||||
<img src="../../../static/images/logo.png" alt="">
|
||||
</div>
|
||||
<div id="topnanv" v-show="!collapse || navShow">
|
||||
<nav>
|
||||
<ul class="content clearfix">
|
||||
<li class="dropdown" v-for="(item,index) in menu" :key="index">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item.path)">{{item.name}}<img v-show="item.children.length" src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
<ul class="sub-menu" v-show="item.children.length">
|
||||
<li v-for="(item1,index1) in item.children" :key="index1">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item1.path)">{{item1.name}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<el-dropdown trigger="click">
|
||||
<span class="el-dropdown-link userClass">
|
||||
<a href="javascript:void(0);">admin<img src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item>
|
||||
<a href="javascript:void(0);" @click="routerTurn('personalCenter')">个人中心</a>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</li>
|
||||
<div id="topnavbar">
|
||||
<div class="logo logo2 cursor">
|
||||
<img src="../../../static/images/logo.png" alt="">
|
||||
</div>
|
||||
<div id="topnanv" v-show="!collapse || navShow">
|
||||
<nav>
|
||||
<ul class="content clearfix">
|
||||
<li class="dropdown" v-for="(item,index) in menu" :key="index">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item.path)">{{item.name}}<img v-show="item.children.length" src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
<ul class="sub-menu" v-show="item.children.length">
|
||||
<li v-for="(item1,index1) in item.children" :key="index1">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item1.path)">{{item1.name}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<el-dropdown trigger="click">
|
||||
<span class="el-dropdown-link userClass">
|
||||
<a href="javascript:void(0);">admin<img src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item>
|
||||
<a href="javascript:void(0);" @click="routerTurn('personalCenter')">个人中心</a>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="menu2" >
|
||||
<i class="el-icon-menu" @click="handleMenu"></i>
|
||||
</div>
|
||||
<div class="fr">
|
||||
<i v-if="loginStatuss" class="logOut" @click="loginOut">logOut</i>
|
||||
</div>
|
||||
<!-- <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>
|
||||
<span v-else class="ellCu">
|
||||
{{ $store.state.app.cu }}
|
||||
</span>
|
||||
</div>
|
||||
<div v-else class="login cursor" @click="loginIn"> <img src="../../../static/images/形状 1@2x.png" alt=""> LOGIN | REGISTER</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="menu2" >
|
||||
<i class="el-icon-menu" @click="handleMenu"></i>
|
||||
</div>
|
||||
<div>
|
||||
<el-tooltip class="tooltip" effect="dark" content="登录" placement="bottom">
|
||||
<el-button type="primary" icon="el-icon-user" circle @click="onLogin"></el-button>
|
||||
</el-tooltip>
|
||||
</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>
|
||||
</template>
|
||||
|
||||
|
|
@ -59,7 +76,8 @@ import {
|
|||
} from '@/utils/logoutCas' // get token from cookie
|
||||
import {
|
||||
removeToken
|
||||
} from '@/utils/auth' // get token from cookie
|
||||
} from '@/utils/auth'
|
||||
import { login } from '@/api/login' // get token from cookie
|
||||
export default {
|
||||
name: 'headers',
|
||||
props: {
|
||||
|
|
@ -119,16 +137,15 @@ export default {
|
|||
},
|
||||
{
|
||||
name:"数据汇交",
|
||||
path:"voyageDelivery",
|
||||
children:[
|
||||
{
|
||||
name:"航次数据汇交",
|
||||
path:"voyageDelivery",
|
||||
path:"VoyageReg",
|
||||
children:[]
|
||||
},
|
||||
{
|
||||
name:"数据样品信息汇交",
|
||||
path:"sampleRemitt",
|
||||
name:"样品数据集汇交",
|
||||
path:"SampleDataset",
|
||||
children:[]
|
||||
}
|
||||
]
|
||||
|
|
@ -200,22 +217,33 @@ export default {
|
|||
// },
|
||||
|
||||
],
|
||||
nowPathName: '',
|
||||
navShow:false,
|
||||
nowPathName: '',
|
||||
navShow:false,
|
||||
open: false,
|
||||
loginForm: {
|
||||
loginName: '',
|
||||
loginPass: '',
|
||||
loginCode: '1234'
|
||||
},
|
||||
loginRules: {
|
||||
loginName: [
|
||||
{ required: true, trigger: "blur", message: "请输入登录名称" }
|
||||
],
|
||||
loginPass: [
|
||||
{ required: true, trigger: "blur", message: "请输入登录密码" }
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.loginStatuss = this.$store.state.app.cu
|
||||
// this.loginStatuss = 'test_jisjf'
|
||||
|
||||
},
|
||||
mounted(){
|
||||
$('.dropdown').hover(
|
||||
function () {
|
||||
$(this).children('.sub-menu').slideDown(200);
|
||||
$(this).children('.sub-menu').slideDown(10);
|
||||
},
|
||||
function () {
|
||||
$(this).children('.sub-menu').slideUp(200);
|
||||
$(this).children('.sub-menu').slideUp(10);
|
||||
}
|
||||
);
|
||||
this.changeClass()
|
||||
|
|
@ -226,7 +254,6 @@ export default {
|
|||
})()
|
||||
}
|
||||
this.nowPathName = this.$route.name
|
||||
|
||||
},
|
||||
methods:{
|
||||
//当屏幕小于1400时添加一个属性,大于的时候删除属性
|
||||
|
|
@ -236,113 +263,54 @@ export default {
|
|||
this.navShow=true
|
||||
} else{
|
||||
this.navShow=false
|
||||
|
||||
}
|
||||
},
|
||||
handleMenu(){
|
||||
this.collapse=!this.collapse
|
||||
},
|
||||
activeMethod(item){
|
||||
if(this.nowPathName==item.path){
|
||||
return 'activeClass'
|
||||
}else{
|
||||
return ''
|
||||
}
|
||||
},
|
||||
routerTurn(name){
|
||||
this.nowPathName = name
|
||||
if(name!=this.$route.name && name){
|
||||
// debugger
|
||||
this.$router.push({name:name})
|
||||
this.collapse=true
|
||||
}
|
||||
this.nowPathName = name
|
||||
if(name!=this.$route.name && name){
|
||||
// debugger
|
||||
this.$router.push({name:name})
|
||||
this.collapse=true
|
||||
}
|
||||
},
|
||||
// 中英文切换
|
||||
handleCommand(value) {
|
||||
localStorage.setItem('user_lang', value)
|
||||
this.$i18n.locale = value// 改变当前语言
|
||||
location.reload()
|
||||
// 登录
|
||||
onLogin() {
|
||||
this.open = true
|
||||
},
|
||||
handleClick() {
|
||||
console.log(this.activeName)
|
||||
},
|
||||
loginIn() {
|
||||
window.location.href = process.env.VUE_APP_CAS_LOGIN_FRONT
|
||||
},
|
||||
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(() => {
|
||||
// 提交表单
|
||||
handleLogin() {
|
||||
this.$refs['loginForm'].validate(valid => {
|
||||
if (valid) {
|
||||
login(this.loginForm).then(res => {
|
||||
console.log(res)
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// 关闭弹窗
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
loginName: '',
|
||||
loginPass: '',
|
||||
loginCode: '1234'
|
||||
}
|
||||
this.$refs['form'].resetFields()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.fr {
|
||||
float: right;
|
||||
.tooltip {
|
||||
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{
|
||||
float:right;
|
||||
font-size: 20px;
|
||||
|
|
|
|||
|
|
@ -59,15 +59,35 @@ export const constantRoutes = [
|
|||
}
|
||||
},
|
||||
{
|
||||
path: 'voyageDelivery',
|
||||
name: 'voyageDelivery',
|
||||
component: () => import('@/views/voyageDelivery.vue'),
|
||||
path: 'voyageReg',
|
||||
name: 'VoyageReg',
|
||||
component: () => import('@/views/dataTransfer/voyageReg.vue'),
|
||||
meta: {
|
||||
title: '航次数据汇交',
|
||||
icon: 'peoples',
|
||||
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',
|
||||
name: 'voyageEntry',
|
||||
|
|
@ -78,16 +98,16 @@ export const constantRoutes = [
|
|||
loginAuthority: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'sampleRemitt',
|
||||
name: 'sampleRemitt',
|
||||
component: () => import('@/views/sampleRemitt.vue'),
|
||||
meta: {
|
||||
title: '数据样品信息汇交',
|
||||
icon: 'peoples',
|
||||
loginAuthority: true
|
||||
}
|
||||
},
|
||||
// {
|
||||
// path: 'sampleRemitt',
|
||||
// name: 'sampleRemitt',
|
||||
// component: () => import('@/views/sampleRemitt.vue'),
|
||||
// meta: {
|
||||
// title: '数据样品信息汇交',
|
||||
// icon: 'peoples',
|
||||
// loginAuthority: true
|
||||
// }
|
||||
// },
|
||||
{
|
||||
path: 'sampleEntry',
|
||||
name: 'sampleEntry',
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import Vuex from 'vuex'
|
|||
import getters from './getters'
|
||||
import app from './modules/app'
|
||||
import settings from './modules/settings'
|
||||
import sample from '@/store/modules/sample'
|
||||
// import user from './modules/user'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
|
@ -10,7 +11,8 @@ Vue.use(Vuex)
|
|||
const store = new Vuex.Store({
|
||||
modules: {
|
||||
app,
|
||||
settings
|
||||
settings,
|
||||
sample
|
||||
// user
|
||||
},
|
||||
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;
|
||||
background: #012458;
|
||||
padding: 0 3%;
|
||||
box-sizing: border-box;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ service.defaults.crossDomain = true
|
|||
service.interceptors.request.use(
|
||||
config => {
|
||||
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
|
||||
} else {
|
||||
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>
|
||||
<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="data_name" label="数据样品类型类型名称" />
|
||||
<el-table-column prop="data_name" label="数据样品类型名称" />
|
||||
<el-table-column prop="data_eng" label="英文名称" />
|
||||
<el-table-column prop="data_alias" 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 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
|
||||
|
|
@ -34,48 +44,38 @@
|
|||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="modal">
|
||||
<el-dialog
|
||||
:title="handleType ? '添加数据样品类型' : '修改数据样品类型'"
|
||||
:visible.sync="open"
|
||||
width="30%"
|
||||
>
|
||||
<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 label="英文名称" prop="nameEn">
|
||||
<el-input v-model="form.nameEn" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="别名" prop="alias">
|
||||
<el-input v-model="form.alias" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="数据样品类型描述" prop="description">
|
||||
<el-input v-model="form.description" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-button
|
||||
style="width: 100px"
|
||||
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>
|
||||
<!-- 新增/编辑弹窗-->
|
||||
<el-dialog :title="`${title}数据样品类型`" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
||||
<el-form-item label="数据样品类型名称" prop="data_name">
|
||||
<el-input v-model="form.data_name" />
|
||||
</el-form-item>
|
||||
<el-form-item label="类型分组" prop="data_group">
|
||||
<el-input v-model="form.data_group" />
|
||||
</el-form-item>
|
||||
<el-form-item label="英文名称" prop="data_eng">
|
||||
<el-input v-model="form.data_eng" />
|
||||
</el-form-item>
|
||||
<el-form-item label="别名(简称)" prop="data_alias">
|
||||
<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>
|
||||
<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 { dictDataList } from '@/api/dicManage'
|
||||
import { dictDataDelete, dictDataEdit, dictDataList } from '@/api/dicManage'
|
||||
export default {
|
||||
name: 'DataSampleType',
|
||||
data() {
|
||||
|
|
@ -91,21 +91,29 @@ export default {
|
|||
// 列表数据
|
||||
tableData: [],
|
||||
total: 0,
|
||||
// 弹窗参数
|
||||
handleType: 1,
|
||||
// 新增和编辑表单参数
|
||||
open: false,
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单规则
|
||||
title: '新增',
|
||||
form: {
|
||||
data_name: '',
|
||||
data_group: '',
|
||||
data_eng: '',
|
||||
data_alias: '',
|
||||
data_order: '',
|
||||
data_remark: ''
|
||||
},
|
||||
rules: {
|
||||
nameZh: [
|
||||
{ required: true, message: '请输入数据样品类型名称', trigger: 'blur' }
|
||||
data_name: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
nameEn: [
|
||||
{ required: true, message: '请输入英文名称', trigger: 'blur' }
|
||||
data_eng: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
alias: [
|
||||
{ required: true, message: '请输入别名', trigger: 'blur' }
|
||||
data_alias: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
data_order: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -116,19 +124,74 @@ export default {
|
|||
methods: {
|
||||
// 获取列表数据
|
||||
getData() {
|
||||
this.loading = true
|
||||
dictDataList(this.params).then(res => {
|
||||
this.tableData = res.page.records
|
||||
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) {
|
||||
this.pageNum = val
|
||||
|
|
|
|||
|
|
@ -10,30 +10,24 @@
|
|||
</div>
|
||||
<div class="filter-container">
|
||||
<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>
|
||||
<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-column
|
||||
type="index"
|
||||
width="50"
|
||||
/>
|
||||
<el-table-column prop="nameZh" label="设备类型名称" />
|
||||
<el-table-column prop="nameEn" label="英文名称" />
|
||||
<el-table-column prop="alias" 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">
|
||||
<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="equipment_name" label="设备类型名称" />
|
||||
<el-table-column prop="equipment_eng" label="英文名称" />
|
||||
<el-table-column prop="equipment_alias" label="别名" width="100" />
|
||||
<el-table-column prop="equipment_order" label="排序" width="100" />
|
||||
<el-table-column prop="equipment_group" label="分组" width="120" />
|
||||
<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" />
|
||||
<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" 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>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -41,308 +35,173 @@
|
|||
<div class="pagination-box">
|
||||
<el-pagination
|
||||
background
|
||||
:current-page="currentPage"
|
||||
:page-sizes="[15, 30, 50]"
|
||||
:page-size="pagesize"
|
||||
:page-sizes="[10, 20, 30]"
|
||||
:page-size="params.limit"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="count"
|
||||
:total="total"
|
||||
:current-page="pageNum"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="modal">
|
||||
<el-dialog
|
||||
:title="userStatus? '添加设备类型' : '修改设备类型'"
|
||||
:visible.sync="showUserForm"
|
||||
width="30%"
|
||||
: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 label="英文名称" prop="nameEn">
|
||||
<el-input v-model="form.nameEn" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="别名" prop="alias">
|
||||
<el-input v-model="form.alias" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="数据样品类型描述" prop="description">
|
||||
<el-input v-model="form.description" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-button
|
||||
v-loading="subLoading"
|
||||
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>
|
||||
<!-- 新增/编辑弹窗-->
|
||||
<el-dialog :title="`${title}设备类型`" :visible.sync="open" width="500px" :before-close="cancel" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
||||
<el-form-item label="设备类型名称" prop="equipment_name">
|
||||
<el-input v-model="form.equipment_name" />
|
||||
</el-form-item>
|
||||
<el-form-item label="设备分组" prop="equipment_group">
|
||||
<el-input v-model="form.equipment_group" />
|
||||
</el-form-item>
|
||||
<el-form-item label="英文名称" prop="equipment_eng">
|
||||
<el-input v-model="form.equipment_eng" />
|
||||
</el-form-item>
|
||||
<el-form-item label="别名(简称)" prop="equipment_alias">
|
||||
<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>
|
||||
<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 { getDicList, deleteDoc, equAdd, equUpdate
|
||||
} from '@/api/dicManage'
|
||||
import { dictEquipmentDelete, dictEquipmentEdit, dictEquipmentList } from '@/api/dicManage'
|
||||
export default {
|
||||
name: 'DocType',
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
subLoading: false,
|
||||
// 新建
|
||||
userStatus: true,
|
||||
// 数据model
|
||||
recordEnabled: 0,
|
||||
showUserForm: false,
|
||||
delDialogVisible: false,
|
||||
currentPage: 1,
|
||||
pagesize: 15,
|
||||
count: 0,
|
||||
// 分页请求参数
|
||||
params: {
|
||||
start: 0,
|
||||
limit: 10,
|
||||
group: 10
|
||||
},
|
||||
pageNum: 1,
|
||||
// 列表数据
|
||||
tableData: [],
|
||||
total: 0,
|
||||
// 新增和编辑表单参数
|
||||
open: false,
|
||||
title: '新增',
|
||||
form: {
|
||||
nameZh: '',
|
||||
nameEn: '',
|
||||
alias: '',
|
||||
description: '',
|
||||
typeId: '',
|
||||
id: ''
|
||||
equipment_name: '',
|
||||
equipment_group: '',
|
||||
equipment_eng: '',
|
||||
equipment_alias: '',
|
||||
equipment_order: '',
|
||||
equipment_remark: ''
|
||||
},
|
||||
rules: {
|
||||
nameZh: [
|
||||
{ required: true, message: '请输入数据样品类型名称', trigger: 'blur' }
|
||||
equipment_name: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
nameEn: [
|
||||
{ required: true, message: '请输入英文名称', trigger: 'blur' }
|
||||
equipment_eng: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
alias: [
|
||||
{ required: true, message: '请输入别名', trigger: 'blur' }
|
||||
equipment_alias: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
equipment_order: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
tableData: [
|
||||
// {
|
||||
// name: '侧扫',
|
||||
// enName: 'Sidescan',
|
||||
// alias: 'VD',
|
||||
// describe: '学科数据类型',
|
||||
// updateTime: '2022.3.4 12: 20: 00'
|
||||
// },
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
batchImport() {
|
||||
this.showUserForm = true
|
||||
this.userStatus = true
|
||||
},
|
||||
time(val) {
|
||||
if (!val) {
|
||||
return ''
|
||||
}
|
||||
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
|
||||
},
|
||||
openModal(row, event, column) {
|
||||
// 判断操作内容
|
||||
var opType = column.target.id
|
||||
if (opType == 'del') {
|
||||
this.$confirm('确定删除选中的数据吗?此操作不可撤销!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
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) {
|
||||
// 获取列表数据
|
||||
getData() {
|
||||
this.loading = true
|
||||
const data = {
|
||||
type: 'equType',
|
||||
typeId
|
||||
}
|
||||
try {
|
||||
const res = await deleteDoc(data)
|
||||
if (res.code == 200) {
|
||||
this.init()
|
||||
}
|
||||
dictEquipmentList(this.params).then(res => {
|
||||
this.tableData = res.page.records
|
||||
this.total = Number(res.page.total)
|
||||
this.loading = false
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
init() {
|
||||
this.currentPage = 1
|
||||
this.getData()
|
||||
// 新增
|
||||
handleAdd() {
|
||||
this.title = '新增'
|
||||
this.open = true
|
||||
},
|
||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
||||
handleSizeChange: function(size) {
|
||||
this.pagesize = size
|
||||
this.getData()
|
||||
// 编辑
|
||||
handleEdit(row) {
|
||||
this.title = '编辑'
|
||||
this.open = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
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) => {
|
||||
// 提交表单
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.userStatus) {
|
||||
this.addFunction()
|
||||
if (this.title === '新增') {
|
||||
dictEquipmentEdit(this.form).then(res => {
|
||||
this.$message.success('已创建新的设备类型!')
|
||||
this.getData()
|
||||
this.cancel()
|
||||
})
|
||||
} else {
|
||||
this.updateFunction()
|
||||
dictEquipmentEdit(this.form).then(res => {
|
||||
this.$message.success('设备类型已更新!')
|
||||
this.getData()
|
||||
this.cancel()
|
||||
})
|
||||
}
|
||||
} 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
|
||||
}
|
||||
// 关闭弹窗
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
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
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
equipment_name: '',
|
||||
equipment_group: '',
|
||||
equipment_eng: '',
|
||||
equipment_alias: '',
|
||||
equipment_order: '',
|
||||
equipment_remark: ''
|
||||
}
|
||||
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()
|
||||
// 删除
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定要删除该设备类型吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
dictEquipmentDelete(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()
|
||||
},
|
||||
clearInput() {
|
||||
this.form = {
|
||||
nameZh: '',
|
||||
nameEn: '',
|
||||
alias: '',
|
||||
description: '',
|
||||
typeId: '',
|
||||
id: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -10,30 +10,24 @@
|
|||
</div>
|
||||
<div class="filter-container">
|
||||
<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>
|
||||
<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-column
|
||||
type="index"
|
||||
width="50"
|
||||
/>
|
||||
<el-table-column prop="nameZh" label="平台类型名称" />
|
||||
<el-table-column prop="nameEn" label="英文名称" />
|
||||
<el-table-column prop="alias" 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">
|
||||
<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="platform_name" label="平台类型名称" />
|
||||
<el-table-column prop="platform_eng" label="英文名称" />
|
||||
<el-table-column prop="platform_alias" label="别名" width="100" />
|
||||
<el-table-column prop="platform_order" label="排序" width="100" />
|
||||
<el-table-column prop="platform_group" label="分组" width="120" />
|
||||
<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" />
|
||||
<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" 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>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -41,298 +35,173 @@
|
|||
<div class="pagination-box">
|
||||
<el-pagination
|
||||
background
|
||||
:current-page="currentPage"
|
||||
:page-sizes="[15, 30, 50]"
|
||||
:page-size="pagesize"
|
||||
:page-sizes="[10, 20, 30]"
|
||||
:page-size="params.limit"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="count"
|
||||
:total="total"
|
||||
:current-page="pageNum"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="modal">
|
||||
<el-dialog
|
||||
:title="userStatus? '添加平台类型' : '修改平台类型'"
|
||||
:visible.sync="showUserForm"
|
||||
width="30%"
|
||||
: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 label="英文名称" prop="nameEn">
|
||||
<el-input v-model="form.nameEn" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="别名" prop="alias">
|
||||
<el-input v-model="form.alias" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="平台类型描述" prop="description">
|
||||
<el-input v-model="form.description" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-button
|
||||
v-loading="subLoading"
|
||||
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>
|
||||
<!-- 新增/编辑弹窗-->
|
||||
<el-dialog :title="`${title}平台类型`" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
||||
<el-form-item label="平台类型名称" prop="platform_name">
|
||||
<el-input v-model="form.platform_name" />
|
||||
</el-form-item>
|
||||
<el-form-item label="平台分组" prop="platform_group">
|
||||
<el-input v-model="form.platform_group" />
|
||||
</el-form-item>
|
||||
<el-form-item label="英文名称" prop="platform_eng">
|
||||
<el-input v-model="form.platform_eng" />
|
||||
</el-form-item>
|
||||
<el-form-item label="别名(简称)" prop="platform_alias">
|
||||
<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>
|
||||
<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 { getDicList, deleteDoc, platformAdd, platformUpdate
|
||||
} from '@/api/dicManage'
|
||||
import { dictPlatformDelete, dictPlatformEdit, dictPlatformList } from '@/api/dicManage'
|
||||
export default {
|
||||
name: 'PlatformType',
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
subLoading: false,
|
||||
// 新建
|
||||
userStatus: true,
|
||||
// 数据model
|
||||
recordEnabled: 0,
|
||||
showUserForm: false,
|
||||
delDialogVisible: false,
|
||||
currentPage: 1,
|
||||
pagesize: 15,
|
||||
count: 0,
|
||||
// 分页请求参数
|
||||
params: {
|
||||
start: 0,
|
||||
limit: 10,
|
||||
group: 10
|
||||
},
|
||||
pageNum: 1,
|
||||
// 列表数据
|
||||
tableData: [],
|
||||
total: 0,
|
||||
// 新增和编辑表单参数
|
||||
open: false,
|
||||
title: '新增',
|
||||
form: {
|
||||
nameZh: '',
|
||||
nameEn: '',
|
||||
alias: '',
|
||||
description: '',
|
||||
typeId: '',
|
||||
id: ''
|
||||
platform_name: '',
|
||||
platform_group: '',
|
||||
platform_eng: '',
|
||||
platform_alias: '',
|
||||
platform_order: '',
|
||||
platform_remark: ''
|
||||
},
|
||||
rules: {
|
||||
nameZh: [
|
||||
{ required: true, message: '请输入平台类型名称', trigger: 'blur' }
|
||||
platform_name: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
nameEn: [
|
||||
{ required: true, message: '请输入英文名称', trigger: 'blur' }
|
||||
platform_eng: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
alias: [
|
||||
{ required: true, message: '请输入别名', trigger: 'blur' }
|
||||
platform_alias: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
platform_order: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
tableData: [
|
||||
// {
|
||||
// name: '侧扫',
|
||||
// enName: 'Sidescan',
|
||||
// alias: 'VD',
|
||||
// description: '学科数据类型',
|
||||
// updateTime: '2022.3.4 12: 20: 00'
|
||||
// },
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
batchImport() {
|
||||
this.showUserForm = true
|
||||
this.userStatus = true
|
||||
},
|
||||
time(val) {
|
||||
if (!val) {
|
||||
return ''
|
||||
}
|
||||
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) {
|
||||
// 判断操作内容
|
||||
var opType = column.target.id
|
||||
if (opType == 'del') {
|
||||
this.$confirm('确定删除选中的数据吗?此操作不可撤销!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
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) {
|
||||
// 获取列表数据
|
||||
getData() {
|
||||
this.loading = true
|
||||
const data = {
|
||||
type: 'platformType',
|
||||
typeId
|
||||
}
|
||||
try {
|
||||
const res = await deleteDoc(data)
|
||||
if (res.code == 200) {
|
||||
this.init()
|
||||
}
|
||||
dictPlatformList(this.params).then(res => {
|
||||
this.tableData = res.page.records
|
||||
this.total = Number(res.page.total)
|
||||
this.loading = false
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
init() {
|
||||
this.currentPage = 1
|
||||
this.getData()
|
||||
// 新增
|
||||
handleAdd() {
|
||||
this.title = '新增'
|
||||
this.open = true
|
||||
},
|
||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
||||
handleSizeChange: function(size) {
|
||||
this.pagesize = size
|
||||
this.getData()
|
||||
// 编辑
|
||||
handleEdit(row) {
|
||||
this.title = '编辑'
|
||||
this.open = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
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) => {
|
||||
// 提交表单
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.userStatus) {
|
||||
this.addFunction()
|
||||
if (this.title === '新增') {
|
||||
dictPlatformEdit(this.form).then(res => {
|
||||
this.$message.success('已创建新的平台类型!')
|
||||
this.getData()
|
||||
this.cancel()
|
||||
})
|
||||
} else {
|
||||
this.updateFunction()
|
||||
dictPlatformEdit(this.form).then(res => {
|
||||
this.$message.success('平台类型已更新!')
|
||||
this.getData()
|
||||
this.cancel()
|
||||
})
|
||||
}
|
||||
} 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
|
||||
}
|
||||
// 关闭弹窗
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
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
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
platform_name: '',
|
||||
platform_group: '',
|
||||
platform_eng: '',
|
||||
platform_alias: '',
|
||||
platform_order: '',
|
||||
platform_remark: ''
|
||||
}
|
||||
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()
|
||||
// 删除
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定要删除该平台类型吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
dictPlatformDelete(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()
|
||||
},
|
||||
clearInput() {
|
||||
this.form = {
|
||||
nameZh: '',
|
||||
nameEn: '',
|
||||
alias: '',
|
||||
description: '',
|
||||
typeId: '',
|
||||
id: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -10,27 +10,27 @@
|
|||
</div>
|
||||
<div class="filter-container">
|
||||
<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>
|
||||
<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-column
|
||||
type="index"
|
||||
width="50"
|
||||
/>
|
||||
<el-table-column prop="orgName" label="单位名称" />
|
||||
<el-table-column prop="updateTime" label="创建时间">
|
||||
<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="unit_name" label="共享单位名称" width="300" />
|
||||
<el-table-column prop="unit_type" label="单位类型" width="200">
|
||||
<template slot-scope="scope">
|
||||
{{ time(scope.row.updateTime) }}
|
||||
<span>{{ scope.row.unit_type ? '单位类型' + scope.row.unit_type : '' }}</span>
|
||||
</template>
|
||||
</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">
|
||||
<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 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>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -38,271 +38,195 @@
|
|||
<div class="pagination-box">
|
||||
<el-pagination
|
||||
background
|
||||
:current-page="currentPage"
|
||||
:page-sizes="[15, 30, 50]"
|
||||
:page-size="pagesize"
|
||||
:page-sizes="[10, 20, 30]"
|
||||
:page-size="params.limit"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="count"
|
||||
:total="total"
|
||||
:current-page="pageNum"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="modal">
|
||||
<el-dialog
|
||||
:title="userStatus? '添加共享单位' : '修改共享单位'"
|
||||
:visible.sync="showUserForm"
|
||||
width="30%"
|
||||
: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>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-button
|
||||
v-loading="subLoading"
|
||||
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>
|
||||
<!-- 新增/编辑弹窗-->
|
||||
<el-dialog :title="`${title}共享单位`" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="单位名称" prop="unit_name">
|
||||
<el-input v-model="form.unit_name" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单位类型" prop="unit_type">
|
||||
<el-select v-model="form.unit_type" style="width: 100%;">
|
||||
<el-option
|
||||
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>
|
||||
<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 { getDicList, deleteDoc, shareAdd, shareUpdate
|
||||
} from '@/api/dicManage'
|
||||
import { dictShareDelete, dictShareEdit, dictShareList } from '@/api/dicManage'
|
||||
export default {
|
||||
name: 'VisitorUnit',
|
||||
name: 'SharedUnit',
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
subLoading: false,
|
||||
// 新建
|
||||
userStatus: true,
|
||||
// 数据model
|
||||
recordEnabled: 0,
|
||||
showUserForm: false,
|
||||
delDialogVisible: false,
|
||||
currentPage: 1,
|
||||
pagesize: 15,
|
||||
count: 0,
|
||||
// 分页请求参数
|
||||
params: {
|
||||
start: 0,
|
||||
limit: 10,
|
||||
group: 10
|
||||
},
|
||||
pageNum: 1,
|
||||
// 列表数据
|
||||
tableData: [],
|
||||
total: 0,
|
||||
// 新增和编辑表单参数
|
||||
open: false,
|
||||
title: '新增',
|
||||
form: {
|
||||
orgName: '',
|
||||
typeId: '',
|
||||
id: ''
|
||||
unit_name: '',
|
||||
unit_type: '',
|
||||
unit_addr: '',
|
||||
link_man: '',
|
||||
link_email: '',
|
||||
link_tel: '',
|
||||
link_fax: '',
|
||||
unit_remark: ''
|
||||
},
|
||||
rules: {
|
||||
orgName: [
|
||||
{ required: true, message: '请输入单位名称', trigger: 'blur' }
|
||||
unit_name: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
tableData: [
|
||||
// {
|
||||
// name: '侧扫',
|
||||
// enName: 'Sidescan',
|
||||
// latitude: 'VD',
|
||||
// description: '学科数据类型',
|
||||
// updateTime: '2022.3.4 12: 20: 00'
|
||||
// },
|
||||
typeOptions: [
|
||||
{
|
||||
label: '单位类型A',
|
||||
value: 'A'
|
||||
},
|
||||
{
|
||||
label: '单位类型B',
|
||||
value: 'B'
|
||||
},
|
||||
{
|
||||
label: '单位类型C',
|
||||
value: 'C'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
batchImport() {
|
||||
this.showUserForm = true
|
||||
this.userStatus = true
|
||||
},
|
||||
time(val) {
|
||||
if (!val) {
|
||||
return ''
|
||||
}
|
||||
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) {
|
||||
// 判断操作内容
|
||||
var opType = column.target.id
|
||||
if (opType == 'del') {
|
||||
this.$confirm('确定删除选中的数据吗?此操作不可撤销!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
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) {
|
||||
// 获取列表数据
|
||||
getData() {
|
||||
this.loading = true
|
||||
const data = {
|
||||
type: 'shareOrg',
|
||||
typeId
|
||||
}
|
||||
try {
|
||||
const res = await deleteDoc(data)
|
||||
if (res.code == 200) {
|
||||
this.init()
|
||||
}
|
||||
dictShareList(this.params).then(res => {
|
||||
this.tableData = res.page.records
|
||||
this.total = Number(res.page.total)
|
||||
this.loading = false
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
init() {
|
||||
this.currentPage = 1
|
||||
this.getData()
|
||||
// 新增
|
||||
handleAdd() {
|
||||
this.title = '新增'
|
||||
this.open = true
|
||||
},
|
||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
||||
handleSizeChange: function(size) {
|
||||
this.pagesize = size
|
||||
this.getData()
|
||||
// 编辑
|
||||
handleEdit(row) {
|
||||
this.title = '编辑'
|
||||
this.open = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
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) => {
|
||||
// 提交表单
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.userStatus) {
|
||||
this.addFunction()
|
||||
if (this.title === '新增') {
|
||||
dictShareEdit(this.form).then(res => {
|
||||
this.$message.success('已创建新的共享单位!')
|
||||
this.getData()
|
||||
this.cancel()
|
||||
})
|
||||
} else {
|
||||
this.updateFunction()
|
||||
dictShareEdit(this.form).then(res => {
|
||||
this.$message.success('共享单位已更新!')
|
||||
this.getData()
|
||||
this.cancel()
|
||||
})
|
||||
}
|
||||
} 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
|
||||
}
|
||||
// 关闭弹窗
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
async updateFunction() {
|
||||
this.subLoading = true
|
||||
const data = {
|
||||
orgName: this.form.orgName,
|
||||
typeId: this.form.typeId,
|
||||
id: this.form.id
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
unit_name: '',
|
||||
unit_type: '',
|
||||
unit_addr: '',
|
||||
link_man: '',
|
||||
link_email: '',
|
||||
link_tel: '',
|
||||
link_fax: '',
|
||||
unit_remark: ''
|
||||
}
|
||||
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()
|
||||
// 删除
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定要删除该单位吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
dictShareDelete(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()
|
||||
},
|
||||
clearInput() {
|
||||
this.form = {
|
||||
orgName: '',
|
||||
typeId: '',
|
||||
id: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -10,30 +10,21 @@
|
|||
</div>
|
||||
<div class="filter-container">
|
||||
<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>
|
||||
<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-column
|
||||
type="index"
|
||||
width="50"
|
||||
/>
|
||||
<el-table-column prop="orgName" label="单位名称" />
|
||||
<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">
|
||||
<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="unit_name" label="参航单位名称" />
|
||||
<el-table-column prop="unit_lon" label="经度" width="200" />
|
||||
<el-table-column prop="unit_lat" label="纬度" width="200" />
|
||||
<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" />
|
||||
<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" 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>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -41,298 +32,165 @@
|
|||
<div class="pagination-box">
|
||||
<el-pagination
|
||||
background
|
||||
:current-page="currentPage"
|
||||
:page-sizes="[15, 30, 50]"
|
||||
:page-size="pagesize"
|
||||
:page-sizes="[10, 20, 30]"
|
||||
:page-size="params.limit"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="count"
|
||||
:total="total"
|
||||
:current-page="pageNum"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="modal">
|
||||
<el-dialog
|
||||
:title="userStatus? '添加参航单位' : '修改参航单位'"
|
||||
:visible.sync="showUserForm"
|
||||
width="30%"
|
||||
: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 label="单位介绍" prop="description">
|
||||
<el-input v-model="form.description" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="经度" prop="longitude">
|
||||
<el-input v-model="form.longitude" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="纬度" prop="latitude">
|
||||
<el-input v-model="form.latitude" size="medium" auto-complete="off" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-button
|
||||
v-loading="subLoading"
|
||||
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>
|
||||
<!-- 新增/编辑弹窗-->
|
||||
<el-dialog :title="`${title}参航单位`" :visible.sync="open" :before-close="cancel" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="单位名称" prop="unit_name">
|
||||
<el-input v-model="form.unit_name" />
|
||||
</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="unit_lon">
|
||||
<el-input v-model="form.unit_lon" />
|
||||
</el-form-item>
|
||||
<el-form-item label="所在纬度" prop="unit_lat">
|
||||
<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>
|
||||
<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 { getDicList, deleteDoc, partAdd, partUpdate
|
||||
} from '@/api/dicManage'
|
||||
import { dictSailList, dictSailEdit, dictSailDelete } from '@/api/dicManage'
|
||||
export default {
|
||||
name: 'VisitorUnit',
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
subLoading: false,
|
||||
// 新建
|
||||
userStatus: true,
|
||||
// 数据model
|
||||
recordEnabled: 0,
|
||||
showUserForm: false,
|
||||
delDialogVisible: false,
|
||||
currentPage: 1,
|
||||
pagesize: 15,
|
||||
count: 0,
|
||||
// 分页请求参数
|
||||
params: {
|
||||
start: 0,
|
||||
limit: 10,
|
||||
group: 10
|
||||
},
|
||||
pageNum: 1,
|
||||
// 列表数据
|
||||
tableData: [],
|
||||
total: 0,
|
||||
// 新增和编辑表单参数
|
||||
open: false,
|
||||
title: '新增',
|
||||
form: {
|
||||
orgName: '',
|
||||
longitude: '',
|
||||
latitude: '',
|
||||
description: '',
|
||||
typeId: '',
|
||||
id: ''
|
||||
unit_name: '',
|
||||
unit_addr: '',
|
||||
unit_lon: '',
|
||||
unit_lat: '',
|
||||
unit_remark: ''
|
||||
},
|
||||
rules: {
|
||||
orgName: [
|
||||
{ required: true, message: '请输入参航单位名称', trigger: 'blur' }
|
||||
unit_name: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
longitude: [
|
||||
{ required: true, message: '请输入经度', trigger: 'blur' }
|
||||
unit_lon: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
],
|
||||
latitude: [
|
||||
{ required: true, message: '请输入纬度', trigger: 'blur' }
|
||||
unit_lat: [
|
||||
{ required: true, message: '此处为必填项', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
tableData: [
|
||||
// {
|
||||
// name: '侧扫',
|
||||
// enName: 'Sidescan',
|
||||
// latitude: 'VD',
|
||||
// description: '学科数据类型',
|
||||
// updateTime: '2022.3.4 12: 20: 00'
|
||||
// },
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
batchImport() {
|
||||
this.showUserForm = true
|
||||
this.userStatus = true
|
||||
},
|
||||
time(val) {
|
||||
if (!val) {
|
||||
return ''
|
||||
}
|
||||
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) {
|
||||
// 判断操作内容
|
||||
var opType = column.target.id
|
||||
if (opType == 'del') {
|
||||
this.$confirm('确定删除选中的数据吗?此操作不可撤销!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
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) {
|
||||
// 获取列表数据
|
||||
getData() {
|
||||
this.loading = true
|
||||
const data = {
|
||||
type: 'partOrg',
|
||||
typeId
|
||||
}
|
||||
try {
|
||||
const res = await deleteDoc(data)
|
||||
if (res.code == 200) {
|
||||
this.init()
|
||||
}
|
||||
dictSailList(this.params).then(res => {
|
||||
this.tableData = res.page.records
|
||||
this.total = Number(res.page.total)
|
||||
this.loading = false
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
init() {
|
||||
this.currentPage = 1
|
||||
this.getData()
|
||||
// 新增
|
||||
handleAdd() {
|
||||
this.title = '新增'
|
||||
this.open = true
|
||||
},
|
||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
||||
handleSizeChange: function(size) {
|
||||
this.pagesize = size
|
||||
this.getData()
|
||||
// 编辑
|
||||
handleEdit(row) {
|
||||
this.title = '编辑'
|
||||
this.open = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
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) => {
|
||||
// 提交表单
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.userStatus) {
|
||||
this.addFunction()
|
||||
if (this.title === '新增') {
|
||||
dictSailEdit(this.form).then(res => {
|
||||
this.$message.success('已创建新的参航单位!')
|
||||
this.getData()
|
||||
this.cancel()
|
||||
})
|
||||
} else {
|
||||
this.updateFunction()
|
||||
dictSailEdit(this.form).then(res => {
|
||||
this.$message.success('参航单位已更新!')
|
||||
this.getData()
|
||||
this.cancel()
|
||||
})
|
||||
}
|
||||
} 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
|
||||
}
|
||||
// 关闭弹窗
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
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
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
unit_name: '',
|
||||
unit_addr: '',
|
||||
unit_lon: '',
|
||||
unit_lat: '',
|
||||
unit_remark: ''
|
||||
}
|
||||
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()
|
||||
// 删除
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定要删除该单位吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
dictSailDelete(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()
|
||||
},
|
||||
clearInput() {
|
||||
this.form = {
|
||||
orgName: '',
|
||||
longitude: '',
|
||||
latitude: '',
|
||||
description: '',
|
||||
typeId: '',
|
||||
id: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -115,15 +115,15 @@ export default {
|
|||
},
|
||||
multipleSelection: [],
|
||||
tableData: [
|
||||
// {
|
||||
// no: 'SY510-TXS-YS-01',
|
||||
// name: 'TS-14',
|
||||
// platformType: '载人潜水器',
|
||||
// cino: '3444',
|
||||
// docType: '机械手',
|
||||
// workType: '站位作业',
|
||||
// sampleType: '岩石'
|
||||
// },
|
||||
{
|
||||
no: 'SY510-TXS-YS-01',
|
||||
name: 'TS-14',
|
||||
platformType: '载人潜水器',
|
||||
cino: '3444',
|
||||
docType: '机械手',
|
||||
workType: '站位作业',
|
||||
sampleType: '岩石'
|
||||
},
|
||||
// {
|
||||
// no: 'SY510-TXS-YS-02',
|
||||
// name: 'TS2-18',
|
||||
|
|
|
|||
Loading…
Reference in New Issue