上饶市警务平台后台管理前端
zengh
2022-12-06 55f8e265237765f9f7f1941742f27574ab60e79a
1、去除顶栏多余按钮,主题颜色固定为蓝色
2、增加排班维护
12 files modified
2 files added
554 ■■■■■ changed files
package-lock.json 197 ●●●●● patch | view | raw | blame | history
src/api/scheduling/scheduling.js 50 ●●●●● patch | view | raw | blame | history
src/page/index/top/index.vue 10 ●●●● patch | view | raw | blame | history
src/page/index/top/top-theme.vue 8 ●●●● patch | view | raw | blame | history
src/page/login/index.vue 2 ●●● patch | view | raw | blame | history
src/views/policecar/policecar.vue 4 ●●●● patch | view | raw | blame | history
src/views/policeman/policeman.vue 4 ●●●● patch | view | raw | blame | history
src/views/range/range.vue 4 ●●●● patch | view | raw | blame | history
src/views/scheduling/scheduling.vue 233 ●●●●● patch | view | raw | blame | history
src/views/security/security.vue 23 ●●●●● patch | view | raw | blame | history
src/views/securityManage/securityManage.vue 2 ●●● patch | view | raw | blame | history
src/views/securityManageCar/securityManageCar.vue 2 ●●● patch | view | raw | blame | history
src/views/system/user.vue 13 ●●●●● patch | view | raw | blame | history
vue.config.js 2 ●●● patch | view | raw | blame | history
package-lock.json
@@ -976,6 +976,11 @@
        "to-fast-properties": "^2.0.0"
      }
    },
    "@dvgis/dc-sdk": {
      "version": "2.17.0",
      "resolved": "https://registry.npmmirror.com/@dvgis/dc-sdk/-/dc-sdk-2.17.0.tgz",
      "integrity": "sha512-VRAd0J/T9Da6jcJBAEp4H/dDZWVpCM1eBXF2XO5Lm90hfxB122Q3kPYe/l4ZfTKyNs/GMYqBR2CUfyIzH4K+VQ=="
    },
    "@hapi/address": {
      "version": "2.1.4",
      "resolved": "https://registry.npmmirror.com/@hapi/address/-/address-2.1.4.tgz",
@@ -1082,6 +1087,36 @@
        "@jridgewell/sourcemap-codec": "1.4.14"
      }
    },
    "@mapbox/jsonlint-lines-primitives": {
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz",
      "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ=="
    },
    "@mapbox/mapbox-gl-style-spec": {
      "version": "13.27.0",
      "resolved": "https://registry.npmmirror.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.27.0.tgz",
      "integrity": "sha512-wQSJCGRyf7pWknQgeGBArHEk8898UcI1BnAam7IRa3AGmHRFzlJ6DzoU24Hld9zJ0tgkNQ7OP5sJT/9hKHzavg==",
      "requires": {
        "@mapbox/jsonlint-lines-primitives": "~2.0.2",
        "@mapbox/point-geometry": "^0.1.0",
        "@mapbox/unitbezier": "^0.0.0",
        "csscolorparser": "~1.0.2",
        "json-stringify-pretty-compact": "^2.0.0",
        "minimist": "^1.2.6",
        "rw": "^1.3.3",
        "sort-object": "^0.3.2"
      }
    },
    "@mapbox/point-geometry": {
      "version": "0.1.0",
      "resolved": "https://registry.npmmirror.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz",
      "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ=="
    },
    "@mapbox/unitbezier": {
      "version": "0.0.0",
      "resolved": "https://registry.npmmirror.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz",
      "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA=="
    },
    "@mrmlnc/readdir-enhanced": {
      "version": "2.2.1",
      "resolved": "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -1097,6 +1132,11 @@
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
      "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
      "dev": true
    },
    "@petamoriken/float16": {
      "version": "3.6.6",
      "resolved": "https://registry.npmmirror.com/@petamoriken/float16/-/float16-3.6.6.tgz",
      "integrity": "sha512-3MUulwMtsdCA9lw8a/Kc0XDBJJVCkYTQ5aGd+///TbfkOMXoOGAzzoiYKwPEsLYZv7He7fKJ/mCacqKOO7REyg=="
    },
    "@soda/friendly-errors-webpack-plugin": {
      "version": "1.8.1",
@@ -3921,6 +3961,11 @@
      "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
      "dev": true
    },
    "csscolorparser": {
      "version": "1.0.3",
      "resolved": "https://registry.npmmirror.com/csscolorparser/-/csscolorparser-1.0.3.tgz",
      "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w=="
    },
    "cssesc": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz",
