yu.jie 4 anni fa
parent
commit
6711dd685c

+ 228 - 228
package-lock.json

@@ -1828,160 +1828,6 @@
         "tslint": "^5.20.1",
         "webpack": "^4.0.0",
         "yorkie": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
-          "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "cosmiconfig": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
-          "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "@types/parse-json": "^4.0.0",
-            "import-fresh": "^3.1.0",
-            "parse-json": "^5.0.0",
-            "path-type": "^4.0.0",
-            "yaml": "^1.7.2"
-          }
-        },
-        "deepmerge": {
-          "version": "4.2.2",
-          "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
-          "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
-          "dev": true,
-          "optional": true
-        },
-        "fork-ts-checker-webpack-plugin-v5": {
-          "version": "npm:fork-ts-checker-webpack-plugin@5.2.1",
-          "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz",
-          "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@types/json-schema": "^7.0.5",
-            "chalk": "^4.1.0",
-            "cosmiconfig": "^6.0.0",
-            "deepmerge": "^4.2.2",
-            "fs-extra": "^9.0.0",
-            "memfs": "^3.1.2",
-            "minimatch": "^3.0.4",
-            "schema-utils": "2.7.0",
-            "semver": "^7.3.2",
-            "tapable": "^1.0.0"
-          }
-        },
-        "fs-extra": {
-          "version": "9.1.0",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
-          "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "at-least-node": "^1.0.0",
-            "graceful-fs": "^4.2.0",
-            "jsonfile": "^6.0.1",
-            "universalify": "^2.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true,
-          "optional": true
-        },
-        "jsonfile": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
-          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "graceful-fs": "^4.1.6",
-            "universalify": "^2.0.0"
-          }
-        },
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
-        "schema-utils": {
-          "version": "2.7.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
-          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "@types/json-schema": "^7.0.4",
-            "ajv": "^6.12.2",
-            "ajv-keywords": "^3.4.1"
-          }
-        },
-        "semver": {
-          "version": "7.3.5",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
-          "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "universalify": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
-          "dev": true,
-          "optional": true
-        }
       }
     },
     "@vue/cli-plugin-vuex": {
@@ -2054,37 +1900,6 @@
         "webpack-merge": "^4.2.2"
       },
       "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
-          "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
         "file-loader": {
           "version": "4.3.0",
           "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz",
@@ -2094,49 +1909,6 @@
             "loader-utils": "^1.2.3",
             "schema-utils": "^2.5.0"
           }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true,
-          "optional": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "vue-loader-v16": {
-          "version": "npm:vue-loader@16.2.0",
-          "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz",
-          "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "chalk": "^4.1.0",
-            "hash-sum": "^2.0.0",
-            "loader-utils": "^2.0.0"
-          },
-          "dependencies": {
-            "loader-utils": {
-              "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
-              "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "big.js": "^5.2.2",
-                "emojis-list": "^3.0.0",
-                "json5": "^2.1.2"
-              }
-            }
-          }
         }
       }
     },
@@ -6332,6 +6104,160 @@
         "worker-rpc": "^0.1.0"
       }
     },
+    "fork-ts-checker-webpack-plugin-v5": {
+      "version": "npm:fork-ts-checker-webpack-plugin@5.2.1",
+      "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz",
+      "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@babel/code-frame": "^7.8.3",
+        "@types/json-schema": "^7.0.5",
+        "chalk": "^4.1.0",
+        "cosmiconfig": "^6.0.0",
+        "deepmerge": "^4.2.2",
+        "fs-extra": "^9.0.0",
+        "memfs": "^3.1.2",
+        "minimatch": "^3.0.4",
+        "schema-utils": "2.7.0",
+        "semver": "^7.3.2",
+        "tapable": "^1.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+          "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "cosmiconfig": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+          "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "@types/parse-json": "^4.0.0",
+            "import-fresh": "^3.1.0",
+            "parse-json": "^5.0.0",
+            "path-type": "^4.0.0",
+            "yaml": "^1.7.2"
+          }
+        },
+        "deepmerge": {
+          "version": "4.2.2",
+          "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+          "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+          "dev": true,
+          "optional": true
+        },
+        "fs-extra": {
+          "version": "9.1.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+          "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "at-least-node": "^1.0.0",
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^2.0.0"
+          }
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true,
+          "optional": true
+        },
+        "jsonfile": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^2.0.0"
+          }
+        },
+        "lru-cache": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        },
+        "schema-utils": {
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
+            "ajv-keywords": "^3.4.1"
+          }
+        },
+        "semver": {
+          "version": "7.3.5",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+          "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "lru-cache": "^6.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        },
+        "universalify": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
     "form-data": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
@@ -12803,6 +12729,80 @@
         }
       }
     },
+    "vue-loader-v16": {
+      "version": "npm:vue-loader@16.2.0",
+      "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz",
+      "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "chalk": "^4.1.0",
+        "hash-sum": "^2.0.0",
+        "loader-utils": "^2.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+          "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true,
+          "optional": true
+        },
+        "loader-utils": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+          "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
     "vue-router": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.1.tgz",

+ 9 - 1
src/services/proto/accountinfo/index.ts