@@ -4607,6 +4652,11 @@
        "readable-stream": "^2.0.0",
        "stream-shift": "^1.0.0"
      }
    },
    "earcut": {
      "version": "2.2.4",
      "resolved": "https://registry.npmmirror.com/earcut/-/earcut-2.2.4.tgz",
      "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ=="
    },
    "easy-stack": {
      "version": "1.0.1",
@@ -5804,6 +5854,40 @@
      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
      "dev": true
    },
    "geotiff": {
      "version": "2.0.4",
      "resolved": "https://registry.npmmirror.com/geotiff/-/geotiff-2.0.4.tgz",
      "integrity": "sha512-aG8h9bJccGusioPsEWsEqx8qdXpZN71A20WCvRKGxcnHSOWLKmC5ZmsAmodfxb9TRQvs+89KikGuPzxchhA+Uw==",
      "requires": {
        "@petamoriken/float16": "^3.4.7",
        "lerc": "^3.0.0",
        "lru-cache": "^6.0.0",
        "pako": "^2.0.4",
        "parse-headers": "^2.0.2",
        "web-worker": "^1.2.0",
        "xml-utils": "^1.0.2"
      },
      "dependencies": {
        "lru-cache": {
          "version": "6.0.0",
          "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
          "requires": {
            "yallist": "^4.0.0"
          }
        },
        "pako": {
          "version": "2.1.0",
          "resolved": "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz",
          "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="
        },
        "yallist": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
        }
      }
    },
    "get-caller-file": {
      "version": "2.0.5",
      "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -6454,8 +6538,7 @@
    "ieee754": {
      "version": "1.2.1",
      "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
      "dev": true
      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
    },
    "iferr": {
      "version": "0.1.5",
@@ -7239,6 +7322,11 @@
      "dev": true,
      "optional": true
    },
    "json-stringify-pretty-compact": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz",
      "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ=="
    },
    "json-stringify-safe": {
      "version": "5.0.1",
      "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
@@ -7306,6 +7394,11 @@
      "requires": {
        "launch-editor": "^2.6.0"
      }
    },
    "lerc": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/lerc/-/lerc-3.0.0.tgz",
      "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww=="
    },
    "levn": {
      "version": "0.3.0",
@@ -7534,6 +7627,11 @@
      "requires": {
        "object-visit": "^1.0.0"
      }
    },
    "mapbox-to-css-font": {
      "version": "2.4.1",
      "resolved": "https://registry.npmmirror.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.1.tgz",
      "integrity": "sha512-QQ/iKiM43DM9+aujTL45Iz5o7gDeSFmy4LPl3HZmNcwCE++NxGazf+yFpY+wCb+YS23sDa1ghpo3zrNFOcHlow=="
    },
    "md5.js": {
      "version": "1.3.5",
@@ -8534,6 +8632,27 @@
      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
      "dev": true
    },
    "ol": {
      "version": "7.1.0",
      "resolved": "https://registry.npmmirror.com/ol/-/ol-7.1.0.tgz",
      "integrity": "sha512-mAeV5Ca4mFhYaJoGWNZnIMN5VNnFTf63FgZjBiYu/DjQDGKNsD5QyvvqVziioVdOOgl6b8rPB/ypj2XNBinPwA==",
      "requires": {
        "earcut": "^2.2.3",
        "geotiff": "2.0.4",
        "ol-mapbox-style": "9.1.0",
        "pbf": "3.2.1",
        "rbush": "^3.0.1"
      }
    },
    "ol-mapbox-style": {
      "version": "9.1.0",
      "resolved": "https://registry.npmmirror.com/ol-mapbox-style/-/ol-mapbox-style-9.1.0.tgz",
      "integrity": "sha512-R/XE6FdviaXNdnSw6ItHSEreMtQU68cwQCGv4Kl8yG0V1dZhnI5JWr8IOphJwffPVxfWTCnJb5aALGSB89MvhA==",
      "requires": {
        "@mapbox/mapbox-gl-style-spec": "^13.23.1",
        "mapbox-to-css-font": "^2.4.1"
      }
    },
    "on-finished": {
      "version": "2.4.1",
      "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
@@ -8745,6 +8864,11 @@
        "safe-buffer": "^5.1.1"
      }
    },
    "parse-headers": {
      "version": "2.0.5",
      "resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz",
      "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA=="
    },
    "parse-json": {
      "version": "4.0.0",
      "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-4.0.0.tgz",
@@ -8859,6 +8983,15 @@
      "resolved": "https://registry.npmmirror.com/pathval/-/pathval-1.1.1.tgz",
      "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
      "dev": true
    },
    "pbf": {
      "version": "3.2.1",
      "resolved": "https://registry.npmmirror.com/pbf/-/pbf-3.2.1.tgz",
      "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==",
      "requires": {
        "ieee754": "^1.1.12",
        "resolve-protobuf-schema": "^2.1.0"
      }
    },
    "pbkdf2": {
      "version": "3.1.2",
@@ -10170,6 +10303,11 @@
      "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
      "dev": true
    },
    "protocol-buffers-schema": {
      "version": "3.6.0",
      "resolved": "https://registry.npmmirror.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz",
      "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw=="
    },
    "proxy-addr": {
      "version": "2.0.7",
      "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -10302,6 +10440,11 @@
      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
      "dev": true
    },
    "quickselect": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz",
      "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="
    },
    "randombytes": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
@@ -10343,6 +10486,14 @@
      "version": "0.5.1",
      "resolved": "https://registry.npmmirror.com/raw-loader/-/raw-loader-0.5.1.tgz",
      "integrity": "sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q=="
    },
    "rbush": {
      "version": "3.0.1",
      "resolved": "https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz",
      "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
      "requires": {
        "quickselect": "^2.0.0"
      }
    },
    "read-pkg": {
      "version": "5.2.0",
@@ -10794,6 +10945,14 @@
      "dev": true,
      "optional": true
    },
    "resolve-protobuf-schema": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz",
      "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==",
      "requires": {
        "protocol-buffers-schema": "^3.3.1"
      }
    },
    "resolve-url": {
      "version": "0.2.1",
      "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz",
@@ -10867,6 +11026,11 @@
      "requires": {
        "aproba": "^1.1.1"
      }
    },
    "rw": {
      "version": "1.3.3",
      "resolved": "https://registry.npmmirror.com/rw/-/rw-1.3.3.tgz",
      "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="
    },
    "rx-lite": {
      "version": "4.0.8",
@@ -11595,6 +11759,16 @@
        }
      }
    },
    "sort-asc": {
      "version": "0.1.0",
      "resolved": "https://registry.npmmirror.com/sort-asc/-/sort-asc-0.1.0.tgz",
      "integrity": "sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw=="
    },
    "sort-desc": {
      "version": "0.1.1",
      "resolved": "https://registry.npmmirror.com/sort-desc/-/sort-desc-0.1.1.tgz",
      "integrity": "sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw=="
    },
    "sort-keys": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/sort-keys/-/sort-keys-1.1.2.tgz",