@@ -1,7 +1,7 @@
 import { getUserId } from "@/services/bus/account";
 import { getLongTypeLoginID } from "@/services/bus/login";
 import {
-    ErmcpBizGroupReq, ErmcpBizGroupRsp, LoginaccountOperateReq,
+    ErmcpBizGroupReq, ErmcpBizGroupRsp, HedgeOutMainConfigReq, HedgeOutMainConfigRsp, LoginaccountOperateReq,
     LoginaccountOperateRsp,
     ManagerRoleOperateReq,
     ManagerRoleOperateRsp,
@@ -46,3 +46,11 @@ export const loginAccountOperate = (param: LoginaccountOperateReq): Promise<Logi
 export const bizGroupReq = (param: ErmcpBizGroupReq): Promise<ErmcpBizGroupRsp> => {
     return protoMiddleware<ErmcpBizGroupReq>(param, 'ErmcpBizGroupReq', 'ErmcpBizGroupRsp', 2)
 }
+
+/**
+ * 期货账户新增修改请求
+ * @param param
+ */
+export const hedgeOutMainReq = (param: HedgeOutMainConfigReq): Promise<HedgeOutMainConfigRsp> => {
+    return protoMiddleware<HedgeOutMainConfigReq>(param, 'HedgeOutMainConfigReq', 'HedgeOutMainConfigRsp', 2)
+}

+ 35 - 0
src/services/proto/accountinfo/interface.ts

@@ -86,4 +86,39 @@ export interface ErmcpBizGroupRsp {
 // 期货账户分组账户 0 29 148
 export interface ErmcpBizGroupTAAccount {
     AccountID: number; // uint64 账户ID
+}
+
+// 期货账户新增修改请求 0 29 146
+export interface HedgeOutMainConfigReq {
+    marketid: number; // uint64 内部市场ID(HedgeOutMainConfig)
+    hedgeaccountcode: string ; // string 对冲账号ID(HedgeOutMainConfig)
+    connectflag: number; // int32 是否联接外部交易 - 0:不连接 1:连接(HedgeOutMainConfig)
+    hedgeaccountpwd: string; // string 对冲账号密码(HedgeOutMainConfig)
+    appid: string; // string AppID(HedgeOutMainConfig)
+    authcode: string; // string 授权码(HedgeOutMainConfig)
+    limitnumber: number; // uint64 挂单笔数限额默认0(HedgeOutMainConfig)
+    status: number; // int32 渠道账号状态 1-可买入可卖出 2-可卖出不可买入默认1(HedgeOutMainConfig)
+    accountname: string; // string 账户名称accountname1(Taaccount)
+    accountid: number; // uint64 资金账户ID(Taaccount)
+    taaccounttype: number; // int32 账号类型 - 1:外部账号 2:内部账号 3:内部做市自营账号 4:内部做市接单账号(Taaccount)
+    currencyid: number; // int32 货币ID默认为1(Taaccount)
+    outthreshold: number; // double 出金阈值默认为0(Taaccount)
+    ismain: number; // int32 是否母账号 0:不是母账户 1:是母账户(Taaccount)
+    parentaccountid: number; // uint64 所属根账号(Taaccount)
+    relateduserid: number; // uint64 关联用户(Taaccount)
+    fromaccountid: number; // uint64 所属上级账户(Taaccount)
+    trademargintmpid: number; // uint64 保证金模板id(TAACCOUNTCONFIG)
+    tradefeetmpid: number; // uint64 手续费模板ID(TAACCOUNTCONFIG)
+    maxsubaccouts: number; // uint64 最大子账户数[最大99999][外部母账户用 默认0(TAACCOUNTCONFIG)
+    fcid: number; // uint64 期货公司
+    creatorid: number; // uint64 创建人
+    modifierid: number; // uint64 修改人
+    areauserid: number; // uint64 机构用户ID
+}
+// 期货账户新增修改响应 0 29 157
+export interface HedgeOutMainConfigRsp {
+    RetCode: number; // int32 返回码
+    RetDesc: string; // string 描述信息
+    BizGroupID: number; // uint64 分组ID
+    accountid: number; // uint64 资金账户ID(Taaccount)
 }

+ 0 - 1
src/services/proto/contract/index.ts

@@ -27,7 +27,6 @@ export const contractOperateApply = (param: ContractOperateApplyReq): Promise<an
     const obj = {
         OperateSrc: 2,
         OperatorID: Number(getLongTypeLoginID()),
-        ClientTicket: getUUID(),
         OperateApplyID: getTimeValue()
     }
     Object.assign(param, obj)

+ 143 - 115
src/views/information/spot-contract/list/checkpending/index.vue

@@ -1,132 +1,160 @@
 <template>
-  <!-- 现货合同: 待审核-->
-  <div class="spot-contract-peddding"
-       :loading="loading">
-    <filterCustomTable @search="search">
-      <BtnList :btnList="commonBtn" />
-    </filterCustomTable>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               rowKey="key"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <!-- <template #userinfotype="{ text }">
-                  <a>{{ text === '2' ? '企业' : '个人'}}</a>
-                </template> -->
+    <!-- 现货合同: 待审核-->
+    <div class="spot-contract-peddding"
+         :loading="loading">
+        <filterCustomTable @search="search">
+            <BtnList :btnList="commonBtn"/>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     rowKey="key"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- <template #userinfotype="{ text }">
+                          <a>{{ text === '2' ? '企业' : '个人'}}</a>
+                        </template> -->
 
-        <template #biztype="{ text }">
-          <a>{{ getBizTypeName(text) }}</a>
-        </template>
+                <template #biztype="{ text }">
+                    <a>{{ getBizTypeName(text) }}</a>
+                </template>
 
-        <template #pricetype="{ text }">
-          <a>{{ getPriceTypeName(text) }}</a>
-        </template>
+                <template #pricetype="{ text }">
+                    <a>{{ getPriceTypeName(text) }}</a>
+                </template>
 
-        <template #contracctstatus="{ text }">
-          <a>{{ getContractStatusName(text) }}</a>
-        </template>
+                <template #contracctstatus="{ text }">
+                    <a>{{ getContractStatusName(text) }}</a>
+                </template>
 
-        <template #contracttype="{ text }">
-          <a>{{ getContractTypeName(text) }}</a>
-        </template>
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+                <!-- 对手方 -->
+                <template #negative="{ record }">
+                    <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
+                </template>
+                <template #startdate="{ record }">
+                    <a>{{ formatValue(formatTime(record.startdate, "d") + '--' + formatTime(record.enddate, "d")) }}</a>
+                </template>
+                <!-- 交收期 -->
+                <template #deliverystartdate="{ record }">
+                    <a>{{ formatValue(formatTime(record.deliverystartdate, "d") + '--' +
+                        formatTime(record.deliveryenddate, "d")) }}</a>
+                </template>
 
-      </a-table>
-    </contextMenu>
-    <!-- 现货合同: 详情 -->
-    <SpotContractDeatil :selectedRow="selectedRow"
-                        @refresh="queryTable" />
-    <!-- 现货合同: 审核 -->
-    <Check :selectedRow="selectedRow"
-           @refresh="queryTable" />
-    <!-- 现货合同: 撤销 -->
-    <Cancel :selectedRow="selectedRow"
-            @refresh="queryTable" />
-  </div>
+            </a-table>
+        </contextMenu>
+        <!-- 现货合同: 详情 -->
+        <SpotContractDeatil :selectedRow="selectedRow"
+                            @refresh="queryTable"/>
+        <!-- 现货合同: 审核 -->
+        <Check :selectedRow="selectedRow"
+               @refresh="queryTable"/>
+        <!-- 现货合同: 撤销 -->
+        <Cancel :selectedRow="selectedRow"
+                @refresh="queryTable"/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
-import { AddSpotContract, SpotContractDeatil, Check, Cancel, filterCustomTable } from '../../components';
-import { queryTableList, Ermcp3ContractRsp } from '../index';
-import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/views/information/spot-contract/setup';
-import { Column, ColumnType } from '@/common/setup/table';
-
-export default defineComponent({
-    name: 'spot-contract-peddding',
-    components: {
-        filterCustomTable,
+    import {
+        defineComponent,
+        initData,
+        getTableColumns,
+        getTableEvent,
+        getBtnList,
         contextMenu,
-        AddSpotContract,
-        SpotContractDeatil,
-        Check,
-        Cancel,
-        BtnList,
-    },
-    setup() {
-        // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
-        // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3ContractRsp>({});
-        // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('spot_contract_checkpending', true);
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList(2);
+        BtnList
+    } from '@/common/export/table';
+    import {AddSpotContract, SpotContractDeatil, Check, Cancel, filterCustomTable} from '../../components';
+    import {queryTableList, Ermcp3ContractRsp} from '../index';
+    import {
+        getBizTypeName,
+        getContractStatusName,
+        getContractTypeName,
+        getPriceTypeName
+    } from '@/views/information/spot-contract/setup';
+    import {Column, ColumnType} from '@/common/setup/table';
+    import {formatTime, formatValue} from "@/common/methods";
+
+    export default defineComponent({
+        name: 'spot-contract-peddding',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            AddSpotContract,
+            SpotContractDeatil,
+            Check,
+            Cancel,
+            BtnList,
+        },
+        setup() {
+            // 表头数据
+            const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
+            // 表格事件
+            const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<Ermcp3ContractRsp>({});
+            // 表格操作按钮列表
+            const {commonBtn, forDataBtn} = getBtnList('spot_contract_checkpending', true);
+            // 表格列表数据
+            const {loading, tableList, queryTable} = queryTableList(2);
 
-        // 查询
-        function search(value: any) {
-            filteredInfo.value = value;
-            // 更新表信息
-            updateColumn();
-        }
+            // 查询
+            function search(value: any) {
+                filteredInfo.value = value;
+                // 更新表信息
+                updateColumn();
+            }
 
-        initData(() => {
-            // 获取列表数据
-            queryTable();
-            // 注册表头信息 过滤
-            registerColumn('table_pcweb_delivery', ['contracttype', 'pricetype', 'contractno'], (e: Column, item: ColumnType, filtered: any) => {
-                if (e.columntitle === '对手方') {
-                    item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
-                        if (record.contracttype === 1) {
-                            //采购方
-                            return record.sellusername.includes(value);
-                        } else {
-                            // 销售
-                            return record.buyusername.includes(value);
-                        }
-                    };
-                    item.filteredValue = filtered.negative || null;
-                }
+            initData(() => {
+                // 获取列表数据
+                queryTable();
+                // 注册表头信息 过滤
+                registerColumn('table_pcweb_delivery', ['contracttype', 'pricetype', 'contractno'], (e: Column, item: ColumnType, filtered: any) => {
+                    if (e.columntitle === '对手方') {
+                        item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
+                            if (record.contracttype === 1) {
+                                //采购方
+                                return record.sellusername.includes(value);
+                            } else {
+                                // 销售
+                                return record.buyusername.includes(value);
+                            }
+                        };
+                        item.filteredValue = filtered.negative || null;
+                    }
+                });
             });
-        });
-        return {
-            columns,
-            filteredInfo,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            commonBtn,
-            forDataBtn,
-            loading,
-            tableList,
-            search,
-            queryTable,
-            getBizTypeName,
-            getPriceTypeName,
-            getContractStatusName,
-            getContractTypeName,
-        };
-    },
-});
+            return {
+                columns,
+                filteredInfo,
+                expandedRowKeys,
+                selectedRow,
+                Rowclick,
+                commonBtn,
+                forDataBtn,
+                loading,
+                tableList,
+                search,
+                queryTable,
+                getBizTypeName,
+                getPriceTypeName,
+                getContractStatusName,
+                getContractTypeName,
+                formatTime,
+                formatValue,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.spot-contract-peddding {
-}
+    .spot-contract-peddding {
+    }
 </style>;

+ 139 - 108
src/views/information/spot-contract/list/finished/index.vue

@@ -1,122 +1,153 @@
 <template>
-  <!-- 现货合同: 已完成-->
-  <div class="spot-contract-done">
-    <filterCustomTable @search="search"
-                       :loading="loading">
-      <BtnList :btnList="commonBtn" />
-    </filterCustomTable>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <!-- <template #userinfotype="{ text }">
-          <a>{{ text === '2' ? '企业' : '个人'}}</a>
-        </template> -->
-        <template #biztype="{ text }">
-          <a>{{ getBizTypeName(text) }}</a>
-        </template>
+    <!-- 现货合同: 已完成-->
+    <div class="spot-contract-done">
+        <filterCustomTable @search="search"
+                           :loading="loading">
+            <BtnList :btnList="commonBtn"/>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- <template #userinfotype="{ text }">
+                  <a>{{ text === '2' ? '企业' : '个人'}}</a>
+                </template> -->
+                <template #biztype="{ text }">
+                    <a>{{ getBizTypeName(text) }}</a>
+                </template>
 
-        <template #pricetype="{ text }">
-          <a>{{ getPriceTypeName(text) }}</a>
-        </template>
+                <template #pricetype="{ text }">
+                    <a>{{ getPriceTypeName(text) }}</a>
+                </template>
 
-        <template #contracctstatus="{ text }">
-          <a>{{ getContractStatusName(text) }}</a>
-        </template>
+                <template #contracctstatus="{ text }">
+                    <a>{{ getContractStatusName(text) }}</a>
+                </template>
 
-        <template #contracttype="{ text }">
-          <a>{{ getContractTypeName(text) }}</a>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 新增现货合同 -->
-    <AddSpotContract @refresh="queryTable" />
-    <!-- 现货合同: 详情 -->
-    <SpotContractDeatil :selectedRow="selectedRow"
-                        @refresh="queryTable" />
-  </div>
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+                <!-- 对手方 -->
+                <template #negative="{ record }">
+                    <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
+                </template>
+                <template #startdate="{ record }">
+                    <a>{{ formatValue(formatTime(record.startdate, "d") + '--' + formatTime(record.enddate, "d")) }}</a>
+                </template>
+                <!-- 交收期 -->
+                <template #deliverystartdate="{ record }">
+                    <a>{{ formatValue(formatTime(record.deliverystartdate, "d") + '--' +
+                        formatTime(record.deliveryenddate, "d")) }}</a>
+                </template>
+
+            </a-table>
+        </contextMenu>
+        <!-- 新增现货合同 -->
+        <AddSpotContract @refresh="queryTable"/>
+        <!-- 现货合同: 详情 -->
+        <SpotContractDeatil :selectedRow="selectedRow"
+                            @refresh="queryTable"/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
-import { AddSpotContract, SpotContractDeatil, filterCustomTable } from '../../components';
+    import {
+        defineComponent,
+        initData,
+        getTableColumns,
+        getTableEvent,
+        getBtnList,
+        contextMenu,
+        BtnList
+    } from '@/common/export/table';
+    import {AddSpotContract, SpotContractDeatil, filterCustomTable} from '../../components';
 
-import { queryTableList, Ermcp3ContractRsp } from '../index';
-import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/views/information/spot-contract/setup';
-import { Column, ColumnType } from '@/common/setup/table';
+    import {queryTableList, Ermcp3ContractRsp} from '../index';
+    import {
+        getBizTypeName,
+        getContractStatusName,
+        getContractTypeName,
+        getPriceTypeName
+    } from '@/views/information/spot-contract/setup';
+    import {Column, ColumnType} from '@/common/setup/table';
+    import {formatTime, formatValue} from "@/common/methods";
 
-export default defineComponent({
-    name: 'spot-contract-done',
-    components: {
-        filterCustomTable,
-        contextMenu,
-        AddSpotContract,
-        SpotContractDeatil,
-        BtnList,
-    },
-    setup() {
-        // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
-        // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3ContractRsp>({});
-        // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('spot_contract_finished', true);
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList(4);
-        // 查询
-        function search(value: any) {
-            filteredInfo.value = value;
-            // 更新表信息
-            updateColumn();
-        }
-        initData(() => {
-            // 获取列表数据
-            queryTable();
-            // 注册表头信息 过滤
-            registerColumn('table_pcweb_delivery', ['contracttype', 'pricetype', 'contractno'], (e: Column, item: ColumnType, filtered: any) => {
-                if (e.columntitle === '对手方') {
-                    item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
-                        if (record.contracttype === 1) {
-                            //采购方
-                            return record.sellusername.includes(value);
-                        } else {
-                            // 销售
-                            return record.buyusername.includes(value);
-                        }
-                    };
-                    item.filteredValue = filtered.negative || null;
-                }
+    export default defineComponent({
+        name: 'spot-contract-done',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            AddSpotContract,
+            SpotContractDeatil,
+            BtnList,
+        },
+        setup() {
+            // 表头数据
+            const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
+            // 表格事件
+            const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<Ermcp3ContractRsp>({});
+            // 表格操作按钮列表
+            const {commonBtn, forDataBtn} = getBtnList('spot_contract_finished', true);
+            // 表格列表数据
+            const {loading, tableList, queryTable} = queryTableList(4);
+
+            // 查询
+            function search(value: any) {
+                filteredInfo.value = value;
+                // 更新表信息
+                updateColumn();
+            }
+
+            initData(() => {
+                // 获取列表数据
+                queryTable();
+                // 注册表头信息 过滤
+                registerColumn('table_pcweb_delivery', ['contracttype', 'pricetype', 'contractno'], (e: Column, item: ColumnType, filtered: any) => {
+                    if (e.columntitle === '对手方') {
+                        item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
+                            if (record.contracttype === 1) {
+                                //采购方
+                                return record.sellusername.includes(value);
+                            } else {
+                                // 销售
+                                return record.buyusername.includes(value);
+                            }
+                        };
+                        item.filteredValue = filtered.negative || null;
+                    }
+                });
             });
-        });
-        return {
-            columns,
-            filteredInfo,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            commonBtn,
-            forDataBtn,
-            loading,
-            tableList,
-            search,
-            getBizTypeName,
-            getPriceTypeName,
-            getContractStatusName,
-            getContractTypeName,
-        };
-    },
-});
+            return {
+                columns,
+                filteredInfo,
+                expandedRowKeys,
+                selectedRow,
+                Rowclick,
+                commonBtn,
+                forDataBtn,
+                loading,
+                tableList,
+                search,
+                getBizTypeName,
+                getPriceTypeName,
+                getContractStatusName,
+                getContractTypeName,
+                formatTime,
+                formatValue,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.spot-contract-done {
-}
+    .spot-contract-done {
+    }
 </style>;

+ 142 - 111
src/views/information/spot-contract/list/performance/index.vue

@@ -1,125 +1,156 @@
 <template>
-  <!-- 现货合同: 履约中-->
-  <div class="spot-contract-performance">
-    <filterCustomTable @search="search"
-                       :loading="loading">
-      <BtnList :btnList="commonBtn" />
-    </filterCustomTable>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <!-- <template #userinfotype="{ text }">
-          <a>{{ text === '2' ? '企业' : '个人'}}</a>
-        </template> -->
-        <template #biztype="{ text }">
-          <a>{{ getBizTypeName(text) }}</a>
-        </template>
+    <!-- 现货合同: 履约中-->
+    <div class="spot-contract-performance">
+        <filterCustomTable @search="search"
+                           :loading="loading">
+            <BtnList :btnList="commonBtn"/>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- <template #userinfotype="{ text }">
+                  <a>{{ text === '2' ? '企业' : '个人'}}</a>
+                </template> -->
+                <template #biztype="{ text }">
+                    <a>{{ getBizTypeName(text) }}</a>
+                </template>
 
-        <template #pricetype="{ text }">
-          <a>{{ getPriceTypeName(text) }}</a>
-        </template>
+                <template #pricetype="{ text }">
+                    <a>{{ getPriceTypeName(text) }}</a>
+                </template>
 
-        <template #contracctstatus="{ text }">
-          <a>{{ getContractStatusName(text) }}</a>
-        </template>
+                <template #contracctstatus="{ text }">
+                    <a>{{ getContractStatusName(text) }}</a>
+                </template>
 
-        <template #contracttype="{ text }">
-          <a>{{ getContractTypeName(text) }}</a>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 现货合同: 详情 -->
-    <SpotContractDeatil :selectedRow="selectedRow"
-                        @refresh="queryTable" />
-    <!-- 现货合同: 正常完结 -->
-    <Finish :selectedRow="selectedRow"
-            @refresh="queryTable" />
-  </div>
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+                <!-- 对手方 -->
+                <template #negative="{ record }">
+                    <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
+                </template>
+                <!-- 点假期 -->
+                <template #startdate="{ record }">
+                    <a>{{ formatValue(formatTime(record.startdate, "d") + '--' + formatTime(record.enddate, "d")) }}</a>
+                </template>
+                <!-- 交收期 -->
+                <template #deliverystartdate="{ record }">
+                    <a>{{ formatValue(formatTime(record.deliverystartdate, "d") + '--' +
+                        formatTime(record.deliveryenddate, "d")) }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 现货合同: 详情 -->
+        <SpotContractDeatil :selectedRow="selectedRow"
+                            @refresh="queryTable"/>
+        <!-- 现货合同: 正常完结 -->
+        <Finish :selectedRow="selectedRow"
+                @refresh="queryTable"/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
-import { AddSpotContract, SpotContractDeatil, filterCustomTable, Finish } from '../../components';
+    import {
+        defineComponent,
+        initData,
+        getTableColumns,
+        getTableEvent,
+        getBtnList,
+        contextMenu,
+        BtnList
+    } from '@/common/export/table';
+    import {AddSpotContract, SpotContractDeatil, filterCustomTable, Finish} from '../../components';
 
-import { queryTableList, Ermcp3ContractRsp } from '../index';
-import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/views/information/spot-contract/setup';
-import { Column, ColumnType } from '@/common/setup/table';
+    import {queryTableList, Ermcp3ContractRsp} from '../index';
+    import {
+        getBizTypeName,
+        getContractStatusName,
+        getContractTypeName,
+        getPriceTypeName
+    } from '@/views/information/spot-contract/setup';
+    import {Column, ColumnType} from '@/common/setup/table';
+    import {formatTime, formatValue} from "@/common/methods";
 
-export default defineComponent({
-    name: 'spot-contract-performance',
-    components: {
-        filterCustomTable,
-        contextMenu,
-        AddSpotContract,
-        SpotContractDeatil,
-        Finish,
-        BtnList,
-    },
-    setup() {
-        // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
-        // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3ContractRsp>({});
-        // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('spot_contract_performance', true);
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList(3);
-        // 查询
-        function search(value: any) {
-            filteredInfo.value = value;
-            // 更新表信息
-            updateColumn();
-        }
-        initData(() => {
-            // 获取列表数据
-            queryTable();
-            // 注册表头信息 过滤
-            registerColumn('table_pcweb_delivery', ['contracttype', 'pricetype', 'contractno'], (e: Column, item: ColumnType, filtered: any) => {
-                if (e.columntitle === '对手方') {
-                    item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
-                        if (record.contracttype === 1) {
-                            //采购方
-                            return record.sellusername.includes(value);
-                        } else {
-                            // 销售
-                            return record.buyusername.includes(value);
-                        }
-                    };
-                    item.filteredValue = filtered.negative || null;
-                }
+    export default defineComponent({
+        name: 'spot-contract-performance',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            AddSpotContract,
+            SpotContractDeatil,
+            Finish,
+            BtnList,
+        },
+        setup() {
+            // 表头数据
+            const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
+            // 表格事件
+            const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<Ermcp3ContractRsp>({});
+            // 表格操作按钮列表
+            const {commonBtn, forDataBtn} = getBtnList('spot_contract_performance', true);
+            // 表格列表数据
+            const {loading, tableList, queryTable} = queryTableList(3);
+
+            // 查询
+            function search(value: any) {
+                filteredInfo.value = value;
+                // 更新表信息
+                updateColumn();
+            }
+
+            initData(() => {
+                // 获取列表数据
+                queryTable();
+                // 注册表头信息 过滤
+                registerColumn('table_pcweb_delivery', ['contracttype', 'pricetype', 'contractno'], (e: Column, item: ColumnType, filtered: any) => {
+                    if (e.columntitle === '对手方') {
+                        item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
+                            if (record.contracttype === 1) {
+                                //采购方
+                                return record.sellusername.includes(value);
+                            } else {
+                                // 销售
+                                return record.buyusername.includes(value);
+                            }
+                        };
+                        item.filteredValue = filtered.negative || null;
+                    }
+                });
             });
-        });
-        return {
-            columns,
-            filteredInfo,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            commonBtn,
-            forDataBtn,
-            loading,
-            tableList,
-            search,
-            getBizTypeName,
-            getPriceTypeName,
-            getContractStatusName,
-            getContractTypeName,
-            queryTable,
-        };
-    },
-});
+            return {
+                columns,
+                filteredInfo,
+                expandedRowKeys,
+                selectedRow,
+                Rowclick,
+                commonBtn,
+                forDataBtn,
+                loading,
+                tableList,
+                search,
+                getBizTypeName,
+                getPriceTypeName,
+                getContractStatusName,
+                getContractTypeName,
+                queryTable,
+                formatTime,
+                formatValue,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.spot-contract-performance {
-}
+    .spot-contract-performance {
+    }
 </style>;

+ 154 - 118
src/views/information/spot-contract/list/unsubmitted/index.vue

@@ -1,138 +1,174 @@
 <template>
-  <!-- 现货合同: 未提交-->
-  <div class="spot-contract-not-commit"
-       :loading="loading">
-    <filterCustomTable @search="search">
-      <BtnList :btnList="commonBtn" />
-    </filterCustomTable>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <!-- <template #userinfotype="{ text }">
-                  <a>{{ text === '2' ? '企业' : '个人'}}</a>
-                </template> -->
-        <template #biztype="{ text }">
-          <a>{{ getBizTypeName(text) }}</a>
-        </template>
+    <!-- 现货合同: 未提交-->
+    <div class="spot-contract-not-commit"
+         :loading="loading">
+        <filterCustomTable @search="search">
+            <BtnList :btnList="commonBtn"/>
+        </filterCustomTable>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- <template #userinfotype="{ text }">
+                          <a>{{ text === '2' ? '企业' : '个人'}}</a>
+                        </template> -->
+                <template #biztype="{ text }">
+                    <a>{{ getBizTypeName(text) }}</a>
+                </template>
 
-        <template #pricetype="{ text }">
-          <a>{{ getPriceTypeName(text) }}</a>
-        </template>
+                <template #pricetype="{ text }">
+                    <a>{{ getPriceTypeName(text) }}</a>
+                </template>
 
-        <template #contracctstatus="{ text }">
-          <a>{{ getContractStatusName(text) }}</a>
-        </template>
+                <template #contracctstatus="{ text }">
+                    <a>{{ getContractStatusName(text) }}</a>
+                </template>
 
-        <template #contracttype="{ text }">
-          <a>{{ getContractTypeName(text) }}</a>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 新增现货合同 -->
-    <AddSpotContract @refresh="queryTable" />
-    <!-- 现货合同: 详情 -->
-    <SpotContractDeatil :selectedRow="selectedRow"
-                        @refresh="queryTable" />
-    <!-- 现货合同: 修改 -->
-    <ModifySpotContract :selectedRow="selectedRow"
-                        @refresh="queryTable" />
-    <!-- 现货合同: 删除 -->
-    <DeleteSpotContract :selectedRow="selectedRow"
-                        @refresh="queryTable" />
-    <!-- 现货合同: 重新提交 -->
-    <ResubmitSpotContract :selectedRow="selectedRow"
-                          @refresh="queryTable" />
-  </div>
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+                <!-- 对手方 -->
+                <template #negative="{ record }">
+                    <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
+                </template>
+                <!-- 点假期 -->
+                <template #startdate="{ record }">
+                    <a>{{ formatValue(formatTime(record.startdate, "d") + '--' + formatTime(record.enddate, "d")) }}</a>
+                </template>
+                <!-- 交收期 -->
+                <template #deliverystartdate="{ record }">
+                    <a>{{ formatValue(formatTime(record.deliverystartdate, "d") + '--' +
+                        formatTime(record.deliveryenddate, "d")) }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 新增现货合同 -->
+        <AddSpotContract @refresh="queryTable"/>
+        <!-- 现货合同: 详情 -->
+        <SpotContractDeatil :selectedRow="selectedRow"
+                            @refresh="queryTable"/>
+        <!-- 现货合同: 修改 -->
+        <ModifySpotContract :selectedRow="selectedRow"
+                            @refresh="queryTable"/>
+        <!-- 现货合同: 删除 -->
+        <DeleteSpotContract :selectedRow="selectedRow"
+                            @refresh="queryTable"/>
+        <!-- 现货合同: 重新提交 -->
+        <ResubmitSpotContract :selectedRow="selectedRow"
+                              @refresh="queryTable"/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
-import { AddSpotContract, SpotContractDeatil, filterCustomTable, ModifySpotContract, DeleteSpotContract, ResubmitSpotContract } from '../../components';
-
-import { queryTableList, Ermcp3ContractRsp } from '../index';
-import { getBizTypeName, getContractStatusName, getContractTypeName, getPriceTypeName } from '@/views/information/spot-contract/setup';
-import { Column, ColumnType } from '@/common/setup/table';
-
-export default defineComponent({
-    name: 'spot-contract-not-commit',
-    components: {
-        filterCustomTable,
+    import {
+        defineComponent,
+        initData,
+        getTableColumns,
+        getTableEvent,
+        getBtnList,
         contextMenu,
+        BtnList
+    } from '@/common/export/table';
+    import {
         AddSpotContract,
         SpotContractDeatil,
+        filterCustomTable,
         ModifySpotContract,
         DeleteSpotContract,
-        ResubmitSpotContract,
-        BtnList,
-    },
-    setup() {
-        // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
-        // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3ContractRsp>({});
-        // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('spot_contract_unsubmitted', true);
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList(1);
+        ResubmitSpotContract
+    } from '../../components';
+
+    import {queryTableList, Ermcp3ContractRsp} from '../index';
+    import {
+        getBizTypeName,
+        getContractStatusName,
+        getContractTypeName,
+        getPriceTypeName
+    } from '@/views/information/spot-contract/setup';
+    import {Column, ColumnType} from '@/common/setup/table';
+    import {formatTime, formatValue} from "@/common/methods";
+
+    export default defineComponent({
+        name: 'spot-contract-not-commit',
+        components: {
+            filterCustomTable,
+            contextMenu,
+            AddSpotContract,
+            SpotContractDeatil,
+            ModifySpotContract,
+            DeleteSpotContract,
+            ResubmitSpotContract,
+            BtnList,
+        },
+        setup() {
+            // 表头数据
+            const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
+            // 表格事件
+            const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<Ermcp3ContractRsp>({});
+            // 表格操作按钮列表
+            const {commonBtn, forDataBtn} = getBtnList('spot_contract_unsubmitted', true);
+            // 表格列表数据
+            const {loading, tableList, queryTable} = queryTableList(1);
 
-        // 查询
-        function search(value: any) {
-            filteredInfo.value = value;
-            // 更新表信息
-            updateColumn();
-        }
+            // 查询
+            function search(value: any) {
+                filteredInfo.value = value;
+                // 更新表信息
+                updateColumn();
+            }
 
-        initData(() => {
-            // 获取列表数据
-            queryTable();
-            // 注册表头信息 过滤
-            registerColumn('table_pcweb_delivery', ['contracttype', 'pricetype', 'contractno'], (e: Column, item: ColumnType, filtered: any) => {
-                if (e.columntitle === '对手方') {
-                    item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
-                        if (record.contracttype === 1) {
-                            //采购方
-                            return record.sellusername.includes(value);
-                        } else {
-                            // 销售
-                            return record.buyusername.includes(value);
-                        }
-                    };
-                    item.filteredValue = filtered.negative || null;
-                }
+            initData(() => {
+                // 获取列表数据
+                queryTable();
+                // 注册表头信息 过滤
+                registerColumn('table_pcweb_delivery', ['contracttype', 'pricetype', 'contractno'], (e: Column, item: ColumnType, filtered: any) => {
+                    if (e.columntitle === '对手方') {
+                        item.onFilter = (value: string, record: Ermcp3ContractRsp) => {
+                            if (record.contracttype === 1) {
+                                //采购方
+                                return record.sellusername.includes(value);
+                            } else {
+                                // 销售
+                                return record.buyusername.includes(value);
+                            }
+                        };
+                        item.filteredValue = filtered.negative || null;
+                    }
+                });
             });
-        });
-        return {
-            columns,
-            filteredInfo,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            commonBtn,
-            forDataBtn,
-            loading,
-            tableList,
-            search,
-            queryTable,
-            getBizTypeName,
-            getPriceTypeName,
-            getContractStatusName,
-            getContractTypeName,
-        };
-    },
-});
+            return {
+                columns,
+                filteredInfo,
+                expandedRowKeys,
+                selectedRow,
+                Rowclick,
+                commonBtn,
+                forDataBtn,
+                loading,
+                tableList,
+                search,
+                queryTable,
+                getBizTypeName,
+                getPriceTypeName,
+                getContractStatusName,
+                getContractTypeName,
+                formatTime,
+                formatValue,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.spot-contract-not-commit {
-}
+    .spot-contract-not-commit {
+    }
 </style
 >;

+ 3 - 2
src/views/manage/finance-review/components/fundsAudit/index.vue

@@ -57,7 +57,7 @@
               <a-row :gutter="24">
                   <a-col :span="12">
                       <a-form-item label="款项类型">
-                          <span class="white">{{ kxtypeName(selectedRow.kxtype) }}</span>
+                          <span class="white">{{ stateName(selectedRow.deductamount, selectedRow.contracttype) }}</span>
                       </a-form-item>
                   </a-col>
                   <a-col :span="12">
@@ -95,7 +95,7 @@ import { Modal } from 'ant-design-vue';
 import { ContractOperateApplyReq } from '@/services/proto/contract/interface';
 import Long from 'long';
 import { financeControl } from '@/views/manage/finance-review/components/setup';
-import {kxtypeName} from "@/views/manage/finance-review/setup";
+import {kxtypeName, stateName} from "@/views/manage/finance-review/setup";
 import {getContractTypeName} from "@/views/information/spot-contract/setup";
 import {getPriceTypeName} from "@/views/business/purchase/setup";
 
@@ -178,6 +178,7 @@ export default defineComponent({
             getPriceTypeName,
             getContractTypeName,
             maskClosableFlag,
+            stateName,
         };
     },
 });

+ 3 - 2
src/views/manage/finance-review/components/fundsCancel/index.vue

@@ -53,7 +53,7 @@
               <a-row :gutter="24">
                   <a-col :span="12">
                       <a-form-item label="款项类型">
-                          <span class="white">{{ kxtypeName(selectedRow.kxtype) }}</span>
+                          <span class="white">{{ stateName(selectedRow.deductamount, selectedRow.contracttype) }}</span>
                       </a-form-item>
                   </a-col>
                   <a-col :span="12">
@@ -91,7 +91,7 @@ import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
 import Long from "long";
 import {financeControl} from "@/views/manage/finance-review/components/setup";
 import {QryBussinessKxRsp} from "@/services/go/ermcp/finance-review/interface";
-import {kxtypeName} from "@/views/manage/finance-review/setup";
+import {kxtypeName, stateName} from "@/views/manage/finance-review/setup";
 import {getPriceTypeName} from "@/views/business/purchase/setup";
 import {getContractTypeName} from "@/views/information/spot-contract/setup";
 
@@ -151,6 +151,7 @@ export default defineComponent({
             getPriceTypeName,
             getContractTypeName,
             back,
+            stateName,
         };
     },
 });

+ 3 - 2
src/views/manage/finance-review/components/fundsDetail/index.vue

@@ -46,7 +46,7 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="款项类型">
-              <span class="white">{{ kxtypeName(selectedRow.kxtype) }}</span>
+              <span class="white">{{ stateName(selectedRow.deductamount, selectedRow.contracttype) }}</span>
             </a-form-item>
           </a-col>
           <a-col :span="12">
@@ -79,7 +79,7 @@ import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { getStatusName } from '@/common/constants/enumsName';
 import { formatValue, formatTime } from '@/common/methods';
 import { QryBussinessKxRsp } from '@/services/go/ermcp/finance-review/interface';
-import { kxtypeName } from '@/views/manage/finance-review/setup';
+import {kxtypeName, stateName} from '@/views/manage/finance-review/setup';
 import { getContractTypeName, getPriceTypeName } from '@/views/information/spot-contract/setup';
 
 export default defineComponent({
@@ -111,6 +111,7 @@ export default defineComponent({
             kxtypeName,
             getPriceTypeName,
             getContractTypeName,
+            stateName,
         };
     },
 });

+ 135 - 121
src/views/manage/finance-review/list/funds/index.vue

@@ -1,138 +1,152 @@
 <template>
-  <!-- 管理 - 财务审核 - 款项 -->
-  <div class="business-review-js"
-       :loading="loading">
-    <Filter @search="search">
-      <BtnList :btnList="commonBtn" />
-    </Filter>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <!-- 现货合同类型 -->
-        <template #contractstatus="{ record }">
-          <a>{{ getApplyStatusName(record.applystatus) }}</a>
-        </template>
-        <!-- 合同类型-->
-        <template #contracttype="{ record }">
-          <a>{{ getContractTypeName(record.contracttype) }}</a>
-        </template>
-        <!-- 状态 -->
-        <template #applystatus="{ text }">
-          <a>{{ getApplyStatusName(text) }}</a>
-        </template>
-        <!-- 点价类型 -->
-        <template #operateapplytype="{ text }">
-          <a>{{ operateApplyTypeName(text) }}</a>
-        </template>
-        <!-- 款项类型 -->
-        <template #kxtype="{ text }">
-          <a>{{ kxtypeName(text) }}</a>
-        </template>
+    <!-- 管理 - 财务审核 - 款项 -->
+    <div class="business-review-js"
+         :loading="loading">
+        <Filter @search="search">
+            <BtnList :btnList="commonBtn"/>
+        </Filter>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- 现货合同类型 -->
+                <template #contractstatus="{ record }">
+                    <a>{{ getApplyStatusName(record.applystatus) }}</a>
+                </template>
+                <!-- 合同类型-->
+                <template #contracttype="{ record }">
+                    <a>{{ getContractTypeName(record.contracttype) }}</a>
+                </template>
+                <!-- 状态 -->
+                <template #applystatus="{ text }">
+                    <a>{{ getApplyStatusName(text) }}</a>
+                </template>
+                <!-- 点价类型 -->
+                <template #operateapplytype="{ text }">
+                    <a>{{ operateApplyTypeName(text) }}</a>
+                </template>
+                <!-- 款项类型 -->
+                <template #kxtype="{ record }">
+                    <a>{{ stateName(record.deductamount, record.contracttype) }}</a>
+                </template>
+                <!-- 对手方 -->
+                <template #buyusernameOrsellusername="{ record }">
+                    <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
+                </template>
 
-      </a-table>
-    </contextMenu>
-    <!-- 点价记录详情 -->
-    <FundsDetail :selectedRow="selectedRow"
-                 @refresh="queryTable" />
-    <!-- 交收审核 -->
-    <FundsAudit :selectedRow="selectedRow"
-                @refresh="queryTable" />
-    <!-- 撤销点价登记 -->
-    <FundsCancel :selectedRow="selectedRow"
-                 @refresh="queryTable" />
-  </div>
+
+            </a-table>
+        </contextMenu>
+        <!-- 点价记录详情 -->
+        <FundsDetail :selectedRow="selectedRow"
+                     @refresh="queryTable"/>
+        <!-- 交收审核 -->
+        <FundsAudit :selectedRow="selectedRow"
+                    @refresh="queryTable"/>
+        <!-- 撤销点价登记 -->
+        <FundsCancel :selectedRow="selectedRow"
+                     @refresh="queryTable"/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+    import {
+        defineComponent,
+        initData,
+        getTableColumns,
+        getTableEvent,
+        getBtnList,
+        contextMenu,
+        BtnList
+    } from '@/common/export/table';
 
-import { Filter, FundsAudit, FundsCancel, FundsDetail } from '../../components';
+    import {Filter, FundsAudit, FundsCancel, FundsDetail} from '../../components';
 
-import { queryTableList, QryBussinessKxRsp } from './setup';
-import { invoiceStatusName, kxtypeName, operateApplyTypeName } from '@/views/manage/finance-review/setup';
-import { getApplyStatusName } from '@/views/manage/business-review/setup';
-import { getContractTypeName } from '@/views/information/spot-contract/setup';
-import { Column, ColumnType } from '@/common/setup/table';
+    import {queryTableList, QryBussinessKxRsp} from './setup';
+    import {invoiceStatusName, kxtypeName, operateApplyTypeName, stateName} from '@/views/manage/finance-review/setup';
+    import {getApplyStatusName} from '@/views/manage/business-review/setup';
+    import {getContractTypeName} from '@/views/information/spot-contract/setup';
+    import {Column, ColumnType} from '@/common/setup/table';
 
-export default defineComponent({
-    name: 'business-review-js',
-    components: {
-        contextMenu,
-        Filter,
-        BtnList,
-        FundsDetail,
-        FundsAudit,
-        FundsCancel,
-    },
-    setup() {
-        // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
-        // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<QryBussinessKxRsp>({});
-        // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('finance_review_funds', true);
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList({});
-        initData(() => {
-            // 获取列表数据
-            queryTable();
-            // 注册表头信息 过滤
-            registerColumn('table_pcweb_fincial_aduit_fp', ['contracttype', 'contractno', 'deliverygoodsname'], (e: Column, item: ColumnType, filtered: any) => {
-                if (e.columnfield === 'buyusernameOrsellusername') {
-                    item.onFilter = (value: string, record: QryBussinessKxRsp) => {
-                        const { contracttype, buyusername, sellusername } = record;
-                        if (contracttype === 1) {
-                            // 采购
-                            return sellusername.includes(value);
-                        } else {
-                            return buyusername.includes(value);
-                        }
-                    };
-                    item.filteredValue = filtered.buyusernameOrsellusername || null;
-                }
+    export default defineComponent({
+        name: 'business-review-js',
+        components: {
+            contextMenu,
+            Filter,
+            BtnList,
+            FundsDetail,
+            FundsAudit,
+            FundsCancel,
+        },
+        setup() {
+            // 表头数据
+            const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
+            // 表格事件
+            const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<QryBussinessKxRsp>({});
+            // 表格操作按钮列表
+            const {commonBtn, forDataBtn} = getBtnList('finance_review_funds', true);
+            // 表格列表数据
+            const {loading, tableList, queryTable} = queryTableList({});
+            initData(() => {
+                // 获取列表数据
+                queryTable();
+                // 注册表头信息 过滤
+                registerColumn('table_pcweb_fincial_aduit_kx', ['contracttype', 'contractno', 'deliverygoodsname'], (e: Column, item: ColumnType, filtered: any) => {
+                    if (e.columnfield === 'buyusernameOrsellusername') {
+                        item.onFilter = (value: string, record: QryBussinessKxRsp) => {
+                            const {contracttype, buyusername, sellusername} = record;
+                            if (contracttype === 1) {
+                                // 采购
+                                return sellusername.includes(value);
+                            } else {
+                                return buyusername.includes(value);
+                            }
+                        };
+                        item.filteredValue = filtered.buyusernameOrsellusername || null;
+                    }
+                });
             });
-        });
 
-        // 查询
-        function search(value: any) {
-            filteredInfo.value = value;
-            // 更新表信息
-            updateColumn();
-        }
+            // 查询
+            function search(value: any) {
+                filteredInfo.value = value;
+                // 更新表信息
+                updateColumn();
+            }
 
-        return {
-            columns,
-            filteredInfo,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            commonBtn,
-            forDataBtn,
-            loading,
-            tableList,
-            search,
-            invoiceStatusName,
-            getApplyStatusName,
-            operateApplyTypeName,
-            getContractTypeName,
-            kxtypeName,
-        };
-    },
-});
+            return {
+                columns,
+                filteredInfo,
+                expandedRowKeys,
+                selectedRow,
+                Rowclick,
+                commonBtn,
+                forDataBtn,
+                loading,
+                tableList,
+                search,
+                invoiceStatusName,
+                getApplyStatusName,
+                operateApplyTypeName,
+                getContractTypeName,
+                kxtypeName,
+                stateName,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.business-review-js {
-}
+    .business-review-js {
+    }
 </style
 >;
 

+ 130 - 118
src/views/manage/finance-review/list/invoice/index.vue

@@ -1,135 +1,147 @@
 <template>
-  <!-- 管理 - 财务审核 - 发票 -->
-  <div class="finance_review_invoice"
-       :loading="loading">
-    <Filter @search="search">
-      <BtnList :btnList="commonBtn" />
-    </Filter>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <!-- 现货合同类型 -->
-        <template #contracttype="{ text }">
-          <a>{{ getContractTypeName(text) }}</a>
-        </template>
-        <!-- 发票类型-->
-        <template #invoicetype="{ record }">
-          <a>{{ invoiceStatusName(record.contracttype) }}</a>
-        </template>
-        <!-- 状态 -->
-        <template #applystatus="{ text }">
-          <a>{{ getApplyStatusName(text) }}</a>
-        </template>
-        <!-- 点价类型 -->
-        <template #operateapplytype="{ text }">
-          <a>{{ operateApplyTypeName(text) }}</a>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 点价记录详情 -->
-    <InvoiceDetail :selectedRow="selectedRow"
-                   @refresh="queryTable" />
-    <!-- 交收审核 -->
-    <InvoiceAudit :selectedRow="selectedRow"
-                  @refresh="queryTable" />
-    <!-- 撤销点价登记 -->
-    <InvoiceCancel :selectedRow="selectedRow"
-                   @refresh="queryTable" />
-  </div>
+    <!-- 管理 - 财务审核 - 发票 -->
+    <div class="finance_review_invoice"
+         :loading="loading">
+        <Filter @search="search">
+            <BtnList :btnList="commonBtn"/>
+        </Filter>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- 现货合同类型 -->
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+                <!-- 发票类型-->
+                <template #invoicetype="{ record }">
+                    <a>{{ invoiceStatusName(record.contracttype) }}</a>
+                </template>
+                <!-- 状态 -->
+                <template #applystatus="{ text }">
+                    <a>{{ getApplyStatusName(text) }}</a>
+                </template>
+                <!-- 点价类型 -->
+                <template #operateapplytype="{ text }">
+                    <a>{{ operateApplyTypeName(text) }}</a>
+                </template>
+                <!-- 对手方 -->
+                <template #buyusernameOrsellusername="{ record }">
+                    <a>{{ record.contracttype === 1 ? record.sellusername : record.buyusername }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 点价记录详情 -->
+        <InvoiceDetail :selectedRow="selectedRow"
+                       @refresh="queryTable"/>
+        <!-- 交收审核 -->
+        <InvoiceAudit :selectedRow="selectedRow"
+                      @refresh="queryTable"/>
+        <!-- 撤销点价登记 -->
+        <InvoiceCancel :selectedRow="selectedRow"
+                       @refresh="queryTable"/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+    import {
+        defineComponent,
+        initData,
+        getTableColumns,
+        getTableEvent,
+        getBtnList,
+        contextMenu,
+        BtnList
+    } from '@/common/export/table';
 
-import { InvoiceAudit, InvoiceCancel, InvoiceDetail, Filter } from '../../components';
+    import {InvoiceAudit, InvoiceCancel, InvoiceDetail, Filter} from '../../components';
 
-import { queryTableList, QryBussinessFpRsp } from './setup';
-import { getContractTypeName } from '@/views/information/spot-contract/setup';
-import { invoiceStatusName, kxtypeName, operateApplyTypeName } from '@/views/manage/finance-review/setup';
-import { getApplyStatusName } from '@/views/manage/business-review/setup';
-import { Column, ColumnType } from '@/common/setup/table';
+    import {queryTableList, QryBussinessFpRsp} from './setup';
+    import {getContractTypeName} from '@/views/information/spot-contract/setup';
+    import {invoiceStatusName, kxtypeName, operateApplyTypeName} from '@/views/manage/finance-review/setup';
+    import {getApplyStatusName} from '@/views/manage/business-review/setup';
+    import {Column, ColumnType} from '@/common/setup/table';
 
-export default defineComponent({
-    name: 'finance_review_invoice',
-    components: {
-        contextMenu,
-        Filter,
-        BtnList,
-        InvoiceDetail,
-        InvoiceAudit,
-        InvoiceCancel,
-    },
-    setup() {
-        // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
-        // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<QryBussinessFpRsp>({});
-        // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('finance_review_invoice', true);
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList({});
-        initData(() => {
-            // 获取列表数据
-            queryTable();
-            // 注册表头信息 过滤
-            registerColumn('table_pcweb_fincial_aduit_fp', ['contracttype', 'contractno', 'deliverygoodsname'], (e: Column, item: ColumnType, filtered: any) => {
-                if (e.columnfield === 'buyusernameOrsellusername') {
-                    item.onFilter = (value: string, record: QryBussinessFpRsp) => {
-                        const { contracttype, buyusername, sellusername } = record;
-                        if (contracttype === 1) {
-                            // 采购
-                            return sellusername.includes(value);
-                        } else {
-                            return buyusername.includes(value);
-                        }
-                    };
-                    item.filteredValue = filtered.buyusernameOrsellusername || null;
-                }
+    export default defineComponent({
+        name: 'finance_review_invoice',
+        components: {
+            contextMenu,
+            Filter,
+            BtnList,
+            InvoiceDetail,
+            InvoiceAudit,
+            InvoiceCancel,
+        },
+        setup() {
+            // 表头数据
+            const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
+            // 表格事件
+            const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<QryBussinessFpRsp>({});
+            // 表格操作按钮列表
+            const {commonBtn, forDataBtn} = getBtnList('finance_review_invoice', true);
+            // 表格列表数据
+            const {loading, tableList, queryTable} = queryTableList({});
+            initData(() => {
+                // 获取列表数据
+                queryTable();
+                // 注册表头信息 过滤
+                registerColumn('table_pcweb_fincial_aduit_fp', ['contracttype', 'contractno', 'deliverygoodsname'], (e: Column, item: ColumnType, filtered: any) => {
+                    if (e.columnfield === 'buyusernameOrsellusername') {
+                        item.onFilter = (value: string, record: QryBussinessFpRsp) => {
+                            const {contracttype, buyusername, sellusername} = record;
+                            if (contracttype === 1) {
+                                // 采购
+                                return sellusername.includes(value);
+                            } else {
+                                return buyusername.includes(value);
+                            }
+                        };
+                        item.filteredValue = filtered.buyusernameOrsellusername || null;
+                    }
+                });
             });
-        });
 
-        // 查询
-        function search(value: any) {
-            console.log('value', value);
+            // 查询
+            function search(value: any) {
+                console.log('value', value);
 
-            filteredInfo.value = value;
-            // 更新表信息
-            updateColumn();
-        }
+                filteredInfo.value = value;
+                // 更新表信息
+                updateColumn();
+            }
 
-        return {
-            columns,
-            filteredInfo,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            commonBtn,
-            forDataBtn,
-            loading,
-            tableList,
-            search,
-            getContractTypeName,
-            invoiceStatusName,
-            getApplyStatusName,
-            operateApplyTypeName,
-            kxtypeName,
-        };
-    },
-});
+            return {
+                columns,
+                filteredInfo,
+                expandedRowKeys,
+                selectedRow,
+                Rowclick,
+                commonBtn,
+                forDataBtn,
+                loading,
+                tableList,
+                search,
+                getContractTypeName,
+                invoiceStatusName,
+                getApplyStatusName,
+                operateApplyTypeName,
+                kxtypeName,
+            };
+        },
+    });
 </script>
 
 <style lang="less">
-.finance_review_invoice {
-}
+    .finance_review_invoice {
+    }
 </style
 >;
 

+ 19 - 0
src/views/manage/finance-review/setup.ts

@@ -64,6 +64,25 @@ export function kxtypeName(type: number): string {
     return result
 }
 
+/**
+ * 付款
+ * @param deductamount
+ * @param contracttype
+ */
+export function stateName(deductamount: number, contracttype: number) {
+    let result = "--";
+    if(deductamount === undefined || deductamount === 0){
+        if(contracttype === 1){  // 采购
+            result = "付款"
+        }else{
+            result = "收款"
+        }
+    }else{
+        result = "退款"
+    }
+    return result;
+}
+
 // 提示
 export const financeSign = new Map<number, ResultInfo>([
     [2, ['审核通过成功', '审核失败:']],