@@ -11602,6 +11776,15 @@
      "dev": true,
      "requires": {
        "is-plain-obj": "^1.0.0"
      }
    },
    "sort-object": {
      "version": "0.3.2",
      "resolved": "https://registry.npmmirror.com/sort-object/-/sort-object-0.3.2.tgz",
      "integrity": "sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==",
      "requires": {
        "sort-asc": "^0.1.0",
        "sort-desc": "^0.1.1"
      }
    },
    "source-list-map": {
@@ -13241,6 +13424,11 @@
        "defaults": "^1.0.3"
      }
    },
    "web-worker": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/web-worker/-/web-worker-1.2.0.tgz",
      "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA=="
    },
    "webpack": {
      "version": "4.46.0",
      "resolved": "https://registry.npmmirror.com/webpack/-/webpack-4.46.0.tgz",
@@ -13858,6 +14046,11 @@
        "async-limiter": "~1.0.0"
      }
    },
    "xml-utils": {
      "version": "1.3.0",
      "resolved": "https://registry.npmmirror.com/xml-utils/-/xml-utils-1.3.0.tgz",
      "integrity": "sha512-i4PIrX33Wd66dvwo4syicwlwmnr6wuvvn4f2ku9hA67C2Uk62Xubczuhct+Evnd12/DV71qKNeDdJwES8HX1RA=="
    },
    "xtend": {
      "version": "4.0.2",
      "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz",
src/api/scheduling/scheduling.js
New file
@@ -0,0 +1,50 @@
import request from '@/router/axios';
export const getList = (current, size, params) => {
  return request({
    url: '/api/scheduling/scheduling/list',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    }
  })
}
export const getDetail = (id) => {
  return request({
    url: '/api/scheduling/scheduling/detail',
    method: 'get',
    params: {
      id
    }
  })
}
export const remove = (ids) => {
  return request({
    url: '/api/scheduling/scheduling/remove',
    method: 'post',
    params: {
      ids,
    }
  })
}
export const add = (row) => {
  return request({
    url: '/api/scheduling/scheduling/submit',
    method: 'post',
    data: row
  })
}
export const update = (row) => {
  return request({
    url: '/api/scheduling/scheduling/submit',
    method: 'post',
    data: row
  })
}
src/page/index/top/index.vue
@@ -19,7 +19,7 @@
      </span>
    </div>
    <div class="top-bar__right">
      <el-tooltip v-if="showColor"
      <!--<el-tooltip v-if="showColor"
                  effect="dark"
                  :content="$t('navbar.color')"
                  placement="bottom">
@@ -47,24 +47,24 @@
                  effect="dark"
                  :content="$t('navbar.theme')"
                  placement="bottom">
        <div class="top-bar__item top-bar__item--show">
        <div class="top-bar__item top-bar__item&#45;&#45;show">
          <top-theme></top-theme>
        </div>
      </el-tooltip>
      <el-tooltip effect="dark"
                  :content="$t('navbar.notice')"
                  placement="bottom">
        <div class="top-bar__item top-bar__item--show">
        <div class="top-bar__item top-bar__item&#45;&#45;show">
          <top-notice></top-notice>
        </div>
      </el-tooltip>
      <el-tooltip effect="dark"
                  :content="$t('navbar.language')"
                  placement="bottom">
        <div class="top-bar__item top-bar__item--show">
        <div class="top-bar__item top-bar__item&#45;&#45;show">
          <top-lang></top-lang>
        </div>
      </el-tooltip>
      </el-tooltip>-->
      <el-tooltip v-if="showFullScren"
                  effect="dark"
                  :content="isFullScren?$t('navbar.screenfullF'):$t('navbar.screenfull')"
src/page/index/top/top-theme.vue
@@ -35,6 +35,10 @@
      text: "",
      list: [
        {
          name: "智能主题",
          value: "theme-bule"
        },
        {
          name: "默认主题",
          value: "default"
        },
@@ -49,10 +53,6 @@
        {
          name: "炫彩主题",
          value: "theme-star"
        },
        {
          name: "智能主题",
          value: "theme-bule"
        },
        {
          name: "iview主题",
src/page/login/index.vue
@@ -37,7 +37,7 @@
          <h4 class="login-title">
            {{ $t('login.title') }}
<!--            {{website.title}}-->
            <top-lang></top-lang>
<!--            <top-lang></top-lang>-->
          </h4>
          <userLogin v-if="activeName==='user'"></userLogin>
          <codeLogin v-else-if="activeName==='code'"></codeLogin>
src/views/policecar/policecar.vue
@@ -80,7 +80,7 @@
              type: "input",
            },
            {
              label: "所属机构",
              label: "所属辖区",
              prop: "deptId",
              type: "tree",
              dicUrl: "api/blade-system/dept/lazy-list",
@@ -93,7 +93,7 @@
              searchSpan:4,
              rules: [{
                required: true,
                message: "请选择所属机构",
                message: "请选择所属辖区",
                trigger: "blur"
              }]
            },
src/views/policeman/policeman.vue
@@ -74,7 +74,7 @@
              prop: "serialNumber",
            },
            {
              label: "所属机构",
              label: "所属辖区",
              prop: "deptId",
              type: "tree",
              dicUrl: "api/blade-system/dept/lazy-list",
@@ -87,7 +87,7 @@
              searchSpan:4,
              rules: [{
                required: true,
                message: "请选择所属机构",
                message: "请选择所属辖区",
                trigger: "blur"
              }]
            },
src/views/range/range.vue
@@ -142,7 +142,7 @@
              }]
            },
            {
              label: "所属机构",
              label: "所属辖区",
              prop: "deptId",
              type: "tree",
              dicUrl: "api/blade-system/dept/lazy-list",
@@ -155,7 +155,7 @@
              searchSpan:4,
              rules: [{
                required: true,
                message: "请选择所属机构",
                message: "请选择所属辖区",
                trigger: "blur"
              }]
            },
src/views/scheduling/scheduling.vue
New file
@@ -0,0 +1,233 @@
<script src="../../../../web/src/const/scheduling/scheduling.js"></script>
<template>
  <basic-container>
    <avue-crud :option="option"
               :table-loading="loading"
               :data="data"
               :page.sync="page"
               :permission="permissionList"
               :before-open="beforeOpen"
               v-model="form"
               ref="crud"
               @row-update="rowUpdate"
               @row-save="rowSave"
               @row-del="rowDel"
               @search-change="searchChange"
               @search-reset="searchReset"
               @selection-change="selectionChange"
               @current-change="currentChange"
               @size-change="sizeChange"
               @refresh-change="refreshChange"
               @on-load="onLoad">
      <template slot="menuLeft">
        <el-button type="danger"
                   size="small"
                   icon="el-icon-delete"
                   plain
                   v-if="permission.scheduling_delete"
                   @click="handleDelete">删 除
        </el-button>
      </template>
    </avue-crud>
  </basic-container>
</template>
<script>
  import {getList, getDetail, add, update, remove} from "@/api/scheduling/scheduling";
  import {mapGetters} from "vuex";
  export default {
    data() {
      return {
        form: {},
        query: {},
        loading: true,
        page: {
          pageSize: 10,
          currentPage: 1,
          total: 0
        },
        selectionList: [],
        option: {
          height: 'auto',
          calcHeight: 30,
          dialogWidth: 950,
          tip: false,
          searchShow: true,
          searchMenuSpan: 6,
          border: true,
          index: true,
          viewBtn: false,
          delBtn: false,
          editBtn: false,
          selection: true,
          excelBtn: true,
          dialogClickModal: false,
          column: [
            {
              label: "值班员",
              prop: "person",
            },
            {
              label: "值班员联系方式",
              prop: "contact",
            },
            {
              label: "值班岗位",
              prop: "station",
            },
            {
              label: "值班开始时间",
              prop: "startTime",
            },
            {
              label: "值班结束时间",
              prop: "endTime",
            },
            {
              label: "带班领导",
              prop: "lead",
            },
            {
              label: "带班领导联系方式",
              prop: "leadContact",
            },
          ]
        },
        data: []
      };
    },
    computed: {
      ...mapGetters(["permission"]),
      permissionList() {
        return {
          addBtn: this.vaildData(this.permission.scheduling_add, false),
          viewBtn: this.vaildData(this.permission.scheduling_view, false),
          delBtn: this.vaildData(this.permission.scheduling_delete, false),
          editBtn: this.vaildData(this.permission.scheduling_edit, false)
        };
      },
      ids() {
        let ids = [];
        this.selectionList.forEach(ele => {
          ids.push(ele.id);
        });
        return ids.join(",");
      }
    },
    methods: {
      rowSave(row, done, loading) {
        add(row).then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
          });
          done();
        }, error => {
          loading();
          window.console.log(error);
        });
      },
      rowUpdate(row, index, done, loading) {
        update(row).then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
          });
          done();
        }, error => {
          loading();
          console.log(error);
        });
      },
      rowDel(row) {
        this.$confirm("确定将选择数据删除?", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        })
          .then(() => {
            return remove(row.id);
          })
          .then(() => {
            this.onLoad(this.page);
            this.$message({
              type: "success",
              message: "操作成功!"
            });
          });
      },
      handleDelete() {
        if (this.selectionList.length === 0) {
          this.$message.warning("请选择至少一条数据");
          return;
        }
        this.$confirm("确定将选择数据删除?", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        })
          .then(() => {
            return remove(this.ids);
          })
          .then(() => {
            this.onLoad(this.page);
            this.$message({
              type: "success",
              message: "操作成功!"
            });
            this.$refs.crud.toggleSelection();
          });
      },
      beforeOpen(done, type) {
        if (["edit", "view"].includes(type)) {
          getDetail(this.form.id).then(res => {
            this.form = res.data.data;
          });
        }
        done();
      },
      searchReset() {
        this.query = {};
        this.onLoad(this.page);
      },
      searchChange(params, done) {
        this.query = params;
        this.page.currentPage = 1;
        this.onLoad(this.page, params);
        done();
      },
      selectionChange(list) {
        this.selectionList = list;
      },
      selectionClear() {
        this.selectionList = [];
        this.$refs.crud.toggleSelection();
      },
      currentChange(currentPage){
        this.page.currentPage = currentPage;
      },
      sizeChange(pageSize){
        this.page.pageSize = pageSize;
      },
      refreshChange() {
        this.onLoad(this.page, this.query);
      },
      onLoad(page, params = {}) {
        this.loading = true;
        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
          const data = res.data.data;
          this.page.total = data.total;
          this.data = data.records;
          this.loading = false;
          this.selectionClear();
        });
      }
    }
  };
</script>
<style>
</style>
src/views/security/security.vue
@@ -72,7 +72,7 @@
              prop: "person",
            },
            {
              label: "所属机构",
              label: "所属辖区",
              prop: "deptId",
              type: "tree",
              dicUrl: "api/blade-system/dept/lazy-list",
@@ -85,7 +85,7 @@
              searchSpan:4,
              rules: [{
                required: true,
                message: "请选择所属机构",
                message: "请选择所属辖区",
                trigger: "blur"
              }]
            },
@@ -137,6 +137,25 @@
              label: "活动内容",
              prop: "content",
            },
            {
              label: "申报人数",
              prop: "number",
            },
            {
              label: "活动类型",
              prop: "type",
              type:"select",
              dicUrl:"/api/blade-system/dict-biz/dictionary?code=securityType",
              props:{
                label:"dictValue",
                value:"dictKey"
              },
              rules: [{
                required: true,
                message: "请选择活动类型",
                trigger: "blur"
              }]
            },
          ]
        },
        data: []
src/views/securityManage/securityManage.vue
@@ -106,7 +106,7 @@
              }
            },
            {
              label: "所属机构",
              label: "所属辖区",
              prop: "deptId",
              type: "tree",
              disabled:true,
src/views/securityManageCar/securityManageCar.vue
@@ -115,7 +115,7 @@
              }
            },
            {
              label: "所属机构",
              label: "所属辖区",
              prop: "deptId",
              type: "tree",
              dicUrl: "api/blade-system/dept/lazy-list",
src/views/system/user.vue
@@ -17,6 +17,7 @@
                   :data="data"
                   ref="crud"
                   v-model="form"
                   :defaults.sync="defaults"
                   :permission="permissionList"
                   @row-del="rowDel"
                   @row-update="rowUpdate"
@@ -498,6 +499,16 @@
                  props: {
                    label: "title"
                  },
                  /*control:() =>{
                    if (this.userInfo.role_name.includes("administrator")){
                      debugger
                      return{
                        roleId:{
                          disabled:true
                        }
                      }
                    }
                  },*/
                  checkStrictly: true,
                  slot: true,
                  rules: [{
@@ -723,6 +734,8 @@
      initData(tenantId) {
        getRoleTree(tenantId).then(res => {
          const column = this.findObject(this.option.group, "roleId");
          res.data.data[0].disabled = true;
          // res.data.data[1].disabled = true;
          column.dicData = res.data.data;
        });
        getDeptTree(tenantId).then(res => {
vue.config.js
@@ -26,7 +26,7 @@
    proxy: {
      '/api': {
        //本地服务接口地址
        target: 'http://192.168.0.102:80/',
        target: 'http://192.168.0.115:82/',
        //远程演示服务地址,可用于直接启动项目
        //target: 'https://saber.bladex.vip/api',
        ws: true,