zhaoke 2 lat temu
rodzic
commit
17c6c18fc3
51 zmienionych plików z 60 dodań i 11422 usunięć
  1. 0 33
      src/components/BackButton/index.vue
  2. 0 325
      src/components/bfbutton/index.vue
  3. 0 134
      src/components/competencypop/index.vue
  4. 0 117
      src/components/deletepopup/deletepopup.scss
  5. 0 68
      src/components/deletepopup/index.vue
  6. 0 190
      src/components/loginpolicy/index.vue
  7. 0 58
      src/components/loginpolicy/loginpolicy.scss
  8. 0 74
      src/components/loginpolicypop/index.vue
  9. 0 154
      src/components/loginpolicypop/loginpolicypop.scss
  10. 0 67
      src/components/navHeader/index.vue
  11. 0 204
      src/components/organization/index.vue
  12. 0 90
      src/components/organization/organization.scss
  13. 0 186
      src/components/permissionlist/index.vue
  14. 0 236
      src/components/permissionlist/permissionlist.scss
  15. 0 428
      src/components/permissiontree/index.vue
  16. 0 193
      src/components/permissiontree/permissiontree.scss
  17. 0 369
      src/components/rolelist/index.vue
  18. 0 88
      src/components/rolelist/rolelist.scss
  19. 0 179
      src/components/rulesofcompetency/index.vue
  20. 0 126
      src/components/rulesofcompetency/index0.vue
  21. 0 53
      src/components/rulesofcompetency/rulesofcompetency.scss
  22. 0 183
      src/components/usergrouptree/index.vue
  23. 0 79
      src/layout/components/dateType/index.vue
  24. 2 0
      src/store/modules/user.js
  25. 2 0
      src/views/newUserManagement/index.vue
  26. 0 293
      src/views/queryTemplate/index.vue
  27. 0 46
      src/views/systemSettings/views/dataStructureItem/dataStructureItemHome.vue
  28. 0 318
      src/views/systemSettings/views/datastructure/datastructureChild.vue
  29. 0 58
      src/views/systemSettings/views/datastructure/datastructureHome.vue
  30. 0 285
      src/views/systemSettings/views/log/index.vue
  31. 0 399
      src/views/systemSettings/views/machineManagement/machineHome.vue
  32. 1 0
      src/views/systemSettings/views/newAuth/components/button.vue
  33. 11 3
      src/views/systemSettings/views/newService/index.vue
  34. 0 367
      src/views/systemSettings/views/protocolManagement/protocolHome.vue
  35. 0 44
      src/views/systemSettings/views/queryItemSettings/queryItemSettingsHome.vue
  36. 0 381
      src/views/systemSettings/views/queryTemplate/queryTemplate.vue
  37. 0 58
      src/views/systemSettings/views/queryTemplate/queryTemplateChild.vue
  38. 0 811
      src/views/systemSettings/views/queryTemplate/queryTemplatePreview.vue
  39. 0 200
      src/views/systemSettings/views/queryTemplate/queryTemplateadd.vue
  40. 0 219
      src/views/systemSettings/views/queryTemplate/queryTemplateedit.vue
  41. 0 44
      src/views/systemSettings/views/servicedeployment/servicedeploymentHome.vue
  42. 0 44
      src/views/systemSettings/views/serviceoutput/serviceoutputHome.vue
  43. 0 662
      src/views/systemSettings/views/sourceDataItemManagement/sourceDataItemEdit.vue
  44. 0 316
      src/views/systemSettings/views/sourceDataItemManagement/sourceDataItemHome.vue
  45. 0 58
      src/views/systemSettings/views/sourceservice/sourceserviceHome.vue
  46. 0 651
      src/views/systemSettings/views/targetDataManagement/targetDataEdit.vue
  47. 0 307
      src/views/systemSettings/views/targetDataManagement/targetDataHome.vue
  48. 0 1377
      src/views/systemSettings/views/warningSet/warningEdit.vue
  49. 0 830
      src/views/systemSettings/views/warningSet/warningSet.vue
  50. 29 11
      src/views/table/components/authButton.vue
  51. 15 6
      src/views/table/index.vue

+ 0 - 33
src/components/BackButton/index.vue

@@ -1,33 +0,0 @@
-<template>
-  <span
-    class="btn-back"
-    @click="goBackHandler"
-  ><i class="el-icon-arrow-left" />返回上一步</span>
-</template>
-
-<script>
-export default {
-  methods: {
-    goBackHandler() {
-      const pathArray = this.$route.path.split('/')
-      if (pathArray[1] === 'advance') {
-        this.$router.push('/advance')
-      } else if (pathArray.at(-1) === 'flightView') {
-        this.$router.push(`/${pathArray[1]}`)
-      } else if (['baggageView', 'containerView'].includes(pathArray.at(-1))) {
-        this.$router.push(`${pathArray.slice(0, -1).join('/')}/flightView`)
-      }
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.btn-back {
-  margin-left: 24px;
-  font-size: 16px;
-  font-weight: normal;
-  color: #2d67e3;
-  cursor: pointer;
-}
-</style>

+ 0 - 325
src/components/bfbutton/index.vue

@@ -1,325 +0,0 @@
-<template>
-  <div class="bf-button">
-    <!-- 1 2是公用头部按钮 3是左边长按钮 4 10导入新增 8 9调用规则管理-->
-    <el-row>
-      <el-button :class="{
-          but: type == 1,
-          buter: type == 2,
-          butewid: type == 3,
-          butdao: type == 4,
-          butdaoadd: type == 10,
-          butedit: type == 5,
-          butels: type == 6,
-          buteles: type == 7,
-          butcan: type == 8,
-          butsub: type == 9,
-          butout: type == 11,
-          butmod: type == 12,
-          butb: type == 13,
-          butc: type == 14,
-        }">{{ butName }}</el-button>
-    </el-row>
-  </div>
-</template>
-<script>
-export default {
-  props: ["butName", "type"],
-  data () {
-    return {};
-  },
-  mounted () {
-
-  },
-};
-</script>
-<style scoped lang="scss">
-:v-deep .bf-button {
-  // height: 48px;
-  height: 32px;
-  border-radius: 4px;
-  > .el-row {
-    width: 100%;
-    height: 100%;
-    > .but {
-      width: 100%;
-      height: 100%;
-      padding: 0 32px 0 32px;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #ffffff;
-      background: #2d67e3;
-      // box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.18);
-    }
-    .but:hover {
-      background: #2d67e3;
-    }
-    .but:focus {
-      background: #2d67e3;
-    }
-    > .buter {
-      width: 100%;
-      height: 100%;
-      padding: 1px 32px 1px 32px;
-      background: #f5f7fa;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #5077ae;
-      border: 1px solid #90a8c9;
-      box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-    }
-    .buter:hover {
-      background: #87a6d3;
-      color: #ffffff;
-    }
-    .buter:focus {
-      background: #2d4f80;
-      color: #ffffff;
-    }
-    > .butewid {
-      width: 100%;
-      height: 100%;
-      padding: 0 92px 0 92px;
-      background: #2d67e3;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #ffffff;
-      box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-    }
-    .butewid:hover {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butewid:focus {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butdao {
-      width: 100%;
-      height: 100%;
-      padding: 0 47px 0 47px;
-      background: #ffffff;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #5077ae;
-      border: 1px solid #e4e8f0;
-      border-radius: 6px;
-    }
-    .butdao:hover {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butdao:focus {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butdaoadd {
-      width: 100%;
-      height: 100%;
-      padding: 0 47px 0 47px;
-      background: #2d67e3;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #ffffff;
-      border-radius: 6px;
-    }
-    .butdaoadd:hover {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butdaoadd:focus {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butedit {
-      width: 100%;
-      height: 100%;
-      padding: 0 16px 0 16px;
-      background: #2d67e3;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #ffffff;
-    }
-    .butedit:hover {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butedit:focus {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butels {
-      width: 100%;
-      height: 100%;
-      padding: 0 15px 0 15px;
-      background: #f56c6c;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #ffffff;
-    }
-    .butels:hover {
-      background: #f88585;
-      color: #ffffff;
-    }
-    .butels:focus {
-      background: #dd4343;
-      color: #ffffff;
-    }
-    .buteles {
-      width: 80px;
-      height: 100%;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      padding: 0 24px 0 24px;
-      background: #eb2f3b;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #ffffff;
-    }
-    .buteles:hover {
-      background: #f88585;
-      color: #ffffff;
-    }
-    .buteles:focus {
-      background: #dd4343;
-      color: #ffffff;
-    }
-    .butcan {
-      width: 100%;
-      height: 100%;
-      padding: 0 24px 0 24px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      background: #ffffff;
-      border: 1px solid #e4e8f0;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #5077ae;
-    }
-    .butcan:hover {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butcan:focus {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butsub {
-      width: 100%;
-      height: 100%;
-      padding: 0 24px 0 24px;
-      background: #2d67e3;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #ffffff;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-    }
-    .butsub:hover {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butsub:focus {
-      background: #2d67e3;
-      color: #ffffff;
-    }
-    .butout {
-      width: 100%;
-      height: 100%;
-      padding: 0 20px 0 20px;
-      // background: #F56C6C;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #f56c6c;
-      border: 1px solid #f56c6c;
-    }
-    .butout:hover {
-      background: #f88585;
-      color: #ffffff;
-    }
-    .butout:focus {
-      background: #dd4343;
-      color: #ffffff;
-    }
-    .butmod {
-      width: 80px;
-      height: 100%;
-      padding: 0 20px 0 20px;
-      // background: #F56C6C;
-      font-size: 16px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #303133;
-      border: 1px solid #e3e5e8;
-    }
-    .butmod:hover {
-      // background: #2d67e3;
-      color: #2d67e3;
-      // border: none;
-    }
-    .butmod:focus {
-      background: #2d67e3;
-      color: #ffffff;
-      // border: none;
-    }
-    .butb {
-      width: 100%;
-      height: 100%;
-      padding: 0 24px 0 24px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      background: #ffffff;
-      border: 1px solid #9ebbf7;
-      font-size: 14px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #2d67e3;
-    }
-    // .butb:hover {
-    //   background: #2d67e3;
-    //   color: #ffffff;
-    //   // border: none;
-    // }
-    // .butb:focus {
-    //   background: #2d67e3;
-    //   color: #ffffff;
-    //   // border: none;
-    // }
-    .butc {
-      width: 100%;
-      height: 100%;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      padding: 0 24px 0 24px;
-      background: #eb2f3b;
-      font-size: 14px;
-      // font-family: Microsoft YaHei;
-      // font-weight: bold;
-      color: #ffffff;
-    }
-    .butc:hover {
-      background: #eb2f3b;
-      color: #ffffff;
-    }
-    // .butc:focus {
-    //   background: #dd4343;
-    //   color: #ffffff;
-    // }
-  }
-}
-</style>

+ 0 - 134
src/components/competencypop/index.vue

@@ -1,134 +0,0 @@
-<template>
-  <div class="bf-competencypop">
-    <Dialog width="540px" :flag="dialogVisiblestart">
-      <div class="title">权限规则</div>
-      <div class="content">
-        <el-form label-width="110px" class="from dialog-public-background">
-          <!-- <el-form-item>
-            <el-radio v-model="form.Action" disabled :label="item.id" v-for='(item,index) in option' :key="index">{{item.label}}</el-radio>
-          </el-form-item>
-          <el-form-item label="时效范围起">
-            <el-date-picker size="small" v-model="form.ValidBegin" disabled type="datetime" :picker-options="pickerOptionsStart" placeholder="选择时间">
-            </el-date-picker>
-          </el-form-item>
-          <el-form-item label="至">
-            <el-date-picker size="small" v-model="form.ValidEnd" disabled @change="setTime" :picker-options="pickerOptionsEnd" type="datetime" placeholder="选择时间">
-            </el-date-picker>
-          </el-form-item> -->
-          <el-form-item label="许可查询行">
-            <el-input size="small" v-model="form.QueryRow" placeholder="请输入内容" disabled></el-input>
-          </el-form-item>
-          <el-form-item label="许可查询列">
-            <el-input size="small" v-model="form.QueryCol" placeholder="请输入内容" disabled></el-input>
-          </el-form-item>
-          <el-form-item label="许可删除行">
-            <el-input size="small" v-model="form.DeleteRow" placeholder="请输入内容" disabled></el-input>
-          </el-form-item>
-          <el-form-item label="许可新增列">
-            <el-input size="small" v-model="form.NewCol" placeholder="请输入内容" disabled></el-input>
-          </el-form-item>
-          <el-form-item label="许可编辑行">
-            <el-input size="small" v-model="form.EditRow" placeholder="请输入内容" disabled></el-input>
-          </el-form-item>
-          <el-form-item label="许可编辑列">
-            <el-input size="small" v-model="form.EditCol" placeholder="请输入内容" disabled></el-input>
-          </el-form-item>
-        </el-form>
-      </div>
-      <div class="foot center">
-        <el-button @click.native="handleClose" type="primary">确定</el-button>
-      </div>
-    </Dialog>
-  </div>
-</template>
-<script>
-import Dialog from '@/layout/components/Dialog'
-export default {
-  props: {
-    dialogVisiblestart: {
-      type: Boolean,
-      default: false
-    },
-    form: {
-      type: Object,
-      default: () => { }
-    }
-  },
-  data () {
-    return {
-      pickerOptionsStart: {
-        disabledDate: time => {
-          if (this.form.endWeeks) {
-            return time.getTime() >= new Date(this.form.endWeeks).getTime()
-          }
-        }
-      },
-      pickerOptionsEnd: {
-        disabledDate: time => {
-          if (this.form.firstWeeks) {
-            return time.getTime() <= new Date(this.form.firstWeeks).getTime() - 86400000
-          }
-        }
-      },
-      //   form: {
-      //     endWeeks: '',
-      //     firstWeeks: '',
-      //     value1: '',
-      //     value2: '',
-      //     input1: '',
-      //     input2: '',
-      //     input3: '',
-      //     input4: '',
-      //     input5: '',
-      //     input6: '',
-      //   },
-      butName1: '确定',
-      isWidth: '29.1%',
-      radio: 1,
-      option: [{
-        label: '显示权限',
-        id: 1
-      },
-      {
-        label: '显示及编辑权限',
-        id: 2
-      }],
-      value1: '',
-      value2: ''
-    }
-  },
-  components: {
-    Dialog
-  },
-  methods: {
-    handleClose () {
-      this.$emit('handleClose', this.form)
-    },
-    setTime (val) {
-      if (this.form.endWeeks < this.form.firstWeeks) {
-        this.endWeeks = ''
-      }
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.title {
-  text-align: left;
-}
-.content {
-  margin-left: 0;
-  padding: 0 24px 0px 24px;
-  text-align: left;
-  .el-date-editor {
-    width: 100%;
-  }
-  .el-form-item {
-    margin-bottom: 15px;
-  }
-}
-.footer {
-  padding-bottom: 24px;
-}
-</style>

+ 0 - 117
src/components/deletepopup/deletepopup.scss

@@ -1,117 +0,0 @@
-.bf-deletepopup{
-    .el-dialog__header{
-        display: none;
-    }
-    .el-dialog{
-        display: flex;
-        display: -ms-flex; /* 兼容IE */
-        flex-direction: column;
-        -ms-flex-direction: column; /* 兼容IE */
-        margin:0 !important;
-        position:absolute;
-        top:50%;
-        left:50%;
-        transform:translate(-50%,-50%);
-        max-height:calc(100% - 30px);
-        max-width:calc(100% - 30px);
-    }
-    .el-dialog__body{
-        padding: 0;
-        background: #FFFFFF;
-        box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.3);
-        >.deletepopup_header{
-            width: 100%;
-            height: 36px;
-            background: #EB2F3B;
-            display: flex;
-            padding:  0 16px 0 16px;
-            >.left{
-                width: 50%;
-                height: 100%;
-                display: flex;
-                align-items: center;
-                >p{
-                    font-size: 16px;
-                    font-family: Microsoft YaHei;
-                    font-weight: bold;
-                    color: #FFFFFF;
-                }
-            }
-            >.right{
-                width: 100%;
-                height: 36px;
-                display: flex;
-                align-items: center;
-                justify-content: flex-end;
-                >.logx{
-                    width: 16px;
-                    height: 16px;
-                    background: url('../../assets/index/ic_close_conner.png') no-repeat;
-                    background-size: 100% 100%;
-                    cursor: pointer;
-                }
-            }
-        }
-        >.deletepopup_cont{
-            width: 100%;
-            padding: 24px 24px 20px 24px;
-            // height: 111px;
-            display: flex;
-            align-items: center;
-            font-size: 16px;
-            font-family: Microsoft YaHei;
-            font-weight: 400;
-            color: #101611;
-            >.log{
-                width: 26px;
-                height: 26px;
-                background: #EB2F3B;
-                border-radius: 50%;
-                margin-right: 15px;
-                background: url('../../assets/index/ic_close_hint.png') no-repeat;
-                background-size: 100% 100%;
-            }
-            >p{
-                color: #EB2F3B;
-            }
-        }
-        >.footer{
-            width: 100%;
-            height: 48px;
-            display: flex;
-            align-items: center;
-            justify-content: flex-end;
-            padding-right: 24px;
-            >.delebut{
-                // padding: 0 24px 0 24px;
-                height: 32px;
-                margin-right: 16px;
-                // background: #F56C6C;
-                // border-radius: 4px;
-                // display: flex;
-                // align-items: center;
-                // justify-content: center;
-                // font-size: 16px;
-                // font-family: Microsoft YaHei;
-                // font-weight: bold;
-                // color: #FFFFFF;
-                // cursor: pointer;
-            }
-            >.elebut{
-                // padding: 0 24px 0 24px;
-                height: 32px;
-                // background: #FFFFFF;
-                // border: 1px solid #E4E8F0;
-                // display: flex;
-                // align-items: center;
-                // justify-content: center;
-                // border-radius: 4px;
-                // font-size: 16px;
-                // font-family: Microsoft YaHei;
-                // font-weight: bold;
-                // color: #303133;
-                // cursor: pointer;
-            }
-        }
-    }
-}

+ 0 - 68
src/components/deletepopup/index.vue

@@ -1,68 +0,0 @@
-<template>
-  <div class="bf-deletepopup">
-    <el-dialog
-      title=""
-      :visible.sync="dialogVisibledele"
-      :modal-append-to-body="false"
-      :before-close="handleCloseer"
-      :width="isWidth"
-    >
-      <div class="deletepopup_header">
-        <div class="left">
-          <p>{{ deleContent.name }}</p>
-        </div>
-        <div class="right">
-          <div class="logx" @click="handleClose"></div>
-        </div>
-      </div>
-      <div class="deletepopup_cont">
-        <div class="log"></div>
-        您确定要删除
-        <p>{{ deleContent.cont }}</p>
-        ?
-      </div>
-      <div class="footer">
-        <!-- <div class="delebut">删除</div> -->
-        <Bfbutton
-          :butName="butName"
-          class="delebut"
-          @click.native="handleStart"
-          :type="7"
-        />
-        <Bfbutton
-          :butName="butNames"
-          class="elebut"
-          @click.native="handleClose"
-          :type="12"
-        />
-        <!-- <div class="elebut" @click="handleClose">取消</div> -->
-      </div>
-    </el-dialog>
-  </div>
-</template>
-<script>
-import Bfbutton from "../../components/bfbutton/index.vue";
-import "./deletepopup.scss";
-export default {
-  props: ["dialogVisibledele", "deleContent"],
-  data() {
-    return {
-      isWidth: "21%",
-      butName: "删除",
-      butNames: "取消",
-    };
-  },
-  methods: {
-    handleClose() {
-      this.$emit("delepop", "取消");
-    },
-    handleStart() {
-      this.$emit("delepop", "删除");
-    },
-    handleCloseer() {},
-  },
-  components: {
-    Bfbutton,
-  },
-};
-</script>

+ 0 - 190
src/components/loginpolicy/index.vue

@@ -1,190 +0,0 @@
-<template>
-  <div class="bf-loginpolicys">
-    <!-- 登录策略 -->
-    <div class="cont">
-      <div class="paren_header">
-        <p>登录策略</p>
-      </div>
-      <div class="paren_cont">
-        <template v-if="dataList.length">
-          <el-scrollbar style="height: 100%">
-            <el-row v-infinite-scroll="load" :infinite-scroll-distance="20" infinite-scroll-disabled="disabled" :gutter="24">
-              <el-col :span="8" v-for="(item, index) in dataList" :key="index">
-                <div class="cide">
-                  <div class="cide_header">
-                    <el-tooltip effect="dark" :content="item.TacName" placement="bottom">
-                      <span v-if="item.TacName.length>11">{{ item.TacName }}</span>
-                    </el-tooltip>
-                    <span v-if="item.TacName.length<12">{{ item.TacName }}</span>
-                  </div>
-                  <div class="cide_foot">
-                    <span @click="upStart(item.TacId)">查看</span>
-                    <el-checkbox v-model="item.checked" @change="checkedChange(item)" :disabled="isEdit"></el-checkbox>
-                  </div>
-                </div>
-              </el-col>
-            </el-row>
-          </el-scrollbar>
-          <template v-if="total > 1">
-            <p class="center" v-if="loading">加载中...</p>
-            <!-- <p class="center" v-if="noMore">没有更多数据了~</p> -->
-          </template>
-        </template>
-        <template v-else>
-          <NoData />
-        </template>
-      </div>
-    </div>
-    <Loginpolicypop :dialogVisiblestart="dialogVisiblestart" :itemData="itemData" @handleClose="handleClose" />
-  </div>
-</template>
-<script>
-import { GetTacList, GetTacDetails } from "@/api/systemConfiguration";
-import Loginpolicypop from "@/components/loginpolicypop/index.vue";
-import NoData from "@/components/nodata";
-// props: checkedList  已选中列表数组  isEdit 是否可以编辑  true 为是  false 为否
-//emit: getCheckedList  获取已选中的列表
-export default {
-  data () {
-    return {
-      dialogVisiblestart: false,
-      dataList: [],
-      listArray: [],
-      itemData: [],
-      pageNum: 1,
-      pageSize: 20,
-      total: null,
-      arrList: [],
-      loading: false
-    };
-  },
-  props: {
-    //选中列表
-    checkedList: {
-      type: Array,
-      default: () => [],
-    },
-    isEdit: {
-      type: Boolean,
-      required: false,
-    },
-    imageSize: {
-      type: Number,
-      default: 160
-    }
-  },
-  watch: {
-    checkedList: {
-      handler (nv, ov) {
-        // 特别注意,不能用箭头函数,箭头函数,this指向全局
-        nv.forEach((item1) => {
-          this.dataList.forEach((item2) => {
-            if (item1.TacId == item2.TacId && item1.IsSelected == 1) {
-              item2.checked = true;
-            }
-          });
-        });
-        this.listArray = JSON.parse(JSON.stringify(nv));
-      },
-      deep: true, // 可以深度检测到 obj 对象的属性值的变化
-    },
-  },
-  computed: {
-    noMore () {
-      return this.pageNum >= this.total
-    },
-    disabled () {
-      return this.loading || this.noMore
-    }
-  },
-  created: function () {
-    this.getTacList();
-  },
-  components: {
-    Loginpolicypop,
-    NoData
-  },
-  methods: {
-    //打开弹窗
-    upStart (id) {
-      return new Promise((resolve, reject) => {
-        GetTacDetails({ TacId: id })
-          .then((response) => {
-            if (response.code === 0) {
-              const { returnData } = response;
-              this.itemData = returnData;
-              this.dialogVisiblestart = true;
-            }
-            resolve();
-          })
-          .catch((error) => {
-            reject(error);
-          });
-      });
-    },
-    //关闭弹窗
-    handleClose () {
-      this.dialogVisiblestart = false;
-    },
-    getTacList () {
-      return new Promise((resolve, reject) => {
-        this.loading = true;
-        GetTacList({
-          QueryName: "",
-          PageSize: this.pageSize,
-          PageIndex: this.pageNum
-        })
-          .then((response) => {
-            if (response.code === 0) {
-              const { returnData } = response;
-              const datas = returnData.records;
-              datas.forEach((element) => {
-                // element["checked"] = false;
-                if (this.checkedList.some(element1 => element.TacId === element1.TacId)) {
-                  element['checked'] = true
-                } else {
-                  element['checked'] = false
-                }
-              });
-              this.total = returnData.pages;
-              this.arrList.push(datas);
-              const arrs = this.arrList.flat();
-              this.dataList = arrs;
-              this.loading = false;
-            }
-            resolve();
-          })
-          .catch((error) => {
-            reject(error);
-            this.loading = false;
-          });
-      });
-    },
-    checkedChange (data) {
-      if (data.checked == true) {
-        this.listArray.push(data);
-        this.$emit("getCheckedList", this.listArray);
-      } else {
-        this.listArray.splice(
-          this.listArray.findIndex((item) => item.TacId === data.TacId),
-          1
-        );
-        this.$emit("getCheckedList", this.listArray);
-      }
-    },
-    //滚动加载数据
-    load () {
-      this.pageNum += 1;
-      this.getTacList({
-        QueryName: '',
-        PageSize: this.PageSize,
-        PageIndex: this.pageNum
-      });
-    }
-  },
-  mounted: function () { },
-};
-</script>
-<style lang="scss" scoped>
-@import "./loginpolicy.scss";
-</style>

+ 0 - 58
src/components/loginpolicy/loginpolicy.scss

@@ -1,58 +0,0 @@
-.bf-loginpolicys {
-  width: 100%;
-  height: 100%;
-  > .cont {
-    width: 100%;
-    background: #ffffff;
-    height: 100%;
-    border-radius: 4px;
-    padding: 27px 24px;
-    > .paren_header {
-      width: 100%;
-      padding: 0 0 30px 0;
-      display: flex;
-      align-items: center;
-    }
-    > .paren_cont {
-      width: 100%;
-      height: calc(100% - 110px);
-      > .el-scrollbar {
-        > .el-scrollbar__wrap {
-          overflow-x: hidden;
-          > .el-scrollbar__view {
-            .el-row {
-              width: 100%;
-            }
-            .cide {
-              height: 80px;
-              background: #f5f7fa;
-              box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
-              border-radius: 8px;
-              padding: 10px;
-              margin-bottom: 16px;
-              > .cide_header {
-                width: 100%;
-                height: 38px;
-                display: flex;
-                display: -webkit-box;
-                overflow: hidden;
-                -webkit-box-orient: vertical;
-                -webkit-line-clamp: 2;
-              }
-              > .cide_foot {
-                width: 100%;
-                display: flex;
-                flex-direction: row;
-                justify-content: space-between;
-                > span {
-                  cursor: pointer;
-                  color: #6e81bc;
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}

+ 0 - 74
src/components/loginpolicypop/index.vue

@@ -1,74 +0,0 @@
-<template>
-  <div class="bf-loginpolicypop">
-    <el-dialog title="" :visible.sync="dialogVisiblestart" :modal-append-to-body="false" :before-close="handleClose" :width="isWidth">
-      <div class="loginpolicypop_header">
-        <div class="left">
-          <p>登录策略信息</p>
-        </div>
-      </div>
-      <div class="loginpolicypop_cont">
-        <div class="juris_list">
-          <p>时效范围起</p>
-          <el-date-picker v-model="itemData.DateBegin" type="date" disabled placeholder="">
-          </el-date-picker>
-        </div>
-        <div class="juris_list">
-          <p>至</p>
-          <el-date-picker v-model="itemData.DateEnd" type="date" disabled placeholder="">
-          </el-date-picker>
-        </div>
-        <div class="juris_list">
-          <p>登录时间起</p>
-          <el-input disabled placeholder="" v-model="itemData.TimeBegin">
-          </el-input>
-        </div>
-        <div class="juris_list">
-          <p>至</p>
-          <el-input disabled placeholder="" v-model="itemData.TimeEnd">
-          </el-input>
-        </div>
-        <div class="juris_lists">
-          <p>IP段</p>
-          <el-input type="textarea" disabled placeholder="" v-model="itemData.IpList">
-          </el-input>
-        </div>
-        <div class="juris_lists">
-          <p>描述</p>
-          <el-input type="textarea" disabled placeholder="" v-model="itemData.TacDesc">
-          </el-input>
-        </div>
-      </div>
-      <div class="footer">
-        <Bfbutton :butName='butName1' class="but" @click.native="handleClose" :type='16' />
-      </div>
-    </el-dialog>
-  </div>
-</template>
-<script>
-import Bfbutton from '../../components/bfbutton/index.vue'
-import './loginpolicypop.scss'
-export default {
-  props: ['dialogVisiblestart', "itemData"],
-  data () {
-    return {
-      isWidth: '27.4%',
-      butName1: '确定',
-      value1: '',
-      value2: '',
-      value3: '',
-      value4: '',
-      textarea2: '',
-      textarea3: ''
-    }
-  },
-  components: {
-    Bfbutton
-  },
-  methods: {
-    handleClose () {
-      this.$emit('handleClose')
-    }
-  }
-}
-</script>
-

+ 0 - 154
src/components/loginpolicypop/loginpolicypop.scss

@@ -1,154 +0,0 @@
-.bf-loginpolicypop{
-    .el-dialog{
-        border-radius: 20px;
-        display: flex;
-        display: -ms-flex; /* 兼容IE */
-        flex-direction: column;
-        -ms-flex-direction: column; /* 兼容IE */
-        margin:0 !important;
-        position:absolute;
-        top:50%;
-        left:50%;
-        transform:translate(-50%,-50%);
-        max-height:calc(100% - 30px);
-        max-width:calc(100% - 30px);
-    }
-    .el-dialog__header{
-        display: none;
-    }
-    .el-dialog__body{
-        padding: 0;
-        background: #ffffff;
-        box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.3);
-        border-radius: 20px;
-        padding: 0 48px 0 48px;
-        >.loginpolicypop_header{
-            width: 100%;
-            height: 120px;
-            display: flex;
-            >.left{
-                width: 100%;
-                height: 100%;
-                display: flex;
-                align-items: center;
-                >p{
-                    font-size: 24px;
-                    font-family: Microsoft YaHei;
-                    font-weight: bold;
-                    color: #303133;
-                }
-            }
-            >.right{
-                width: 50%;
-                height: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: flex-end;
-                >.but{
-                    width: 180px;
-                    height: 32px;
-                }
-            }
-        }
-        >.loginpolicypop_cont{
-            >.juris_list{
-                width: 100%;
-                display: flex;
-                align-items: center;
-                margin-bottom: 24px;
-                >p{
-                    width: 70px;
-                    display: flex;
-                    align-items: center;
-                    justify-content: flex-end;
-                    margin-bottom: 0;
-                    margin-top: 0;
-                    margin-right: 16px;
-                    font-size: 14px;
-                    font-family: Microsoft YaHei;
-                    font-weight: 400;
-                    color: #303133;
-                }
-                .el-input__inner{
-                    width: 343px;
-                    height: 32px;
-                    background: #F9FBFF;
-                    border-radius: 6px;
-                }
-                .el-input__icon{
-                    display: flex;
-                    align-items: center;
-                }
-                .el-input{
-                    width: 343px;
-                    height: 32px;
-                    background: #F9FBFF;
-                    border-radius: 6px;
-                    >.el-input__inner{
-                        width: 100%;
-                        height: 100%;
-                        background: #F9FBFF;
-                        border-radius: 6px;
-                    }
-                }
-                >.el-textarea{
-                    width: 524px;
-                    height: 64px;
-                    border-radius: 4px;
-                    .el-textarea__inner{
-                        width: 100%;
-                        height: 100%;
-                        background: #F9FBFF;
-                        border: 1px solid #D7DAE3;
-                        border-radius: 4px;
-                        resize: none;
-                    }
-                }
-            }
-            >.juris_lists{
-                width: 100%;
-                display: flex;
-                align-items: flex-start;
-                margin-bottom: 24px;
-                >p{
-                    width: 70px;
-                    display: flex;
-                    align-items: center;
-                    justify-content: flex-end;
-                    margin-bottom: 0;
-                    margin-top: 0;
-                    margin-right: 16px;
-                    font-size: 14px;
-                    font-family: Microsoft YaHei;
-                    font-weight: 400;
-                    color: #303133;
-                    margin-top: 10px;
-                }
-                >.el-textarea{
-                    width: 348px;
-                    height: 64px;
-                    border-radius: 4px;
-                    .el-textarea__inner{
-                        width: 100%;
-                        height: 100%;
-                        background: #F9FBFF;
-                        border: 1px solid #D7DAE3;
-                        border-radius: 4px;
-                        resize: none;
-                    }
-                }
-            }
-        }
-        >.footer{
-            width: 100%;
-            height: 96px;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            >.but{
-                height: 36px;
-                margin-right: 24px;
-            }
-        }
-    }
-}

+ 0 - 67
src/components/navHeader/index.vue

@@ -1,67 +0,0 @@
-<template>
-  <div class="bf-header">
-    <div class="left">
-      <div class="left_el"></div>
-      <p>{{headerName}}</p>
-    </div>
-    <div class="right">
-      <Search class="collection">
-        <button @click="newAdd" class="btnAdd">{{ msgType===1?'新增':'新增' }}</button>
-      </Search>
-    </div>
-  </div>
-</template>
-<script>
-import Search from '../../components/Search/index.vue'
-export default {
-  props: ['headerName'],
-  data () {
-    return {
-      msgType: 1
-      // headerName: ''
-    }
-  },
-  methods: {
-    newAdd () {
-      this.$emit('newAdd')
-    }
-  },
-  components: {
-    Search
-  }
-}
-</script>
-<style lang="scss" scoped>
-.bf-header {
-  width: 100%;
-  height: 100%;
-  display: flex;
-  justify-content: space-between;
-  > .left {
-    width: 20%;
-    height: 100%;
-    display: flex;
-    align-items: center;
-    > .left_el {
-      width: 4px;
-      height: 26px;
-      background: #6e82a7;
-    }
-    > p {
-      width: 143px;
-      height: 24px;
-      font-size: 24px;
-      font-family: Microsoft YaHei;
-      font-weight: bold;
-      color: #303133;
-      margin-left: 12px;
-      white-space: nowrap;
-    }
-  }
-  > .right {
-    height: 100%;
-    display: flex;
-    align-items: center;
-  }
-}
-</style>

+ 0 - 204
src/components/organization/index.vue

@@ -1,204 +0,0 @@
-<template>
-  <div class="bf-organization">
-    <!-- 上级组织 -->
-    <div class="left">
-      <div class="paren_header">
-        <p class="manageTitle">{{ title }}</p>
-        <div class="column" v-show="vice">
-          <div :class="active == index ? 'column_childs' : 'column_child'" v-for="(item, index) in colType" :key="index" @click="upStart(index)">
-            {{ item.name }}
-          </div>
-        </div>
-      </div>
-      <div class="paren_content">
-        <div class="dptBox" v-show="active == 0">
-          <el-scrollbar style="height: 100%">
-            <el-tree :data="data" :check-strictly="true" show-checkbox @node-click="nodeClick" @check-change="currentChange" :props="defaultProps" default-expand-all :default-checked-keys="checkedKeys" :expand-on-click-node="false" :node-key="nodekey" ref="tree" highlight-current>
-              <span v-if="orgType == 'org'" slot-scope="{ data }" :title="data.OrganName" class="org-data-tree-node">
-                {{ data.OrganName }}
-              </span>
-              <span v-else slot-scope="{ data }" :title="data.AuthName" class="org-data-tree-node">
-                {{ data.AuthName }}
-              </span>
-            </el-tree>
-          </el-scrollbar>
-        </div>
-        <div class="dptBox" v-show="active == 1">
-          <Rolelist :type="true" @radioChange="radioChange" :radioCheck="radioCheck" :number="8" :active="true" class="lessData" :mainData="mainData" />
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-<script>
-import Rolelist from '@/components/rolelist'
-import "./organization.scss";
-export default {
-  props: {
-    title: {
-      type: String,
-      default: "",
-    },
-    vice: {
-      type: Boolean,
-      default: false,
-    },
-    data: {
-      type: Array,
-      default: () => [],
-    },
-    nodekey: {
-      type: String,
-      default: "",
-    },
-    defaultProps: {
-      type: Object,
-      default: () => { },
-    },
-    checkedKeys: {
-      //已选中
-      type: Array,
-      default: () => [],
-    },
-    lessData: {
-      //副岗
-      type: Array,
-      default: () => [],
-    },
-    mainData: {
-      //主岗
-      type: Array,
-      default: () => [],
-    },
-    radioCheck: {
-      type: Number,
-      default: 0,
-    },
-    checkBoxList: {
-      type: Array,
-      default: () => [],
-    },
-    orgType: {
-      type: String,
-      default: "org",
-    },
-  },
-  components: { Rolelist },
-  data () {
-    return {
-      active: 0,
-      colType: [
-        {
-          name: "组织",
-        },
-        {
-          name: "岗位",
-        }
-      ],
-      checkedDatas: [],
-      checkedId: null,
-      checkedList: [], //选中的列表,
-      nodekeys: "nodekey",
-    };
-  },
-  watch: {
-    checkedKeys: {
-      handler (val) {
-        this.checkedList = val;
-        this.$refs.tree.setCheckedKeys(val)
-      },
-      deep: true,
-    },
-  },
-  mounted () {
-    if (this.data != null) {
-      this.data = this.formatData(this.data)
-    }
-  },
-  methods: {
-    //点击选择
-    upStart (index) {
-      this.active = index;
-      this.$emit("getTreeindex", index)
-    },
-    formatData (params) {
-      let data = params;
-      data.map((item) => {
-        if (item.hasOwnProperty('children')) {
-          item.disabled = true;
-          this.formatData(item.children)
-        }
-      });
-      return data;
-    },
-    currentChange (data, isChecked) {
-      if (this.orgType == 'org') {
-        const { OrganId } = data
-        this.$emit("getTreeData", this.$refs.tree.getCheckedNodes())
-        if (isChecked) {
-          const checked = [OrganId]
-          this.$refs.tree.setCheckedKeys(checked)
-        }
-      } else if (this.orgType == 'auth') {
-        const { AuthId } = data
-        this.$emit("getTreeData", this.$refs.tree.getCheckedNodes())
-        if (isChecked) {
-          const checked = [AuthId]
-          this.$refs.tree.setCheckedKeys(checked)
-        }
-      }
-    },
-    // 选中后设置初始数据
-    setDataObj (arr) {
-      arr.forEach((item) => {
-        if (!item.children) {
-          item.children = {
-            OrganId: item.OrganId,
-            ValidBegin: "",
-            ValidEnd: "",
-            Action: "",
-            QueryRow: "",
-            QueryCol: "",
-            NewCol: "",
-            EditRow: "",
-            EditCol: "",
-            DeleteRow: "",
-          };
-        }
-      });
-      this.$emit("getTreeData", arr)
-    },
-    nodeClick (data) {
-      this.$emit("getTreeDatas", data)
-      this.checkedId = data.nodekey
-    },
-    radioChange (val) {
-      this.$emit('radioChange', val)
-    },
-    //多选框
-    checkChange (arr) {
-      this.$emit("checkChange", arr)
-    },
-    checkClick (item) {
-      this.$emit("checkClick", item)
-    }
-  },
-};
-</script>
-
-<style scoped lang="scss">
-.DBox {
-  cursor: not-allowed;
-}
-.dptBox {
-  height: 100%;
-  .org-data-tree-node {
-    font-size: 14px;
-    max-width: 10vw;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    margin-left: 10px;
-  }
-}
-</style>

+ 0 - 90
src/components/organization/organization.scss

@@ -1,90 +0,0 @@
-.bf-organization {
-  width: 100%;
-  height: 100%;
-  .left {
-    width: 100%;
-    height: 100%;
-    background: #ffffff;
-    border-radius: 4px;
-    padding: 27px 24px;
-    > .paren_header {
-      width: 100%;
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-
-      > .column {
-        height: 36px;
-        background: #f5f7fa;
-        border-radius: 4px;
-        display: flex;
-        align-items: center;
-        padding: 0 4px 0 4px;
-        > .column_child {
-          height: 30px;
-          padding: 0 16px 0 16px;
-          font-size: 16px;
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          color: #606266;
-          display: flex;
-          align-items: center;
-          cursor: pointer;
-        }
-        > .column_childs {
-          height: 30px;
-          padding: 0 16px 0 16px;
-          font-size: 16px;
-          font-family: Microsoft YaHei;
-          font-weight: 400;
-          color: #606266;
-          display: flex;
-          align-items: center;
-          background: #ffffff;
-          box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.06);
-          border-radius: 4px;
-          cursor: pointer;
-        }
-      }
-    }
-    > .paren_content {
-      width: 100%;
-      height: 83%;
-      margin-top: 30px;
-      .dptBox {
-        > .el-scrollbar {
-          > .el-scrollbar__wrap {
-            overflow-x: hidden;
-          }
-        }
-      }
-      .el-tree {
-        .el-checkbox__inner {
-          border-radius: 50%;
-        }
-      }
-      .el-checkbox__inner::after {
-        width: 5px;
-        height: 5px;
-        background: #ffffff;
-        border-radius: 50%;
-        top: 3px;
-        left: 3px;
-      }
-      .el-tree-node__children {
-        display: flex;
-        flex-direction: column;
-      }
-      .lessData {
-        .el-checkbox__inner::after {
-          left: 4px;
-          top: 1px;
-          width: 3px;
-          height: 7px;
-          background: inherit;
-          border-radius: 0;
-        }
-      }
-    }
-  }
-}

+ 0 - 186
src/components/permissionlist/index.vue

@@ -1,186 +0,0 @@
-<template>
-  <div class="bf-permissionlist">
-    <!-- 权限列表 -->
-    <div class="right">
-      <div class="paren_header">
-        <p class="manageTitle">{{ title }}</p>
-      </div>
-      <div class="paren_type">
-        <ul>
-          <li>
-            <div class="log"></div>
-            <p>时效规则有</p>
-          </li>
-          <li>
-            <div class="log"></div>
-            <p>数据规则有</p>
-          </li>
-          <li>
-            <div class="log"></div>
-            <p>显示及编辑权限</p>
-          </li>
-          <li>
-            <div class="log"></div>
-            <p>显示权限</p>
-          </li>
-        </ul>
-      </div>
-      <div class="paren_list">
-        <ul>
-          <li v-for="(item, index) in dataLists" :key="index">
-            <div class="up_type" :class="active === index ? 'up_types' : 'up_type'" @click="upActive(item, index)">
-              {{ item.AppName }}
-            </div>
-          </li>
-        </ul>
-      </div>
-      <template v-if="RoleData.length">
-        <div :class="active ? 'bgActive' : ''" class="paren_content">
-          <el-scrollbar style="height: 100%">
-            <el-row :gutter="16">
-              <el-col :span="8" v-for="(item, index) in RoleData" :key="index">
-                <div :title="item.auth_name" class="cide">
-                  <div class="cide_header">
-                    <p>{{ item.AuthName }}</p>
-                    <span @click.stop="upStart(item)">查看</span>
-                  </div>
-                  <div class="cide_cont">
-                    <ul>
-                      <li v-if="item.ValidBegin" class="statusDate"></li>
-                      <li v-if="
-                          item.DeleteRow ||
-                          item.EditCol ||
-                          item.EditRow ||
-                          item.NewCol ||
-                          item.QueryCol ||
-                          item.QueryRow
-                        " class="statusShow"></li>
-                      <li v-if="item.Action" :class="'statusRule' + item.Action"></li>
-                    </ul>
-                  </div>
-                </div>
-              </el-col>
-            </el-row>
-          </el-scrollbar>
-        </div>
-      </template>
-      <template v-else>
-        <NoData />
-      </template>
-      <Competencypop :dialogVisiblestart="dialogVisiblestart" :form="form" @handleClose="handleClose" />
-    </div>
-  </div>
-</template>
-<script>
-import "./permissionlist.scss";
-import Competencypop from "../competencypop/index.vue";
-import NoData from "@/components/nodata"
-export default {
-  props: {
-    title: {
-      type: String,
-      default: "",
-    },
-    check: {
-      type: Boolean,
-      default: false,
-    },
-    RoleList: {
-      type: Array,
-      default: () => [],
-    },
-    imageSize: {
-      type: Number,
-      default: 160,
-    },
-  },
-  data () {
-    return {
-      dialogVisiblestart: false,
-      active: 0,
-      msg: 0,
-      RoleData: [],
-      dataLists: [],
-      jurisdiction: [
-        {
-          name: "权限名称",
-        },
-        {
-          name: "权限名称",
-        },
-        {
-          name: "权限名称",
-        },
-        {
-          name: "权限名称",
-        },
-      ],
-      DataList: [],
-      form: {},
-    };
-  },
-  components: {
-    Competencypop,
-    NoData
-  },
-  mounted () {
-    this.Roleup();
-  },
-  watch: {
-    RoleList: {
-      handler (arr) {
-        this.RoleData = [];
-        this.dataLists = [];
-        if (arr && arr.length) {
-          this.Roleup(arr);
-        }
-      },
-      deep: true,
-    },
-  },
-  methods: {
-    Roleup (arr) {
-      const datas = _.cloneDeep(arr);
-      const arrs = _.unionBy(datas, "AppId");
-      const newDatas = arrs.filter((item) => item.AppId);
-      if (newDatas && newDatas.length) {
-        this.dataLists = newDatas;
-        const goodDatas = this.getData(newDatas[0].AppId);
-        this.RoleData = goodDatas;
-      } else {
-        this.RoleData = [];
-        this.dataLists = [];
-      }
-    },
-    upActive (item, index) {
-      this.active = index;
-      this.RoleData = this.getData(item.AppId);
-    },
-    getData (id) {
-      const datas = [];
-      this.RoleList.forEach((item) => {
-        if (item.AppId === id) {
-          datas.push(item);
-        }
-      });
-      return datas;
-    },
-    //打开编辑
-    upStart (item) {
-      this.form = item;
-      // if (item.Action == 2) {
-      //   this.dialogVisiblestart = true
-      // }
-      this.dialogVisiblestart = true;
-    },
-    //关闭编辑
-    handleClose (data) {
-      let arr = {
-        AuthId: "",
-      };
-      this.dialogVisiblestart = false;
-      this.$emit("Competen", data);
-    },
-  },
-};
-</script>

+ 0 - 236
src/components/permissionlist/permissionlist.scss

@@ -1,236 +0,0 @@
-.bf-permissionlist {
-  width: 100%;
-  height: 100%;
-  > .right {
-    width: 100%;
-    height: 100%;
-    background: #ffffff;
-    border-radius: 4px;
-    padding: 27px 24px;
-    > .paren_header {
-      width: 100%;
-      display: flex;
-      align-items: flex-end;
-    }
-    > .paren_type {
-      width: 100%;
-      height: 60px;
-      > ul {
-        width: 100%;
-        height: 100%;
-        display: flex;
-        flex-wrap: wrap;
-        margin-top: 0;
-        margin-bottom: 0;
-        padding-left: 0;
-        > li {
-          display: flex;
-          align-items: center;
-          background-size: 100% 100%;
-          margin-right: 32px;
-          > .log {
-            width: 14px;
-            height: 14px;
-            margin-right: 9px;
-          }
-          > p {
-            font-size: 14px;
-            font-family: Microsoft YaHei;
-            font-weight: 400;
-            color: #afb4bf;
-            margin-bottom: 0;
-            margin-top: 0;
-          }
-        }
-        > li:nth-child(1) {
-          > .log {
-            background: url('../../assets/index/ic_time.png') no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-        > li:nth-child(2) {
-          > .log {
-            background: url('../../assets/index/ic_date.png') no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-        > li:nth-child(3) {
-          > .log {
-            background: url('../../assets/index/ic_display_edit.png') no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-        > li:nth-child(4) {
-          > .log {
-            background: url('../../assets/index/ic_display.png') no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-      }
-    }
-    > .paren_list {
-      width: 100%;
-      margin-bottom: 10px;
-      > ul {
-        width: 100%;
-        height: 100%;
-        padding-left: 0;
-        margin-bottom: 0;
-        margin-top: 0;
-        display: flex;
-        align-items: center;
-        flex-wrap: wrap;
-        > li {
-          margin-right: 16px;
-          margin-bottom: 16px;
-          > .up_type {
-            padding: 0 5px;
-            height: 32px;
-            background: #f3f5fc;
-            border: 1px solid #2d67e3;
-            border-radius: 4px;
-            font-size: 14px;
-            font-family: Microsoft YaHei;
-            font-weight: 400;
-            color: #2d67e3;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            cursor: pointer;
-          }
-          > .up_types {
-            padding: 0 5px;
-            height: 32px;
-            background: #2d67e3;
-            border-radius: 4px;
-            font-size: 14px;
-            font-family: Microsoft YaHei;
-            font-weight: bold;
-            color: #ffffff;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            cursor: pointer;
-          }
-        }
-      }
-    }
-    .paren_content {
-      width: 100%;
-      height: 65%;
-      > .el-scrollbar {
-        > .el-scrollbar__wrap {
-          overflow-x: hidden;
-          > .el-scrollbar__view {
-            padding-top: 10px;
-            .el-row {
-              width: 100%;
-            }
-            .cide {
-              height: 80px;
-              cursor: pointer;
-              background: #f5f7fa;
-              box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
-              border-radius: 8px;
-              padding: 4px 16px 0 16px;
-              margin-bottom: 16px;
-              > .cide_header {
-                width: 100%;
-                height: 40px;
-                display: flex;
-                justify-content: space-between;
-                align-items: center;
-                > p {
-                  font-size: 16px;
-                  font-family: Microsoft YaHei;
-                  font-weight: 400;
-                  color: #303133;
-                  white-space: nowrap;
-                  overflow: hidden;
-                  text-overflow: ellipsis;
-                }
-                > span {
-                  font-size: 14px;
-                  font-family: Microsoft YaHei;
-                  font-weight: 400;
-                  color: #2d67e3;
-                  cursor: pointer;
-                  min-width: 30px;
-                }
-              }
-              > .cide_cont {
-                > ul {
-                  width: 100%;
-                  height: 14px;
-                  display: flex;
-                  align-items: center;
-                  margin-bottom: 0;
-                  margin-top: 0;
-                  padding-left: 0;
-                  > li {
-                    width: 14px;
-                    height: 14px;
-                    margin-right: 8px;
-                  }
-                  .statusDate {
-                    background: url('../../assets/index/ic_time.png') no-repeat;
-                    background-size: 100% 100%;
-                  }
-                  .statusShow {
-                    background: url('../../assets/index/ic_date.png') no-repeat;
-                    background-size: 100% 100%;
-                  }
-                  .statusRule1 {
-                    background: url('../../assets/index/ic_display.png');
-                    background-size: 100% 100%;
-                  }
-                  .statusRule2 {
-                    background: url('../../assets/index/ic_display_edit.png');
-                    background-size: 100% 100%;
-                  }
-                }
-              }
-            }
-            > .paren_list {
-              width: 100%;
-              height: 32px;
-              margin-bottom: 10px;
-            }
-          }
-        }
-      }
-    }
-    .bgActive {
-      > .el-scrollbar {
-        > .el-scrollbar__wrap {
-          > .el-scrollbar__view {
-            .cide {
-              cursor: pointer;
-            }
-            .bgColor {
-              background: #2d67e3;
-              > .cide_header {
-                > p {
-                  color: #f5f7fa;
-                }
-                > span {
-                  color: #f5f7fa;
-                }
-              }
-              .el-radio__input.is-checked .el-radio__inner {
-                border-color: #f5f7fa;
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}
-.hucPower {
-  .right {
-    .paren_content {
-      height: 25%;
-    }
-  }
-}

+ 0 - 428
src/components/permissiontree/index.vue

@@ -1,428 +0,0 @@
-<template>
-  <div class="bf-permissiontree">
-    <!-- 权限树 -->
-    <div class="cont">
-      <div class="paren_header">
-        <p class="manageTitle">{{ title }}</p>
-      </div>
-      <div class="paren_type">
-        <ul>
-          <!-- <li>
-            <div class="log"></div>
-            <p>时效规则有</p>
-          </li> -->
-          <li class="icon-gz">
-            <div class="log"></div>
-            <p>数据规则有</p>
-          </li>
-          <!-- <li>
-            <div class="log"></div>
-            <p>显示及编辑权限</p>
-          </li>
-          <li>
-            <div class="log"></div>
-            <p>显示权限</p>
-          </li> -->
-        </ul>
-      </div>
-      <!-- <div class="paren_list">
-        <ul>
-          <li v-for="(item, index) in treeTitles" :key="index">
-            <div
-              class="up_type"
-              :class="active === index ? 'up_types' : 'up_type'"
-              @click="upActive(item, index)"
-            >
-              {{ item.AuthName }}
-            </div>
-          </li>
-        </ul>
-      </div> -->
-      <div class="paren_cont">
-        <el-scrollbar style="height: 100%">
-          <!-- <el-tree :data="data" show-checkbox :check-strictly="true" @check-change="currentChange" @node-click="handleNodeClick" :defaultProps="defaultProps" :expand-on-click-node="false" node-key="AuthId" default-expand-all ref="tree" highlight-current> -->
-          <el-tree :data="data" show-checkbox @check="currentChange" :default-expanded-keys="defaultExpandedKeys" @node-click="handleNodeClick" :defaultProps="defaultProps" node-key="auth_id" ref="tree" highlight-current>
-            <span class="custom-tree-node" slot-scope="{ data }">
-              {{ data.auth_name }}
-              <div class="logup">
-                <!-- <div class="one" v-if="data.AuthList && data.AuthList.ValidBegin"></div>
-                <div class="two" v-if="data.AuthList && data.AuthList.Action == '1'"></div>
-                <div class="four" v-if="data.AuthList && data.AuthList.Action == '2'"></div> -->
-                <div class="three" v-if="
-                    data.AuthList &&
-                    (data.AuthList.edit_col_condition ||
-                      data.edit_col_condition ||
-                      data.AuthList.delete_row_condition ||
-                      data.delete_row_condition ||
-                      data.AuthList.edit_row_condition ||
-                      data.edit_row_condition ||
-                      data.AuthList.new_col_condition ||
-                      data.new_col_condition ||
-                      data.AuthList.query_col_conditon ||
-                      data.query_col_conditon ||
-                      data.AuthList.query_row_condition ||
-                      data.query_row_condition)
-                  "></div>
-              </div>
-            </span>
-          </el-tree>
-        </el-scrollbar>
-      </div>
-    </div>
-  </div>
-</template>
-<script>
-// import treeData from "@/views/authorityManagement/minixs/treeData";
-import { translateDataToTreeAll, deteleObject } from "@/utils/validate";
-import { GetAuthTree } from "@/api/apiAuthority";
-import { GetAuthTreeByGroup } from "@/api/AccountGroup";
-import { organizationUptree, postUptree } from "@/api/postInterface";
-import { GeneralDataReception, Query } from "@/api/dataIntegration";
-import "./permissiontree.scss";
-export default {
-  props: {
-    title: {
-      type: String,
-      default: "",
-    },
-    checkedKeys: {
-      //已选中
-      type: Array,
-      default: () => [],
-    },
-    //查询类型:queryType: all/获取全部权限树;job/根据岗位获取权限树;origin/根据组织获取权限树;group/根据帐号组获取权限树;
-    queryType: {
-      type: String,
-      default: "all",
-    },
-    //要查询的查询ID
-    queryId: {
-      type: String | Number,
-      default: "",
-    },
-    queryIds: {
-      type: Array,
-      default: () => [],
-    },
-    //要查询的查询ID
-    isMainJob: {
-      type: Boolean,
-      default: true,
-    },
-  },
-  data () {
-    return {
-      active: 0,
-      data: [],
-      treeTitles: [],
-      defaultProps: {
-        children: "children",
-        label: "auth_name",
-      },
-      searchId: "",
-      dataObj: {}, //上级权限指定树数据
-      AuthArrList: [], //权限列表源数据
-      AuthList: [], //权限规则列表
-      checkedList: [], //选中的列表
-      oldType: "",
-      queryIdArr: [], //历史查询ID
-      MainJobId: "", //主岗ID
-      defaultExpandedKeys: [-1],
-      treeChecks: [],
-    };
-  },
-  watch: {
-    checkedKeys: {
-      handler (val) {
-        this.checkedList = val;
-        // this.treeChecks = val;
-      },
-      deep: true,
-    },
-    "$store.state.auth.authList": {
-      handler (val) {
-        if (val && val.length) {
-          setTimeout(() => {
-            this.AuthList = val;
-            this.resetData();
-            if (this.$store.getters.authId) {
-              this.defaultExpandedKeys = [this.$store.getters.authId];
-            }
-          }, 150);
-        } else {
-          this.getAuthList();
-        }
-      },
-      immediate: true,
-      deep: true,
-    },
-    queryId: {
-      handler (val) {
-        if (this.queryType == "job") {
-          this.setDisabledAll();
-          let ids = val.split(",");
-          this.queryIdArr = [];
-          this.$refs.tree.setCheckedKeys([]);
-          if (this.isMainJob == true) {
-            this.MainJobId = val;
-          }
-          if (this.MainJobId != "") {
-            this.queryIdArr.push(this.MainJobId);
-          }
-          for (let i = 0; i < ids.length; i++) {
-            if (_.indexOf(this.queryIdArr, ids[i]) == -1) {
-              this.queryIdArr.push(ids[i]);
-            }
-          }
-          for (let j = 0; j < this.queryIdArr.length; j++) {
-            this.searchId = this.queryIdArr[j];
-            this.getDefaultDataList();
-          }
-        } else {
-          this.searchId = val;
-          this.getDefaultDataList();
-        }
-      },
-      deep: true,
-    },
-    queryIds: {
-      handler () {
-        this.getDefaultDataList();
-      },
-      deep: true,
-    },
-    treeChecks: {
-      handler (val) {
-        if (val && val.length) {
-          this.$refs.tree.setCheckedKeys(val);
-        }
-      },
-      deep: true,
-    },
-  },
-  created () {
-    this.getDataList();
-    this.searchId = this.queryId;
-  },
-  methods: {
-    getAuthList () {
-      let arr = [];
-      setTimeout(() => {
-        arr = this.$store.getters.authList;
-        if (arr && arr.length) {
-          this.AuthList = arr;
-          this.resetData();
-          if (this.$store.getters.authId) {
-            this.defaultExpandedKeys = [this.$store.getters.authId];
-          }
-        } else {
-          this.getAuthList();
-        }
-      }, 100);
-    },
-    //获取权限列表
-    getDataList () {
-      Query({
-        id: DATACONTENT_ID.authTreeNewId,
-        dataContent: [sessionStorage.getItem("User_Id")],
-      }).then((result) => {
-        // this.getDefaultDataList();
-        //this.setUnDisabledData(result.returnData.listValues);
-        this.setData(result);
-      });
-    },
-    async getDefaultDataList () {
-      if (this.queryType == "all" && this.searchId != "") {
-        //获取全部权限树
-        Query({
-          id: DATACONTENT_ID.authTreeId,
-          dataContent: [""],
-        }).then((result) => {
-          this.setUnDisabledData(result.returnData.listValues);
-        });
-      } else if (this.queryType == "job") {
-        //根据岗位获取权限树
-        postUptree({ JobId: this.searchId }).then((result) => {
-          this.setUnDisabledData(result.returnData.listValues);
-        });
-      } else if (this.queryType == "origin") {
-        //根据组织获取权限树
-        this.AuthList = [];
-        this.$refs.tree.setCheckedKeys([]);
-        organizationUptree({ OrganId: this.searchId }).then((result) => {
-          this.setUnDisabledData(result.returnData.listValues);
-        });
-      } else if (this.queryType == "group") {
-        //根据帐号组获取权限树
-        if (this.searchId) {
-          GetAuthTreeByGroup({ GroupIds: [this.searchId] }).then((result) => {
-            this.setUnDisabledData(result.returnData.listValues);
-          });
-        } else if (this.queryIds.length && this.queryIds[0] !== -1) {
-          GetAuthTreeByGroup({ GroupIds: this.queryIds }).then((result) => {
-            this.setUnDisabledData(result.returnData.listValues);
-          });
-        }
-      }
-    },
-    setData (result) {
-      if (result.code == 0 && result.returnData.listValues.length) {
-        this.AuthArrList = [];
-        result.returnData.listValues.forEach((item) => {
-          item.flag = item.auth_status;
-          item["AuthList"] = null;
-          if (this.queryType != "all") {
-            item["disabled"] = true;
-          }
-        });
-        this.AuthArrList = _.cloneDeep(result.returnData.listValues);
-        this.toTree();
-      } else {
-        this.$message.error(result.message);
-      }
-    },
-    //数据转树形
-    toTree () {
-      this.data = [];
-      const chks = this.checkedKeys;
-      const arr = translateDataToTreeAll(this.AuthArrList, "up_auth_id", "auth_id");
-      const items = {
-        auth_id: -1,
-        auth_name: "所有权限",
-        auth_status: 0,
-        up_auth_id: -2,
-        auth_type: 0,
-        children: arr,
-      };
-      this.data = [items];
-      if (chks && chks.length) {
-        const datas = this.AuthArrList;
-        const caps = _.cloneDeep(datas);
-        const nots = [];
-        caps.forEach((item) => {
-          chks.some((p) => {
-            if (item.auth_id == p) {
-              nots.push(item);
-            }
-          });
-        });
-        const res = [...caps, ...nots].filter((item) => !(caps.some((p) => item.auth_id == p.auth_id) && nots.some((c) => item.auth_id == c.auth_id)));
-        this.$refs.tree.setCheckedKeys(chks);
-        setTimeout(() => {
-          res.forEach((item) => {
-            this.$refs.tree.setChecked(item.auth_id, false, false);
-          });
-        }, 150);
-      }
-    },
-    //数据切换
-    upActive (item, index) {
-      this.active = index;
-      this.decompose([this.dataObj], item.auth_id);
-      this.$refs.tree.setCheckedKeys(this.checkedList);
-    },
-    // 树节点选中
-    currentChange () {
-      this.checkedList = [];
-      const datas = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
-      // const arr = this.$refs.tree.getCheckedNodes();
-      // const half = this.$refs.tree.getHalfCheckedNodes();
-      // const halfAll = half.filter(item => item.auth_id != -1 && item.auth_name != '所有权限');
-      // const datas = halfAll.concat(arr);
-      // if (this.treeChecks && this.treeChecks.length) {
-      //   const checks = [];
-      //   datas.forEach(item => {
-      //     checks.push(item.auth_id);
-      //   })
-      //   const handAll = [...checks, ...this.treeChecks].filter(t => {
-      //     return !(checks.includes(t) && this.treeChecks.includes(t));
-      //   })
-      //   setTimeout(() => {
-      //     handAll.map(item => {
-      //       this.$refs.tree.setChecked(item, false);
-      //       this.treeChecks = [];
-      //     })
-      //   }, 100);
-
-      // }
-      datas.forEach((item, index) => {
-        if (item.up_auth_id == -2) {
-          datas.splice(index, 1);
-        }
-        this.checkedList.push(item.auth_id);
-      });
-      this.setDataObj(datas);
-    },
-    // 选中后设置初始数据
-    setDataObj (arr) {
-      arr.forEach((item) => {
-        if (!item.AuthList) {
-          item.AuthList = {
-            query_row_condition: "",
-            query_col_conditon: "",
-            delete_row_condition: "",
-            new_col_condition: "",
-            edit_row_condition: "",
-            edit_col_condition: "",
-          };
-        }
-      });
-      this.$emit("getTreeData", arr);
-    },
-    //获取指定数据
-    decompose (data, id) {
-      for (let i = 0; i < data.length; i++) {
-        if (data[i].auth_id == id) {
-          this.data = [data[i]];
-        } else if (data[i].children && data[i].children.length > 0) {
-          this.decompose(data[i].children, id);
-        }
-      }
-    },
-    //获取权限规则 从新组合数据
-    resetData () {
-      if (this.AuthList) {
-        this.AuthArrList.forEach((item1) => {
-          item1["AuthList"] = null;
-          this.AuthList.forEach((item2) => {
-            if (item1.auth_id == item2.auth_id) {
-              item1.AuthList = item2;
-            }
-          });
-        });
-      }
-      this.toTree();
-    },
-    setUnDisabledData (data) {
-      const ArrData = _.cloneDeep(data);
-      this.AuthArrList.forEach((item1) => {
-        if (this.queryType != "job") {
-          item1.disabled = true;
-        }
-        ArrData.forEach((item2) => {
-          if (item1.auth_id == item2.auth_id && item1.auth_type != 1) {
-            item1.disabled = false;
-          }
-        });
-      });
-      this.toTree();
-    },
-    //获取点击目标
-    handleNodeClick (data) {
-      // this.toTree();
-      const arr = this.$store.getters.authArrs;
-      arr.push(data);
-      const datas = _.unionBy(arr, "auth_id");
-      const newDatas = _.cloneDeep(datas);
-      this.$store.dispatch("auth/changeAuthMsg", newDatas);
-      this.$store.dispatch("auth/changeAuthArrs", datas);
-      this.$store.dispatch("auth/changeAuthId", data.auth_id);
-    },
-    async setDisabledAll () {
-      this.AuthArrList.forEach((item) => {
-        item.disabled = true;
-      });
-    },
-  },
-};
-</script>

+ 0 - 193
src/components/permissiontree/permissiontree.scss

@@ -1,193 +0,0 @@
-.bf-permissiontree {
-  .el-checkbox__input.is-disabled .el-checkbox__inner {
-    background-color: #ebeef5 !important;
-    border-color: #e4e7ed !important;
-  }
-  width: 100%;
-  height: 100%;
-  > .cont {
-    width: 100%;
-    height: 100%;
-    background: #ffffff;
-    border-radius: 4px;
-    padding: 27px 24px;
-    > .paren_header {
-      width: 100%;
-      line-height: 20px;
-      > p {
-        font-size: 20px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #303133;
-        margin-top: 0;
-        margin-bottom: 0;
-      }
-    }
-    > .paren_type {
-      width: 100%;
-      margin-top: 16px;
-      > ul {
-        width: 100%;
-        height: 100%;
-        display: flex;
-        flex-wrap: wrap;
-        margin-top: 0;
-        margin-bottom: 0;
-        padding-left: 0;
-        line-height: 16px;
-        > li {
-          display: flex;
-          align-items: center;
-          margin-right: 32px;
-          > .log {
-            width: 14px;
-            height: 14px;
-            margin-right: 9px;
-          }
-          > p {
-            font-size: 14px;
-            font-family: Microsoft YaHei;
-            font-weight: 400;
-            color: #afb4bf;
-            margin-bottom: 0;
-            margin-top: 0;
-          }
-        }
-        .icon-gz {
-          .log {
-            background: url('../../assets/index/ic_date.png') no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-        // > li:nth-child(1) {
-        //   > .log {
-        //     background: url('../../assets/index/ic_time.png') no-repeat;
-        //     background-size: 100% 100%;
-        //   }
-        // }
-        // > li:nth-child(2) {
-        //   > .log {
-        //     background: url('../../assets/index/ic_date.png') no-repeat;
-        //     background-size: 100% 100%;
-        //   }
-        // }
-        // > li:nth-child(3) {
-        //   > .log {
-        //     background: url('../../assets/index/ic_display_edit.png') no-repeat;
-        //     background-size: 100% 100%;
-        //   }
-        // }
-        // > li:nth-child(4) {
-        //   > .log {
-        //     background: url('../../assets/index/ic_display.png') no-repeat;
-        //     background-size: 100% 100%;
-        //   }
-        // }
-      }
-    }
-    > .paren_list {
-      width: 100%;
-      > ul {
-        width: 100%;
-        height: 100%;
-        padding-left: 0;
-        margin-bottom: 0;
-        margin-top: 0;
-        display: flex;
-        align-items: center;
-        flex-wrap: wrap;
-        > li {
-          margin-right: 16px;
-          margin-bottom: 16px;
-          > .up_type {
-            padding: 0 5px;
-            height: 32px;
-            background: #f3f5fc;
-            border: 1px solid #6e81bc;
-            border-radius: 4px;
-            font-size: 14px;
-            font-family: Microsoft YaHei;
-            font-weight: 400;
-            color: #6e81bc;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            cursor: pointer;
-          }
-          > .up_types {
-            padding: 0 5px;
-            height: 32px;
-            background: #6e81bc;
-            border-radius: 4px;
-            font-size: 14px;
-            font-family: Microsoft YaHei;
-            font-weight: bold;
-            color: #ffffff;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            cursor: pointer;
-          }
-        }
-      }
-    }
-    > .paren_cont {
-      width: 100%;
-      height: calc(100% - 101px);
-      margin-top: 15px;
-      > .el-scrollbar {
-        > .el-scrollbar__wrap {
-          overflow-x: hidden;
-          > .el-scrollbar__view {
-            padding-top: 10px;
-          }
-        }
-      }
-    }
-    .el-tree-node__children {
-      display: flex;
-      flex-direction: column;
-    }
-    .custom-tree-node {
-      width: 90%;
-      font-size: 14px;
-      font-family: Microsoft YaHei;
-      font-weight: 400;
-      color: #303133;
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-    }
-    .logup {
-      display: flex;
-      align-items: center;
-      .one {
-        width: 14px;
-        height: 14px;
-        background: url('../../assets/index/ic_time.png') no-repeat;
-        background-size: 100% 100%;
-      }
-      .two {
-        width: 14px;
-        height: 14px;
-        background: url('../../assets/index/ic_display.png') no-repeat;
-        background-size: 100% 100%;
-        margin-left: 10px;
-      }
-      .three {
-        width: 14px;
-        height: 14px;
-        background: url('../../assets/index/ic_date.png') no-repeat;
-        background-size: 100% 100%;
-        margin-left: 10px;
-      }
-      .four {
-        width: 14px;
-        height: 14px;
-        background: url('../../assets/index/ic_display_edit.png') no-repeat;
-        background-size: 100% 100%;
-        margin-left: 10px;
-      }
-    }
-  }
-}

+ 0 - 369
src/components/rolelist/index.vue

@@ -1,369 +0,0 @@
-<template>
-  <div class="bf-rolelist">
-    <!-- 角色列表 -->
-    <div class="cont">
-      <div v-if="title" class="paren_header">
-        <p class="manageTitle">{{ title }}</p>
-      </div>
-      <template v-if="dataList.length">
-        <div :class="active ? 'bgActive' : 'bgActivecheckbox'" class="paren_content">
-          <template v-if="!type">
-            <el-row v-infinite-scroll="load" :infinite-scroll-distance="20" infinite-scroll-disabled="disabled" class="scCont scrollbar" :gutter="16">
-              <el-checkbox-group @change="checkChange" v-model="checkList">
-                <el-col :span="number" v-for="(item, index) in dataList" :key="index">
-                  <div @click="handleBg(item, index)" :class="active && msg === index ? 'bgColor' : ''" class="cide">
-                    <div class="cide_header">
-                      <p :title="item.name">{{ item.name }}</p>
-                      <el-checkbox :label="index"></el-checkbox>
-                    </div>
-                  </div>
-                </el-col>
-              </el-checkbox-group>
-            </el-row>
-          </template>
-          <template v-if="total > 1">
-            <p class="center" v-if="loading">加载中...</p>
-            <p class="center" v-if="noMore">没有更多数据了~</p>
-          </template>
-        </div>
-      </template>
-      <template v-else-if="mainData.length">
-        <div :class="active ? 'bgActive' : 'bgActivecheckbox'" class="paren_content">
-          <template v-if="type">
-            <el-row :gutter="16">
-              <el-radio-group style="display: block" @change="radioChange" v-model="radio">
-                <el-col :span="number" v-for="(item, index) in mainData" :key="index">
-                  <div @click.stop="handleBg(index)" :class="active && msg === index ? 'bgColor' : ''" class="cide">
-                    <div class="cide_header">
-                      <p>{{ item.name }}</p>
-                      <el-radio :label="index"></el-radio>
-                    </div>
-                  </div>
-                </el-col>
-              </el-radio-group>
-            </el-row>
-          </template>
-        </div>
-      </template>
-      <template v-else>
-        <NoData />
-      </template>
-    </div>
-  </div>
-</template>
-<script>
-import { GetAccountList } from "@/api/Account";
-import { GetRoleByGroup } from "@/api/AccountGroup";
-import { QueryRole } from "@/api/apiAuthority";
-import { GeneralDataReception, Query } from "@/api/dataIntegration";
-import NoData from "@/components/nodata";
-export default {
-  props: {
-    title: {
-      type: String,
-      default: "",
-    },
-    type: {
-      type: Boolean,
-      default: false,
-    },
-    number: {
-      type: Number,
-      default: 3,
-    },
-    active: {
-      type: Boolean,
-      default: false,
-    },
-    checkBoxList: {
-      type: Array,
-      default: () => [],
-    },
-    mainData: {
-      type: Array,
-      default: () => [],
-    },
-    radioCheck: {
-      type: Number,
-      default: 0,
-    },
-    imageSize: {
-      type: Number,
-      default: 200,
-    },
-    roleType: {
-      type: String,
-      default: "",
-    },
-    GroupIds: {
-      type: Array,
-      default: () => [],
-    },
-  },
-  components: { NoData },
-  data () {
-    return {
-      radio: null,
-      checkList: [],
-      dataList: [],
-      arrsList: [],
-      msg: null,
-      pageSize: 100,
-      pageNum: 1,
-      total: "",
-      loading: false,
-      asyncData: [],
-    };
-  },
-  watch: {
-    radioCheck: {
-      handler (num) {
-        this.radio = num;
-      },
-      deep: true,
-    },
-    roleType: {
-      handler (msg) {
-        if (msg == "account") {
-          this.getRoleData("account_id", "account_name");
-        }
-        if (msg == "roleByUpId") {
-          this.getRoleDataByUpId("role_id");
-        }
-        if (msg == "onlyRole") {
-          this.getRoleData("role_id", "role_name");
-        }
-      },
-      deep: true,
-    },
-    dataList: {
-      handler (arr) {
-        if (arr && arr.length) {
-          this.asyncData.push(true);
-        }
-      },
-      deep: true,
-    },
-    checkBoxList: {
-      handler (arr) {
-        if (arr && arr.length) {
-          this.asyncData.push(true);
-        }
-        // if (this.roleType == "roleByUpId") {
-        //   const datas = [];
-        //   this.dataList.forEach((item, index) => {
-        //     arr.forEach((p) => {
-        //       if (item.RoleId == p.RoleId) {
-        //         datas.push(index);
-        //       }
-        //     });
-        //   });
-        //   this.checkList = datas;
-        // }
-      },
-      deep: true,
-    },
-    asyncData: {
-      handler (arr) {
-        if (arr && arr.length == 2) {
-          if (this.roleType == "account") {
-            this.checkBoxs("user_id");
-          }
-          if (this.roleType == "onlyRole" || this.roleType == "roleByUpId") {
-            this.checkBoxs("role_id");
-          }
-        }
-      },
-      deep: true,
-    },
-    GroupIds: {
-      handler () {
-        this.getRoleDataByUpId();
-      },
-      deep: true,
-    },
-  },
-  computed: {
-    noMore () {
-      return this.pageNum >= this.total;
-    },
-    disabled () {
-      return this.loading || this.noMore;
-    },
-  },
-  methods: {
-    // 选中
-    handleBg (item, i) {
-      this.msg = i;
-      this.$emit("checkClick", item);
-    },
-    //多选框
-    checkChange (arr) {
-      const datas = this.formatChecks(arr);
-      // if (this.roleType == 'account') {
-      //   datas = this.formatChecks(arr, 'UserId');
-      // }
-      this.$emit("checkChange", datas);
-    },
-    //单选框
-    radioChange (val) {
-      this.$emit("radioChange", val);
-    },
-    //格式化选中回调
-    formatChecks (arr, key) {
-      const datas = [];
-      // const ids = []
-      this.dataList.forEach((item, index) => {
-        arr.forEach((p) => {
-          if (index == p) {
-            datas.push(item);
-          }
-        });
-      });
-      // datas.forEach(item => {
-      //   ids.push(item[key])
-      // })
-      return datas;
-    },
-    //多选框默认选中
-    checkBoxs (ids) {
-      const datas = [];
-      const type = typeof this.checkBoxList[0];
-      if (type == "object") {
-        this.dataList.forEach((item, index) => {
-          this.checkBoxList.forEach((p) => {
-            if (item[ids] == p[ids]) {
-              datas.push(index);
-            }
-          });
-        });
-      } else {
-        this.dataList.forEach((item, index) => {
-          this.checkBoxList.forEach((p) => {
-            if (item[ids] == p) {
-              datas.push(index);
-            }
-          });
-        });
-      }
-      this.checkList = datas;
-    },
-    checkRole () {
-      const datas = [];
-      this.dataList.forEach((item, index) => {
-        this.checkBoxList.forEach((p) => {
-          if (item.RoleId == p.RoleId) {
-            datas.push(index);
-          }
-        });
-      });
-      this.checkList = datas;
-    },
-    //获取列表
-    async getRoleData (ids, names) {
-      try {
-        this.loading = true;
-        let result = null;
-        const userId = sessionStorage.getItem("User_Id");
-        if (this.roleType == "account") {
-          result = await Query({
-            id: DATACONTENT_ID.accountTableId,
-            needPage: this.pageNum,
-            dataContent: [userId],
-          });
-        }
-        if (this.roleType == "onlyRole") {
-          result = await Query({
-            id: DATACONTENT_ID.roleTableNewId,
-            needPage: this.pageNum,
-            dataContent: [userId],
-          });
-        }
-        if (result.code == 0) {
-          const datas = result.returnData.listValues;
-          const num = result.returnData.pages;
-          this.arrsList.push(datas);
-          const arrs = this.arrsList.flat();
-          const msgs = _.unionBy(arrs, ids);
-          msgs.forEach((item) => {
-            item.name = item[names];
-          });
-          this.dataList = msgs;
-          this.total = num;
-          this.$emit("roleListChange", msgs);
-          this.loading = false;
-        } else {
-          this.$message.error(result.message);
-          this.loading = false;
-        }
-      } catch (error) {
-
-        this.loading = false;
-      }
-    },
-
-    //获取列表2
-    async getRoleDataByUpId () {
-      try {
-        this.loading = true;
-        const obj = {
-          GroupIds: this.GroupIds,
-        };
-        const result = await GetRoleByGroup(obj);
-        if (result.code === 0) {
-          const datas = result.returnData;
-          const msgs = [];
-          if (datas.length) {
-            datas.forEach((item) => {
-              item.name = item.RoleName;
-              if (item.IsSelected) {
-                msgs.push(item);
-              }
-            });
-            this.dataList = msgs;
-          } else {
-            this.dataList = msgs;
-          }
-          this.$emit("roleListChange", msgs);
-          // this.checkBoxs(this.dataList, "RoleId");
-          this.loading = false;
-        } else {
-          this.$message.error(result.message);
-          this.loading = false;
-        }
-      } catch (error) {
-
-        this.loading = false;
-      }
-    },
-
-    //滚动加载数据
-    load () {
-      // this.pageNum += 1
-      // if (this.roleType == 'account') {
-      //   this.getRoleData('UserId', 'UserName')
-      // }
-      // if (this.roleType == 'onlyRole') {
-      //   this.getRoleData('RoleId', 'RoleName')
-      // }
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-@import "./rolelist.scss";
-.paren_content {
-  ::v-deep .el-radio__label {
-    display: none;
-  }
-  ::v-deep .el-checkbox__label {
-    display: none;
-  }
-  .scCont {
-    height: 65vh;
-    overflow-x: hidden;
-    overflow-y: auto;
-  }
-}
-</style>

+ 0 - 88
src/components/rolelist/rolelist.scss

@@ -1,88 +0,0 @@
-.bf-rolelist {
-  width: 100%;
-  height: 100%;
-  > .cont {
-    width: 100%;
-    height: 100%;
-    background: #ffffff;
-    border-radius: 4px;
-    padding: 27px 24px;
-    > .paren_header {
-      display: flex;
-      align-items: center;
-    }
-    .paren_content {
-      width: 100%;
-      height: 83%;
-      margin-top: 30px;
-      .el-row {
-        width: 100%;
-      }
-      .cide {
-        height: 78px;
-        background: #f5f7fa;
-        border: 1px solid #f5f7fa;
-        box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
-        border-radius: 4px;
-        margin-bottom: 16px;
-        padding: 16px 16px 0 16px;
-        cursor: pointer;
-        > .cide_header {
-          display: flex;
-          align-items: center;
-          justify-content: space-between;
-          > p {
-            font-size: 16px;
-            font-family: Microsoft YaHei;
-            font-weight: 400;
-            color: #303133;
-            margin-top: 0;
-            margin-bottom: 0;
-            text-overflow: -o-ellipsis-lastline;
-            overflow: hidden;
-            text-overflow: ellipsis;
-            display: -webkit-box;
-            -webkit-line-clamp: 2;
-            line-clamp: 2;
-            -webkit-box-orient: vertical;
-          }
-        }
-      }
-    }
-    .bgActive {
-      .cide {
-        height: 64px;
-      }
-      .bgColor {
-        border: 1px solid #2D67E3;
-        .el-radio__input.is-checked .el-radio__inner {
-          border-color: #f5f7fa;
-        }
-      }
-    }
-    .bgActivecheckbox {
-      > .el-scrollbar {
-        > .el-scrollbar__wrap {
-          > .el-scrollbar__view {
-            .cide {
-              // height: 64px;
-            }
-            .bgColor {
-              border: 1px solid #2D67E3;
-              .el-radio__input.is-checked .el-radio__inner {
-                border-color: #f5f7fa;
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}
-.lessData {
-  .cont {
-    padding: 0;
-    box-shadow: none;
-    background: inherit;
-  }
-}

+ 0 - 179
src/components/rulesofcompetency/index.vue

@@ -1,179 +0,0 @@
-<template>
-  <el-form class="bf-rulesofcompetency">
-    <!-- 权限规则 -->
-    <div class="right">
-      <div class="paren_header">
-        <p class="manageTitle">{{ title }}</p>
-        <!-- <div class="header_right">
-          <el-radio v-model="form.radio" :label="item.id" v-for="(item, index) in option" :key="index">{{ item.label }}</el-radio>
-        </div> -->
-      </div>
-      <div class="form">
-        <!-- <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>时效范围起</p>
-          <el-date-picker v-model="form.firstWeeks" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择时间" size="small" :picker-options="pickerOptionsStart">
-          </el-date-picker>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>时效范围至</p>
-          <el-date-picker @change="setTime" v-model="form.endWeeks" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择时间" size="small" :picker-options="pickerOptionsEnd">
-          </el-date-picker>
-        </div> -->
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可查询行</p>
-          <el-input v-model="form.query_row_condition" placeholder="请输入内容" size="small"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可查询列</p>
-          <el-input v-model="form.query_col_conditon" placeholder="请输入内容" size="small"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可删除行</p>
-          <el-input v-model="form.delete_row_condition" placeholder="请输入内容" size="small"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可新增列</p>
-          <el-input v-model="form.new_col_condition" placeholder="请输入内容" size="small"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可编辑行</p>
-          <el-input v-model="form.edit_row_condition" placeholder="请输入内容" size="small"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可编辑列</p>
-          <el-input v-model="form.edit_col_condition" placeholder="请输入内容" size="small"></el-input>
-        </div>
-      </div>
-    </div>
-  </el-form>
-</template>
-<script>
-export default {
-  props: {
-    title: {
-      type: String,
-      default: " ",
-    },
-    marginB: {
-      type: String,
-      default: "24px",
-    },
-    authTo: {
-      type: Object,
-      default: () => { },
-    },
-    authList: {
-      type: Array,
-      default: () => [],
-    },
-  },
-  data () {
-    return {
-      form: {
-        query_row_condition: "",
-        query_col_conditon: "",
-        delete_row_condition: "",
-        new_col_condition: "",
-        edit_row_condition: "",
-        edit_col_condition: ""
-      },
-      option: [
-        {
-          label: "显示权限",
-          id: 1,
-        },
-        {
-          label: "显示及编辑权限",
-          id: 2,
-        },
-      ],
-    };
-  },
-  watch: {
-    authTo: {
-      handler (obj) {
-        // this.form = _.cloneDeep(obj)
-        this.$store.dispatch("auth/changeAuthId", obj.auth_id)
-      },
-      deep: true,
-    },
-    form: {
-      handler () {
-        this.getData();
-      },
-      deep: true,
-    },
-    authList: {
-      handler (arr) {
-        this.$store.dispatch("auth/changeAuthList", arr);
-        // this.$store.dispatch("auth/changeAuthMsg", arr);
-        // this.$store.dispatch("auth/changeAuthArrs", arr);
-      },
-      deep: true,
-    },
-    "$store.state.auth.authMsg": {
-      handler (arr) {
-        const id = this.$store.getters.authId;
-        const obj = arr.filter((item) => item.auth_id === id)[0];
-        this.clearFormData();
-        this.setFormData(_.cloneDeep(obj));
-      },
-      deep: true,
-    }
-  },
-  methods: {
-    getData () {
-      const obj = _.cloneDeep(this.form);
-      this.$emit("getData", obj);
-      const arr = this.$store.getters.authArrs;
-      const datas = _.unionBy(arr, "auth_id");
-      const id = this.$store.getters.authId;
-      // 
-      if (datas.length) {
-        // const dat = datas[datas.length - 1]
-        let dat = datas[datas.length - 1];
-        datas.map((item) => {
-          if (item.auth_id == id) {
-            dat = item;
-          }
-        });
-        const { auth_id } = dat;
-        obj["AuthId"] = auth_id;
-        datas.forEach((item) => {
-          if (item.auth_id == id) {
-            item.AuthList = obj;
-          }
-        });
-        this.$store.dispatch("auth/changeAuthArrs", datas);
-      }
-    },
-    clearFormData () {
-      this.form.query_row_condition = "";
-      this.form.query_col_conditon = "";
-      this.form.delete_row_condition = "";
-      this.form.new_col_condition = "";
-      this.form.edit_row_condition = "";
-      this.form.edit_col_condition = "";
-    },
-    setFormData (obj) {
-      let data = {};
-      if (obj.AuthList) {
-        data = obj.AuthList;
-      } else {
-        data = obj;
-      }
-      this.form = _.cloneDeep(data);
-    },
-  },
-};
-</script>
-<style lang="scss" scoped>
-@import "./rulesofcompetency.scss";
-.el-picker-panel {
-  > .el-picker-panel__footer {
-    > .el-button--text {
-      display: none;
-    }
-  }
-}
-</style>

+ 0 - 126
src/components/rulesofcompetency/index0.vue

@@ -1,126 +0,0 @@
-<template>
-  <el-form class="bf-rulesofcompetency">
-    <!-- 权限规则 -->
-    <div class="right">
-      <div class="paren_header">
-        <p class="manageTitle">{{ title }}</p>
-      </div>
-      <div class="mt30">
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可查询行</p>
-          <el-input @blur="getForm" v-model="form.QueryRow" placeholder="请输入内容" size="mini"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可查询列</p>
-          <el-input @blur="getForm" v-model="form.QueryCol" placeholder="请输入内容" size="mini"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可删除行</p>
-          <el-input @blur="getForm" v-model="form.DeleteRow" placeholder="请输入内容" size="mini"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可新增列</p>
-          <el-input @blur="getForm" v-model="form.NewCol" placeholder="请输入内容" size="mini"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可编辑行</p>
-          <el-input @blur="getForm" v-model="form.EditRow" placeholder="请输入内容" size="mini"></el-input>
-        </div>
-        <div class="juris_list" :style="{ marginBottom: marginB }">
-          <p>许可编辑列</p>
-          <el-input @blur="getForm" v-model="form.EditCol" placeholder="请输入内容" size="mini"></el-input>
-        </div>
-      </div>
-    </div>
-  </el-form>
-</template>
-<script>
-export default {
-  props: {
-    title: {
-      type: String,
-      default: " ",
-    },
-    marginB: {
-      type: String,
-      default: "24px",
-    },
-    authTo: {
-      type: Object,
-      default: () => { },
-    },
-    authList: {
-      type: Array,
-      default: () => [],
-    },
-  },
-  data () {
-    return {
-      form: {
-        DeleteRow: null,
-        EditCol: null,
-        EditRow: null,
-        NewCol: null,
-        QueryCol: null,
-        QueryRow: null,
-      },
-      newForm: {},
-      formDatas: []
-    };
-  },
-  watch: {
-    "$store.state.auth.authArrs": {
-      handler () {
-        const id = this.$store.getters.authId
-        const arr = this.$store.getters.authMsg
-        const obj = arr.filter((item) => item.auth_id === id)[0]
-        if (obj) {
-          this.setFormData(obj)
-        } else {
-          this.clearFormData()
-        }
-      },
-      deep: true
-    }
-  },
-  methods: {
-    clearFormData () {
-      this.form.NewCol = "";
-      this.form.DeleteRow = "";
-      this.form.QueryCol = "";
-      this.form.QueryRow = "";
-      this.form.EditCol = "";
-      this.form.EditRow = "";
-    },
-    setFormData (obj) {
-      let data = {}
-      if (obj.AuthList) {
-        data = obj.AuthList;
-      } else {
-        data = obj
-      }
-      this.form = data
-    },
-    getForm () {
-      const id = this.$store.getters.authId;
-      const arr = this.$store.getters.authArrs;
-      this.form.auth_id = id
-      arr.filter(item => {
-        if (item.auth_id == id) {
-          item.AuthList = _.cloneDeep(this.form)
-        }
-      })
-      const datas = _.unionBy(arr, "auth_id");
-      const newDatas = _.cloneDeep(datas);
-      this.$store.dispatch("auth/changeAuthMsg", newDatas);
-      this.$store.dispatch("auth/changeAuthList", newDatas);
-    }
-  },
-};
-</script>
-<style lang="scss" scoped>
-@import "./rulesofcompetency.scss";
-.mt30 {
-  margin-top: 30px;
-}
-</style>

+ 0 - 53
src/components/rulesofcompetency/rulesofcompetency.scss

@@ -1,53 +0,0 @@
-.bf-rulesofcompetency {
-  width: 100%;
-  height: 100%;
-  > .right {
-    width: 100%;
-    height: 100%;
-    background: #ffffff;
-    border-radius: 4px;
-    padding: 27px 24px;
-    > .paren_header {
-      width: 100%;
-      height: 20px;
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      // margin-bottom: 24px;
-    }
-    .form{
-      margin-top: 30px;
-    }
-    ::v-deep .juris_list {
-      width: 100%;
-      display: flex;
-      align-items: center;
-      // margin-bottom: 19px;
-      > p {
-        width: 71px;
-        display: flex;
-        align-items: center;
-        justify-content: flex-end;
-        margin-bottom: 0;
-        margin-top: 0;
-        margin-right: 16px;
-        font-size: 14px;
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        color: #303133;
-      }
-      .el-input {
-        width: calc(100% - 87px);
-        height: 32px;
-        background: #fff;
-        border-radius: 2px;
-        .el-input__inner {
-          width: 100%;
-          height: 100%;
-          background: #fff;
-          border-radius: 2px;
-        }
-      }
-    }
-  }
-}

+ 0 - 183
src/components/usergrouptree/index.vue

@@ -1,183 +0,0 @@
-<!--
- * @Author: zk
- * @Date: 2022-02-09 15:47:09
- * @LastEditTime: 2022-03-02 11:14:29
- * @LastEditors: your name
- * @Description: 用户组树
- * @FilePath: \Foshan4A4.0\src\components\usergrouptree\index.vue
--->
-<template>
-  <div class="userGroupTree">
-    <div class="head">
-      <p class="manageTitle">{{ title }}</p>
-    </div>
-    <div
-      :class="type ? 'radioBg':''"
-      class="content"
-    >
-      <el-scrollbar
-        style="height: 100%"
-        wrap-style="overflow-x:hidden;"
-      >
-        <el-tree
-          ref="tree"
-          :data="data"
-          show-checkbox
-          :check-strictly="true"
-          :default-props="defaultProps"
-          :expand-on-click-node="false"
-          node-key="GroupId"
-          default-expand-all
-          highlight-current
-          @check-change="currentChange"
-        >
-          <span
-            slot-scope="{ data }"
-            class="custom-tree-node"
-          >
-            {{ data.GroupName }}
-          </span>
-        </el-tree>
-      </el-scrollbar>
-    </div>
-  </div>
-</template>
-
-<script>
-import { GetGroupTree } from '@/api/AccountGroup'
-import { translateDataToTreeAll } from '@/utils/validate'
-export default {
-  name: 'UserGroupTree',
-  props: {
-    title: {
-      // 标题
-      type: String,
-      default: ''
-    },
-    checkedKeys: {
-      // 已选中
-      type: Array,
-      default: () => []
-    },
-    type: {
-      type: Boolean,
-      default: false
-    },
-    defaultProps: {
-      type: Object,
-      default: () => ({
-        children: 'children',
-        label: 'GroupName'
-      })
-    },
-    checkDisabled: {
-      type: Boolean,
-      default: false
-    }
-  },
-  data() {
-    return {
-      data: [], // tree数据
-      checkedList: [], // 已选中数据
-      pageIndex: 1,
-      pageSize: 20
-    }
-  },
-  watch: {
-    checkedKeys: {
-      handler(val) {
-        this.checkedList = val
-        this.$refs.tree.setCheckedKeys(val)
-      },
-      deep: true
-    }
-  },
-  created() {
-    this.getGroupTree()
-  },
-  methods: {
-    // 复选框选中
-    currentChange(data, isChecked) {
-      if (this.type) {
-        const { GroupId } = data
-        this.$emit('getTreeData', this.$refs.tree.getCheckedNodes())
-        if (isChecked) {
-          const checked = [GroupId]
-          this.$refs.tree.setCheckedKeys(checked)
-        }
-      } else {
-        const arr = this.$refs.tree.getCheckedNodes()
-        this.$emit('getTreeData', arr)
-      }
-    },
-    async getGroupTree() {
-      const result = await GetGroupTree({
-        QueryName: '',
-        PageIndex: this.pageIndex,
-        PageSize: this.pageSize
-      })
-      const datas = result.returnData
-      if (this.checkDisabled) {
-        datas.forEach(data => {
-          data.disabled = true
-        })
-      }
-      const tree = translateDataToTreeAll(datas, 'GroupUpid', 'GroupId')
-      const obj = {
-        AuthCount: 0,
-        GroupId: -1,
-        GroupName: '系统用户组',
-        GroupUpid: 0,
-        QueryTarget: 0,
-        Status: 0,
-        UserCount: 0,
-        disabled: true,
-        children: tree
-      }
-      this.data = [obj]
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.userGroupTree {
-  width: 100%;
-  height: 100%;
-  background: #ffffff;
-  border-radius: 4px;
-  padding: 27px 24px;
-  .head {
-    width: 100%;
-    display: flex;
-    align-items: center;
-  }
-  ::v-deep .content {
-    width: 100%;
-    height: calc(100% - 112px);
-    box-sizing: border-box;
-    margin-left: 0;
-    margin-top: 30px;
-    .el-tree-node.is-expanded > .el-tree-node__children {
-      display: block;
-    }
-    .custom-tree-node {
-      margin-left: 10px;
-      font-size: 14px;
-    }
-  }
-  ::v-deep .radioBg {
-    .el-checkbox__inner {
-      border-radius: 50%;
-      &::after {
-        width: 5px;
-        height: 5px;
-        background: #ffffff;
-        border-radius: 50%;
-        top: 3px;
-        left: 3px;
-      }
-    }
-  }
-}
-</style>

+ 0 - 79
src/layout/components/dateType/index.vue

@@ -1,79 +0,0 @@
-<!--
- * @Author: your name
- * @Date: 2021-10-18 14:14:56
- * @LastEditTime: 2021-11-01 09:47:42
- * @LastEditors: Please set LastEditors
- * @Description: In User Settings Edit
- * @FilePath: \Foshan4A\src\layout\components\dateType\index.vue
--->
-<template>
-  <div class="date-type">
-    <div v-for="(item,index) in arrs" @click="checkType(item,index)" :class="active===index?'active':''" :key="index" class="date-type-list">{{item.name}}</div>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'DateType',
-  props: {
-    arrs: {
-      type: Array,
-      default: () => [
-        {
-          name: '日',
-          value: 1
-        },
-        {
-          name: '月',
-          value: 2
-        },
-        {
-          name: '年',
-          value: 3
-        }
-      ]
-    }
-  },
-  data () {
-    return {
-      active: 0
-    }
-  },
-  methods: {
-    checkType (item, index) {
-      this.active = index
-      this.$emit('getTypeData', item)
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.date-type {
-  position: absolute;
-  right: 0;
-  top: 0;
-  z-index: 10;
-  white-space: nowrap;
-  font-size: 16px;
-  font-family: Microsoft YaHei;
-  font-weight: 400;
-  color: #606266;
-  background: #f5f7fa;
-  border-radius: 4px;
-  display: flex;
-  height: 30px;
-  line-height: 30px;
-  .date-type-list {
-    flex: 1;
-    text-align: center;
-    padding: 0 20px;
-    cursor: pointer;
-  }
-  .active {
-    background-color: #fff;
-    box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-  }
-}
-</style>

+ 2 - 0
src/store/modules/user.js

@@ -159,6 +159,8 @@ const actions = {
         dataContent: {
           user_id: '',
         },
+        page: 1,
+        pageSize: 9999
       })
         .then((res) => {
           if (res.code == 0 && isValue(res.returnData)) {

+ 2 - 0
src/views/newUserManagement/index.vue

@@ -197,6 +197,8 @@ export default {
     },
     handleAdd () {
       this.type = 'add'
+      this.treeCheckId = null
+      this.tableData = []
       this.clearForm()
     },
     async handleNodeClick (data) {

+ 0 - 293
src/views/queryTemplate/index.vue

@@ -1,293 +0,0 @@
-<!--
- * @Author: your name
- * @Date: 2021-11-17 13:43:58
- * @LastEditTime: 2021-11-17 13:43:59
- * @LastEditors: Please set LastEditors
- * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- * @FilePath: \CABaggageData\src\views\dashboard\views\info.vue
--->
-<template>
-  <div class="airportInfo">
-    <DataTable data-id="4" :rows="12" labelWidth="100px" :minHeight="84" width="800px" />
-    <!--删除弹框-->
-    <Dialog :flag="flag">
-      <div class="airportInfoDialog">
-        <div class="del-title">删除分类信息</div>
-        <div class="content er">
-          <div class="log"></div>
-          是否确认删除
-          <p style="color: #eb2f3b; margin-top: 0px; margin-bottom: 0px">
-            {{ rmObj.name }}
-          </p>
-          ?
-        </div>
-        <div class="DelFoot right t30">
-          <el-button size="medium" @click="remove()" class="r25 buwitch" type="danger">删除</el-button>
-          <el-button size="medium" class="r26" @click="flag = false">取消</el-button>
-        </div>
-      </div>
-    </Dialog>
-  </div>
-</template>
-<script>
-import Search from "@/layout/components/Search/index.vue";
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { findarrays } from "@/utils/validate";
-import { AirlinesInquiry } from "@/api/SystemSettings";
-import { exceptiontype, exceptionadd, exceptiondel } from "@/api/acquisition";
-import { GeneralDataReception, Query } from "@/api/dataIntegration";
-import DataTable from "@/components/Table";
-export default {
-  name: "queryTemplate",
-  components: { Search, Dialog, DataTable },
-  data () {
-    return {
-      arr: [
-        {
-          typeName: "名称",
-          typeCode: "测试",
-        },
-      ], //内容数据
-      flag: false, //删除弹框开关
-      addFlag: false, //新增机场信息弹框开关
-      EditFlag: false,
-      ids: null,
-      idss: null,
-      listDate: {},
-      rmObj: {
-        //删除内容
-        name: "",
-      },
-      ruleForm: {
-        //新增机场信息表单
-        name: "",
-        fullName: "",
-        code: "",
-      },
-      EditForm: {
-        name: "",
-        fullName: "",
-        code: "",
-      },
-      rules: {
-        //新增机场信息表单验证
-        name: [{ required: true, message: "请输入航司简称", trigger: "blur" }],
-        fullName: [
-          { required: true, message: "请输入航司全称", trigger: "blur" },
-        ],
-        code: [
-          { required: true, message: "请输入航司二字码", trigger: "blur" },
-        ],
-      },
-      modid: "",
-    };
-  },
-  created () {
-    // this.getAirlines();
-    // this.exceptionlist();
-  },
-  computed: {
-    serachBox () {
-      if (this.searchInfo) {
-        return this.arr.filter((data) => {
-          return Object.keys(data).some((key) => {
-            return (
-              String(data[key]).toLowerCase().indexOf(this.searchInfo) > -1
-            );
-          });
-        });
-      }
-      return this.arr;
-    },
-  },
-  methods: {
-    //异常列表查询
-    async exceptionlist () {
-      let params = {
-        id: "",
-      };
-      const result = await exceptiontype(params);
-      if (result.code == 0) {
-        this.arr = result.returnData;
-      }
-    },
-    //搜索
-    getSearchData (val) {
-      let that = this;
-      that.exceptionlist().then(function (data) {
-        if (val) {
-          that.arr = findarrays(that.arr, "typeName", val);
-        } else {
-          that.exceptionlist();
-        }
-      });
-      //
-    },
-    //删除信息
-    handleMove (item) {
-      this.listDate = item;
-      this.flag = true;
-      this.rmObj = {
-        name: item.queryTemplateName,
-      };
-    },
-    airEdit (item) {
-      // this.modid = item;
-      // this.EditForm.name = item.typeName;
-      // this.EditForm.fullName = item.typeCode;
-      this.$router.push({
-        path: "/systemSettings/queryTemplateedit",
-        query: {
-          queryTemplateName: item.queryTemplateName,
-          protocolID: item.protocolID,
-          queryTemplateDescribe: item.queryTemplateDescribe,
-          queryTemplatetConfig: item.queryTemplatetConfig,
-          queryTemplate: item.queryTemplate,
-        },
-      });
-      // this.EditForm.code = item.code2;
-      // this.EditFlag = true;
-    },
-    async EditSubmit () {
-      let arr = 0;
-      this.$refs["ruleFormall"].validate((valid) => {
-        if (valid) {
-          arr = 1;
-        } else {
-          arr = 0;
-          return false;
-        }
-      });
-      if (arr == 1) {
-        let params = {
-          id: this.modid.id,
-          typeName: this.EditForm.name,
-          typeCode: this.EditForm.fullName,
-        };
-        const result = await exceptionadd(params);
-        if (result.code == 0) {
-          this.$message.success("成功");
-          this.exceptionlist();
-          this.$refs.ruleFormall.resetFields();
-        }
-        this.EditFlag = false;
-      }
-    },
-    closeForm () {
-      this.$refs.ruleForm.resetFields();
-    },
-    //获取模板列表
-    async getAirlines () {
-      try {
-        const res = await Query({
-          id: 77,
-          dataContent: [],
-        });
-        if (res.code === "0") {
-          this.arr = res.returnData;
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-
-    //新增机场信息-弹框
-    handleAdd () {
-      this.$router.push("/systemSettings/queryTemplateadd");
-    },
-    //新增机场信息-弹框-取消
-    resetForm () {
-      this.addFlag = false;
-      this.EditFlag = false;
-      this.ruleForm.name = "";
-      this.ruleForm.fullName = "";
-      this.$refs.ruleForms.resetFields();
-      this.$refs.ruleFormall.resetFields();
-    },
-    //删除
-    async remove (data) {
-      this.listDate.operate = "3";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "20",
-          dataContent: JSON.stringify(this.listDate),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.flag = false;
-          this.listDate = {};
-          this.getAirlines();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.airportInfo {
-  padding: 0 10px;
-  .log {
-    width: 26px;
-    height: 26px;
-    background: #eb2f3b;
-    border-radius: 50%;
-    margin-right: 15px;
-    background: url("../../assets/index/ic_close_hint.png") no-repeat;
-    background-size: 100% 100%;
-  }
-  .er {
-    display: flex;
-    align-items: center;
-  }
-  .airportInfo-search {
-    margin: 40px 0 30px 0;
-  }
-  .airportInfo-content {
-    img {
-      margin: 0 auto;
-      margin-top: 10%;
-      display: -webkit-box;
-      -webkit-box-pack: center;
-      -webkit-box-align: center;
-      -webkit-box-orient: vertical;
-      text-align: center;
-    }
-    .grid-content {
-      height: 144px;
-      padding: 24px;
-      margin-bottom: 24px;
-      .title {
-        font-size: 16px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #303133;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-        max-width: 150px;
-      }
-      .edit_log {
-        position: relative;
-        // top: -2px;
-      }
-      .icon {
-        cursor: pointer;
-      }
-      .desc {
-        font-size: 14px;
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        color: #101116;
-        margin-top: 60px;
-      }
-    }
-  }
-}
-</style>

+ 0 - 46
src/views/systemSettings/views/dataStructureItem/dataStructureItemHome.vue

@@ -1,46 +0,0 @@
-<template>
-  <div class="dataStructureItem_home">
-    <div class="wrap">
-      <DataTable
-        data-id="9"
-        :rows="12"
-        labelWidth="140px"
-        :minHeight="70"
-        width="800px"
-      />
-    </div>
-
-  </div>
-</template>
-<script>
-import DataTable from "@/components/Table";
-export default {
-  data() {
-    return {
-    };
-  },
-  components: { DataTable },
-};
-</script>
-<style lang="scss" scoped>
-.dataStructureItem-home {
-  .wrap {
-    padding: 16px 0;
-    .service-header {
-      line-height: 32px;
-      font-size: 14px;
-      .btn-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-  }
-}
-</style>

+ 0 - 318
src/views/systemSettings/views/datastructure/datastructureChild.vue

@@ -1,318 +0,0 @@
-<template>
-  <div class="queryItemSettings_home">
-    <div class="wrap">
-      <DataTable tableHeight="700" ref="DataTable" :data-id="dataId" :edit-id="editId" :data-content="{ dataStructureID }" :rows="12" label-width="140px" :min-height="70" width="800px" :isDialog="false" @handleAdd="handleAdd" @handleEdit="handleEdit" />
-    </div>
-    <Dialog :width="width" :flag="flag">
-      <div class="dialog-content">
-        <div class="title">{{ tableTitle }}</div>
-        <div class="content">
-          <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
-            <el-row :gutter="20">
-              <!-- <el-col :span="12">
-                  <el-form-item label="数据项名称">
-                    <template v-if="
-                        item.listqueryTemplateID ||
-                        item.listqueryTemplateID == 0
-                      ">
-                      <el-select size="small" clearable style="width: 100%" v-model="tableForm[item.columnName]" @change="changeSelect(item.columnName)" placeholder="请选择">
-                        <el-option v-for="item in tableOptions[item.columnName]" :key="item.v" :label="item.k" :value="item.v">
-                        </el-option>
-                      </el-select>
-                    </template>
-                    <template v-else>
-                      <el-input size="small" v-model="tableForm[item.columnName]"></el-input>
-                    </template>
-                  </el-form-item>
-                </el-col> -->
-              <el-col :span="12">
-                <el-form-item label="数据项名称">
-                  <el-input size="small" v-model="tableForm.ItemName"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="数据项类型">
-                  <el-select size="small" clearable style="width: 100%" v-model="tableForm.dataType" placeholder="请选择">
-                    <el-option v-for="item in tableOptions.dataType" :key="item.v" :label="item.k" :value="item.v">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="输出标识符">
-                  <el-input size="small" v-model="tableForm.outputIdentifier"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="描述">
-                  <el-input size="small" v-model="tableForm.ItemDescribe"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="唯一项">
-                  <el-select size="small" clearable style="width: 100%" v-model="tableForm.isKey" placeholder="请选择">
-                    <el-option v-for="item in tableOptions.OptionArr" :key="item.v" :label="item.k" :value="item.v">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="必填项">
-                  <el-select size="small" clearable style="width: 100%" v-model="tableForm.isMust" placeholder="请选择">
-                    <el-option v-for="item in tableOptions.OptionArr" :key="item.v" :label="item.k" :value="item.v">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="多条拆分">
-                  <el-select size="small" clearable style="width: 100%" v-model="tableForm.isSplite" placeholder="请选择">
-                    <el-option v-for="item in tableOptions.OptionArr" :key="item.v" :label="item.k" :value="item.v">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="24">
-                <el-form-item label="取值表达式">
-                  <el-input size="small" type="textarea" v-model="tableForm.computingExpression"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="24">
-                <el-form-item label="实时计算表达式">
-                  <el-input size="small" type="textarea" v-model="tableForm.calculationExpression"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="计算结果标识符">
-                  <el-input size="small" v-model="tableForm.calcIdentifier"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="计算参数">
-                  <el-input size="small" v-model="tableForm.calcparameter"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="计算数据源">
-                  <el-select size="small" clearable style="width: 100%" v-model="tableForm.dataSourceID" placeholder="请选择">
-                    <el-option v-for="item in tableOptions.listValues" :key="item.v" :label="item.k" :value="item.v">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </div>
-        <div class="foot right t30">
-          <el-button size="medium" @click="handleOk" class="r24" type="primary">确定</el-button>
-          <el-button @click="handleCancel" size="medium">取消</el-button>
-        </div>
-      </div>
-    </Dialog>
-  </div>
-</template>
-<script>
-import DataTable from "@/components/Table";
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { Query, GeneralDataReception } from "@/api/dataIntegration";
-export default {
-  components: { DataTable, Dialog },
-  data () {
-    return {
-      dataId: DATACONTENT_ID.sysDataChildTabId,
-      editId: DATACONTENT_ID.sysDataEditId,
-      dataStructureID: null,
-      flag: false,
-      width: "800px",
-      tableTitle: "新增",
-      tableForm: {},
-      labelWidth: "110px",
-      tableOptions: {
-        dataType: [
-          {
-            v: 1,
-            k: "字符串",
-            setValue: "v",
-            setlabel: "k",
-          },
-          {
-            v: 2,
-            k: "数字",
-            setValue: "v",
-            setlabel: "k",
-          },
-          {
-            v: 3,
-            k: "日期",
-            setValue: "v",
-            setlabel: "k",
-          },
-          {
-            v: 4,
-            k: "时间",
-            setValue: "v",
-            setlabel: "k",
-          },
-          {
-            v: 5,
-            k: "日期时间",
-            setValue: "v",
-            setlabel: "k",
-          },
-        ],
-        OptionArr: [
-          {
-            v: 1,
-            k: "是",
-            setValue: "v",
-            setlabel: "k",
-          },
-          {
-            v: 0,
-            k: "否",
-            setValue: "v",
-            setlabel: "k",
-          },
-        ],
-        listValues: [],
-      },
-      tableType: "add",
-    };
-  },
-  created () {
-    if (!this.$route.query.dataStructureID) {
-      this.$router.push("/systemSettings/datastructure");
-      return;
-    }
-    this.dataStructureID = Number(this.$route.query.dataStructureID);
-    this.getData();
-  },
-  methods: {
-    handleAdd () {
-      this.flag = true;
-      this.tableType = "add";
-    },
-    handleEdit (row) {
-      (this.tableTitle = "编辑"), (this.flag = true);
-      this.tableType = "edit";
-      this.queryDetial(row.ItemID);
-    },
-    //弹框-确定
-    handleOk () {
-      this.submitClickHandler();
-    },
-    handleCancel () {
-      this.flag = false;
-      this.tableForm = {};
-    },
-    // 新增/编辑-确认
-    submitClickHandler () {
-      this.loading = true;
-      this.$refs["ruleForm"].validate((valid) => {
-
-        this.tableForm["dataStructureID"] = this.dataStructureID;
-        if (valid) {
-          if (this.tableType == "add") {
-            this.tableForm.event = 1;
-          } else {
-            this.tableForm.event = 2;
-          }
-          this.generalDataReception(this.tableForm);
-        } else {
-          return false;
-        }
-      });
-    },
-    async generalDataReception (data) {
-      try {
-        data = {
-          ...data,
-          ...this.dataContent,
-        };
-        const { code, message } = await GeneralDataReception({
-          serviceId: SERVICE_ID.sysDataTabId,
-          dataContent: JSON.stringify(data),
-        });
-        this.loading = true;
-        if (code == 0) {
-          this.$message.success("操作成功");
-          this.$refs["DataTable"].getQuery();
-          this.flag = false;
-          this.rmFlag = false;
-          this.tableObj = {};
-          this.tableForm = {};
-        } else {
-          this.$message.error("操作失败");
-          this.flag = false;
-          this.rmFlag = false;
-          this.tableObj = {};
-          this.tableForm = {};
-        }
-      } catch (error) {
-
-        this.flag = false;
-        this.rmFlag = false;
-        this.tableObj = {};
-        this.tableForm = {};
-      }
-    },
-    async getData () {
-      try {
-        this.loading = true;
-        const { code, returnData } = await Query({
-          id: DATACONTENT_ID.sysSourceId,
-          dataContent: [],
-        });
-        if (code == 0) {
-
-          this.tableOptions.listValues = returnData.listValues;
-        } else {
-          this.loading = false;
-        }
-      } catch (error) {
-        this.loading = false;
-
-      }
-    },
-    async queryDetial (id) {
-      try {
-        const { code, returnData } = await Query({
-          id: DATACONTENT_ID.sysDataEditId,
-          dataContent: [id],
-        });
-        if (code == 0) {
-
-          this.tableForm = JSON.parse(JSON.stringify(returnData.listValues[0]));
-        } else {
-          this.loading = false;
-        }
-      } catch (error) {
-        this.loading = false;
-
-      }
-    },
-  },
-};
-</script>
-<style lang="scss" scoped>
-.queryItemSettings-home {
-  .wrap {
-    padding: 16px 0;
-    .service-header {
-      line-height: 32px;
-      font-size: 14px;
-      .btn-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-  }
-}
-</style>

+ 0 - 58
src/views/systemSettings/views/datastructure/datastructureHome.vue

@@ -1,58 +0,0 @@
-<template>
-  <div class="datastructure_home">
-    <div class="wrap">
-      <DataTable
-        tableHeight="700"
-        :data-id="dataId"
-        :rows="12"
-        labelWidth="100px"
-        :minHeight="70"
-        width="800px"
-        :withItemSet="true"
-        :isStatuser="true"
-      >
-        <template v-slot:header>
-          <div class="status flex-wrap">
-            <div class="manageTitle">数据结构</div>
-          </div>
-        </template>
-      </DataTable>
-    </div>
-  </div>
-</template>
-<script>
-import DataTable from "@/components/Table";
-export default {
-  data() {
-    return {
-      dataId: DATACONTENT_ID.sysDataTabId,
-    };
-  },
-  components: { DataTable },
-};
-</script>
-<style lang="scss" scoped>
-::v-deep .el-form-item {
-  margin-bottom: 20px;
-}
-.datastructure-home {
-  .wrap {
-    padding: 16px 0;
-    .service-header {
-      line-height: 32px;
-      font-size: 14px;
-      .btn-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-  }
-}
-</style>

+ 0 - 285
src/views/systemSettings/views/log/index.vue

@@ -1,285 +0,0 @@
-<template>
-  <div class="interfaceLog">
-    <div class="interfaceLog_head flex">
-      <div class="interfaceLog_head_time flex-wrap">
-        <!-- <div class="interfaceLog_head_time_start mr10">
-          <el-date-picker v-model="timeStart" size="small" type="date" placeholder="选择开始日期">
-          </el-date-picker>
-        </div>
-        <div class="interfaceLog_head_time_end">
-          <el-date-picker v-model="timeEnd" size="small" type="date" placeholder="选择结束日期">
-          </el-date-picker>
-        </div> -->
-        <template>
-          <div class="status flex-wrap r30">
-            <div class="manageTitle">日志查询</div>
-          </div>
-        </template>
-        <el-date-picker v-model="date" size="small" type="daterange" value-format="yyyy-MM-dd" :default-time="['00:00:00', '23:59:59']" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="dateChange">
-        </el-date-picker>
-      </div>
-      <div class="interfaceLog_head_btn">
-        <Search @getSearchData="getSearchData" :isTitle="false" @clearSearchData="clearSearchData" />
-      </div>
-    </div>
-    <div class="interfaceLog_content flex-wrap">
-      <el-table v-el-table-infinite-scroll="load" :data="tableData" class="table" border style="width: 100%" @row-click="rowClick" :height="720">
-        <el-table-column prop="logType" label="日志类型" width="100px">
-        </el-table-column>
-        <el-table-column prop="logObject" label="日志对象"> </el-table-column>
-        <el-table-column prop="logTime" label="日志时间"> </el-table-column>
-        <!-- <el-table-column prop="time" label="发生时间">
-        </el-table-column> -->
-        <el-table-column prop="logPositionID" label="发生位置" :show-overflow-tooltip="true">
-        </el-table-column>
-        <el-table-column label="日志结果" width="100px">
-          <template slot-scope="scope">
-            <span :class="scope.row.resultCode == '成功' ? 'success' : 'error'">{{ scope.row.resultCode }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="resultDetails" label="日志详情" :show-overflow-tooltip="true">
-        </el-table-column>
-      </el-table>
-      <div class="interfaceLog_content_progress">
-        <el-timeline v-if="preDatas != []">
-          <el-timeline-item v-for="(item, index) in preDatas" :key="index">
-            <div class="list">
-              <div class="list_status"></div>
-              <div class="list_title">{{ item.logType }}</div>
-              <div class="list_code" :class="item.resultCode == '成功' ? 'success' : 'error'">
-                {{ item.resultCode }}
-              </div>
-              <div class="list_time">{{ item.logTime }}</div>
-              <div class="list_detial">{{ item.resultDetails }}</div>
-            </div>
-          </el-timeline-item>
-        </el-timeline>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import Search from "@/layout/components/Search";
-import { Query } from "@/api/dataIntegration";
-export default {
-  name: "InterfaceLog",
-  components: { Search },
-  data () {
-    return {
-      timeStart: "",
-      timeEnd: "",
-      tableData: [],
-      preDatas: [],
-      date: "",
-      keyWords: null,
-      preDatas: [],
-      page: 0,
-      noMore: false,
-    };
-  },
-  created () {
-    this.getNowTime();
-  },
-  methods: {
-    load () {
-      // 
-      if (this.noMore) {
-        return;
-      }
-      this.getQuery();
-    },
-    resetTable () {
-      this.page = 0;
-      this.noMore = false;
-      this.tableData = [];
-    },
-    rowClick (row, column, event) {
-      this.preDatas = [];
-      if (row.logObject) {
-        this.tableData.forEach((item) => {
-          if (item.logObject == row.logObject) {
-            this.preDatas.push(item);
-          }
-        });
-      } else {
-        this.preDatas.push(row);
-      }
-    },
-    dateChange () {
-      if (this.date != null) {
-        this.resetTable();
-        this.getQuery();
-      }
-    },
-    getNowTime () {
-      var now = new Date();
-      var year = now.getFullYear(); //得到年份
-      var month = now.getMonth(); //得到月份
-      var date = now.getDate(); //得到日期
-      var hour = now.getHours(); //得到时
-      var min = now.getMinutes(); //得到分
-      var second = now.getSeconds(); //得到秒
-      month = month + 1;
-      month = month.toString().padStart(2, "0");
-      date = date.toString().padStart(2, "0");
-      var defaultDate = `${year}-${month}-${date}`;
-      this.date = [defaultDate, defaultDate];
-      this.timeEnd = defaultDate;
-      this.getQuery();
-    },
-    //获取表格数据
-    async getQuery () {
-      try {
-        this.loading = true;
-        const { code, returnData } = await Query({
-          id: DATACONTENT_ID.sysLogTabId,
-          needPage: ++this.page,
-          dataContent: [this.date[0] + " 00:00:00", this.date[1] + " 23:59:59"],
-        });
-        if (code == 0) {
-          if (returnData.listValues.length === 0) {
-            this.page--;
-            this.noMore = true;
-            return;
-          }
-          // this.tableData = returnData.listValues;
-          this.tableData.push(...returnData.listValues);
-
-        } else {
-          this.page--;
-          this.loading = false;
-          this.$message.error("获取数据失败");
-        }
-      } catch (error) {
-        this.page--;
-        this.loading = false;
-
-      }
-    },
-    getSearchData (val) {
-
-      this.keyWords = val;
-      this.getQuery();
-    },
-    clearSearchData () { },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.interfaceLog {
-  padding: 8px 32px 12px 8px;
-  .mr10 {
-    margin-right: 10px;
-  }
-  ::v-deep .interfaceLog_head_time {
-    .el-input__prefix {
-      left: 10px;
-      color: #101116;
-      top: 10px;
-    }
-    .el-input--prefix .el-input__inner {
-      padding-left: 50px;
-    }
-  }
-  .interfaceLog_head_btn {
-    ::v-deep .btn {
-      margin-right: 0;
-    }
-  }
-  .interfaceLog_content {
-    margin-top: 8px;
-    ::v-deep .table {
-      color: #101116;
-      thead {
-        color: #101116;
-      }
-      .success {
-        color: #33bf47;
-      }
-      .error {
-        color: #df4545;
-      }
-    }
-    &_progress {
-      width: 368px;
-      background: #fafcff;
-      margin-left: 8px;
-      padding: 13px 32px;
-      overflow: hidden;
-      ::v-deep .el-timeline {
-        padding: 0;
-        .el-timeline-item {
-          position: relative;
-          &::after {
-            position: absolute;
-            content: "";
-            height: 1px;
-            width: calc(100% + 4px);
-            background-color: #dfe3ea;
-            left: 28px;
-            bottom: 20px;
-          }
-          &:last-child {
-            &::after {
-              height: 0;
-            }
-          }
-        }
-        .el-timeline-item__node--normal {
-          z-index: 2;
-          background-color: #fff;
-          width: 10px;
-          height: 10px;
-          left: 0px;
-          top: 2px;
-        }
-        .el-timeline-item__tail {
-          border-left: 4px solid #dfe3ea;
-          left: 3px;
-        }
-        .el-timeline-item:last-child .el-timeline-item__tail {
-          height: 1000%;
-          display: block;
-        }
-        .list {
-          &_status {
-            position: absolute;
-            width: 20px;
-            height: 20px;
-            background: #2d67e3;
-            left: -5px;
-            border-radius: 50%;
-            z-index: 1;
-          }
-          &_title,
-          &_code {
-            margin-bottom: 7px;
-            font-size: 14px;
-            font-family: Microsoft YaHei;
-            font-weight: bold;
-            color: #101116;
-          }
-          &_time {
-            font-size: 12px;
-            font-family: Helvetica;
-            font-weight: 400;
-            color: #afb4bf;
-          }
-          &_detial {
-            font-family: Helvetica;
-            word-wrap: break-word;
-          }
-          .success {
-            color: #33bf47;
-          }
-          .error {
-            color: #df4545;
-          }
-        }
-      }
-    }
-  }
-}
-</style>

+ 0 - 399
src/views/systemSettings/views/machineManagement/machineHome.vue

@@ -1,399 +0,0 @@
-<!--
- * @Author: Badguy
- * @Date: 2022-04-12 17:49:47
- * @LastEditTime: 2022-04-13 16:17:37
- * @LastEditors: your name
- * @Description: 机器维护-首页
- * have a nice day!
--->
-
-<template>
-  <div class="protocol-home">
-    <div class="wrap">
-      <DataTable data-id="3" :rows="12" labelWidth="100px" :minHeight="70" width="800px" />
-      <!-- <div class="protocol-header flex">
-        <div class="status flex-wrap">
-          <div class="manageTitle">机器维护</div>
-          <div class="status1"><span class="icon"></span>物理机</div>
-          <div class="status2"><span class="icon"></span>虚拟机</div>
-          <div class="status3"><span class="icon"></span>Docker</div>
-        </div>
-        <div class="addBtn">
-          <el-button class="button-white" size="small" @click="showAddDialog()"
-            >新增</el-button
-          >
-        </div>
-      </div> -->
-      <!-- <div class="protocol-content">
-        <el-row :gutter="24">
-          <el-col v-for="item in dataList" :key="item.deployNodeID" :span="4">
-            <div class="grid-content">
-              <div
-                :class="{ 'success': item.nodeType=='物理机', 'error': item.nodeType=='虚拟机', 'info': item.nodeType=='Docker' }"
-                class="grid-content-bg"
-              ></div>
-              <div class="grid-content-hand flex">
-                <div class="title flex-wrap">
-                  <el-tooltip class="item" effect="dark" :content="item.deployNodeName" placement="bottom">
-                    <div class="name">{{ item.deployNodeName }}</div>
-                  </el-tooltip>
-                  <i class="loger" @click="showEditDialog(item)" />
-                </div>
-                <i class="el-icon-close icon" @click="showRemoveDialog(item)" />
-              </div>
-              <div class="grid-content-hand flex">
-                <div class="cardContent">
-                  <div class="IPadress">
-                    服务地址:<el-tooltip class="item" effect="dark" :content="item.serviceURL" placement="bottom"><span>{{ item.serviceURL }}</span></el-tooltip>
-                  </div>
-                  <div class="type">类型:{{ item.nodeType }}</div>
-                </div>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
-      </div> -->
-      <!--新增/编辑-->
-      <Dialog :flag="editDialogVisible" width="508px" :show-flag="true">
-        <div class="airportInfoDialog dialog-public-background">
-          <div class="title">{{ editDialogTitle }}</div>
-          <div class="content">
-            <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="130px" class="demo-ruleForm">
-              <el-form-item label="机器名称" prop="deployNodeName">
-                <el-input v-model="ruleForm.deployNodeName" size="small" placeholder="请输入机器名称" />
-              </el-form-item>
-              <el-form-item label="机器描述">
-                <el-input v-model="ruleForm.deployNodeDescribe" size="small" type="textarea" :rows="2" placeholder="请输入描述" />
-              </el-form-item>
-              <el-form-item label="服务地址" prop="serviceURL">
-                <el-input v-model="ruleForm.serviceURL" size="small" placeholder="请输入服务器地址信息" />
-              </el-form-item>
-              <el-form-item label="机器类型" prop="nodeType">
-                <el-select v-model="ruleForm.nodeType" size="small" placeholder="请选择机器类型">
-                  <el-option label="物理机" value="物理机"></el-option>
-                  <el-option label="虚拟机" value="虚拟机"></el-option>
-                  <el-option label="Docker" value="Docker"></el-option>
-                </el-select>
-              </el-form-item>
-            </el-form>
-          </div>
-          <div class="foot center t30">
-            <el-button size="medium" type="primary" class="r25 r26" @click="submitClickHandler()">提交</el-button>
-            <el-button size="medium" class="r26" @click="resetForm('ruleForm')">取消</el-button>
-          </div>
-        </div>
-      </Dialog>
-      <!--删除弹框-->
-      <Dialog :flag="removeDialogVisible">
-        <div class="airportInfoDialog">
-          <div class="del-title">删除协议</div>
-          <div class="content er">
-            <div class="log">你是否确认删除{{ rmObj.deployNodeName }}?</div>
-          </div>
-          <div class="DelFoot right t30">
-            <el-button size="medium" class="r25 r26" type="danger" @click="removeSubmit()">删除</el-button>
-            <el-button size="medium" class="r26" @click="removeDialogVisible = false">取消</el-button>
-          </div>
-        </div>
-      </Dialog>
-    </div>
-  </div>
-</template>
-
-<script>
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { GeneralDataReception, Query } from "@/api/dataIntegration";
-import { validateIP } from "@/utils/validate";
-import DataTable from "@/components/Table";
-
-export default {
-  name: "ProtocolHome",
-  components: { Dialog, DataTable },
-  data () {
-    return {
-      dataList: [],
-      editDialogVisible: false,
-      removeDialogVisible: false,
-      rmObj: {},
-      editDialogTitle: "新增机器",
-      ruleForm: {
-        // 机器信息表单
-        deployNodeName: "",
-        deployNodeDescribe: "",
-        serviceURL: "",
-        deployNodeType: "",
-      },
-      rules: {
-        // 机器信息表单验证
-        deployNodeName: [
-          { required: true, message: "请输入机器名称", trigger: "blur" },
-        ],
-        serviceURL: [
-          {
-            required: true,
-            message: "请输入正确的IP地址",
-            validator: this.validateIP,
-            trigger: "blur",
-          },
-        ],
-        deployNodeType: [
-          { required: true, message: "请选择机器类型", trigger: "blur" },
-        ],
-      },
-    };
-  },
-  created () {
-    // this.getList();
-  },
-  methods: {
-    async getList () {
-      try {
-        const res = await Query({
-          id: 2,
-          dataContent: [],
-        });
-        if (res.code === "0") {
-          this.dataList = res.returnData;
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    // 新增-弹框
-    showAddDialog () {
-      this.editDialogTitle = "新增机器";
-      this.editDialogVisible = true;
-    },
-    // 编辑-弹框
-    showEditDialog (item) {
-      this.editDialogTitle = "编辑机器";
-      this.ruleForm = JSON.parse(JSON.stringify(item));
-      this.editDialogVisible = true;
-    },
-    // 新增/编辑-确认
-    submitClickHandler () {
-      this.$refs["ruleForm"].validate((valid) => {
-        if (valid) {
-          if (!this.ruleForm.deployNodeID) {
-            this.addSubmit();
-          } else {
-            this.editSubmit();
-          }
-          this.resetForm("ruleForm");
-        }
-      });
-    },
-    // 重置
-    resetForm (formName) {
-      this.ruleForm = {};
-      this.$refs[formName].resetFields();
-      this.editDialogVisible = false;
-    },
-    // 删除-弹框
-    showRemoveDialog (item) {
-      this.rmObj = item;
-      this.removeDialogVisible = true;
-    },
-    // 确认删除
-    async removeSubmit () {
-      this.rmObj["operate"] = "3";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "2",
-          dataContent: JSON.stringify(this.rmObj),
-        });
-        if (res.code === "0") {
-          this.removeDialogVisible = false;
-          this.$message.success("删除成功");
-          this.getList();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    async addSubmit () {
-      this.ruleForm["operate"] = "1";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "2",
-          dataContent: JSON.stringify(this.ruleForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.getList();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    async editSubmit () {
-      this.ruleForm["operate"] = "2";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "2",
-          dataContent: JSON.stringify(this.ruleForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.getList();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.protocol-home {
-  .wrap {
-    padding: 16px 0;
-    .protocol-header {
-      line-height: 32px;
-      font-size: 14px;
-      .button-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-      .status {
-        & > div {
-          .icon {
-            width: 14px;
-            height: 14px;
-            background: #2d67e3;
-            border-radius: 2px;
-            display: inline-block;
-            vertical-align: middle;
-            margin-right: 10px;
-            position: relative;
-            top: -2px;
-          }
-          &:last-child {
-            margin-right: 0;
-          }
-        }
-        .status1 {
-          font-size: 14px;
-          margin-right: 28px;
-        }
-        .status2 {
-          font-size: 14px;
-          margin-right: 28px;
-          .icon {
-            background: #f4c154;
-          }
-        }
-        .status3 {
-          font-size: 14px;
-          .icon {
-            background: #73d970;
-          }
-        }
-      }
-    }
-    .protocol-content {
-      .grid-content {
-        height: 136px;
-        background: #ffffff;
-        box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
-        border-radius: 4px;
-        padding: 25px;
-        margin-bottom: 24px;
-        position: relative;
-        .grid-content-bg {
-          position: absolute;
-          width: 100%;
-          height: 4px;
-          background-color: #f4c154;
-          top: 0;
-          left: 0;
-          border-radius: 4px 4px 0 0;
-        }
-        .title {
-          font-size: 16px;
-          font-family: Helvetica;
-          font-weight: bold;
-          color: #101116;
-          white-space: nowrap;
-          max-width: 80%;
-          text-overflow: ellipsis;
-          overflow: hidden;
-          .name {
-            white-space: nowrap;
-            max-width: 80%;
-            text-overflow: ellipsis;
-            overflow: hidden;
-          }
-          .loger {
-            width: 14px;
-            height: 14px;
-            margin-left: 24px;
-            background: url("../../../../assets/status/ic_edit_default.png")
-              no-repeat;
-            background-size: 100% 100%;
-            cursor: pointer;
-            position: relative;
-            top: 2px;
-          }
-          .loger:hover {
-            background: url("../../../../assets/status/ic_edit_hovar.png")
-              no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-        .cardContent {
-          margin-top: 30px;
-          text-align: left;
-          width: 100%;
-          .IPadress {
-            font-size: 14px;
-            font-weight: normal;
-            color: #101116;
-            width: 100%;
-            white-space: nowrap;
-            text-overflow: ellipsis;
-            overflow: hidden;
-          }
-          .type {
-            margin-top: 14px;
-            font-size: 14px;
-            font-weight: normal;
-            color: #101116;
-            width: 100%;
-          }
-        }
-        .icon {
-          cursor: pointer;
-          font-size: 16px;
-          color: #606266;
-        }
-        .success {
-          background-color: #2d67e3;
-        }
-        .error {
-          background-color: #f4c154;
-        }
-        .info {
-          background-color: #73d970;
-        }
-      }
-    }
-  }
-}
-</style>

+ 1 - 0
src/views/systemSettings/views/newAuth/components/button.vue

@@ -27,6 +27,7 @@
             <el-option label="新增" value="2"></el-option>
             <el-option label="修改" value="3"></el-option>
             <el-option label="删除" value="4"></el-option>
+            <el-option label="其他" value="5"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item class="flex1" label="关联数据项">

+ 11 - 3
src/views/systemSettings/views/newService/index.vue

@@ -40,8 +40,13 @@
                   </div>
                   <div v-show="activeIndex == index" class="right">
                     <template v-if="!flag && item.serviceID">
-                      <span @click.stop="handleStart" v-if="!item.runState" class="start">启用</span>
-                      <span @click.stop="handleStop" v-else class="stop">停用</span>
+                      <template v-if="item.serviceType == 4">
+                        <span @click.stop="handleStart" v-if="!item.runState" class="start">启用</span>
+                        <span @click.stop="handleStop" v-else class="stop">停用</span>
+                      </template>
+                      <template v-else>
+                        <span @click.stop="handleRest(item)" class="rest">重置</span>
+                      </template>
                     </template>
                     <span @click.stop="handleError" class="error">删除</span>
                   </div>
@@ -283,6 +288,10 @@ export default {
         this.$message.error('请先添加当前服务后再操作')
       }
     },
+    //服务列表-重置
+    handleRest (item) {
+      this.controlService(0, item)
+    },
     //服务列表-保存
     handleSave () {
       if (this.dataObj.serviceID && this.dataType == 'edit') {
@@ -384,7 +393,6 @@ export default {
 
     //服务启停
     async controlService (event, data) {
-      console.log(data)
       try {
         const params = {
           serviceId: data.serviceID

+ 0 - 367
src/views/systemSettings/views/protocolManagement/protocolHome.vue

@@ -1,367 +0,0 @@
-<!--
- * @Author: Badguy
- * @Date: 2022-04-12 17:49:47
- * @LastEditTime: 2022-04-13 16:17:37
- * @LastEditors: your name
- * @Description: 协议管理-首页
- * have a nice day!
--->
-
-<template>
-  <div class="protocol-home">
-    <div class="wrap">
-      <!-- <div class="protocol-header flex">
-        <div class="status flex-wrap">
-          <div class="manageTitle">协议管理</div>
-          <div class="status1"><span class="icon"></span>内置</div>
-          <div class="status2"><span class="icon"></span>扩展</div>
-        </div>
-        <div class="addBtn">
-          <el-button class="button-white" size="small" @click="showAddDialog()">新增</el-button>
-        </div>
-      </div> -->
-      <div class="protocol-content">
-        <DataTable tableHeight="680" :data-id="dataId" :rows="12" labelWidth="100px" :minHeight="70" width="800px" :showOverflowTooltip="true" :isStatuser="true">
-          <template v-slot:header>
-            <div class="status flex-wrap">
-              <div class="manageTitle">协议管理</div>
-            </div>
-          </template>
-        </DataTable>
-        <!-- <el-row :gutter="24">
-          <el-col v-for="item in dataList" :key="item.protocolId" :span="4">
-            <div class="grid-content">
-              <div :class="item.protocolStatus=='1' ? 'success' : 'error'" class="grid-content-bg"></div>
-              <div class="grid-content-hand flex">
-                <div class="title flex-wrap">
-                  <el-tooltip class="item" effect="dark" :content="item.protocolName" placement="bottom">
-                    <div class="name">{{ item.protocolName }}</div>
-                  </el-tooltip>
-                  <i class="loger" @click="showEditDialog(item)" />
-                </div>
-                <i class="el-icon-close icon" @click="showRemoveDialog(item)" />
-              </div>
-            </div>
-          </el-col>
-        </el-row> -->
-      </div>
-      <!--新增/编辑-->
-      <Dialog :flag="editDialogVisible" width="508px" :show-flag="true">
-        <div class="airportInfoDialog dialog-public-background">
-          <div class="title">{{ editDialogTitle }}</div>
-          <div class="content">
-            <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
-              <el-form-item label="协议名称" prop="protocolName">
-                <el-input v-model="ruleForm.protocolName" size="medium" placeholder="请输入协议名称(必填)" />
-              </el-form-item>
-              <el-form-item label="协议类型" prop="nodeType">
-                <el-select v-model="ruleForm.nodeType" size="small" placeholder="请选择协议类型">
-                  <el-option label="内置" value="1"></el-option>
-                  <el-option label="扩展" value="2"></el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item label="类名" prop="className">
-                <el-input v-model="ruleForm.className" size="medium" type="textarea" :rows="2" placeholder="请输入类名(必填)" />
-              </el-form-item>
-              <el-form-item label="读方法名" prop="rmethodName">
-                <el-input v-model="ruleForm.rmethodName" size="medium" placeholder="请输入读方法名(必填)" />
-              </el-form-item>
-              <el-form-item label="写方法名" prop="smethodName">
-                <el-input v-model="ruleForm.smethodName" size="medium" placeholder="请输入写方法名(必填)" />
-              </el-form-item>
-              <el-form-item label="文件名及路径" prop="filePath">
-                <el-input v-model="ruleForm.filePath" size="medium" type="textarea" :rows="3" placeholder="请输入文件名及路径" />
-              </el-form-item>
-            </el-form>
-          </div>
-          <div class="foot center t30">
-            <el-button size="medium" type="primary" class="r25 r26" @click="submitClickHandler()">提交</el-button>
-            <el-button size="medium" class="r26" @click="resetForm('ruleForm')">取消</el-button>
-          </div>
-        </div>
-      </Dialog>
-      <!--删除弹框-->
-      <Dialog :flag="removeDialogVisible">
-        <div class="airportInfoDialog">
-          <div class="del-title">删除协议</div>
-          <div class="content er">
-            <div class="log">是否确认删除{{ rmObj.protocolName }}?</div>
-          </div>
-          <div class="DelFoot right t30">
-            <el-button size="medium" class="r25 r26" type="danger" @click="removeSubmit()">删除</el-button>
-            <el-button size="medium" class="r26" @click="removeDialogVisible = false">取消</el-button>
-          </div>
-        </div>
-      </Dialog>
-    </div>
-  </div>
-</template>
-
-<script>
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { GeneralDataReception, Query } from "@/api/dataIntegration";
-import DataTable from "@/components/Table";
-export default {
-  name: "ProtocolHome",
-  components: { Dialog, DataTable },
-  data () {
-    return {
-      dataId: DATACONTENT_ID.sysProtoTabId,
-      dataList: [],
-      editDialogVisible: false,
-      removeDialogVisible: false,
-      rmObj: {},
-      editDialogTitle: "新增协议",
-      ruleForm: {
-        // 协议信息表单
-        protocolName: "",
-        className: "",
-        rmethodName: "",
-        smethodName: "",
-        filePath: "",
-      },
-      rules: {
-        // 协议信息表单验证
-        protocolName: [
-          { required: true, message: "请输入协议名称", trigger: "blur" },
-        ],
-        className: [{ required: true, message: "请输入类名", trigger: "blur" }],
-        rmethodName: [
-          { required: true, message: "请输入读方法名", trigger: "blur" },
-        ],
-        smethodName: [
-          { required: true, message: "请输入写方法名", trigger: "blur" },
-        ],
-      },
-    };
-  },
-  created () {
-    //this.getList()
-  },
-  methods: {
-    async getList () {
-      try {
-        const res = await Query({
-          id: DATACONTENT_ID.sysProtoTabId,
-          dataContent: [],
-        });
-        if (res.code === "0") {
-          this.dataList = res.returnData;
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    // 新增-弹框
-    showAddDialog () {
-      this.editDialogTitle = "新增协议";
-      this.editDialogVisible = true;
-    },
-    // 编辑-弹框
-    showEditDialog (item) {
-      this.editDialogTitle = "编辑协议";
-      this.ruleForm = item;
-      this.editDialogVisible = true;
-    },
-    // 新增/编辑-确认
-    submitClickHandler () {
-      this.$refs["ruleForm"].validate((valid) => {
-        if (valid) {
-          if (!this.ruleForm.protocolId) {
-            this.addSubmit();
-          } else {
-            this.editSubmit();
-          }
-          this.resetForm("ruleForm");
-        }
-      });
-    },
-    // 重置
-    resetForm (formName) {
-      this.ruleForm = {};
-      this.$refs[formName].resetFields();
-      this.editDialogVisible = false;
-    },
-    // 删除-弹框
-    showRemoveDialog (item) {
-      this.rmObj = item;
-      this.removeDialogVisible = true;
-    },
-    // 确认删除
-    async removeSubmit () {
-      this.rmObj["operate"] = "3";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: SERVICE_ID.sysProtoTabId,
-          dataContent: JSON.stringify(this.rmObj),
-        });
-        if (res.code === "0") {
-          this.removeDialogVisible = false;
-          this.$message.success("删除成功");
-          this.getList();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    async addSubmit () {
-      this.ruleForm["operate"] = "1";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: SERVICE_ID.sysProtoTabId,
-          dataContent: JSON.stringify(this.ruleForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.getList();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    async editSubmit () {
-      this.ruleForm["operate"] = "2";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: SERVICE_ID.sysProtoTabId,
-          dataContent: JSON.stringify(this.ruleForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.getList();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.protocol-home {
-  ::v-deep .el-form-item {
-    margin-bottom: 20px;
-  }
-  .wrap {
-    padding: 16px 0;
-    .protocol-header {
-      line-height: 32px;
-      font-size: 14px;
-      .button-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-      .status {
-        & > div {
-          .icon {
-            width: 14px;
-            height: 14px;
-            background: #2d67e3;
-            border-radius: 2px;
-            display: inline-block;
-            vertical-align: middle;
-            margin-right: 10px;
-            position: relative;
-            top: -2px;
-          }
-          &:last-child {
-            margin-right: 0;
-          }
-        }
-        .status1 {
-          font-size: 14px;
-          margin-right: 28px;
-        }
-        .status2 {
-          font-size: 14px;
-          .icon {
-            background: #f4c154;
-          }
-        }
-      }
-    }
-    .protocol-content {
-      .grid-content {
-        height: 120px;
-        background: #ffffff;
-        box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
-        border-radius: 4px;
-        padding: 25px;
-        margin-bottom: 24px;
-        position: relative;
-        .grid-content-bg {
-          position: absolute;
-          width: 100%;
-          height: 4px;
-          background-color: #f4c154;
-          top: 0;
-          left: 0;
-          border-radius: 4px 4px 0 0;
-        }
-        .title {
-          font-size: 16px;
-          font-family: Helvetica;
-          font-weight: bold;
-          color: #101116;
-          white-space: nowrap;
-          max-width: 80%;
-          text-overflow: ellipsis;
-          overflow: hidden;
-          .name {
-            white-space: nowrap;
-            max-width: 80%;
-            text-overflow: ellipsis;
-            overflow: hidden;
-          }
-          .loger {
-            width: 14px;
-            height: 14px;
-            margin-left: 24px;
-            background: url("../../../../assets/status/ic_edit_default.png")
-              no-repeat;
-            background-size: 100% 100%;
-            cursor: pointer;
-            position: relative;
-            top: 2px;
-          }
-          .loger:hover {
-            background: url("../../../../assets/status/ic_edit_hovar.png")
-              no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-        .icon {
-          cursor: pointer;
-          font-size: 16px;
-          color: #606266;
-        }
-        .success {
-          background-color: #2d67e3;
-        }
-        .error {
-          background-color: #f4c154;
-        }
-      }
-    }
-    .r25 {
-      color: #ffffff;
-    }
-  }
-}
-</style>

+ 0 - 44
src/views/systemSettings/views/queryItemSettings/queryItemSettingsHome.vue

@@ -1,44 +0,0 @@
-<template>
-  <div class="queryItemSettings_home">
-    <div class="wrap">
-      <DataTable
-        data-id="10"
-        :rows="12"
-        labelWidth="140px"
-        :minHeight="70"
-        width="800px"
-      />
-    </div>
-  </div>
-</template>
-<script>
-import DataTable from "@/components/Table";
-export default {
-  data() {
-    return {};
-  },
-  components: { DataTable },
-};
-</script>
-<style lang="scss" scoped>
-.queryItemSettings-home {
-  .wrap {
-    padding: 16px 0;
-    .service-header {
-      line-height: 32px;
-      font-size: 14px;
-      .btn-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-  }
-}
-</style>

+ 0 - 381
src/views/systemSettings/views/queryTemplate/queryTemplate.vue

@@ -1,381 +0,0 @@
-<!--
- * @Author: your name
- * @Date: 2021-11-17 13:43:58
- * @LastEditTime: 2022-06-12 00:04:05
- * @LastEditors: your name
- * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- * @FilePath: \CABaggageData\src\views\dashboard\views\info.vue
--->
-<template>
-  <div class="airportInfo">
-    <DataTable
-      tableHeight="700"
-      :data-id="dataId"
-      :rows="12"
-      labelWidth="100px"
-      :min-height="70"
-      width="800px"
-      is-statuser
-      show-overflow-tooltip
-      with-column-set
-      with-preview
-      @handleAdd="handleAdd"
-      @handleEdit="handleEdit"
-      @preview="handlePreview"
-    >
-      <template v-slot:header>
-        <div class="status flex-wrap">
-          <div class="manageTitle">查询模板</div>
-        </div>
-      </template>
-    </DataTable>
-    <!--搜索-->
-    <!-- <div class="airportInfo-search">
-      <Search title="查询模板" @getSearchData="getSearchData" :isSearch="false">
-        <button @click="handleAdd" class="btnAdd">新增</button>
-      </Search>
-    </div> -->
-    <!--内容区域-->
-    <!-- <div class="airportInfo-content">
-      <el-row :gutter="24">
-        <el-col
-          v-for="(item, index) in arr"
-          class="airportInfo-content-list"
-          :key="index"
-          :data="serachBox"
-          :span="4"
-        >
-          <div class="grid-content box-public-shadow">
-            <div class="flex list">
-              <div class="ult flex-wrap er">
-                <el-tooltip
-                  class="item"
-                  effect="dark"
-                  :content="item.queryTemplateName"
-                  placement="bottom"
-                >
-                  <div class="title">{{ item.queryTemplateName }}</div>
-                </el-tooltip>
-                <div @click="airEdit(item)" class="edit_log"></div>
-              </div>
-              <div class="close">
-                <span
-                  @click.stop="handleMove(item, index)"
-                  class="el-icon-close icon"
-                ></span>
-              </div>
-            </div>
-            <div class="list desc">{{ item.queryTemplateDescribe }}</div>
-          </div>
-        </el-col>
-      </el-row>
-    </div> -->
-    <!--删除弹框-->
-    <Dialog :flag="flag">
-      <div class="airportInfoDialog">
-        <div class="del-title">删除分类信息</div>
-        <div class="content er">
-          <div class="log" />
-          是否确认删除
-          <p style="color: #eb2f3b; margin-top: 0px; margin-bottom: 0px">
-            {{ rmObj.name }}
-          </p>
-          ?
-        </div>
-        <div class="DelFoot right t30">
-          <el-button
-            size="medium"
-            class="r25 buwitch"
-            type="danger"
-            @click="remove()"
-            >删除</el-button
-          >
-          <el-button
-            size="medium"
-            class="r26"
-            @click="flag = false"
-            >取消</el-button
-          >
-        </div>
-      </div>
-    </Dialog>
-  </div>
-</template>
-<script>
-// import Search from '@/layout/components/Search/index.vue'
-import Dialog from '@/layout/components/Dialog/index.vue'
-import { findarrays } from '@/utils/validate'
-// import { AirlinesInquiry } from '@/api/SystemSettings'
-import {
-  exceptiontype,
-  exceptionadd
-  // exceptiondel
-} from '@/api/acquisition'
-import { GeneralDataReception, Query } from '@/api/dataIntegration'
-import DataTable from '@/components/Table'
-export default {
-  name: 'AirportInfo',
-  components: {
-    // Search,
-    Dialog,
-    DataTable
-  },
-  data() {
-    return {
-      dataId: DATACONTENT_ID.sysQueryTabId,
-      arr: [
-        {
-          typeName: '名称',
-          typeCode: '测试'
-        }
-      ], // 内容数据
-      flag: false, // 删除弹框开关
-      addFlag: false, // 新增机场信息弹框开关
-      EditFlag: false,
-      ids: null,
-      idss: null,
-      listDate: {},
-      rmObj: {
-        // 删除内容
-        name: ''
-      },
-      ruleForm: {
-        // 新增机场信息表单
-        name: '',
-        fullName: '',
-        code: ''
-      },
-      EditForm: {
-        name: '',
-        fullName: '',
-        code: ''
-      },
-      rules: {
-        // 新增机场信息表单验证
-        name: [{ required: true, message: '请输入航司简称', trigger: 'blur' }],
-        fullName: [{ required: true, message: '请输入航司全称', trigger: 'blur' }],
-        code: [{ required: true, message: '请输入航司二字码', trigger: 'blur' }]
-      },
-      modid: ''
-    }
-  },
-  computed: {
-    serachBox() {
-      if (this.searchInfo) {
-        return this.arr.filter(data => {
-          return Object.keys(data).some(key => {
-            return String(data[key]).toLowerCase().indexOf(this.searchInfo) > -1
-          })
-        })
-      }
-      return this.arr
-    }
-  },
-  created() {
-    // this.getAirlines();
-    // this.exceptionlist();
-  },
-  methods: {
-    // 异常列表查询
-    async exceptionlist() {
-      const params = {
-        id: ''
-      }
-      const result = await exceptiontype(params)
-      if (Number(result.code) === 0) {
-        this.arr = result.returnData
-      }
-    },
-    // 搜索
-    getSearchData(val) {
-      const that = this
-      that.exceptionlist().then(function (data) {
-        if (val) {
-          that.arr = findarrays(that.arr, 'typeName', val)
-        } else {
-          that.exceptionlist()
-        }
-      })
-      //
-    },
-    // 删除信息
-    handleMove(item) {
-      this.listDate = item
-      this.flag = true
-      this.rmObj = {
-        name: item.queryTemplateName
-      }
-    },
-    async EditSubmit() {
-      let arr = 0
-      this.$refs['ruleFormall'].validate(valid => {
-        if (valid) {
-          arr = 1
-        } else {
-          arr = 0
-          return false
-        }
-      })
-      if (arr === 1) {
-        const params = {
-          id: this.modid.id,
-          typeName: this.EditForm.name,
-          typeCode: this.EditForm.fullName
-        }
-        const result = await exceptionadd(params)
-        if (Number(result.code) === 0) {
-          this.$message.success('成功')
-          this.exceptionlist()
-          this.$refs.ruleFormall.resetFields()
-        }
-        this.EditFlag = false
-      }
-    },
-    closeForm() {
-      this.$refs.ruleForm.resetFields()
-    },
-    // 获取模板列表
-    async getAirlines() {
-      try {
-        const res = await Query({
-          id: 77,
-          dataContent: []
-        })
-        if (res.code === '0') {
-          this.arr = res.returnData
-        } else {
-          this.$message.error(res.message ?? '失败')
-        }
-      } catch (error) {
-        this.$message.error('失败')
-      }
-    },
-
-    // 新增机场信息-弹框
-    handleAdd() {
-      this.$router.push('/systemSettings/queryTemplateadd')
-    },
-    // 新增机场信息-弹框
-    handleEdit(item) {
-      // this.modid = item;
-      // this.EditForm.name = item.typeName;
-      // this.EditForm.fullName = item.typeCode;
-      this.$router.push({
-        path: '/systemSettings/queryTemplateedit',
-        query: { queryTemplateID: item.queryTemplateID }
-      })
-      // this.EditForm.code = item.code2;
-      // this.EditFlag = true;
-    },
-    // 新增机场信息-弹框-取消
-    resetForm() {
-      this.addFlag = false
-      this.EditFlag = false
-      this.ruleForm.name = ''
-      this.ruleForm.fullName = ''
-      this.$refs.ruleForms.resetFields()
-      this.$refs.ruleFormall.resetFields()
-    },
-    // 删除
-    async remove(data) {
-      this.listDate.operate = '3'
-      try {
-        const res = await GeneralDataReception({
-          serviceId: 5,
-          dataContent: JSON.stringify(this.listDate)
-        })
-        if (res.code === '0') {
-          this.$message.success(res.message ?? '成功')
-          this.flag = false
-          this.listDate = {}
-          this.getAirlines()
-        } else {
-          this.$message.error(res.message ?? '失败')
-        }
-      } catch (error) {
-        this.$message.error('失败')
-      }
-    },
-    // 查询模板预览
-    handlePreview({ queryTemplateID, queryTemplateName, queryTemplate }) {
-      const reg = /(\《(.+?)\》)|\?/g
-      const basicParamsNumber = queryTemplate.match(reg)?.length
-      const query = {
-        queryTemplateID,
-        queryTemplateName
-      }
-      if (basicParamsNumber) {
-        Object.assign(query, { basicParamsNumber })
-      }
-      this.$router.push({
-        path: '/systemSettings/queryTemplatePreview',
-        query
-      })
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.airportInfo {
-  ::v-deep .el-form-item {
-    margin-bottom: 20px;
-  }
-  .log {
-    width: 26px;
-    height: 26px;
-    background: #eb2f3b;
-    border-radius: 50%;
-    margin-right: 15px;
-    background: url('../../../../assets/index/ic_close_hint.png') no-repeat;
-    background-size: 100% 100%;
-  }
-  .er {
-    display: flex;
-    align-items: center;
-  }
-  .airportInfo-search {
-    margin: 40px 0 30px 0;
-  }
-  .airportInfo-content {
-    img {
-      margin: 0 auto;
-      margin-top: 10%;
-      display: -webkit-box;
-      -webkit-box-pack: center;
-      -webkit-box-align: center;
-      -webkit-box-orient: vertical;
-      text-align: center;
-    }
-    .grid-content {
-      height: 144px;
-      padding: 24px;
-      margin-bottom: 24px;
-      .title {
-        font-size: 16px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #303133;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-        max-width: 150px;
-      }
-      .edit_log {
-        position: relative;
-        // top: -2px;
-      }
-      .icon {
-        cursor: pointer;
-      }
-      .desc {
-        font-size: 14px;
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        color: #101116;
-        margin-top: 60px;
-      }
-    }
-  }
-}
-</style>

+ 0 - 58
src/views/systemSettings/views/queryTemplate/queryTemplateChild.vue

@@ -1,58 +0,0 @@
-<template>
-  <div class="queryItemSettings_home">
-    <div class="wrap">
-      <DataTable
-        :data-id="dataId"
-        :edit-id="editId"
-        :data-content="{ queryTemplateID }"
-        :rows="12"
-        label-width="140px"
-        :min-height="70"
-        width="800px"
-        tableHeight="750px"
-      />
-    </div>
-  </div>
-</template>
-<script>
-import DataTable from "@/components/Table";
-export default {
-  components: { DataTable },
-  data() {
-    return {
-      dataId: DATACONTENT_ID.sysQueryChildTabId,
-      editId: DATACONTENT_ID.sysQueryChildEditTabId,
-      queryTemplateID: null,
-    };
-  },
-  created() {
-    if (!this.$route.query.queryTemplateID) {
-      this.$router.push("/systemSettings/queryTemplate");
-      return;
-    }
-    this.queryTemplateID = Number(this.$route.query.queryTemplateID);
-  },
-};
-</script>
-<style lang="scss" scoped>
-.queryItemSettings-home {
-  .wrap {
-    padding: 16px 0;
-    .service-header {
-      line-height: 32px;
-      font-size: 14px;
-      .btn-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-  }
-}
-</style>

+ 0 - 811
src/views/systemSettings/views/queryTemplate/queryTemplatePreview.vue

@@ -1,811 +0,0 @@
-<template>
-  <div class="template-wrapper">
-    <div class="template-header">
-      <div class="manageTitle">{{ queryTemplateName }}</div>
-      <el-button
-        v-if="isBasic"
-        size="small"
-        type="primary"
-        @click="dialogShow(1)"
-        >参数设置</el-button
-      >
-      <el-button
-        v-else
-        size="small"
-        type="primary"
-        @click="dialogShow"
-        >高级搜索</el-button
-      >
-    </div>
-    <div class="template-content">
-      <SimpleTable
-        :loading="loading"
-        height="calc(100vh - 80px - 24px - 32px - 20px - 14px)"
-        :table-cols="tableCols"
-        :data="tableData"
-        show-overflow-tooltip
-        @load="load"
-      />
-    </div>
-    <Dialog
-      :flag="dialogFlag"
-      width="852px"
-    >
-      <div
-        id="dialogSearch"
-        ref="dialog"
-        tabindex="0"
-        @keyup.self.esc="dialogHide"
-      >
-        <div class="title">
-          <span>高级搜索</span>
-          <i
-            class="el-icon-close"
-            @click="dialogHide"
-          />
-        </div>
-        <div class="content">
-          <div class="btns">
-            <el-button
-              type="primary"
-              size="small"
-              plain
-              @click="addParamsHandler"
-              >新增</el-button
-            >
-            <el-button
-              type="primary"
-              size="small"
-              @click="advancedQueryHandler"
-              >查询</el-button
-            >
-          </div>
-          <el-form
-            ref="paramsForm"
-            class="query-params"
-            :model="paramsForm"
-            :rules="paramsForm.validateRules"
-            :inline="true"
-          >
-            <el-table
-              :data="paramsForm.params"
-              height="370"
-              border
-              stripe
-            >
-              <el-table-column
-                type="index"
-                label="行号"
-                :index="index => index + 1"
-                align="center"
-                width="60"
-              />
-              <el-table-column
-                v-for="(col, index) in paramsTableCols"
-                :key="index"
-                :label="col.label"
-                :align="col.align || 'center'"
-              >
-                <template slot-scope="scope">
-                  <el-form-item
-                    :prop="'params.' + scope.$index + '.' + col.prop"
-                    :rules="paramsForm.validateRules[col.prop]"
-                  >
-                    <template v-if="col.prop === 'comparisonOperator' || col.inputType[scope.$index] === 'select'">
-                      <el-select
-                        v-model="scope.row[col.prop]"
-                        placeholder="请选择"
-                        :disabled="col.prop === 'paramValue' && paramsForm.disabled[scope.$index]"
-                        @change="
-                          value => {
-                            selectChangeHandler(value, scope.$index, index)
-                          }
-                        "
-                      >
-                        <el-option
-                          v-for="(option, index) in col.options[scope.$index]"
-                          :key="index"
-                          :value="option.value"
-                          :label="option.label"
-                        />
-                      </el-select>
-                    </template>
-                    <template v-else-if="col.inputType === 'select'">
-                      <el-select
-                        v-model="scope.row[col.prop]"
-                        placeholder="请选择"
-                        @change="
-                          value => {
-                            selectChangeHandler(value, scope.$index, index)
-                          }
-                        "
-                      >
-                        <el-option
-                          v-for="(option, index) in col.options"
-                          :key="index"
-                          :value="option.value"
-                          :label="option.label"
-                        />
-                      </el-select>
-                    </template>
-                    <template v-else-if="['varchar', 'text', 'longtext'].includes(col.inputType[scope.$index])">
-                      <el-input
-                        v-model="scope.row[col.prop]"
-                        placeholder="请输入"
-                        :disabled="col.prop === 'paramValue' && paramsForm.disabled[scope.$index]"
-                      />
-                    </template>
-                    <template v-else-if="col.inputType[scope.$index] === 'number'">
-                      <el-input
-                        v-model="scope.row[col.prop]"
-                        placeholder="请输入"
-                        :disabled="col.prop === 'paramValue' && paramsForm.disabled[scope.$index]"
-                        @keydown.native="inputHold(scope.row[col.prop])"
-                        @input="inputLimit(scope.row[col.prop], scope.$index)"
-                        @blur="inputFix(scope.row[col.prop], scope.$index)"
-                      />
-                    </template>
-                    <template v-else-if="col.inputType[scope.$index] === 'date'">
-                      <el-date-picker
-                        v-model="scope.row[col.prop]"
-                        type="date"
-                        format="yyyy-MM-dd"
-                        value-format="yyyy-MM-dd"
-                        placeholder="请选择"
-                        :clearable="false"
-                      />
-                    </template>
-                    <template v-else-if="col.inputType[scope.$index] === 'datetime'">
-                      <el-date-picker
-                        v-model="scope.row[col.prop]"
-                        type="datetime"
-                        format="yyyy-MM-dd HH:mm:ss"
-                        value-format="yyyy-MM-dd HH:mm:ss"
-                        placeholder="请选择"
-                        :clearable="false"
-                      />
-                    </template>
-                  </el-form-item>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="操作"
-                width="80"
-                align="center"
-              >
-                <template slot-scope="scope">
-                  <el-popconfirm
-                    title="是否要删除这一行?"
-                    @confirm="deleteParam(scope.$index)"
-                  >
-                    <span
-                      slot="reference"
-                      class="clickable-delete"
-                      >删除</span
-                    >
-                  </el-popconfirm>
-                </template>
-              </el-table-column>
-            </el-table>
-          </el-form>
-        </div>
-      </div>
-    </Dialog>
-    <Dialog :flag="dialogBasicFlag">
-      <div
-        id="dialogBasic"
-        ref="dialogBasic"
-        tabindex="0"
-        @keyup.self.esc="dialogHide(1)"
-      >
-        <div class="title">
-          <span>参数设置</span>
-          <i
-            v-if="hasInit"
-            class="el-icon-close"
-            @click="dialogHide(1)"
-          />
-        </div>
-        <div class="content">
-          <div class="btns">
-            <el-button
-              type="primary"
-              size="small"
-              @click="basicQueryHandler"
-              >查询</el-button
-            >
-          </div>
-          <el-form
-            ref="basicParamForm"
-            class="basic-params"
-            :model="basicParamForm"
-            label-position="right"
-            label-width="90px"
-          >
-            <el-form-item
-              v-for="param in basicParamList"
-              :key="param.prop"
-              :prop="param.prop"
-              :label="param.label"
-            >
-              <el-input
-                v-model="basicParamForm[param.prop]"
-                placeholder="请输入"
-              />
-            </el-form-item>
-          </el-form>
-        </div>
-      </div>
-    </Dialog>
-  </div>
-</template>
-
-<script>
-import SimpleTable from '@/components/SimpleTable'
-import Dialog from '@/layout/components/Dialog'
-import { Query } from '@/api/dataIntegration'
-
-const comparisonOperatorOptions = [
-  {
-    label: '小于等于',
-    value: '<='
-  },
-  {
-    label: '大于等于',
-    value: '>='
-  },
-  {
-    label: '小于',
-    value: '<'
-  },
-  {
-    label: '大于',
-    value: '>'
-  },
-  {
-    label: '等于',
-    value: '='
-  },
-  {
-    label: '不等于',
-    value: '!='
-  },
-  {
-    label: '为空',
-    value: 'is Null'
-  },
-  {
-    label: '不为空',
-    value: 'is not Null'
-  },
-  {
-    label: '包含',
-    value: 'like'
-  }
-]
-
-export default {
-  name: 'QueryTemplatePreview',
-  components: {
-    SimpleTable,
-    Dialog
-  },
-  data() {
-    return {
-      queryTemplateID: null,
-      queryTemplateName: '查询模板预览',
-      queryString: '',
-      loading: false,
-      page: 0,
-      noMore: false,
-      tableCols: [],
-      tableData: [],
-      dialogFlag: false,
-      paramsForm: {
-        params: [
-          {
-            leftBrackets: '',
-            paramKey: '',
-            comparisonOperator: '',
-            paramValue: '',
-            rightBrackets: '',
-            connector: 'and'
-          }
-        ],
-        validateRules: {
-          paramKey: [{ required: true, message: '请选择项', trigger: ['change', ['change', 'blur']] }],
-          paramValue: [{ required: true, message: '请选择或输入值', trigger: ['change', 'blur'] }]
-        },
-        disabled: []
-      },
-      checkValue: '',
-      paramsTableCols: [
-        {
-          prop: 'leftBrackets',
-          label: '左括号',
-          inputType: 'select',
-          options: [
-            {
-              label: '(',
-              value: '('
-            },
-            {
-              label: '((',
-              value: '(('
-            },
-            {
-              label: '(((',
-              value: '((('
-            }
-          ]
-        },
-        {
-          prop: 'paramKey',
-          label: '项',
-          inputType: 'select',
-          options: []
-        },
-        {
-          prop: 'comparisonOperator',
-          label: '比较符',
-          inputType: 'select',
-          options: []
-        },
-        {
-          prop: 'paramValue',
-          label: '值',
-          inputType: ['text'],
-          options: []
-        },
-        {
-          prop: 'rightBrackets',
-          label: '右括号',
-          inputType: 'select',
-          options: [
-            {
-              label: ')',
-              value: ')'
-            },
-            {
-              label: '))',
-              value: '))'
-            },
-            {
-              label: ')))',
-              value: ')))'
-            }
-          ]
-        },
-        {
-          prop: 'connector',
-          label: '连接',
-          inputType: 'select',
-          options: [
-            {
-              label: '并且',
-              value: 'and'
-            },
-            {
-              label: '或者',
-              value: 'or'
-            }
-          ]
-        }
-      ],
-      columnSet: {},
-      dialogBasicFlag: false,
-      basicParamList: [],
-      basicParamForm: {},
-      dataContent: [],
-      isBasic: false,
-      hasInit: false
-    }
-  },
-  watch: {
-    dataContent: {
-      handler() {
-        this.resetTable()
-        this.queryTableData()
-      },
-      deep: true
-    },
-    queryString: {
-      handler() {
-        this.resetTable()
-        this.queryTableData()
-      }
-    },
-    tableCols: {
-      handler(arr) {
-        this.getColumnSet(arr)
-      },
-      deep: true
-    }
-  },
-  created() {
-    const { queryTemplateID, queryTemplateName, basicParamsNumber } = this.$route.query
-    if ((queryTemplateID ?? '') !== '') {
-      this.queryTemplateID = Number(queryTemplateID)
-    } else {
-      this.$router.push('/')
-    }
-    if ((queryTemplateName ?? '') !== '') {
-      this.queryTemplateName = queryTemplateName
-    }
-    if (basicParamsNumber ?? '' !== '') {
-      const length = Number(basicParamsNumber)
-      this.isBasic = true
-      this.basicParamList = Array.from({ length }).map((_, index) => {
-        this.$set(this.basicParamForm, `basicParam${index}`, '')
-        return {
-          prop: `basicParam${index}`,
-          label: `基础参数${index + 1}`
-        }
-      })
-      this.dialogShow(1)
-    }
-  },
-  methods: {
-    dialogShow(dialogIndex) {
-      switch (dialogIndex) {
-        case 1:
-          this.dialogBasicFlag = true
-          this.$nextTick(() => {
-            this.$refs['dialogBasic']?.focus()
-          })
-          break
-        default:
-          this.dialogFlag = true
-          this.$nextTick(() => {
-            this.$refs['dialog']?.focus()
-          })
-          break
-      }
-    },
-    dialogHide(dialogIndex) {
-      switch (dialogIndex) {
-        case 1:
-          if (this.hasInit) {
-            this.dialogBasicFlag = false
-          } else {
-            this.$message.warning('请设置参数进行查询')
-          }
-          break
-        default:
-          this.dialogFlag = false
-          break
-      }
-    },
-    addParamsHandler() {
-      this.paramsTableCols[3].inputType.push('text')
-      this.paramsForm.params.push({
-        leftBrackets: '',
-        paramKey: '',
-        comparisonOperator: '',
-        paramValue: '',
-        rightBrackets: '',
-        connector: 'and'
-      })
-    },
-    selectChangeHandler(value, rowIndex, colIndex) {
-      if (colIndex === 1) {
-        const { dataType, options } = this.columnSet[value]
-        if (dataType === 'date') {
-          this.paramsTableCols[2].options[rowIndex] = comparisonOperatorOptions.slice(0, 5).reverse()
-          this.paramsTableCols[3].inputType[rowIndex] = 'date'
-        } else if (dataType === 'datetime') {
-          this.paramsTableCols[2].options[rowIndex] = comparisonOperatorOptions.slice(0, 5).reverse()
-          this.paramsTableCols[3].inputType[rowIndex] = 'datetime'
-        } else if (options) {
-          this.paramsTableCols[2].options[rowIndex] = comparisonOperatorOptions.slice(4, 5)
-          this.paramsTableCols[3].inputType[rowIndex] = 'select'
-          this.paramsTableCols[3].options[rowIndex] = options
-        } else if (dataType === 'number') {
-          this.paramsTableCols[2].options[rowIndex] = comparisonOperatorOptions.slice(0, 5).reverse()
-          this.paramsTableCols[3].inputType[rowIndex] = 'number'
-        } else {
-          this.paramsTableCols[2].options[rowIndex] = comparisonOperatorOptions.slice(4)
-          this.paramsTableCols[3].inputType[rowIndex] = 'text'
-        }
-
-        this.paramsForm.params[rowIndex].comparisonOperator = this.paramsTableCols[2].options[rowIndex][0].value
-      } else if (colIndex === 2) {
-        if (['is Null', 'is not Null'].includes(value)) {
-          this.paramsForm.params[rowIndex].paramValue = ''
-          this.paramsForm.disabled[rowIndex] = true
-        } else {
-          this.paramsForm.disabled[rowIndex] = false
-        }
-      }
-    },
-    inputHold(value) {
-      this.checkValue = value
-    },
-    inputLimit(value, rowIndex) {
-      if (!/^[\-|\+]?((([1-9][0-9]*)|0)(\.[0-9]{0,2})?)?$/.test(value)) {
-        this.paramsForm.params[rowIndex].paramValue = this.checkValue
-      }
-    },
-    inputFix(value, rowIndex) {
-      if (value?.at(-1) === '.') {
-        this.paramsForm.params[rowIndex].paramValue = value.slice(0, -1)
-      }
-    },
-    advancedQueryHandler() {
-      try {
-        if (this.dialogFlag) {
-          this.$refs['paramsForm'].validate(valid => {
-            if (!valid) {
-              throw new Error()
-            }
-          })
-        }
-        let bracketsDifference = 0
-        const paramsRowNum = this.paramsForm.params.length
-        const queryString = this.paramsForm.params.reduce(
-          (preString, { leftBrackets, paramKey, comparisonOperator, paramValue, rightBrackets, connector }, index) => {
-            bracketsDifference += leftBrackets.length - rightBrackets.length
-            if (bracketsDifference < 0) {
-              throw new Error('左右括号不匹配!')
-            }
-            return (
-              preString +
-              leftBrackets +
-              paramKey +
-              ` ${comparisonOperator} ` +
-              (['is Null', 'is not Null'].includes(comparisonOperator)
-                ? ''
-                : comparisonOperator === 'like'
-                ? `\'%${paramValue}%\'`
-                : `\'${paramValue}\'`) +
-              rightBrackets +
-              (index < paramsRowNum - 1 ? ` ${connector} ` : '')
-            )
-          },
-          ''
-        )
-        if (bracketsDifference !== 0) {
-          throw new Error('左右括号不匹配!')
-        }
-        this.queryString = queryString
-        this.dialogHide()
-      } catch (error) {
-        error.message && this.$message.error(error.message)
-      }
-    },
-    basicQueryHandler() {
-      this.dataContent = Object.values(this.basicParamForm).map(value => value || null)
-      this.hasInit = true
-      this.dialogHide(1)
-    },
-    deleteParam(index) {
-      this.paramsTableCols[3].inputType.splice(index, 1)
-      this.paramsForm.params.splice(index, 1)
-    },
-    async getColumnSet(columnSet) {
-      this.paramsTableCols[1].options = []
-      const reflect = {}
-      columnSet.forEach(async column => {
-        if (column.needSearch && !this.columnSet[column.columnName]) {
-          this.columnSet[column.columnName] = column
-          if ((column.listqueryTemplateID ?? '') !== '' && !this.columnSet[column.columnName].options) {
-            if (reflect[column.listqueryTemplateID]) {
-              reflect[column.listqueryTemplateID].push(column.columnName)
-            } else {
-              reflect[column.listqueryTemplateID] = [column.columnName]
-            }
-          }
-          this.paramsTableCols[1].options.push({
-            label: column.columnLabel,
-            value: column.columnName
-          })
-        }
-      })
-      const optionsList = await Promise.all(
-        Object.keys(reflect).map(listqueryTemplateID => this.getSelectData(Number(listqueryTemplateID)))
-      )
-      optionsList.forEach(({ id, options }) => {
-        reflect[id].forEach(columnName => {
-          this.columnSet[columnName].options = options.map(option => ({
-            label: option.k,
-            value: option.v
-          }))
-        })
-      })
-    },
-    load() {
-      if (this.noMore || this.loading || !this.hasInit) {
-        return
-      }
-      this.queryTableData()
-    },
-    resetTable() {
-      this.page = 0
-      this.noMore = false
-      this.tableData = []
-    },
-    // 获取下拉数据
-    async getSelectData(id) {
-      const result = { id }
-      try {
-        const { code, returnData } = await Query({
-          id,
-          dataContent: []
-        })
-        if (Number(code) === 0) {
-          result.options = returnData.listValues
-        } else {
-          result.options = []
-        }
-      } catch (error) {
-        result.options = []
-      }
-      return result
-    },
-    async queryTableData() {
-      this.loading = true
-      try {
-        const {
-          code,
-          returnData: { columnSet, listValues },
-          message
-        } = await Query({
-          id: this.queryTemplateID,
-          needPage: ++this.page,
-          dataContent: this.dataContent,
-          queryConcat: this.queryString || '1 = 2'
-        })
-        if (Number(code) === 0) {
-          if (listValues.length === 0) {
-            this.page--
-            this.noMore = true
-          }
-          this.tableCols = columnSet
-          this.tableData.push(...listValues)
-        } else {
-          this.page--
-          throw new Error(message ?? '获取表格数据失败')
-        }
-      } catch (error) {
-        this.$message.error(error.message)
-      }
-      this.loading = false
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.template-header {
-  display: flex;
-  line-height: 32px;
-  margin-bottom: 20px;
-  .manageTitle {
-    flex: 1;
-  }
-}
-#dialogSearch {
-  .title {
-    display: flex;
-    justify-content: space-between;
-    margin-bottom: 0;
-    .el-icon-close {
-      margin-right: 16px;
-      cursor: pointer;
-    }
-  }
-  .content {
-    margin: 0 0 20px;
-    padding: 0 24px;
-    .btns {
-      display: flex;
-      justify-content: flex-end;
-      padding: 20px 0;
-      .el-button {
-        width: 72px;
-        &:not(:first-child) {
-          margin-left: 16px;
-        }
-      }
-    }
-    ::v-deep .query-params {
-      padding: 0;
-      .el-table {
-        width: 100%;
-        .el-table__header {
-          .el-table__cell {
-            padding: 0;
-            .cell {
-              height: 40px;
-              line-height: 40px;
-              font-family: Helvetica, 'Microsoft YaHei';
-              font-weight: bold;
-              color: #303133;
-            }
-          }
-        }
-        .el-table__body {
-          .el-table__cell {
-            padding: 0;
-            .cell {
-              padding: 0;
-              .el-form-item {
-                margin: 0;
-                height: 40px;
-                .el-form-item__error {
-                  top: 60%;
-                  left: 14px;
-                }
-                .el-input__inner {
-                  background: transparent;
-                  color: #101116;
-                  font-family: Helvetica, 'Microsoft YaHei';
-                  &:hover {
-                    background-color: #ffffff;
-                  }
-                }
-                &.is-error .el-input__inner::-webkit-input-placeholder {
-                  visibility: hidden;
-                }
-                &:not(.is-error) .el-input__inner {
-                  border: none;
-                }
-                .el-select {
-                  .el-icon-arrow-up::before {
-                    content: '\e78f';
-                    color: #101116;
-                  }
-                  .el-icon-arrow-down::before {
-                    content: '\e790';
-                    color: #101116;
-                  }
-                }
-                .is-disabled .el-input__inner {
-                  background-color: #d2d6df;
-                }
-              }
-              .clickable-delete {
-                font-family: Microsoft YaHei;
-                color: #ed3c3c;
-                cursor: pointer;
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}
-#dialogBasic {
-  .title {
-    display: flex;
-    justify-content: space-between;
-    margin-bottom: 0;
-    .el-icon-close {
-      margin-right: 16px;
-      cursor: pointer;
-    }
-  }
-  .content {
-    margin: 0 0 20px;
-    padding: 0 24px;
-    .btns {
-      display: flex;
-      justify-content: flex-end;
-      padding: 20px 0;
-      .el-button {
-        width: 72px;
-        &:not(:first-child) {
-          margin-left: 16px;
-        }
-      }
-    }
-    ::v-deep .basic-params {
-      margin-right: -24px;
-      max-height: calc(100vh - 400px);
-      overflow-x: hidden;
-      overflow-y: auto;
-    }
-  }
-}
-</style>

+ 0 - 200
src/views/systemSettings/views/queryTemplate/queryTemplateadd.vue

@@ -1,200 +0,0 @@
-<template>
-  <div class="queryTemplate">
-    <Search title="新增查询模板" :is-search="false">
-      <button class="btnAner">测试</button>
-      <button class="btnAn" @click="addSubmit">保存</button>
-    </Search>
-    <el-form ref="ruleForm" style="margin-top: 10px" :inline="true" :model="ruleForm" label-width="auto" class="demo-ruleForm">
-      <el-row :gutter="24" class="b24">
-        <el-col :span="6">
-          <el-form-item label="查询模板名称" prop="queryTemplateName">
-            <el-input v-model="ruleForm.queryTemplateName" size="medium" placeholder="请输入查询模板名称" clearable />
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="数据源" prop="dataSourceID">
-            <el-select v-model="ruleForm.dataSourceID" placeholder="请选择" clearable>
-              <el-option v-for="item in dataSourceList" :key="item.dataSourceID" :label="item.dataSourceName" :value="item.dataSourceID" />
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="服务名称" prop="submitID">
-            <el-select v-model="ruleForm.submitID" placeholder="请选择" clearable>
-              <el-option v-for="item in serviceList" :key="item.submitID" :label="item.serviceName" :value="item.submitID" />
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="每页显示" prop="pageRows">
-            <el-input v-model="ruleForm.pageRows" size="medium" placeholder="请输入每页显示行数" type="number" clearable />
-          </el-form-item>
-        </el-col>
-        <el-col :span="24">
-          <el-form-item label="查询模板描述" prop="queryTemplateDescribe">
-            <el-input v-model="ruleForm.queryTemplateDescribe" size="medium" placeholder="请输入查询模板描述" clearable />
-          </el-form-item>
-        </el-col>
-        <!-- <el-form-item
-        label="查询配置"
-        style="margin-bottom: 24px"
-      >
-        <el-input
-          v-model="ruleForm.queryTemplatetConfig"
-          class="desc"
-          type="textarea"
-          resize="none"
-          :autosize="{ minRows: 4, maxRows: 4 }"
-          placeholder="描述内容···"
-          size="small"
-        />
-      </el-form-item> -->
-        <el-col :span="24">
-          <el-form-item label="查询语句">
-            <el-input v-model="ruleForm.queryTemplate" class="desc" type="textarea" resize="none" :autosize="{ minRows: 26, maxRows: 26 }" placeholder="描述内容···" size="small" clearable />
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-  </div>
-</template>
-<script>
-import Search from '@/layout/components/Search/index.vue'
-import { GeneralDataReception, myQuery } from '@/api/dataIntegration'
-export default {
-  components: {
-    Search
-  },
-  data () {
-    return {
-      ruleForm: {
-        queryTemplateName: '',
-        queryTemplateDescribe: '',
-        submitID: null,
-        queryTemplate: '',
-        pageRows: null
-      },
-      dataSourceList: [],
-      serviceList: [],
-      rules: {
-        queryTemplateName: [{ required: true, message: '请输入查询模板名称', trigger: 'blur' }],
-        // protocolID: [{ required: true, message: '请输入查询协议', trigger: 'blur' }],
-        queryTemplateDescribe: [{ required: true, message: '请输入查询模板描述', trigger: 'blur' }],
-        queryTemplatetConfig: [{ required: true, message: '请选查询配置', trigger: 'change' }],
-        queryTemplate: [{ required: true, message: '请选择查询语句', trigger: 'change' }]
-      }
-    }
-  },
-  created () {
-    this.ruleForm.event = 1
-    this.getDataSourceList()
-    this.queryServiceList()
-  },
-  methods: {
-    async addSubmit () {
-      const params = {
-        ...this.ruleForm,
-        submitID: this.ruleForm.serviceID
-      }
-      delete params.serviceID
-      try {
-        const res = await GeneralDataReception({
-          serviceId: SERVICE_ID.sysQueryTabId,
-          dataContent: JSON.stringify(params)
-        })
-        if (Number(res.code) === 0) {
-          this.$message.success(res.message ?? '成功')
-          this.$router.push('/systemSettings/queryTemplate')
-        } else {
-          this.$message.error(res.message ?? '失败')
-        }
-      } catch (error) {
-this.$message.error("失败");
-      }
-    },
-    async getDataSourceList () {
-      const dataSourceList = await this.getSelectOption(DATACONTENT_ID.sysSourceId)
-      this.dataSourceList = dataSourceList.map(item => {
-        item[item.setlabel] = item.k
-        item[item.setvalue] = item.v
-        return item
-      })
-    },
-    async queryServiceList () {
-      const serviceList = await this.getSelectOption(DATACONTENT_ID.sysServiceTabId)
-      this.serviceList = serviceList.map(item => {
-        item[item.setlabel] = item.k
-        item[item.setvalue] = item.v
-        return item
-      })
-    },
-    async getSelectOption (ID) {
-      try {
-        const listValues = await myQuery(ID)
-        return listValues
-      } catch (error) {
-        this.$message.error(error)
-        return []
-      }
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-.queryTemplate {
-  padding: 20px 30px 0 24px;
-  height: 87vh;
-  background: #ffffff;
-  border-radius: 4px;
-  .btnAner {
-    width: 64px;
-    height: 32px;
-    background: #ffffff;
-    border: 1px solid #9ebbf7;
-    border-radius: 4px;
-    font-size: 14px;
-    font-family: Microsoft YaHei;
-    font-weight: bold;
-    color: #2d67e3;
-    margin-right: 16px;
-  }
-  ::v-deep .demo-ruleForm {
-    > .el-row > .el-col {
-      .el-form-item {
-        margin-bottom: 24px;
-        // margin-right: 0px;
-        .el-input,
-        .el-select {
-          width: 100%;
-          // color: #101116;
-        }
-        input {
-          &::-webkit-outer-spin-button,
-          &::-webkit-inner-spin-button {
-            -webkit-appearance: none !important;
-          }
-          &[type="number"] {
-            -moz-appearance: textfield !important;
-          }
-        }
-      }
-    }
-  }
-  .b24 {
-    ::v-deep .el-input__inner {
-      height: 32px;
-    }
-  }
-  ::v-deep .el-form-item__content {
-    width: calc(100% - 96px);
-  }
-  ::v-deep .el-form-item {
-    width: 100%;
-  }
-  // .desc {
-  //   ::v-deep .el-input__inner {
-  //     height: 96px;
-  //   }
-  // }
-}
-</style>

+ 0 - 219
src/views/systemSettings/views/queryTemplate/queryTemplateedit.vue

@@ -1,219 +0,0 @@
-<template>
-  <div class="queryTemplate">
-    <Search title="编辑查询模板" :is-search="false">
-      <button class="btnAner">测试</button>
-      <button class="btnAn" @click="editSubmit">保存</button>
-    </Search>
-    <el-form ref="ruleForm" style="margin-top: 10px" :inline="true" :model="ruleForm" label-width="auto" class="demo-ruleForm">
-      <el-row :gutter="24" class="b24">
-        <el-col :span="6">
-          <el-form-item label="查询模板名称" prop="queryTemplateName">
-            <el-input v-model="ruleForm.queryTemplateName" size="medium" placeholder="请输入查询模板名称" clearable />
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="数据源" prop="dataSourceID">
-            <el-select v-model="ruleForm.dataSourceID" placeholder="请选择" clearable>
-              <el-option v-for="item in dataSourceList" :key="item.dataSourceID" :label="item.dataSourceName" :value="item.dataSourceID" />
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="服务名称" prop="serviceID">
-            <el-select v-model="ruleForm.serviceID" placeholder="请选择" clearable>
-              <el-option v-for="item in serviceList" :key="item.serviceID" :label="item.serviceName" :value="item.serviceID" />
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="每页显示" prop="pageRows">
-            <el-input v-model="ruleForm.pageRows" size="medium" placeholder="请输入每页显示行数" type="number" clearable />
-          </el-form-item>
-        </el-col>
-        <el-col :span="24">
-          <el-form-item label="查询模板描述" prop="queryTemplateDescribe">
-            <el-input v-model="ruleForm.queryTemplateDescribe" size="medium" placeholder="请输入查询模板描述" clearable />
-          </el-form-item>
-        </el-col>
-        <!-- <el-form-item
-        label="查询配置"
-        style="margin-bottom: 24px"
-      >
-        <el-input
-          v-model="ruleForm.queryTemplatetConfig"
-          class="desc"
-          type="textarea"
-          resize="none"
-          :autosize="{ minRows: 4, maxRows: 4 }"
-          placeholder="描述内容···"
-          size="small"
-        />
-      </el-form-item> -->
-        <el-col :span="24">
-          <el-form-item label="查询语句">
-            <el-input v-model="ruleForm.queryTemplate" class="desc" type="textarea" resize="none" :autosize="{ minRows: 26, maxRows: 26 }" placeholder="描述内容···" size="small" clearable />
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-  </div>
-</template>
-<script>
-import Search from '@/layout/components/Search/index.vue'
-import { GeneralDataReception, myQuery } from '@/api/dataIntegration'
-export default {
-  components: {
-    Search
-  },
-  data () {
-    return {
-      queryTemplateID: null,
-      ruleForm: {
-        queryTemplateName: '',
-        queryTemplateDescribe: '',
-        serviceID: null,
-        queryTemplate: '',
-        pageRows: null
-      },
-      dataSourceList: [],
-      serviceList: [],
-      rules: {
-        queryTemplateName: [{ required: true, message: '请输入查询模板名称', trigger: 'blur' }],
-        // protocolID: [{ required: true, message: '请输入查询协议', trigger: 'blur' }],
-        queryTemplateDescribe: [{ required: true, message: '请输入查询模板描述', trigger: 'blur' }],
-        queryTemplatetConfig: [{ required: true, message: '请选查询配置', trigger: 'change' }],
-        queryTemplate: [{ required: true, message: '请选择查询语句', trigger: 'change' }]
-      }
-    }
-  },
-  created () {
-    // this.ruleForm = this.$route.query
-    if (this.$route.query.queryTemplateID == null) {
-      this.$router.push('/systemSettings/queryTemplate')
-      return
-    }
-    this.queryTemplateID = Number(this.$route.query.queryTemplateID)
-    this.ruleForm.queryTemplateID = this.queryTemplateID
-    this.ruleForm.event = 2
-    this.queryQueryTemplateByID(this.queryTemplateID)
-    this.getDataSourceList()
-    this.queryServiceList()
-  },
-  methods: {
-    async editSubmit () {
-      const params = {
-        ...this.ruleForm,
-        submitID: this.ruleForm.serviceID
-      }
-      delete params.serviceID
-      try {
-        const res = await GeneralDataReception({
-          serviceId: SERVICE_ID.sysQueryTabId,
-          dataContent: JSON.stringify(params)
-        })
-        if (Number(res.code) === 0) {
-          this.$message.success(res.message ?? '成功')
-          this.$router.push('/systemSettings/queryTemplate')
-        } else {
-          this.$message.error(res.message ?? '失败')
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    async queryQueryTemplateByID (queryTemplateID) {
-      try {
-        const templateInfo = await myQuery(DATACONTENT_ID.sysQueryEditId, queryTemplateID)
-        Object.entries(templateInfo[0]).forEach(([key, value]) => {
-          this.ruleForm[key] = value
-        })
-      } catch (error) {
-        this.$message.error(error)
-      }
-    },
-    async getDataSourceList () {
-      const dataSourceList = await this.getSelectOption(DATACONTENT_ID.sysSourceId)
-      this.dataSourceList = dataSourceList.map(item => {
-        item[item.setlabel] = item.k
-        item[item.setvalue] = item.v
-        return item
-      })
-    },
-    async queryServiceList () {
-      const serviceList = await this.getSelectOption(DATACONTENT_ID.sysServiceTabId)
-      this.serviceList = serviceList.map(item => {
-        item[item.setlabel] = item.k
-        item[item.setvalue] = item.v
-        return item
-      })
-    },
-    async getSelectOption (ID) {
-      try {
-        const listValues = await myQuery(ID)
-        return listValues
-      } catch (error) {
-        this.$message.error(error)
-        return []
-      }
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-.queryTemplate {
-  padding: 20px 30px 0 24px;
-  height: 87vh;
-  background: #ffffff;
-  border-radius: 4px;
-  .btnAner {
-    width: 64px;
-    height: 32px;
-    background: #ffffff;
-    border: 1px solid #9ebbf7;
-    border-radius: 4px;
-    font-size: 14px;
-    font-family: Microsoft YaHei;
-    font-weight: bold;
-    color: #2d67e3;
-    margin-right: 16px;
-  }
-  ::v-deep .demo-ruleForm {
-    > .el-row > .el-col {
-      .el-form-item {
-        margin-bottom: 24px;
-        // margin-right: 0px;
-        .el-input,
-        .el-select {
-          width: 100%;
-          // color: #101116;
-        }
-        input {
-          &::-webkit-outer-spin-button,
-          &::-webkit-inner-spin-button {
-            -webkit-appearance: none !important;
-          }
-          &[type="number"] {
-            -moz-appearance: textfield !important;
-          }
-        }
-      }
-    }
-  }
-  .b24 {
-    ::v-deep .el-input__inner {
-      height: 32px;
-    }
-  }
-  ::v-deep .el-form-item__content {
-    width: calc(100% - 96px);
-  }
-  ::v-deep .el-form-item {
-    width: 100%;
-  }
-  // .desc {
-  //   ::v-deep .el-input__inner {
-  //     height: 96px;
-  //   }
-  // }
-}
-</style>

+ 0 - 44
src/views/systemSettings/views/servicedeployment/servicedeploymentHome.vue

@@ -1,44 +0,0 @@
-<template>
-  <div class="servicedeployment_home">
-    <div class="wrap">
-      <DataTable
-        data-id="8"
-        :rows="12"
-        labelWidth="110px"
-        :minHeight="70"
-        width="800px"
-      />
-    </div>
-  </div>
-</template>
-<script>
-import DataTable from "@/components/Table";
-export default {
-  data() {
-    return {};
-  },
-  components: { DataTable },
-};
-</script>
-<style lang="scss" scoped>
-.servicedeployment-home {
-  .wrap {
-    padding: 16px 0;
-    .service-header {
-      line-height: 32px;
-      font-size: 14px;
-      .btn-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-  }
-}
-</style>

+ 0 - 44
src/views/systemSettings/views/serviceoutput/serviceoutputHome.vue

@@ -1,44 +0,0 @@
-<template>
-  <div class="serviceoutput_home">
-    <div class="wrap">
-      <DataTable
-        data-id="7"
-        :rows="12"
-        labelWidth="130px"
-        :minHeight="70"
-        width="800px"
-      />
-    </div>
-  </div>
-</template>
-<script>
-import DataTable from "@/components/Table";
-export default {
-  data() {
-    return {};
-  },
-  components: { DataTable },
-};
-</script>
-<style lang="scss" scoped>
-.serviceoutput-home {
-  .wrap {
-    padding: 16px 0;
-    .service-header {
-      line-height: 32px;
-      font-size: 14px;
-      .btn-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-  }
-}
-</style>

+ 0 - 662
src/views/systemSettings/views/sourceDataItemManagement/sourceDataItemEdit.vue

@@ -1,662 +0,0 @@
-<!--
- * @Date: 2021-11-19 11:34:20
- * @LastEditTime: 2022-03-02 09:41:02
- * @LastEditors: Please set LastEditors
- * @Description: 目标数据-基本信息
--->
-<template>
-  <div class="dataStoreInfo">
-    <!--基本信息-->
-    <div class="airportInfoDetails-head">
-      <Search title="编辑源数据信息" :isSearch="false">
-        <button class="childBtnAn" @click="storagemod">保存</button>
-      </Search>
-      <div class="airportInfoDetails-head-content dialog-public-background">
-        <el-form :inline="true" :rules="rules" :model="ruleForm" ref="ruleForm" class="demo-ruleForm" label-width="140px">
-          <el-form-item label="源数据名称" prop="dataName">
-            <el-input size="small" maxlength="128" placeholder="请输入源数据名称" v-model="ruleForm.dataName"></el-input>
-          </el-form-item>
-          <el-form-item label="数据格式" prop="dataType">
-            <el-select size="small" style="width: 100%" v-model="ruleForm.dataType" placeholder="请选择数据类型">
-              <el-option label="JSON" value="1"></el-option>
-              <el-option label="XML" value="2"></el-option>
-              <el-option label=" REGULA" value="3"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="目标数据描述">
-            <el-input maxlength="128" placeholder="请输入描述" type="textarea" :rows="1" v-model="ruleForm.dataDescribe" style="width: 575px"></el-input>
-          </el-form-item>
-          <el-row>
-            <el-col :span="10.5">
-              <el-form-item label="取值方法">
-                <el-input maxlength="128" placeholder="请输入取值方法" type="textarea" :rows="1" v-model="ruleForm.computingMethod" style="width: 575px"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="10.5">
-
-              <el-form-item label="检测方法">
-                <el-input maxlength="128" placeholder="请输入检测方法" type="textarea" :rows="1" v-model="ruleForm.validationExpression" style="width: 575px"></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-    </div>
-    <!--数据项信息-->
-    <div class="airportInfoDetails-content">
-      <Search style="padding-left: 24px" :isChild="true" title="数据项信息" @clearSearchData="clearSearchData" @getSearchData="getSearchData">
-        <button @click="addStore" class="childBtnAdd">新增</button>
-      </Search>
-      <div class="table-info">
-        <el-table :data="posArr" row-key="ItemID" :row-class-name="tabRowClassName" height="56vh" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" class="table" style="width: 100%" :header-cell-style="{ 'text-align': 'left' }" :cell-style="{ 'text-align': 'left' }">
-          <el-table-column prop="ItemName" label="数据项名称"></el-table-column>
-          <!-- <el-table-column prop="itemCode" label="数据项标识"></el-table-column> -->
-          <el-table-column prop="dataTypeText" label="数据类型"></el-table-column>
-          <el-table-column prop="ItemDescribe" label="数据项描述"></el-table-column>
-          <el-table-column prop="computingMethod" label="取值方法"></el-table-column>
-          <el-table-column prop="computingExpression" label="取值表达式"></el-table-column>
-          <el-table-column prop="outputIdentifier" label="输出标识符"></el-table-column>
-          <el-table-column prop="isMustText" label="是否必填"></el-table-column>
-          <el-table-column prop="isKeyText" label="是否唯一"></el-table-column>
-          <el-table-column prop="isSpliteText" label="多条拆分"></el-table-column>
-          <el-table-column label="操作">
-            <div slot-scope="scope" style="
-                width: 100%;
-                height: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-              ">
-              <el-button class="fut" size="small" @click="handleAdd(scope.$index, scope.row)">新增</el-button>
-              <el-button class="fut" size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
-              <el-button class="futdel" size="small" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
-            </div>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-    <!--删除弹框-->
-    <Dialog :flag="flag">
-      <div class="airportInfoDialog">
-        <div class="del-title">删除存储数据项</div>
-        <div class="content er">
-          <div class="log"></div>
-          是否确认删除{{ rmObj.name }}?
-        </div>
-        <div class="foot right t30" style="background: #ffffff">
-          <el-button size="small" @click="remove" class="r25 r26" type="danger">删除</el-button>
-          <el-button size="medium" class="r26" @click="flag = false">取消</el-button>
-        </div>
-      </div>
-    </Dialog>
-    <!--新增/编辑存储数据项弹框-->
-    <Dialog width="748px" customClass="dataStoreInfoDialog" :flag="addFlag">
-      <div class="dialog-public-background">
-        <div class="flx">
-          {{ msgType === 1 ? "新增" : "编辑" }}数据项信息
-        </div>
-        <div class="contenter">
-          <el-form :model="dataForm" :rules="dataRules" ref="dataForm" label-width="130px" class="demo-dataForm">
-            <el-row :gutter="24">
-              <el-col :span="12">
-                <el-form-item class="flex1" label="所属数据项" prop="parentID">
-                  <el-cascader size="small" style="width: 100%" placeholder="请选择所属数据项" v-model="dataForm.parentIDs" :options="posArr" ref="cascader" :props="{ label: 'ItemName', value: 'ItemID',checkStrictly: true  }" @change="handleChange">
-                  </el-cascader>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item class="flex1" label="数据项名称" prop="ItemName">
-                  <el-input maxlength="128" size="small" placeholder="请输入数据项名称" v-model="dataForm.ItemName"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item class="flex1" label="数据类型" prop="dataType">
-                  <el-select size="small" style="width: 100%" v-model="dataForm.dataType" placeholder="请选择数据类型">
-                    <el-option v-for="item in optiondata" :key="item.id" :label="item.name" :value="item.id">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item class="flex1" label="输出标识符" prop="outputIdentifier">
-                  <el-input maxlength="128" size="small" placeholder="请输入输出标识符" v-model="dataForm.outputIdentifier"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item class="flex1" label="取值方法" prop="computingMethod">
-                  <el-input maxlength="128" size="small" placeholder="请输入取值方法" v-model="dataForm.computingMethod"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="24">
-              <el-col :span="24">
-                <el-form-item label="取值表达式">
-                  <el-input v-model="dataForm.computingExpression" size="medium" type="textarea" :rows="2" placeholder="请输入取值表达式" />
-                </el-form-item>
-              </el-col>
-              <el-col :span="24">
-                <el-form-item label="数据项描述">
-                  <el-input v-model="dataForm.ItemDescribe" size="medium" type="textarea" :rows="2" placeholder="请输入数据项描述" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="24">
-              <el-col :span="12">
-                <el-form-item class="flexer" label="允许空值">
-                  <el-radio v-model="dataForm.isMust" label="1">是</el-radio>
-                  <el-radio v-model="dataForm.isMust" label="0">否</el-radio>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item class="flexer" label="唯一项标志">
-                  <el-radio v-model="dataForm.isKey" label="1">是</el-radio>
-                  <el-radio v-model="dataForm.isKey" label="0">否</el-radio>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item class="flexer" label="多条拆分">
-                  <el-radio v-model="dataForm.isSplite" label="1">是</el-radio>
-                  <el-radio v-model="dataForm.isSplite" label="0">否</el-radio>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </div>
-        <div class="foot center" style="padding-right: 35px">
-          <el-button size="small" type="primary" @click="addSubmit('dataForm')" class="r25 r26">提交</el-button>
-          <el-button size="small" class="r26" @click="resetForm('dataForm')">取消</el-button>
-        </div>
-      </div>
-    </Dialog>
-  </div>
-</template>
-
-<script>
-import Search from "@/layout/components/Search/index.vue";
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { Query, GeneralDataReception } from "@/api/dataIntegration";
-import { translateDataToTreeAll, findarrays } from "@/utils/validate";
-export default {
-  name: "dataStoreInfo",
-  components: { Search, Dialog },
-  data () {
-    return {
-      ruleForm: {
-        //基本信息表单
-        dataName: "",
-        dataType: "",
-        dataDescribe: "",
-        computingMethod: "",
-        validationExpression: ""
-      },
-      rules: {
-        //基本信息验证
-        dataName: [
-          { required: true, message: "请输入目标数据名", trigger: "blur" },
-        ],
-        dataType: [
-          { required: true, message: "请选择数据格式", trigger: "change" },
-        ],
-      },
-      posArr: [], //存储数据项数据
-      posArrCopy: [], //临时存放数据
-      rmObj: {}, //选中的表格信息
-      rmIndex: null, //选中的表格序号
-      flag: false, //删除弹框
-      msgType: 1, //新增or编辑
-      dataForm: {},
-      dataRules: {
-        //数据项表单验证
-        ItemName: [
-          { required: true, message: "请输入数据项名称", trigger: "blur" },
-        ],
-        code: [
-          { required: true, message: "请输入数据来源表达式", trigger: "blur" },
-        ],
-        dataType: [{ required: true, message: "请选数据类型", trigger: "change" }],
-      },
-      addFlag: false, //数据项弹框,
-      dataStoreid: "", //修改id,
-      analyList: [], //遍历后的确定数据
-      dataitem: [], //所属数据项
-      optiondata: [
-        //数据类型
-        {
-          name: "字符",
-          id: 1,
-        },
-        {
-          name: "数字",
-          id: 2,
-        },
-        {
-          name: "日期",
-          id: 3,
-        },
-        {
-          name: "时间",
-          id: 4,
-        },
-      ],
-      sourceList: [], //取值来源
-      tableData: [],
-      deleID: "", //删除id
-    };
-  },
-  created () {
-    const { id } = this.$route.query;
-    this.dataStoreid = id;
-    this.storagedetails();
-    this.getDataList();
-  },
-  methods: {
-    tabRowClassName ({ row, rowIndex }) {
-      if (row.index) {
-        let index = row.index + 1;
-        if (index % 2 == 0) {
-          return "warning-row";
-        } else {
-          return "warning-rows";
-        }
-      }
-    },
-    //数据项信息
-    // async Dataitem() {
-    //   let params = {
-    //     sourceId: this.sourceider,
-    //   };
-    //   const result = await anaListmod(params);
-    //   if (result.code == 0) {
-    //     this.sourceList = result.returnData;
-    //     this.tableData = result.returnData;
-    //   }
-    // },
-    //详情查询
-    async storagedetails () {
-      let params = {
-        id: 18,
-        dataContent: [this.dataStoreid],
-      };
-      const result = await Query(params);
-      if (result.code == 0) {
-        result.returnData.forEach((element) => {
-          element.dataType = element.dataType + "";
-        });
-        this.ruleForm = result.returnData[0];
-      } else {
-        this.$message.error(res.message ?? "失败");
-      }
-    },
-
-    //保存主数据
-    async storagemod () {
-      this.ruleForm["operate"] = "2";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "4",
-          dataContent: JSON.stringify(this.ruleForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    //获取数据项列表
-    async getDataList () {
-      let params = {
-        id: 16,
-        dataContent: [this.dataStoreid],
-      };
-      const result = await Query(params);
-      if (result.code == 0) {
-
-        result.returnData.forEach(item => {
-          if (item.dataType == 1) {
-            item['dataTypeText'] = "字符串"
-          }
-          else if (item.dataType == 2) {
-            item['dataTypeText'] = "数字"
-          }
-          else if (item.dataType == 3) {
-            item['dataTypeText'] = "时间"
-          }
-          else if (item.dataType == 4) {
-            item['dataTypeText'] = "日期"
-          }
-          else {
-            item['dataTypeText'] = "其他"
-          }
-          if (item.isKey == 1) {
-            item['isKeyText'] = "是"
-          }
-          else {
-            item['isKeyText'] = "否"
-          }
-          if (item.isMust == 1) {
-            item['isMustText'] = "是"
-          }
-          else {
-            item['isMustText'] = "否"
-          }
-          if (item.isSplite == 1) {
-            item['isSpliteText'] = "是"
-          }
-          else {
-            item['isSpliteText'] = "否"
-          }
-        })
-        this.posArr = translateDataToTreeAll(
-          result.returnData,
-          "parentID",
-          "ItemID"
-        );
-        this.posArr.forEach((res, index) => {
-          res.index = index + 1;
-          if (res.children.length < 1) {
-            delete res.children
-          }
-        });
-        this.posArrCopy = JSON.parse(JSON.stringify(this.posArr));
-      } else {
-        this.$message.error(res.message ?? "失败");
-      }
-    },
-    //搜索
-    getSearchData (val) {
-      let that = this;
-      that.storagedetails().then(function (data) {
-        if (val) {
-          that.posArr = that.rebuildData(val, that.posArr);
-        } else {
-          that.storagedetails();
-        }
-      });
-    },
-    //根据name字段模糊匹配树状结构数据,最后将处理好的数据返回出来
-    rebuildData (value, arr) {
-      if (!arr) {
-        return []
-      }
-      const newarr = [];
-      arr.forEach(element => {
-        // indexOf用来判读当前节点name字段是否包含所搜索的字符串value
-        // 返回值:包含则返回索引值,反之返回-1
-        if (element.ItemName.indexOf(value) > -1) {
-          const ab = this.rebuildData(value, element.children);
-          const obj = {
-            ...element,
-            children: ab
-          }
-          newarr.push(obj);
-        } else {
-          // 判断当前节点知否有子节点,并且子节点中有数据,有数据继续递归查找
-          if (element.children && element.children.length > 0) {
-            const ab = this.rebuildData(value, element.children);
-            const obj = {
-              ...element,
-              children: ab
-            };
-            if (ab && ab.length > 0) {
-              newarr.push(obj);
-            }
-          }
-        }
-      });
-      return newarr
-    },
-    //清空搜索
-    clearSearchData () {
-      this.posArr = this.posArrCopy;
-    },
-    //删除信息
-    handleDelete (index, row) {
-      this.rmObj = row;
-      this.rmIndex = index;
-      this.flag = true;
-      this.deleID = row.ItemID;
-    },
-    //删除
-    async remove () {
-      this.rmObj["operate"] = "3";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "5",
-          dataContent: JSON.stringify(this.rmObj),
-        });
-        if (res.code === "0") {
-          this.removeDialogVisible = false;
-          this.$message.success("删除成功");
-          this.getDataList()
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-      this.flag = false;
-    },
-    //新增数据项
-    addStore () {
-      this.msgType = 1;
-      this.addFlag = true;
-    },
-    //点击列表新增按钮
-    handleAdd (index, row) {
-      this.msgType = 1;
-      this.addFlag = true;
-      this.dataForm.parentID = row.ItemID;
-      this.dataForm.parentIDs = [row.ItemID];
-    },
-    //点击列表编辑按钮
-    handleEdit (index, row) {
-      this.msgType = 2;
-      this.addFlag = true;
-      this.dataForm = row;
-      this.dataForm.parentIDs = [row.parentID];
-      this.dataForm.isKey = this.dataForm.isKey + ""
-      this.dataForm.isMust = this.dataForm.isMust + ""
-      this.dataForm.isSplite = this.dataForm.isSplite + ""
-    },
-    handleChange (data) {
-      this.dataForm.parentID = data[data.length - 1]
-    },
-    //数据项-提交
-    async addSubmit (formName) {
-      this.$refs[formName].validate((valid) => {
-        if (valid) {
-          if (this.dataForm.ItemID) {
-            this.dataForm["operate"] = "2";
-          }
-          else {
-            this.dataForm["operate"] = "1";
-          }
-          this.dataForm["sourceDataID"] = this.dataStoreid;
-          this.saveData();
-        } else {
-
-          return false;
-        }
-      });
-    },
-    //数据项保存
-    async saveData () {
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "5",
-          dataContent: JSON.stringify(this.dataForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.getDataList();
-          this.resetForm("dataForm");
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-
-    },
-    //数据项-取消
-    resetForm (formName) {
-      this.addFlag = false;
-      this.dataForm = {};
-      this.$refs[formName].resetFields();
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.dataStoreInfo {
-  ::v-deep .warning-row {
-    background: #f0f3f7;
-  }
-  ::v-deep .warning-rows {
-    background: #ffffff;
-  }
-  .log {
-    width: 26px;
-    height: 26px;
-    background: #eb2f3b;
-    border-radius: 50%;
-    margin-right: 15px;
-    background: url("../../../../assets/index/ic_close_hint.png") no-repeat;
-    background-size: 100% 100%;
-  }
-  .fut {
-    width: 48px;
-    height: 24px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    background: #ffffff;
-    border: 1px solid #9ebbf7;
-    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-    font-size: 12px;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    color: #2d67e3;
-  }
-  .futdel {
-    width: 48px;
-    height: 24px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    background: #eb2f3b;
-    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-    font-size: 12px;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    color: #ffffff;
-  }
-  .contenter {
-    padding: 0 24px 0 24px;
-  }
-  .flexer {
-    margin-left: 0;
-  }
-  // ::v-deep .cell {
-  //   display: flex;
-  // }
-  .er {
-    display: flex;
-    align-items: center;
-  }
-  .airportInfoDetails-head {
-    padding: 32px 40px 44px 24px;
-    background: #ffffff;
-    box-shadow: 8px 6px 7px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-    .airportInfoDetails-head-content {
-      margin-top: 48px;
-      .el-input {
-        min-width: 188px;
-      }
-      .el-form--inline .el-form-item {
-        margin-bottom: 0;
-        margin-right: 48px;
-      }
-    }
-  }
-  .airportInfoDetails-content {
-    // height: 56vh;
-    overflow-x: hidden;
-    overflow-y: hidden;
-    padding: 0 0 0 0;
-    background: #dfe3ea;
-    // box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-    margin-top: 10px;
-    .table-info {
-      margin-top: 8px;
-      ::v-deep .table {
-        .el-table__header {
-          .has-gutter {
-            color: #101116;
-            .is-leaf {
-              height: 40px;
-              background: #ffffff;
-              &:first-child {
-                border-top-left-radius: 4px;
-              }
-            }
-            .gutter {
-              background: #ffffff;
-              border-top-right-radius: 4px;
-            }
-          }
-        }
-        td.el-table__cell,
-        th.el-table__cell.is-leaf {
-          border-bottom: none;
-        }
-        .el-table__cell {
-          padding: 16px 0;
-          // background: #f5f7fa;
-        }
-        .el-table__row--level-1 {
-          td {
-            background: #dfe4ec;
-          }
-        }
-        tr {
-          transition: all 0.3s;
-          &:hover {
-            td {
-              background-color: #cbd7ee;
-            }
-          }
-        }
-        &::before {
-          width: 0;
-        }
-      }
-    }
-  }
-  ::v-deep .dataStoreInfoDialog {
-    .demo-dataForm {
-      .noleft {
-        .el-form-item__content {
-          margin-left: 0 !important;
-          margin-right: 0 !important;
-          width: 300px;
-          .el-input__suffix {
-            right: 23px;
-          }
-        }
-      }
-    }
-  }
-  ::v-deep .el-input__suffix {
-    right: 15px;
-  }
-}
-</style>

+ 0 - 316
src/views/systemSettings/views/sourceDataItemManagement/sourceDataItemHome.vue

@@ -1,316 +0,0 @@
-<!--
- * @Author: Badguy
- * @Date: 2022-04-12 17:49:47
- * @LastEditTime: 2022-04-13 16:17:37
- * @LastEditors: your name
- * @Description: 源数据管理-首页
- * have a nice day!
--->
-
-<template>
-  <div class="sourceDataItem-home">
-    <div class="wrap">
-      <!-- <div class="protocol-header flex">
-        <div class="manageTitle">源数据管理</div>
-        <div class="addBtn">
-          <el-button class="button-white" size="small" @click="showAddDialog()"
-            >新增</el-button
-          >
-        </div>
-      </div>
-      <div class="protocol-content">
-        <el-row :gutter="24">
-          <el-col v-for="item in dataList" :key="item.sourceDataID" :span="4">
-            <div class="grid-content">
-              <div class="head-line"></div>
-              <div class="grid-content-hand flex">
-                <div class="title flex-wrap">
-                  <el-tooltip
-                    class="item"
-                    effect="dark"
-                    :content="item.dataName"
-                    placement="bottom"
-                  >
-                    <div class="name">{{ item.dataName }}</div>
-                  </el-tooltip>
-                  <i class="loger" @click="showEditDialog(item)" />
-                </div>
-                <i class="el-icon-close icon" @click="showRemoveDialog(item)" />
-              </div>
-              <div class="disc">{{ item.dataTypeText }}</div>
-            </div>
-          </el-col>
-        </el-row>
-      </div> -->
-      <!--新增/编辑-->
-      <Dialog :flag="editDialogVisible" width="466px" :show-flag="true">
-        <div class="airportInfoDialog dialog-public-background">
-          <div class="title">{{ editDialogTitle }}</div>
-          <div class="content">
-            <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
-              <el-form-item label="源数据名称" prop="dataName">
-                <el-input v-model="ruleForm.dataName" size="small" placeholder="请输入源数据名称" />
-              </el-form-item>
-              <el-form-item label="数据格式" prop="dataType">
-                <el-select v-model="ruleForm.dataType" size="small" placeholder="请选择数据格式">
-                  <el-option label="JSON" value="1"></el-option>
-                  <el-option label="XML" value="2"></el-option>
-                  <el-option label=" REGULA" value="3"></el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item label="取值方法">
-                <el-input v-model="ruleForm.computingMethod" size="small" type="textarea" :rows="2" placeholder="请输入取值方法" />
-              </el-form-item>
-              <el-form-item label="检测方法">
-                <el-input v-model="ruleForm.validationExpression" size="small" type="textarea" :rows="2" placeholder="请输入检测方法" />
-              </el-form-item>
-              <el-form-item label="源数据描述">
-                <el-input v-model="ruleForm.dataDescribe" size="small" type="textarea" :rows="2" placeholder="请输入描述" />
-              </el-form-item>
-            </el-form>
-          </div>
-          <div class="foot center t30">
-            <el-button size="medium" type="primary" class="r25 r26" @click="submitClickHandler()">提交</el-button>
-            <el-button size="medium" class="r26" @click="resetForm('ruleForm')">取消</el-button>
-          </div>
-        </div>
-      </Dialog>
-      <!--删除弹框-->
-      <Dialog :flag="removeDialogVisible">
-        <div class="airportInfoDialog">
-          <div class="del-title">删除协议</div>
-          <div class="content er">
-            <div class="log">是否确认删除{{ rmObj.protocolName }}?</div>
-          </div>
-          <div class="DelFoot right t30">
-            <el-button size="medium" class="r25 r26" type="danger" @click="removeSubmit()">删除</el-button>
-            <el-button size="medium" class="r26" @click="removeDialogVisible = false">取消</el-button>
-          </div>
-        </div>
-      </Dialog>
-    </div>
-  </div>
-</template>
-
-<script>
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { Query, GeneralDataReception } from "@/api/dataIntegration";
-
-export default {
-  name: "ProtocolHome",
-  components: { Dialog },
-  data () {
-    return {
-      dataList: [],
-      removeDialogVisible: false,
-      rmObj: {},
-      editDialogVisible: false,
-      editDialogTitle: "目标数据新增",
-      ruleForm: {
-        // 信息表单
-        dataName: "",
-        dataDescribe: "",
-        computingMethod: "",
-        validationExpression: "",
-        dataType: "",
-      },
-      rules: {
-        // 机器信息表单验证
-        dataName: [
-          { required: true, message: "请输入源数据名称", trigger: "blur" },
-        ],
-        dataType: [
-          { required: true, message: "请选择数据格式", trigger: "blur" },
-        ],
-      },
-    };
-  },
-  created () {
-    this.getList();
-  },
-  methods: {
-    async getList () {
-      try {
-        const res = await Query({
-          id: 4,
-          dataContent: [],
-        });
-        if (res.code === "0") {
-          res.returnData.forEach((element) => {
-            if (element.dataType == 1) {
-              element["dataTypeText"] = "JSON";
-            } else if (element.dataType == 2) {
-              element["dataTypeText"] = "XML";
-            } else if (element.dataType == 3) {
-              element["dataTypeText"] = "REGULA";
-            } else {
-              element["dataTypeText"] = "其他";
-            }
-          });
-          this.dataList = res.returnData;
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    // 新增-跳转
-    showAddDialog () {
-      this.editDialogTitle = "新增源数据";
-      this.editDialogVisible = true;
-    },
-    // 编辑-跳转
-    showEditDialog (item) {
-      this.$router.push({
-        path: "/systemSettings/sourceDataItemEdit",
-        query: { id: item.sourceDataID },
-      });
-    },
-    // 新增/编辑-确认
-    submitClickHandler () {
-      this.$refs["ruleForm"].validate((valid) => {
-        if (valid) {
-          this.addSubmit();
-          this.resetForm("ruleForm");
-        }
-      });
-    },
-    async addSubmit () {
-      this.ruleForm["operate"] = "1";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "4",
-          dataContent: JSON.stringify(this.ruleForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.getList();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    // 删除-弹框
-    showRemoveDialog (item) {
-      this.rmObj = item;
-      this.removeDialogVisible = true;
-    },
-    // 确认删除
-    async removeSubmit () {
-      this.rmObj["operate"] = "3";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "4",
-          dataContent: JSON.stringify(this.rmObj),
-        });
-        if (res.code === "0") {
-          this.removeDialogVisible = false;
-          this.$message.success("删除成功");
-          this.getList();
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    // 重置
-    resetForm (formName) {
-      this.ruleForm = {};
-      this.$refs[formName].resetFields();
-      this.editDialogVisible = false;
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.sourceDataItem-home {
-  .wrap {
-    padding: 16px 0;
-    .protocol-header {
-      line-height: 32px;
-      font-size: 14px;
-      .button-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-    .protocol-content {
-      .grid-content {
-        height: 144px;
-        background: #ffffff;
-        box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
-        border-radius: 4px;
-        padding: 25px;
-        margin-bottom: 24px;
-        position: relative;
-        .head-line {
-          position: absolute;
-          top: 0;
-          left: 0;
-          width: 100%;
-          height: 4px;
-          background: #2d67e3;
-          border-radius: 4px;
-        }
-        .disc {
-          position: absolute;
-          bottom: 25px;
-          left: 25px;
-          font-size: 14px;
-          font-weight: 400;
-          color: #101116;
-        }
-        .title {
-          font-size: 16px;
-          font-family: Helvetica;
-          font-weight: bold;
-          color: #101116;
-          white-space: nowrap;
-          max-width: 80%;
-          text-overflow: ellipsis;
-          overflow: hidden;
-          .name {
-            white-space: nowrap;
-            max-width: 80%;
-            text-overflow: ellipsis;
-            overflow: hidden;
-          }
-          .loger {
-            width: 14px;
-            height: 14px;
-            margin-left: 24px;
-            background: url("../../../../assets/status/ic_edit_default.png")
-              no-repeat;
-            background-size: 100% 100%;
-            cursor: pointer;
-            position: relative;
-            top: 2px;
-          }
-          .loger:hover {
-            background: url("../../../../assets/status/ic_edit_hovar.png")
-              no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-        .icon {
-          cursor: pointer;
-          font-size: 16px;
-          color: #606266;
-        }
-      }
-    }
-  }
-}
-</style>

+ 0 - 58
src/views/systemSettings/views/sourceservice/sourceserviceHome.vue

@@ -1,58 +0,0 @@
-<template>
-  <div class="sourceservice_home">
-    <div class="wrap">
-      <DataTable
-        tableHeight="700"
-        :data-id="dataId"
-        :rows="24"
-        labelWidth="100px"
-        :isStatuser="true"
-        :showOverflowTooltip="true"
-        :minHeight="70"
-        width="800px"
-      >
-        <template v-slot:header>
-          <div class="status flex-wrap">
-            <div class="manageTitle">数据源服务</div>
-          </div>
-        </template>
-      </DataTable>
-    </div>
-  </div>
-</template>
-<script>
-import DataTable from "@/components/Table";
-export default {
-  data() {
-    return {
-      dataId: 6,
-    };
-  },
-  components: { DataTable },
-};
-</script>
-<style lang="scss" scoped>
-::v-deep .el-form-item {
-  margin-bottom: 20px;
-}
-.sourceservice-home {
-  .wrap {
-    padding: 16px 0;
-    .service-header {
-      line-height: 32px;
-      font-size: 14px;
-      .btn-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-  }
-}
-</style>

+ 0 - 651
src/views/systemSettings/views/targetDataManagement/targetDataEdit.vue

@@ -1,651 +0,0 @@
-<!--
- * @Date: 2021-11-19 11:34:20
- * @LastEditTime: 2022-03-02 09:41:02
- * @LastEditors: Please set LastEditors
- * @Description: 目标数据-基本信息
--->
-<template>
-  <div class="dataStoreInfo">
-    <!--基本信息-->
-    <div class="airportInfoDetails-head">
-      <Search title="编辑目标数据信息" :isSearch="false">
-        <button class="childBtnAn" @click="storagemod">保存</button>
-      </Search>
-      <div class="airportInfoDetails-head-content dialog-public-background">
-        <el-form :inline="true" :rules="rules" :model="ruleForm" ref="ruleForm" class="demo-ruleForm" label-width="140px">
-          <el-form-item label="目标数据名" prop="tdataName">
-            <el-input size="small" maxlength="128" placeholder="请输入目标数据名" v-model="ruleForm.tdataName"></el-input>
-          </el-form-item>
-          <el-form-item label="数据类型" prop="datatype">
-            <el-select size="small" style="width: 100%" v-model="ruleForm.datatype" placeholder="请选择数据类型">
-              <el-option label="字符串" value="1"></el-option>
-              <el-option label="数字" value="2"></el-option>
-              <el-option label="时间" value="3"></el-option>
-              <el-option label="日期" value="4"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="目标数据事件标识" prop="eventID">
-            <el-input size="small" maxlength="128" placeholder="请输入目标数据事件标识" v-model="ruleForm.eventID"></el-input>
-          </el-form-item>
-          <el-row>
-            <el-form-item label="目标数据描述">
-              <el-input maxlength="128" placeholder="请输入描述" type="textarea" :rows="1" v-model="ruleForm.dataDescribe" style="width: 575px"></el-input>
-            </el-form-item>
-          </el-row>
-        </el-form>
-      </div>
-    </div>
-    <!--数据项信息-->
-    <div class="airportInfoDetails-content">
-      <Search style="padding-left: 24px" :isChild="true" title="数据项信息" @clearSearchData="clearSearchData" @getSearchData="getSearchData">
-        <button @click="addStore" class="childBtnAdd">新增</button>
-      </Search>
-      <div class="table-info">
-        <el-table :data="posArr" row-key="ItemID" :row-class-name="tabRowClassName" height="56vh" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" class="table" style="width: 100%" :header-cell-style="{ 'text-align': 'left' }" :cell-style="{ 'text-align': 'left' }">
-          <el-table-column prop="ItemName" label="数据项名称"></el-table-column>
-          <!-- <el-table-column prop="itemCode" label="数据项标识"></el-table-column> -->
-          <el-table-column prop="dataTypeText" label="数据类型"></el-table-column>
-          <el-table-column prop="ItemDescribe" label="数据项描述"></el-table-column>
-          <el-table-column prop="computingExpression" label="数据来源表达式"></el-table-column>
-          <el-table-column prop="isMustText" label="是否必填"></el-table-column>
-          <el-table-column prop="isKeyText" label="是否唯一"></el-table-column>
-          <el-table-column prop="isSpliteText" label="多条拆分"></el-table-column>
-          <el-table-column label="操作">
-            <div slot-scope="scope" style="
-                width: 100%;
-                height: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-              ">
-              <el-button class="fut" size="small" @click="handleAdd(scope.$index, scope.row)">新增</el-button>
-              <el-button class="fut" size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
-              <el-button class="futdel" size="small" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
-            </div>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-    <!--删除弹框-->
-    <Dialog :flag="flag">
-      <div class="airportInfoDialog">
-        <div class="del-title">删除存储数据项</div>
-        <div class="content er">
-          <div class="log"></div>
-          是否确认删除{{ rmObj.name }}?
-        </div>
-        <div class="foot right t30" style="background: #ffffff">
-          <el-button size="small" @click="remove" class="r25 r26" type="danger">删除</el-button>
-          <el-button size="medium" class="r26" @click="flag = false">取消</el-button>
-        </div>
-      </div>
-    </Dialog>
-    <!--新增/编辑存储数据项弹框-->
-    <Dialog width="450px" customClass="dataStoreInfoDialog" :flag="addFlag">
-      <div class="dialog-public-background">
-        <div class="flx">
-          {{ msgType === 1 ? "新增" : "编辑" }}数据项信息
-        </div>
-        <div class="contenter">
-          <el-form :model="dataForm" :rules="dataRules" ref="dataForm" label-width="130px" class="demo-dataForm">
-            <el-row :gutter="24">
-              <el-col :span="24">
-                <el-form-item class="flex1" label="所属数据项" prop="parentID">
-                  <el-cascader size="small" style="width: 100%" placeholder="请选择所属数据项" v-model="dataForm.parentIDs" :options="posArr" ref="cascader" :props="{ label: 'ItemName', value: 'ItemID',checkStrictly: true  }" @change="handleChange">
-                  </el-cascader>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="24">
-              <el-col :span="24">
-                <el-form-item class="flex1" label="数据项名称" prop="ItemName">
-                  <el-input maxlength="128" size="small" placeholder="请输入数据项名称" v-model="dataForm.ItemName"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="24">
-              <el-col :span="24">
-                <el-form-item class="flex1" label="数据类型" prop="dataType">
-                  <el-select size="small" style="width: 100%" v-model="dataForm.dataType" placeholder="请选择数据类型">
-                    <el-option v-for="item in optiondata" :key="item.id" :label="item.name" :value="item.id">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="24">
-              <el-col :span="24">
-                <el-form-item class="flex1" label="数据来源表达式" prop="computingExpression">
-                  <el-input maxlength="128" size="small" placeholder="请输入数据来源表达式" v-model="dataForm.computingExpression"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="24">
-              <el-col :span="24">
-                <el-form-item class="flexer" label="允许空值">
-                  <el-radio v-model="dataForm.isMust" label="1">是</el-radio>
-                  <el-radio v-model="dataForm.isMust" label="0">否</el-radio>
-                </el-form-item>
-              </el-col>
-              <el-col :span="24">
-                <el-form-item class="flexer" label="唯一项标志">
-                  <el-radio v-model="dataForm.isKey" label="1">是</el-radio>
-                  <el-radio v-model="dataForm.isKey" label="0">否</el-radio>
-                </el-form-item>
-              </el-col>
-              <el-col :span="24">
-                <el-form-item class="flexer" label="多条拆分">
-                  <el-radio v-model="dataForm.isSplite" label="1">是</el-radio>
-                  <el-radio v-model="dataForm.isSplite" label="0">否</el-radio>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="24">
-              <el-col :span="24">
-                <el-form-item label="数据项描述">
-                  <el-input v-model="dataForm.ItemDescribe" size="medium" type="textarea" :rows="2" placeholder="请输入描述" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </div>
-        <div class="foot center" style="padding-right: 35px">
-          <el-button size="small" type="primary" @click="addSubmit('dataForm')" class="r25 r26">提交</el-button>
-          <el-button size="small" class="r26" @click="resetForm('dataForm')">取消</el-button>
-        </div>
-      </div>
-    </Dialog>
-  </div>
-</template>
-
-<script>
-import Search from "@/layout/components/Search/index.vue";
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { Query, GeneralDataReception } from "@/api/dataIntegration";
-import { translateDataToTreeAll, findarrays } from "@/utils/validate";
-export default {
-  name: "dataStoreInfo",
-  components: { Search, Dialog },
-  data () {
-    return {
-      ruleForm: {
-        //基本信息表单
-        tdataName: "",
-        eventID: "",
-        datatype: "",
-        dataDescribe: "",
-      },
-      rules: {
-        //基本信息验证
-        tdataName: [
-          { required: true, message: "请输入目标数据名", trigger: "blur" },
-        ],
-        eventID: [
-          {
-            required: true,
-            message: "请输入目标数据事件标识",
-            trigger: "blur",
-          },
-        ],
-        datatype: [
-          { required: true, message: "请选择数据类型", trigger: "change" },
-        ],
-      },
-      posArr: [], //存储数据项数据
-      posArrCopy: [], //临时存放数据
-      rmObj: {}, //选中的表格信息
-      rmIndex: null, //选中的表格序号
-      flag: false, //删除弹框
-      msgType: 1, //新增or编辑
-      dataForm: {},
-      dataRules: {
-        //数据项表单验证
-        ItemName: [
-          { required: true, message: "请输入数据项名称", trigger: "blur" },
-        ],
-        computingExpression: [
-          { required: true, message: "请输入数据来源表达式", trigger: "blur" },
-        ],
-        dataType: [{ required: true, message: "请选数据类型", trigger: "change" }],
-      },
-      addFlag: false, //数据项弹框,
-      dataStoreid: "", //修改id,
-      analyList: [], //遍历后的确定数据
-      dataitem: [], //所属数据项
-      optiondata: [
-        //数据类型
-        {
-          name: "字符",
-          id: 1,
-        },
-        {
-          name: "数字",
-          id: 2,
-        },
-        {
-          name: "日期",
-          id: 3,
-        },
-        {
-          name: "时间",
-          id: 4,
-        },
-      ],
-      sourceList: [], //取值来源
-      tableData: [],
-      deleID: "", //删除id
-    };
-  },
-  created () {
-    const { id } = this.$route.query;
-    this.dataStoreid = id;
-    this.storagedetails();
-    this.getDataList();
-  },
-  methods: {
-    tabRowClassName ({ row, rowIndex }) {
-      if (row.index) {
-        let index = row.index + 1;
-        if (index % 2 == 0) {
-          return "warning-row";
-        } else {
-          return "warning-rows";
-        }
-      }
-    },
-    //数据项信息
-    // async Dataitem() {
-    //   let params = {
-    //     sourceId: this.sourceider,
-    //   };
-    //   const result = await anaListmod(params);
-    //   if (result.code == 0) {
-    //     this.sourceList = result.returnData;
-    //     this.tableData = result.returnData;
-    //   }
-    // },
-    //详情查询
-    async storagedetails () {
-      let params = {
-        id: 17,
-        dataContent: [this.dataStoreid],
-      };
-      const result = await Query(params);
-      if (result.code == 0) {
-        result.returnData.forEach((element) => {
-          element.datatype = element.datatype + "";
-        });
-        this.ruleForm = result.returnData[0];
-      } else {
-        this.$message.error(res.message ?? "失败");
-      }
-    },
-
-    //保存
-    async storagemod () {
-      this.ruleForm["operate"] = "2";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "7",
-          dataContent: JSON.stringify(this.ruleForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    async getDataList () {
-      let params = {
-        id: 15,
-        dataContent: [this.dataStoreid],
-      };
-      const result = await Query(params);
-      if (result.code == 0) {
-
-        result.returnData.forEach(item => {
-          if (item.dataType == 1) {
-            item['dataTypeText'] = "字符串"
-          }
-          else if (item.dataType == 2) {
-            item['dataTypeText'] = "数字"
-          }
-          else if (item.dataType == 3) {
-            item['dataTypeText'] = "时间"
-          }
-          else if (item.dataType == 4) {
-            item['dataTypeText'] = "日期"
-          }
-          else {
-            item['dataTypeText'] = "其他"
-          }
-          if (item.isKey == 1) {
-            item['isKeyText'] = "是"
-          }
-          else {
-            item['isKeyText'] = "否"
-          }
-          if (item.isMust == 1) {
-            item['isMustText'] = "是"
-          }
-          else {
-            item['isMustText'] = "否"
-          }
-          if (item.isSplite == 1) {
-            item['isSpliteText'] = "是"
-          }
-          else {
-            item['isSpliteText'] = "否"
-          }
-        })
-        this.posArr = translateDataToTreeAll(
-          result.returnData,
-          "parentID",
-          "ItemID"
-        );
-        this.posArr.forEach((res, index) => {
-          res.index = index + 1;
-          // if(res.children.length<1){
-          //   delete res.children
-          // }
-        });
-        this.posArrCopy = JSON.parse(JSON.stringify(this.posArr));
-      } else {
-        this.$message.error(res.message ?? "失败");
-      }
-    },
-    //搜索
-    getSearchData (val) {
-      let that = this;
-      that.storagedetails().then(function (data) {
-        if (val) {
-          that.posArr = that.rebuildData(val, that.posArr);
-        } else {
-          that.storagedetails();
-        }
-      });
-    },
-    //根据name字段模糊匹配树状结构数据,最后将处理好的数据返回出来
-    rebuildData (value, arr) {
-      if (!arr) {
-        return []
-      }
-      const newarr = [];
-      arr.forEach(element => {
-        // indexOf用来判读当前节点name字段是否包含所搜索的字符串value
-        // 返回值:包含则返回索引值,反之返回-1
-        if (element.ItemName.indexOf(value) > -1) {
-          const ab = this.rebuildData(value, element.children);
-          const obj = {
-            ...element,
-            children: ab
-          }
-          newarr.push(obj);
-        } else {
-          // 判断当前节点知否有子节点,并且子节点中有数据,有数据继续递归查找
-          if (element.children && element.children.length > 0) {
-            const ab = this.rebuildData(value, element.children);
-            const obj = {
-              ...element,
-              children: ab
-            };
-            if (ab && ab.length > 0) {
-              newarr.push(obj);
-            }
-          }
-        }
-      });
-      return newarr
-    },
-    //清空搜索
-    clearSearchData () {
-      this.posArr = this.posArrCopy;
-    },
-    //删除信息
-    handleDelete (index, row) {
-      this.rmObj = row;
-      this.rmIndex = index;
-      this.flag = true;
-      this.deleID = row.ItemID;
-    },
-    //删除
-    async remove () {
-      this.rmObj["operate"] = "3";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "8",
-          dataContent: JSON.stringify(this.rmObj),
-        });
-        if (res.code === "0") {
-          this.removeDialogVisible = false;
-          this.$message.success("删除成功");
-          this.getDataList()
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-      this.flag = false;
-    },
-    //新增数据项
-    addStore () {
-      this.msgType = 1;
-      this.addFlag = true;
-    },
-    handleAdd (index, row) {
-      this.msgType = 1;
-      this.addFlag = true;
-      this.dataForm.parentID = row.ItemID;
-      this.dataForm.parentIDs = [row.ItemID];
-    },
-    handleEdit (index, row) {
-      this.msgType = 2;
-      this.addFlag = true;
-      this.dataForm = row;
-      this.dataForm.parentIDs = [row.parentID];
-      this.dataForm.isKey = this.dataForm.isKey + ""
-      this.dataForm.isMust = this.dataForm.isMust + ""
-      this.dataForm.isSplite = this.dataForm.isSplite + ""
-    },
-    handleChange (data) {
-      this.dataForm.parentID = data[data.length - 1]
-    },
-    //数据项-提交
-    async addSubmit (formName) {
-      this.$refs[formName].validate((valid) => {
-        if (valid) {
-          if (this.dataForm.ItemID) {
-            this.dataForm["operate"] = "2";
-          }
-          else {
-            this.dataForm["operate"] = "1";
-          }
-          this.dataForm["targetdataID"] = this.dataStoreid;
-          this.saveData();
-        } else {
-
-          return false;
-        }
-      });
-    },
-    async saveData () {
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "8",
-          dataContent: JSON.stringify(this.dataForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.getDataList();
-          this.resetForm("dataForm");
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-
-    },
-    //存储数据项-取消
-    resetForm (formName) {
-      this.addFlag = false;
-      this.dataForm = {};
-      this.$refs[formName].resetFields();
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.dataStoreInfo {
-  ::v-deep .warning-row {
-    background: #f0f3f7;
-  }
-  ::v-deep .warning-rows {
-    background: #ffffff;
-  }
-  .log {
-    width: 26px;
-    height: 26px;
-    background: #eb2f3b;
-    border-radius: 50%;
-    margin-right: 15px;
-    background: url("../../../../assets/index/ic_close_hint.png") no-repeat;
-    background-size: 100% 100%;
-  }
-  .fut {
-    width: 48px;
-    height: 24px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    background: #ffffff;
-    border: 1px solid #9ebbf7;
-    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-    font-size: 12px;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    color: #2d67e3;
-  }
-  .futdel {
-    width: 48px;
-    height: 24px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    background: #eb2f3b;
-    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-    font-size: 12px;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    color: #ffffff;
-  }
-  .contenter {
-    padding: 0 24px 0 24px;
-  }
-  .flexer {
-    margin-left: 0;
-  }
-  // ::v-deep .cell {
-  //   display: flex;
-  // }
-  .er {
-    display: flex;
-    align-items: center;
-  }
-  .airportInfoDetails-head {
-    padding: 32px 40px 44px 24px;
-    background: #ffffff;
-    box-shadow: 8px 6px 7px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-    .airportInfoDetails-head-content {
-      margin-top: 48px;
-      .el-input {
-        min-width: 188px;
-      }
-      .el-form--inline .el-form-item {
-        margin-bottom: 0;
-        margin-right: 48px;
-      }
-    }
-  }
-  .airportInfoDetails-content {
-    // height: 56vh;
-    overflow-x: hidden;
-    overflow-y: hidden;
-    padding: 0 0 0 0;
-    background: #dfe3ea;
-    // box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-    border-radius: 4px;
-    margin-top: 10px;
-    .table-info {
-      margin-top: 8px;
-      ::v-deep .table {
-        .el-table__header {
-          .has-gutter {
-            color: #101116;
-            .is-leaf {
-              height: 40px;
-              background: #ffffff;
-              &:first-child {
-                border-top-left-radius: 4px;
-              }
-            }
-            .gutter {
-              background: #ffffff;
-              border-top-right-radius: 4px;
-            }
-          }
-        }
-        td.el-table__cell,
-        th.el-table__cell.is-leaf {
-          border-bottom: none;
-        }
-        .el-table__cell {
-          padding: 16px 0;
-          // background: #f5f7fa;
-        }
-        .el-table__row--level-1 {
-          td {
-            background: #dfe4ec;
-          }
-        }
-        tr {
-          transition: all 0.3s;
-          &:hover {
-            td {
-              background-color: #cbd7ee;
-            }
-          }
-        }
-        &::before {
-          width: 0;
-        }
-      }
-    }
-  }
-  ::v-deep .dataStoreInfoDialog {
-    .demo-dataForm {
-      .noleft {
-        .el-form-item__content {
-          margin-left: 0 !important;
-          margin-right: 0 !important;
-          width: 300px;
-          .el-input__suffix {
-            right: 23px;
-          }
-        }
-      }
-    }
-  }
-  ::v-deep .el-input__suffix {
-    right: 15px;
-  }
-}
-</style>

+ 0 - 307
src/views/systemSettings/views/targetDataManagement/targetDataHome.vue

@@ -1,307 +0,0 @@
-<!--
- * @Author: Badguy
- * @Date: 2022-04-12 17:49:47
- * @LastEditTime: 2022-04-13 16:17:37
- * @LastEditors: your name
- * @Description: 目标数据管理-首页
- * have a nice day!
--->
-
-<template>
-  <div class="targetData-home">
-    <div class="wrap">
-      <div class="targetData-header flex">
-        <div class="manageTitle">目标数据管理</div>
-        <div class="addBtn">
-          <el-button class="button-white" size="small" @click="showAdd()">新增</el-button>
-        </div>
-      </div>
-      <div class="targetData-content">
-        <el-row :gutter="24">
-          <el-col v-for="item in dataList" :key="item.targetdataID" :span="4">
-            <div class="grid-content">
-              <div class="grid-content-hand flex">
-                <div class="title flex-wrap">
-                  <!-- <div class="name">{{ item.tdataName }}</div> -->
-                  <el-tooltip class="item" effect="dark" :content="item.tdataName" placement="bottom">
-                    <div class="name">{{ item.tdataName }}</div>
-                  </el-tooltip>
-                  <i class="loger" @click="showEditDialog(item)" />
-                </div>
-                <i class="el-icon-close icon" @click="showRemoveDialog(item)" />
-              </div>
-              <div class="dataType">
-                <span>{{item.datatypeText}}</span>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
-      </div>
-      <!--新增/编辑-->
-      <Dialog :flag="editDialogVisible" width="466px" :show-flag="true">
-        <div class="airportInfoDialog dialog-public-background">
-          <div class="title">{{ editDialogTitle }}</div>
-          <div class="content">
-            <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="140px" class="demo-ruleForm">
-              <el-form-item label="目标数据名" prop="tdataName">
-                <el-input v-model="ruleForm.tdataName" size="small" placeholder="请输入目标数据名称" />
-              </el-form-item>
-              <el-form-item label="数据类型" prop="datatype">
-                <el-select v-model="ruleForm.datatype" size="small" placeholder="请选择数据类型">
-                  <el-option label="字符串" value="1"></el-option>
-                  <el-option label="数字" value="2"></el-option>
-                  <el-option label="时间" value="3"></el-option>
-                  <el-option label="日期" value="4"></el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item label="目标数据事件标识" prop="eventID">
-                <el-input v-model="ruleForm.eventID" size="small" placeholder="请输入目标数据事件标识" />
-              </el-form-item>
-
-              <el-form-item label="目标数据描述">
-                <el-input v-model="ruleForm.dataDescribe" size="small" type="textarea" :rows="2" placeholder="请输入描述" />
-              </el-form-item>
-            </el-form>
-          </div>
-          <div class="foot center t30">
-            <el-button size="medium" type="primary" class="r25 r26" @click="submitClickHandler()">提交</el-button>
-            <el-button size="medium" class="r26" @click="resetForm('ruleForm')">取消</el-button>
-          </div>
-        </div>
-      </Dialog>
-      <!--删除弹框-->
-      <Dialog :flag="removeDialogVisible">
-        <div class="airportInfoDialog">
-          <div class="Deltitle">删除协议</div>
-          <div class="content er">
-            <div class="log">是否确认删除{{ rmObj.tdataName }}?</div>
-          </div>
-          <div class="DelFoot right t30">
-            <el-button size="medium" class="r25 r26" type="danger" @click="removeSubmit()">删除</el-button>
-            <el-button size="medium" class="r26" @click="removeDialogVisible = false">取消</el-button>
-          </div>
-        </div>
-      </Dialog>
-    </div>
-  </div>
-</template>
-
-<script>
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { Query, GeneralDataReception } from '@/api/dataIntegration'
-
-export default {
-  name: "targetDataHome",
-  components: { Dialog },
-  data () {
-    return {
-      dataList: [],
-      removeDialogVisible: false,
-      rmObj: {},
-      editDialogVisible: false,
-      editDialogTitle: "目标数据新增",
-      ruleForm: {
-        // 信息表单
-        tdataName: "",
-        dataDescribe: "",
-        eventID: "",
-        datatype: "",
-      },
-      rules: {
-        // 机器信息表单验证
-        tdataName: [
-          { required: true, message: "请输入目标数据名称", trigger: "blur" },
-        ],
-        eventID: [
-          {
-            required: true,
-            message: "请输入目标数据事件标识",
-            trigger: "blur",
-          },
-        ],
-        datatype: [
-          { required: true, message: "请选择数据类型", trigger: "blur" },
-        ],
-      },
-    };
-  },
-  created () {
-    this.getList()
-  },
-  methods: {
-    async getList () {
-      try {
-        const res = await Query({
-          id: 7,
-          dataContent: []
-        });
-        if (res.code === "0") {
-          res.returnData.forEach(element => {
-            if (element.datatype == 1) {
-              element.datatypeText = "字符串"
-            }
-            else if (element.datatype == 2) {
-              element.datatypeText = "数字"
-            }
-            else if (element.datatype == 3) {
-              element.datatypeText = "时间"
-            }
-            else if (element.datatype == 4) {
-              element.datatypeText = "日期"
-            }
-            else {
-              element.datatypeText = "其他"
-            }
-          });
-          this.dataList = res.returnData
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    showAdd () {
-      this.editDialogTitle = "新增目标数据";
-      this.editDialogVisible = true;
-    },
-    showEditDialog (item) {
-      this.$router.push({ path: '/systemSettings/targetDataEdit', query: { id: item.targetdataID } })
-    },
-    // 新增/编辑-确认
-    submitClickHandler () {
-      this.$refs["ruleForm"].validate((valid) => {
-        if (valid) {
-          this.addSubmit();
-          this.resetForm("ruleForm");
-        }
-      });
-    },
-    async addSubmit () {
-      this.ruleForm["operate"] = "1";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "7",
-          dataContent: JSON.stringify(this.ruleForm),
-        });
-        if (res.code === "0") {
-          this.$message.success(res.message ?? "成功");
-          this.getList()
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    // 删除-弹框
-    showRemoveDialog (item) {
-      this.rmObj = item;
-      this.removeDialogVisible = true;
-    },
-    // 确认删除
-    async removeSubmit () {
-      this.rmObj["operate"] = "3";
-      try {
-        const res = await GeneralDataReception({
-          serviceId: "7",
-          dataContent: JSON.stringify(this.rmObj),
-        });
-        if (res.code === "0") {
-          this.removeDialogVisible = false;
-          this.$message.success("删除成功");
-          this.getList()
-        } else {
-          this.$message.error(res.message ?? "失败");
-        }
-      } catch (error) {
-        this.$message.error("失败");
-      }
-    },
-    // 重置
-    resetForm (formName) {
-      this.ruleForm = {}
-      this.$refs[formName].resetFields();
-      this.editDialogVisible = false;
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.targetData-home {
-  .wrap {
-    padding: 16px 0;
-    .targetData-header {
-      line-height: 32px;
-      font-size: 14px;
-      .button-white {
-        border: 1px solid #9ebbf7;
-        background: #f5f7fa;
-        -webkit-box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-        border-radius: 4px;
-        font-family: Microsoft YaHei;
-        font-weight: bold;
-        color: #2d67e3;
-      }
-      margin-bottom: 30px;
-    }
-    .targetData-content {
-      .grid-content {
-        height: 120px;
-        background: #ffffff;
-        box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
-        border-radius: 4px;
-        padding: 25px;
-        margin-bottom: 24px;
-        display: flex;
-        flex-direction: column;
-        justify-content: space-between;
-        .dataType {
-          font-size: 14px;
-          font-weight: 400;
-          color: #101116;
-        }
-        .title {
-          font-size: 16px;
-          font-family: Helvetica;
-          font-weight: bold;
-          color: #101116;
-          white-space: nowrap;
-          max-width: 80%;
-          text-overflow: ellipsis;
-          overflow: hidden;
-          .name {
-            white-space: nowrap;
-            max-width: 80%;
-            text-overflow: ellipsis;
-            overflow: hidden;
-          }
-          .loger {
-            width: 14px;
-            height: 14px;
-            margin-left: 24px;
-            background: url("../../../../assets/status/ic_edit_default.png")
-              no-repeat;
-            background-size: 100% 100%;
-            cursor: pointer;
-            position: relative;
-            top: 2px;
-          }
-          .loger:hover {
-            background: url("../../../../assets/status/ic_edit_hovar.png")
-              no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-        .icon {
-          cursor: pointer;
-          font-size: 16px;
-          color: #606266;
-        }
-      }
-    }
-  }
-}
-</style>

+ 0 - 1377
src/views/systemSettings/views/warningSet/warningEdit.vue

@@ -1,1377 +0,0 @@
-<template>
-  <div class="bgBox">
-    <div class="topBox">
-      <div class="headerBox">
-        <div class="top">
-          <span class="oneColor"></span>
-          <span class="titleOne">报警预警场景</span>
-        </div>
-        <el-button class="buts" @click="editSubmit">保存</el-button>
-      </div>
-
-      <div class="formBox">
-        <el-form
-          ref="ruleForm"
-          :model="tableFormer"
-          label-width="100px"
-          v-if="viShow"
-        >
-          <el-row :gutter="24">
-            <el-col
-              v-for="(item, index) in tableColsCopys"
-              :key="index"
-              :span="6"
-            >
-              <el-form-item :label="item.columnLabel">
-                <template
-                  v-if="
-                    item.listqueryTemplateID || item.listqueryTemplateID == 0
-                  "
-                >
-                  <el-select
-                    v-model="tableFormer[item.columnName]"
-                    class="input-shadow"
-                    size="small"
-                    filterable
-                    default-first-option
-                    clearable
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in tableOptionser[item.columnName]"
-                      :key="item.v ? item.v : item.planDepartureApt"
-                      :label="item.k ? item.k : item.planDepartureApt"
-                      :value="item.v ? item.v : item.planDepartureApt"
-                    >
-                    </el-option>
-                  </el-select>
-                </template>
-                <template v-else-if="item.dataType == 'longtext'">
-                  <el-input
-                    size="small"
-                    :rows="1"
-                    type="textarea"
-                    v-model="tableFormer[item.columnName]"
-                  ></el-input>
-                </template>
-                <template v-else-if="item.dataType == 'datetime'">
-                  <el-date-picker
-                    value-format="yyyy-MM-dd"
-                    v-model="tableFormer[item.columnName]"
-                    :rows="1"
-                    type="datetime"
-                    placeholder="选择日期时间"
-                  >
-                  </el-date-picker>
-                </template>
-                <template v-else>
-                  <el-input
-                    size="small"
-                    v-model="tableFormer[item.columnName]"
-                  ></el-input>
-                </template>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-    </div>
-    <div class="centerBox">
-      <div class="wrap">
-        <DataTable
-          :data-id="dataId"
-          :rows="12"
-          labelWidth="100px"
-          :minHeight="70"
-          width="800px"
-          :isStatuser="true"
-          :isAuth="true"
-          authAdd="ss_aim_add"
-          authEdit="ss_aim_cardEdit"
-          authDel="ss_aim_cardDelete"
-          tableHeight="610"
-          :data-content="{ alarmSceneId }"
-        >
-          <template v-slot:header>
-            <div class="status flex-wrap">
-              <div class="manageTitle">报警预警策略</div>
-            </div>
-          </template>
-        </DataTable>
-      </div>
-      <!-- <DataTable
-        :data-id="dataId"
-        :rows="12"
-        labelWidth="100px"
-        :minHeight="70"
-        width="800px"
-        :isStatuser="true"
-        :isAuth="true"
-        authAdd="ss_aim_add"
-        authEdit="ss_aim_cardEdit"
-        authDel="ss_aim_cardDelete"
-        tableHeight="610"
-        :tableup="true"
-      >
-        <template v-slot:header>
-          <div class="status flex-wrap">
-            <div class="manageTitle">报警预警策略</div>
-          </div>
-        </template>
-      </DataTable> -->
-      <!-- <div class="LBox">
-        <el-row :gutter="24" @scroll="scrollEvent">
-          <el-col :span="4">
-            <div @click="addDig" class="lbox-add">
-              <div class="terminal-info-add-icons">
-                <span class="icon el-icon-plus"></span>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="4" v-for="(item, index) in infoArr" :key="index">
-            <div class="headerBoxs">
-              <div class="tltle-head">
-                <el-tooltip
-                  effect="dark"
-                  :content="item.StrategyName"
-                  placement="bottom"
-                >
-                  <div class="title flower">{{ item.StrategyName }}</div>
-                </el-tooltip>
-                <div class="edit_log" @click="editup(item)"></div>
-                <div
-                  @click="delBox(item, index)"
-                  class="el-icon-close icon posab"
-                ></div>
-              </div>
-              <div class="text item" style="margin-top: 15px">
-                <div class="adTime fwgh" style="margin-bottom: 15px">
-                  预警时长:<span class="timeER">{{
-                    item.warningDuration
-                  }}</span>
-                </div>
-                <div class="adTime fwgh">
-                  报警时长:<span class="timeER">{{ item.alarmDuration }}</span>
-                </div>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
-      </div> -->
-    </div>
-
-    <!--删除弹框-->
-    <Dialog :flag="rmFlag">
-      <div class="airportInfoDialog">
-        <div class="del-title">删除报警预警策略</div>
-        <div class="content er">
-          <div class="log"></div>
-          是否确认删除
-          <p style="color: #eb2f3b; margin-top: 0px; margin-bottom: 0px">
-            {{ this.delName }}?
-          </p>
-        </div>
-        <div class="DelFoot right t30" style="background: #ffffff">
-          <el-button
-            size="medium"
-            @click="tableRemove"
-            class="r25 buwitch"
-            type="danger"
-            >删除</el-button
-          >
-          <el-button size="medium" class="r26" @click="rmFlag = false"
-            >取消</el-button
-          >
-        </div>
-      </div>
-    </Dialog>
-    <!--新增/编辑-->
-    <!-- <Dialog :width="width" :flag="true">
-      <div class="dialog-content">
-        <div class="title">{{ tableTitle }}</div>
-        <div class="contents">
-          <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
-            <el-row :gutter="20">
-              <el-col v-for="(item, index) in tableColsCopy" :key="index">
-                <el-form-item :label="item.columnLabel">
-                  <template
-                    v-if="
-                      item.listqueryTemplateID || item.listqueryTemplateID == 0
-                    "
-                  >
-                    <el-select
-                      v-model="tableForm[item.columnName]"
-                      class="input-shadow"
-                      size="small"
-                      filterable
-                      default-first-option
-                      placeholder="请选择"
-                    >
-                      <el-option
-                        v-for="item in tableOptions[item.columnName]"
-                        :key="item.v ? item.v : item.planDepartureApt"
-                        :label="item.k ? item.k : item.planDepartureApt"
-                        :value="item.v ? item.v : item.planDepartureApt"
-                      >
-                      </el-option>
-                    </el-select>
-                  </template>
-                  <template v-else-if="item.dataType == 'longtext'">
-                    <el-input
-                      size="small"
-                      :rows="1"
-                      type="textarea"
-                      @change="inputChangeHandler(item.columnName)"
-                      v-model="tableForm[item.columnName]"
-                    ></el-input>
-                  </template>
-                  <template v-else-if="item.dataType == 'datetime'">
-                    <el-date-picker
-                      value-format="yyyy-MM-dd HH:mm:ss"
-                      v-model="tableForm[item.columnName]"
-                      :rows="1"
-                      type="datetime"
-                      placeholder="选择日期时间"
-                      @change="inputChangeHandler(item.columnName)"
-                    >
-                    </el-date-picker>
-                  </template>
-                  <template v-else>
-                    <el-input
-                      size="small"
-                      v-model="tableForm[item.columnName]"
-                      @change="inputChangeHandler(item.columnName)"
-                    ></el-input>
-                  </template>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </div>
-        <div class="foot right">
-          <el-button size="medium" @click="handleOk" class="r24" type="primary"
-            >确定</el-button
-          >
-          <el-button @click="flag = false" size="medium">取消</el-button>
-        </div>
-      </div>
-    </Dialog> -->
-  </div>
-</template>
-
-<script>
-import Dialog from "@/layout/components/Dialog/index.vue";
-import Search from "@/layout/components/Search/index.vue";
-import { Query, GeneralDataReception } from "@/api/dataIntegration";
-import { getQuery } from "@/api/flight";
-import DataTable from "@/components/Table";
-import {
-  AirlinesInquiry,
-  AirportsList,
-  AddUserWarning,
-  DelUserWarning,
-  traceNodeslist,
-  Alarmlocation,
-} from "@/api/SystemSettings.js";
-export default {
-  components: { Dialog, Search, DataTable },
-  data() {
-    return {
-      alarmSceneId: null,
-      viShow: false,
-      dataId: DATACONTENT_ID.sysServiceStrategyId,
-      id: this.$route.query.id,
-      flag: false,
-      tableFormer: {},
-      aircompeny: [],
-      infoArr: [], //报警预警策略列表
-      posType: 1,
-      arilist: [],
-      traceList: [],
-      editFalg: false,
-      posArrCopy: null,
-      delName: "",
-      DelId: "", //删除场景id
-      region: "",
-      StartNode: "",
-      StartNodeer: "",
-      EndNodeer: "",
-      EndNode: "",
-      pid: "",
-      StartPositionList: [],
-      endPositionList: [],
-      form: {
-        name: "",
-        WarningDur: "",
-        alamDur: "",
-        desc: "",
-        StartPosition: this.$route.query.StartPosition,
-        EndPosition: this.$route.query.EndPosition,
-      },
-      regform: [
-        {
-          name: "节点或位置间超时",
-          id: 1,
-        },
-        {
-          name: "临近航班起飞",
-          id: 2,
-        },
-        {
-          name: "降落后超时",
-          id: 3,
-        },
-      ],
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-        ],
-      },
-      page: 1,
-      tableTitle: "新增",
-      labelWidth: "110px",
-      dataContent: [],
-      tableCols: [],
-      tableColser: [],
-      tableColsCopy: [],
-      tableColsCopys: [],
-      tableForm: {}, //弹框表单
-      width: "560px",
-      flag: false,
-      rmFlag: false,
-      tableObj: {}, //增/删/改数据缓存
-      tableType: "",
-      noMore: false,
-      loading: false,
-      page: 1,
-      AirportList: [],
-      characterList: [], //二字码列表
-      tableOptions: {},
-      tableOptionser: {},
-    };
-  },
-  created() {
-    this.alarmSceneId = Number(this.$route.query.id);
-    this.sysServiceWarn();
-    // this.UserWarning();
-  },
-  watch: {
-    code3() {
-      this.AlarmlocationList(this.code3, "1");
-    },
-    code4() {
-      this.AlarmlocationList(this.code4, "2");
-    },
-  },
-  methods: {
-    load() {
-      //
-      if (this.noMore || this.loading) {
-        return;
-      }
-      this.getQuery();
-    },
-    //获取预警报警场景(按照ID)
-    async sysServiceWarn() {
-      try {
-        this.loading = true;
-        let arr = [];
-        arr.push(this.$route.query.id);
-        const { code, returnData } = await Query({
-          id: DATACONTENT_ID.sysServiceWarnId,
-          dataContent: arr,
-        });
-        if (code == 0) {
-          this.loading = false;
-          this.page--;
-          this.tableFormer = returnData.listValues[0]
-            ? returnData.listValues[0]
-            : {};
-          this.tableColser = returnData.columnSet;
-          this.tableColsCopys = this.tableColser.filter(
-            (item) => item.needShow
-          );
-          const datas = _.cloneDeep(this.tableColsCopys);
-          // const reqUts = [];
-          datas.forEach(async (item) => {
-            if (item.listqueryTemplateID || item.listqueryTemplateID == 0) {
-              // const reqUt = this.getSelectData(item.listqueryTemplateID)
-              // reqUts.push(reqUt)
-              if (!this.tableOptionser[item.columnName]) {
-                this.tableOptionser[item.columnName] = await this.getSelectData(
-                  item.listqueryTemplateID
-                );
-              }
-              //
-            }
-            // this.filterValues[item.columnName] = ''
-          });
-          setTimeout(() => {
-            this.viShow = true;
-          }, 300);
-        } else {
-          this.page--;
-          this.$message.error.message;
-          this.loading = false;
-        }
-      } catch (error) {
-        this.page--;
-        this.loading = false;
-      }
-    },
-    //获取开始位置
-    async AlarmlocationList(data, val) {
-      if (val == "1") {
-        const result = await Alarmlocation({ code: data });
-        if (result.code == 0) {
-          this.StartPositionList = result.returnData;
-        }
-      } else if (val == "2") {
-        const result = await Alarmlocation({ code: data });
-        if (result.code == 0) {
-          this.endPositionList = result.returnData;
-        }
-      }
-    },
-    //清除搜索
-    clearSearchData() {},
-    //模糊查询
-    findarrays(ar, feature, v) {
-      var arr = [];
-      for (var i = 0; i < ar.length; i++) {
-        var atxt = ar[i][feature];
-        var btxt = v;
-        //		将字符串按某个字符切割成若干个字符串,并以数组形式返回
-        var atxtarr = atxt.split("");
-        var btxtarr = btxt.split("");
-        var type = 0;
-        for (var k = 0; k < atxtarr.length; k++) {
-          for (var p = 0; p < btxtarr.length; p++) {
-            if (atxtarr[k] == btxtarr[p]) {
-              type = 1;
-            }
-          }
-        }
-        if (type == 1) {
-          arr.push(ar[i]);
-        }
-      }
-      return arr;
-    },
-    //搜索
-    getSearchData(val) {
-      if (val) {
-        this.infoArr = this.findarrays(this.infoArr, "name", val);
-      } else {
-        this.UserWarning();
-      }
-    },
-    closeForm() {
-      this.$refs.form.resetFields();
-    },
-    changeValue(val) {
-      this.form.name = val;
-
-      this.$forceUpdate();
-    },
-    changeValue1(val) {
-      this.form.WarningDur = val;
-      this.$forceUpdate();
-    },
-    changeValue2(val) {
-      this.form.alamDur = val;
-      this.$forceUpdate();
-    },
-    changeValue3(val) {
-      this.form.desc = val;
-      this.$forceUpdate();
-    },
-
-    //获取航司信息列表
-    async getAirlines() {
-      const res = await AirlinesInquiry({});
-      if (res.code === 0) {
-        this.aircompeny = res.returnData;
-      } else {
-        this.$message.error.message;
-      }
-    },
-    //机场列表
-    async getAirlist() {
-      const res = await AirportsList({});
-      if (res.code === 0) {
-        this.arilist = res.returnData;
-      } else {
-        this.$message.error.message;
-      }
-    },
-    //节点信息列表
-    async tracenode() {
-      const res = await traceNodeslist({});
-      if (res.code === 0) {
-        this.traceList = res.returnData;
-      } else {
-        this.$message.error.message;
-      }
-    },
-    //编辑数据
-    async editSubmit() {
-      this.tableFormer.event = 2;
-      this.generalDataReceptions(this.tableFormer);
-    },
-
-    //策略列表
-    async UserWarning() {
-      try {
-        let arr = [];
-        arr.push(this.$route.query.id);
-        const { code, returnData } = await Query({
-          id: DATACONTENT_ID.sysServiceStrategyId,
-          needPage: this.page,
-          dataContent: arr,
-        });
-        if (code == 0) {
-          this.infoArr.push(...returnData.listValues);
-          this.tableCols = returnData.columnSet;
-          this.tableColsCopy = this.tableCols.filter((item) => item.needShow);
-          const datas = _.cloneDeep(this.tableColsCopy);
-          datas.forEach(async (item) => {
-            if (item.listqueryTemplateID || item.listqueryTemplateID == 0) {
-              if (!this.tableOptions[item.columnName]) {
-                this.tableOptions[item.columnName] = await this.getSelectData(
-                  item.listqueryTemplateID
-                );
-              }
-            }
-          });
-        } else {
-          this.$message.error.message;
-          this.page--;
-        }
-      } catch (error) {
-        this.page--;
-      }
-      // const res = await UserWarningList({
-      //   sceneId: this.id,
-      // });
-      // if (res.code === 0) {
-      //   this.infoArr = res.returnData;
-      // } else {
-      //   this.$message.error.message;
-      // }
-    },
-    infoIndex() {},
-
-    delBox(item) {
-      this.rmFlag = true;
-      this.tableObj.alarmStrategyID = item.alarmStrategyID;
-    },
-    //删除
-    async remove() {
-      const res = await DelUserWarning({
-        id: this.DelId,
-      });
-      if (res.code === 0) {
-        this.$message.success("删除报警预警策略成功");
-        this.UserWarning();
-      } else {
-        this.$message.error.message;
-      }
-      this.remove = false;
-    },
-    addDig() {
-      this.flag = true;
-      this.tableType = "add";
-      this.tableForm = {};
-    },
-    editInfo(item) {
-      this.posType = 2;
-      this.editFalg = true;
-      this.form.name = item.name;
-      this.region = item.way;
-      this.form.WarningDur = item.earlyWarningTime;
-      this.form.alamDur = item.warningTime;
-      this.StartNode = item.beginNodeId;
-      this.EndNode = item.endNodeId;
-      this.form.StartPosition = item.beginLocationID;
-      this.form.EndPosition = item.endNodeLocationID;
-      this.form.desc = item.remark;
-      this.pid = item.id;
-      this.posArrCopy = _.cloneDeep(item);
-    },
-
-    close() {
-      this.editFalg = false;
-    },
-    async submit() {
-      if (this.posType === 1) {
-        const res = await AddUserWarning({
-          id: null,
-          sceneId: this.id,
-          warnName: this.form.name,
-          way: this.region,
-          earlyWarningTime: this.form.WarningDur,
-          warningTime: this.form.alamDur,
-          beginNodeId: this.StartNode,
-          endNodeId: this.EndNode,
-          beginLocationID: this.form.StartPosition,
-          endNodeLocationID: this.form.EndPosition,
-          beginLocationId: this.form.StartPosition,
-          endNodeLocationId: this.form.EndPosition,
-          remark: this.form.desc,
-        });
-        if (res.code === 0) {
-          this.editFalg = false;
-          this.UserWarning();
-          this.$message.success("新增报警预警策略成功");
-        } else {
-          this.$message.error.message;
-        }
-      } else {
-        const res = await AddUserWarning({
-          id: this.pid,
-          sceneId: this.id,
-          name: this.form.name,
-          way: this.region,
-          earlyWarningTime: this.form.WarningDur,
-          warningTime: this.form.alamDur,
-          beginNodeId: this.form.StartNode,
-          endNodeId: this.form.EndNode,
-          beginLocationId: this.form.StartPosition,
-          endNodeLocationId: this.form.EndPosition,
-          remark: this.form.desc,
-        });
-        if (res.code === 0) {
-          this.editFalg = false;
-          this.UserWarning();
-          this.$message.success("编辑报警预警策略成功");
-        } else {
-          this.$message.error.message;
-        }
-      }
-      this.closeForm();
-    },
-    // 新增/编辑-确认
-    submitClickHandler() {
-      this.$refs["ruleForm"].validate((valid) => {
-        if (valid) {
-          if (this.tableType == "add") {
-            this.tableForm.event = 1;
-          } else {
-            this.tableForm.event = 2;
-          }
-          this.generalDataReception(this.tableForm);
-        } else {
-          return false;
-        }
-      });
-    },
-    //表格-增/删/改
-    async generalDataReception(data) {
-      try {
-        data = {
-          ...data,
-        };
-        const { code, message } = await GeneralDataReception({
-          serviceId: DATACONTENT_ID.sysServiceStrategyaddId,
-          dataContent: JSON.stringify(data),
-        });
-        if (code == 0) {
-          this.$message.success("操作成功");
-          this.infoArr = [];
-          this.page = 1;
-          this.UserWarning();
-          this.flag = false;
-          this.rmFlag = false;
-          this.tableObj = {};
-          this.tableForm = {};
-        } else {
-          this.$message.error("操作失败");
-          this.flag = false;
-          this.rmFlag = false;
-          this.tableObj = {};
-          this.tableForm = {};
-        }
-      } catch (error) {
-        this.flag = false;
-        this.rmFlag = false;
-        this.tableObj = {};
-        this.tableForm = {};
-      }
-    },
-    //表格-删除-确认
-    tableRemove() {
-      this.tableObj.event = 3;
-      this.generalDataReception(this.tableObj);
-    },
-    //弹框-确定
-    handleOk() {
-      this.submitClickHandler();
-    },
-    //表格-增/删/改
-    async generalDataReceptions(data) {
-      try {
-        data = {
-          ...data,
-        };
-        const { code, message } = await GeneralDataReception({
-          serviceId: DATACONTENT_ID.sysServiceaddId,
-          dataContent: JSON.stringify(data),
-        });
-        if (code == 0) {
-          this.$message.success("操作成功");
-          this.$router.push({
-            path: "/BasicsData/warningSet",
-          });
-        } else {
-          this.$message.error("操作失败");
-        }
-      } catch (error) {}
-    },
-    //编辑
-    editup(data) {
-      this.flag = true;
-      this.tableType = "";
-      this.tableForm = JSON.parse(JSON.stringify(data));
-    },
-    // 选择机场
-    async getAirPortData() {
-      try {
-        const res = await getQuery({
-          id: DATACONTENT_ID.departureAirId,
-          dataContent: [],
-        });
-        if (Number(res.code) === 0) {
-          this.AirportList = res.returnData.listValues;
-          // this.formData.currentAirport = "PEK";
-          // this.getAviationData();
-          // this.upAviationData();
-          // this.resetLoopEvent();
-        } else {
-          this.$message.error(res.message);
-        }
-      } catch (error) {}
-    },
-    //选择二字码
-    async getCharacterData() {
-      try {
-        const res = await getQuery({
-          id: DATACONTENT_ID.twoCharacterOptions,
-          dataContent: [],
-        });
-        if (Number(res.code) === 0) {
-          this.characterList = res.returnData.listValues;
-          // this.formData.currentAirport = "PEK";
-          // this.getAviationData();
-          // this.upAviationData();
-          // this.resetLoopEvent();
-        } else {
-          this.$message.error(res.message);
-        }
-      } catch (error) {}
-    },
-    // 列表滚动事件
-    scrollEvent(e) {
-      if (
-        e.srcElement.offsetHeight +
-          e.srcElement.scrollTop -
-          e.srcElement.scrollHeight ===
-        0
-      ) {
-        if (this.isUpdate) {
-          this.page += 1;
-          this.UserWarning();
-        } else {
-          this.$message.warning("到底了");
-        }
-      }
-    },
-    changeSelect(data) {
-      if (this.tableForm[data] === "") {
-        this.tableForm[data] = null;
-      }
-      this.tableForm[this.tableOptions[data][0].setvalue] =
-        this.tableForm[data];
-      //
-    },
-    //获取弹框-下拉数据
-    async getSelectData(id) {
-      const { code, returnData } = await Query({
-        id,
-        dataContent: [],
-      });
-      if (code == 0) {
-        return returnData.listValues;
-      } else {
-        return [];
-      }
-    },
-    changeSelects(data) {
-      if (this.tableFormer[data] === "") {
-        this.tableFormer[data] = null;
-      }
-      this.tableFormer[this.tableOptionser[data][0].setvalue] =
-        this.tableFormer[data];
-      //
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.bgBox {
-  padding: 0;
-  width: 100%;
-
-  .log {
-    width: 26px;
-    height: 26px;
-    background: #eb2f3b;
-    border-radius: 50%;
-    margin-right: 15px;
-    background: url("../../../../assets/index/ic_close_hint.png") no-repeat;
-    background-size: 100% 100%;
-  }
-  .er {
-    display: flex;
-    align-items: center;
-  }
-  // ::v-deep .el-input__suffix {
-  //   right: 0;
-  // }
-  ::v-deep .el-dialog__body {
-    padding-left: 0 !important;
-    padding-right: 0 !important;
-    // padding-top: 20px !important;
-    padding-bottom: 0px;
-  }
-  ::v-deep .el-form-item__content {
-    margin-left: 0;
-  }
-  ::v-deep .el-dialog__headerbtn {
-    top: 17px;
-    color: #ffffff;
-  }
-  ::v-deep .el-date-editor {
-    width: 100%;
-  }
-  ::v-deep .el-dialog__close {
-    color: #ffffff;
-  }
-  ::v-deep .el-range-separator {
-    line-height: 27px;
-  }
-  ::v-deep .el-range__icon {
-    line-height: 27px;
-  }
-  ::v-deep .el-dialog__header {
-    width: 100%;
-    height: 36px;
-    display: -webkit-box;
-    display: -ms-flexbox;
-    display: flex;
-    background: #2d67e3;
-    padding: 0 16px 0 16px;
-    display: flex;
-    align-items: center;
-    display: none;
-  }
-  ::v-deep .el-dialog__title {
-    color: #ffffff !important;
-    font-size: 16px !important;
-    margin-bottom: 15px;
-  }
-}
-.timeER {
-  font-size: 14px;
-  font-family: Helvetica;
-  font-weight: 400;
-  color: #afb4bf;
-}
-.box-card {
-  width: 268px;
-  height: 144px;
-  margin-left: 18px;
-  margin-top: 24px;
-  background: #fff;
-  box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-  border-radius: 4px;
-}
-.headerBox {
-  padding: 16px 32px 16px 16px;
-  display: flex;
-  justify-content: space-between;
-  .tltle-head {
-    display: flex;
-    width: 100%;
-    flex-direction: row;
-    justify-content: flex-start;
-    align-items: center;
-  }
-  .el-button {
-    width: 64px;
-    height: 32px;
-    background: #2d67e3;
-    border-radius: 4px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    font-size: 14px;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    color: #ffffff;
-  }
-}
-.text {
-  font-size: 14px;
-}
-
-.item {
-  padding: 18px 0;
-}
-
-.box-card {
-  width: 216px;
-  height: 104px;
-  margin-top: -13px;
-  cursor: pointer;
-  margin-left: 35px;
-  background: #f5f7fa;
-  box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-  border-radius: 8px;
-}
-.topBox {
-  // height: 280px;
-  background: #ffffff;
-  box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-  border-radius: 4px;
-  margin-bottom: 25px;
-}
-.headerBoxs {
-  height: 144px;
-  padding: 24px 24px 20px 18px;
-  background: #ffffff;
-  border-radius: 4px;
-  margin-bottom: 24px;
-  position: relative;
-  .posab {
-    position: absolute;
-    right: 12px;
-  }
-  .tltle-head {
-    display: flex;
-    // justify-content: space-between;
-    align-items: center;
-  }
-  .el-button {
-    width: 64px;
-    height: 32px;
-    background: #2d67e3;
-    border-radius: 4px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    font-size: 14px;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    color: #ffffff;
-  }
-}
-
-.top {
-  display: flex;
-  align-items: center;
-  flex-direction: row;
-}
-
-.oneColor {
-  width: 4px;
-  height: 20px;
-  margin-right: 12px;
-  background: #2d67e3;
-}
-.titleOne {
-  width: 144px;
-  font-size: 20px;
-  font-family: Microsoft YaHei;
-  font-weight: bold;
-  color: #303133;
-}
-
-.formBox {
-  display: flex;
-  flex-wrap: wrap;
-  width: 100%;
-  padding-right: 24px;
-  padding-left: 24px;
-  ::v-deep .el-input__suffix {
-    top: 0px;
-  }
-}
-::v-deep .el-input__prefix {
-  left: 17px;
-}
-::v-deep .el-row {
-  width: 100%;
-}
-::v-deep .el-select {
-  width: 100%;
-}
-::v-deep .formBox {
-  .el-input__inner {
-    margin-left: 15px;
-    // width: 160px;
-    height: 32px;
-    background: #fff;
-    border: 1px solid #d7dae3;
-    border-radius: 4px;
-  }
-  // .digName4 {
-  //   display: flex;
-  //   .el-input {
-  //     width: 58%;
-  //   }
-  // }
-  // .digName4 .el-input__inner {
-  //   // width: 400px;
-  //   height: 32px;
-  //   margin-left: 16px;
-  //   background: #fff;
-  //   border: 1px solid #d7dae3;
-  //   border-radius: 4px;
-  // }
-
-  // .digName {
-  //   width: 100%;
-  //   display: flex;
-  //   justify-content: space-around;
-  //   //   flex-direction: row;
-  // }
-  // .aviName {
-  //   display: flex;
-  //   flex-direction: row;
-  //   margin-bottom: 24px;
-  //   width: 100%;
-  //   margin-right: 10px;
-  //   text-align: right;
-  //   > .el-input {
-  //     width: 58%;
-  //   }
-  //   .el-select {
-  //     width: 58%;
-  //   }
-  // }
-  // .aviName1 {
-  //   // width: 25%;
-  //   width: 100%;
-  //   display: flex;
-  //   flex-direction: row;
-  //   margin-bottom: 24px;
-  //   margin-right: 38px;
-  //   text-align: right;
-  //   justify-content: center;
-  //   .aviP5 {
-  //     width: 82px;
-  //     line-height: 30px;
-  //   }
-  //   .el-input__inner {
-  //     width: 231px;
-  //     height: 32px;
-  //     background: #fff;
-  //   }
-  //   .el-input__prefix {
-  //     left: 17px;
-  //     top: -3px;
-  //   }
-  //   .el-input__suffix {
-  //     top: -3px;
-  //   }
-  //   // .el-input__suffix {
-  //   //   top: -2;
-  //   // }
-  //   // .el-input__icon {
-  //   //   margin-left: 10px;
-  //   // }
-  // }
-  // .aviName2 {
-  //   display: flex;
-  //   flex-direction: row;
-  //   margin-bottom: 24px;
-  //   margin-right: 10px;
-  //   text-align: right;
-  //   .el-textarea__inner {
-  //     width: 972px;
-  //     height: 32px;
-  //   }
-  // }
-  // .aviP {
-  //   width: 110px;
-  //   height: 32px;
-  //   line-height: 32px;
-  //   color: #303133;
-  // }
-  // .aviP1 {
-  //   width: 110px;
-  //   text-align: right;
-  //   height: 32px;
-  //   line-height: 32px;
-  //   color: #303133;
-  // }
-  // .aviP2 {
-  //   width: 83px;
-  //   display: flex;
-  //   justify-content: flex-start;
-  //   padding-left: 2px;
-  //   text-align: right;
-  //   height: 32px;
-  //   line-height: 32px;
-  //   color: #303133;
-  // }
-  // .aviP3 {
-  //   width: 64px;
-  //   height: 32px;
-  //   line-height: 32px;
-  //   text-align: right;
-  //   margin-right: 40px;
-  // }
-}
-.centerBox {
-  height: 610px;
-  padding: 0 0 22px 0;
-  // background: #ffffff;
-  // box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-  // border-radius: 4px;
-}
-.centerTitle {
-  width: 126px;
-  height: 18px;
-  font-size: 18px;
-  font-weight: bold;
-  color: #303133;
-}
-.delIcon {
-  cursor: pointer;
-  width: 24px;
-  height: 24px;
-  background: #000000;
-  opacity: 0.8;
-  border-radius: 50%;
-  color: #ffffff;
-  font-weight: bold;
-  text-align: center;
-  line-height: 24px;
-  margin-left: 232px;
-}
-
-.centerCard {
-  display: flex;
-  flex-wrap: wrap;
-  width: 100%;
-}
-.boxFlex {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-.addIcon {
-  color: #d7dae3;
-  font-size: 60px;
-}
-.LBox {
-  height: 100%;
-  display: flex;
-  flex-wrap: wrap;
-  width: 100%;
-  // margin-left: 30px;
-  margin-top: 16px;
-  margin-bottom: 20px;
-}
-.lbox-add {
-  height: 144px;
-  background: #f5f7fa;
-  border: 1px dashed #9ebbf7;
-  border-radius: 8px;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  cursor: pointer;
-  .icon {
-    font-size: 31px;
-    color: #9ebbf7;
-  }
-}
-.forBox {
-  width: 230px;
-  height: 120px;
-  margin-bottom: 24px;
-  background: #f5f7fa;
-  box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-  border-radius: 2px;
-  padding: 24px;
-  position: relative;
-  margin-right: 24px;
-  cursor: pointer;
-  .name {
-    font-size: 18px;
-    font-family: Microsoft YaHei;
-    font-weight: bold;
-    color: #303133;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-  }
-  .edit {
-    margin-top: 32px;
-    position: relative;
-    .round {
-      display: inline-block;
-      width: 28px;
-      height: 28px;
-      // background: #f5f7fa;
-      border-radius: 50%;
-      line-height: 28px;
-      text-align: center;
-      // box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      position: absolute;
-      right: 0px;
-      i {
-        color: #fff;
-      }
-    }
-  }
-  .close {
-    width: 24px;
-    height: 24px;
-    background: #000000;
-    opacity: 0.8;
-    border-radius: 50%;
-    position: absolute;
-    right: -12px;
-    line-height: 24px;
-    text-align: center;
-    top: -12px;
-    i {
-      color: #fff;
-    }
-  }
-  &:last-child {
-    margin-right: 0;
-  }
-}
-.active {
-  background: #6e82a7;
-  .name {
-    color: #fff;
-  }
-  .edit {
-    .round {
-      background: #fff;
-      i {
-        color: #6e82a7;
-      }
-    }
-  }
-}
-::v-deep .DigClass {
-  .el-dialog {
-    // border-radius: 20px;
-    width: 462px;
-  }
-  .el-dialog__header {
-    padding: 35px 46px 10px;
-  }
-  .el-dialog__title {
-    font-size: 24px;
-    font-weight: bold;
-    color: #303133;
-  }
-}
-::v-deep .EditDig {
-  .itemBox {
-    display: flex;
-    justify-content: space-around;
-  }
-  .el-dialog {
-    // border-radius: 20px;
-    width: 600px;
-    display: flex;
-    display: -ms-flex; /* 兼容IE */
-    flex-direction: column;
-    -ms-flex-direction: column; /* 兼容IE */
-    margin: 0 !important;
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-    max-height: calc(100% - 30px);
-    max-width: calc(100% - 30px);
-    // height: 515px;
-  }
-  .el-input__inner {
-    width: 160px;
-    height: 32px;
-    background: #ffffff;
-    border: 1px solid #d7dae3;
-    border-radius: 4px;
-  }
-  .el-textarea__inner {
-    width: 462px;
-    height: 96px;
-    background: #ffffff;
-    border: 1px solid #d7dae3;
-    border-radius: 4px;
-  }
-  .el-dialog__header {
-    padding: 35px 46px 10px;
-  }
-  .el-dialog__footer {
-    padding-left: 0px;
-    padding-right: 0px;
-    padding-bottom: 0;
-  }
-  .el-dialog__title {
-    font-size: 24px;
-    font-weight: bold;
-    color: #303133;
-  }
-
-  .dialog-footer {
-    height: 56px;
-    display: flex;
-    justify-content: flex-end;
-    align-items: center;
-    padding-right: 34px;
-    background: #f0f5ff;
-    padding-bottom: 0;
-  }
-}
-</style>

+ 0 - 830
src/views/systemSettings/views/warningSet/warningSet.vue

@@ -1,830 +0,0 @@
-<!--
- * @Author: your name
- * @Date: 2021-11-17 13:43:26
- * @LastEditTime: 2021-11-17 13:43:27
- * @LastEditors: Please set LastEditors
- * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- * @FilePath: \CABaggageData\src\views\dashboard\views\about.vue
--->
-
-<template>
-  <div class="airportInfo">
-    <div class="wrap">
-      <DataTable
-        :data-id="dataId"
-        :rows="12"
-        labelWidth="100px"
-        :minHeight="70"
-        width="800px"
-        :isStatuser="true"
-        :isAuth="true"
-        authAdd="ss_aim_add"
-        authEdit="ss_aim_cardEdit"
-        authDel="ss_aim_cardDelete"
-        tableHeight="660"
-        :tableup="true"
-      >
-        <template v-slot:header>
-          <div class="status flex-wrap">
-            <div class="manageTitle">报警预警设置</div>
-          </div>
-        </template>
-      </DataTable>
-    </div>
-    <!--新增/编辑-->
-    <Dialog :width="width" :flag="flag">
-      <div class="dialog-content">
-        <div class="title">{{ tableTitle }}</div>
-        <div class="contents">
-          <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
-            <el-row :gutter="20">
-              <el-col v-for="(item, index) in tableColsCopy" :key="index">
-                <el-form-item :label="item.columnLabel">
-                  <template
-                    v-if="
-                      item.listqueryTemplateID || item.listqueryTemplateID == 0
-                    "
-                  >
-                    <el-select
-                      v-model="tableForm[item.columnName]"
-                      class="input-shadow"
-                      size="small"
-                      filterable
-                      default-first-option
-                      placeholder="请选择"
-                    >
-                      <el-option
-                        v-for="item in tableOptions[item.columnName]"
-                        :key="item.v ? item.v : item.planDepartureApt"
-                        :label="item.k ? item.k : item.planDepartureApt"
-                        :value="item.v ? item.v : item.planDepartureApt"
-                      >
-                      </el-option>
-                    </el-select>
-                  </template>
-                  <template v-else-if="item.dataType == 'longtext'">
-                    <el-input
-                      size="small"
-                      :rows="1"
-                      type="textarea"
-                      @change="inputChangeHandler(item.columnName)"
-                      v-model="tableForm[item.columnName]"
-                    ></el-input>
-                  </template>
-                  <template v-else-if="item.dataType == 'datetime'">
-                    <el-date-picker
-                      value-format="yyyy-MM-dd HH:mm:ss"
-                      v-model="tableForm[item.columnName]"
-                      :rows="1"
-                      type="datetime"
-                      placeholder="选择日期时间"
-                      @change="inputChangeHandler(item.columnName)"
-                    >
-                    </el-date-picker>
-                  </template>
-                  <template v-else>
-                    <el-input
-                      size="small"
-                      v-model="tableForm[item.columnName]"
-                      @change="inputChangeHandler(item.columnName)"
-                    ></el-input>
-                  </template>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </div>
-        <div class="foot right">
-          <el-button size="medium" @click="handleOk" class="r24" type="primary"
-            >确定</el-button
-          >
-          <el-button @click="flag = false" size="medium">取消</el-button>
-        </div>
-      </div>
-    </Dialog>
-    <!--删除弹框-->
-    <Dialog :flag="rmFlag">
-      <div class="airportInfoDialog">
-        <div class="del-title">删除报警预警信息</div>
-        <div class="content er">
-          <div class="log"></div>
-          是否确认删除
-          <p style="color: #eb2f3b; margin-top: 0px; margin-bottom: 0px">
-            {{ warnname }}
-          </p>
-          ?
-        </div>
-        <div class="DelFoot right t30">
-          <el-button
-            size="medium"
-            @click="tableRemove"
-            class="r25 buwitch"
-            type="danger"
-            >删除</el-button
-          >
-          <el-button size="medium" class="r26" @click="rmFlag = false"
-            >取消</el-button
-          >
-        </div>
-      </div>
-    </Dialog>
-    <!-- 新增 -->
-    <!-- <div class="EditDig">
-      <el-dialog title="新增报警预警信息" :visible.sync="EditDialogVisible">
-        <el-form ref="form" :model="form" :rules="rules" label-width="110px" size="small ">
-          <el-row :gutter="20">
-            <el-col :span="12">
-              <el-form-item label="名称" prop="name">
-                <el-input v-model="form.name" placeholder="请输入名称(必填)"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="航司" prop="code2">
-                <el-select v-model="form.code2" placeholder="请选择航司">
-                  <el-option v-for="item in aircompeny" :key="item.value" :label="item.airCompanyName" :value="item.code2"> </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row :gutter="20">
-            <el-col :span="12">
-              <el-form-item label="起飞机场" prop="code3">
-                <el-select v-model="form.code3" placeholder="请选择起飞机场">
-                  <el-option v-for="item in arilist" :key="item.value1" :label="item.name" :value="item.code3"> </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="降落机场" prop="code4">
-                <el-select v-model="form.code4" placeholder="请选择降落机场">
-                  <el-option v-for="item in arilist" :key="item.value2" :label="item.name" :value="item.code3"> </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row :gutter="20">
-            <el-col :span="24">
-              <el-form-item label="航班号" prop="FlightNO">
-                <el-input v-model="form.FlightNO" placeholder="航班号"></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <div class="digName2">
-              <span class="aviP2">起止时间</span>
-              <el-date-picker v-model="BeginTime1" type="datetimerange" value-format="yyyy-MM-dd hh:mm:ss" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
-              </el-date-picker>
-            </div>
-          </el-col>
-        </el-row>
-
-        <div class="digName3">
-          <span class="aviP1">备注</span>
-          <el-input type="textarea" v-model="desc" resize="none" :autosize="{ minRows: 5, maxRows: 5 }"></el-input>
-        </div>
-        <span slot="footer" class="dialog-footer">
-          <div class="btnstyle">
-            <el-button class="r25 r26" type="primary" @click="addSubmit">提 交</el-button>
-            <el-button class="r26" @click="EditDialogVisible = false">取 消</el-button>
-          </div>
-        </span>
-      </el-dialog>
-    </div> -->
-  </div>
-</template>
-
-<script>
-import Search from "@/layout/components/Search/index.vue";
-import { findarrays } from "@/utils/validate";
-import {
-  AddWarning,
-  AirlinesInquiry,
-  DelWarning,
-} from "@/api/SystemSettings.js";
-import Dialog from "@/layout/components/Dialog/index.vue";
-import { getQuery } from "@/api/flight";
-import DataTable from "@/components/Table";
-import { Query, GeneralDataReception } from "@/api/dataIntegration";
-export default {
-  components: { Search, Dialog, DataTable },
-  data() {
-    return {
-      dataId: DATACONTENT_ID.sysServiceWarningId,
-      flag: false,
-      EditDialogVisible: false,
-      name: "",
-      desc: "",
-      tableTitle: "新增",
-      labelWidth: "110px",
-      page: 1,
-      isUpdate: true, // 是否到底-最后一页
-      warningArr: [],
-      warnname: "",
-      arilist: [],
-      delId: "",
-      aircompeny: [],
-      BeginTime1: [], //起止时间
-      code2: "",
-      code3: "",
-      code4: "",
-      form: {
-        name: "",
-        code2: "",
-        code3: "",
-        code4: "",
-        FlightNO: "",
-      },
-      rules: {
-        name: [{ required: true, message: "请输入名称", trigger: "blur" }],
-        code2: [{ required: true, message: "请输入航司", trigger: "change" }],
-        code3: [
-          { required: true, message: "请输入起飞机场", trigger: "change" },
-        ],
-        code4: [
-          { required: true, message: "请输入起飞机场", trigger: "change" },
-        ],
-        FlightNO: [
-          { required: true, message: "请输入航班号", trigger: "blur" },
-        ],
-      },
-      FlightNO: "", //航班号
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-        ],
-      },
-      dataContent: [],
-      tableCols: [],
-      tableColsCopy: [],
-      tableForm: {}, //弹框表单
-      width: "560px",
-      flag: false,
-      rmFlag: false,
-      tableObj: {}, //增/删/改数据缓存
-      tableType: "",
-      tableOptions: {},
-    };
-  },
-  created() {
-    // this.getWarningList();
-    // this.getAirlines();
-    // this.getAirlist();
-  },
-  methods: {
-    getSearchData(val) {
-      if (val) {
-        this.warnin, (gArr = findarrays(this.warningArr, "IATACode", val));
-      } else {
-        this.getWarningList();
-      }
-    },
-    inputChangeHandler(data) {
-      if (this.tableForm[data] === "") {
-        this.tableForm[data] = null;
-      }
-    },
-    //场景列表
-    async getWarningList() {
-      try {
-        const { code, returnData } = await Query({
-          id: DATACONTENT_ID.sysServiceWarningId,
-          needPage: this.page,
-          dataContent: this.dataContent,
-        });
-        if (code == 0) {
-          this.isUpdate = false;
-          returnData.listValues.forEach((element) => {
-            this.warningArr.push(element);
-          });
-          this.tableCols = returnData.columnSet;
-          this.tableColsCopy = this.tableCols.filter((item) => item.needShow);
-          const datas = _.cloneDeep(this.tableColsCopy);
-          // const reqUts = [];
-          datas.forEach(async (item) => {
-            if (item.listqueryTemplateID || item.listqueryTemplateID == 0) {
-              // const reqUt = this.getSelectData(item.listqueryTemplateID)
-              // reqUts.push(reqUt)
-              if (!this.tableOptions[item.columnName]) {
-                this.tableOptions[item.columnName] = await this.getSelectData(
-                  item.listqueryTemplateID
-                );
-              }
-              //
-            }
-            // this.filterValues[item.columnName] = ''
-          });
-        } else {
-          this.page--;
-          this.$message.error.message;
-        }
-      } catch (error) {
-        this.page--;
-      }
-    },
-    // 列表滚动事件
-    scrollEvent(e) {
-      if (
-        e.srcElement.offsetHeight +
-          e.srcElement.scrollTop -
-          e.srcElement.scrollHeight ===
-        0
-      ) {
-        if (this.isUpdate) {
-          this.page += 1;
-          this.getWarningList();
-        } else {
-          this.$message.warning("到底了");
-        }
-      }
-    },
-    delBtn(item, index) {
-      this.delId = item.id;
-      this.warnname = item.warnName;
-      this.rmFlag = true;
-      this.tableObj.alarmSceneId = item.alarmSceneId;
-    },
-    //删除
-    async remove() {
-      const res = await DelWarning({
-        id: this.delId,
-      });
-      if (res.code === 0) {
-        this.$message.success("删除报警预警信息成功");
-        this.getWarningList();
-      } else {
-        this.$message.error.message;
-      }
-      this.rmFlag = false;
-    },
-    handleAdd() {
-      this.flag = true;
-      this.tableType = "add";
-    },
-    //获取航司信息列表
-    async getAirlines() {
-      const res = await AirlinesInquiry({});
-      if (res.code === 0) {
-        this.aircompeny = res.returnData;
-      } else {
-        this.$message.error.message;
-      }
-    },
-    //弹框-确定
-    handleOk() {
-      this.submitClickHandler();
-    },
-    // 新增/编辑-确认
-    submitClickHandler() {
-      this.$refs["ruleForm"].validate((valid) => {
-        if (valid) {
-          if (this.tableType == "add") {
-            this.tableForm.event = 1;
-          } else {
-            this.tableForm.event = 2;
-          }
-          this.generalDataReception(this.tableForm);
-        } else {
-          return false;
-        }
-      });
-    },
-    //增/删/改
-    async generalDataReception(data) {
-      try {
-        data = {
-          ...data,
-        };
-        const { code, message } = await GeneralDataReception({
-          serviceId: DATACONTENT_ID.sysServiceaddId,
-          dataContent: JSON.stringify(data),
-        });
-        if (code == 0) {
-          this.$message.success("操作成功");
-          this.warningArr = [];
-          this.page = 1;
-          this.getWarningList();
-          this.flag = false;
-          this.rmFlag = false;
-          this.tableObj = {};
-          this.tableForm = {};
-        } else {
-          this.$message.error("操作失败");
-          this.flag = false;
-          this.rmFlag = false;
-          this.tableObj = {};
-          this.tableForm = {};
-        }
-      } catch (error) {
-        this.flag = false;
-        this.rmFlag = false;
-        this.tableObj = {};
-        this.tableForm = {};
-      }
-    },
-    //获取弹框-下拉数据
-    async getSelectData(id) {
-      const { code, returnData } = await Query({
-        id,
-        dataContent: [],
-      });
-      if (code == 0) {
-        return returnData.listValues;
-      } else {
-        return [];
-      }
-    },
-
-    //新增数据
-    async addSubmit() {
-      let arr = 0;
-      this.$refs["form"].validate((valid) => {
-        if (valid) {
-          arr = 1;
-        } else {
-          arr = 0;
-          return false;
-        }
-      });
-      if (arr == 1) {
-        const res = await AddWarning({
-          id: null,
-          warnName: this.form.name,
-          desc: this.desc,
-          flightNO: this.form.FlightNO,
-          airportCode2: this.form.code2,
-          departureAirport: this.form.code3,
-          ladingAirport: this.form.code4,
-          beginTime: this.BeginTime1[0],
-          endTime: this.BeginTime1[1],
-        });
-        if (res.code === 0) {
-          this.$message.success("新增报警预警信息成功");
-          this.getWarningList();
-          this.form.name = null;
-          this.desc = null;
-          this.form.FlightNO = null;
-          this.form.code2 = null;
-          this.form.code3 = null;
-          this.form.code4 = null;
-          this.BeginTime1 = null;
-        } else {
-          this.$message.error.message;
-        }
-        this.EditDialogVisible = false;
-      }
-    },
-    gotoAram(item, index) {
-      this.$router.push({
-        path: "/systemSettings/warningEdit",
-        query: {
-          id: item.alarmSceneId,
-        },
-      });
-    },
-    //表格-删除-确认
-    tableRemove() {
-      this.tableObj.event = 3;
-      this.generalDataReception(this.tableObj);
-    },
-    changeSelect(data) {
-      if (this.tableForm[data] === "") {
-        this.tableForm[data] = null;
-      }
-      this.tableForm[this.tableOptions[data][0].setvalue] =
-        this.tableForm[data];
-      //
-    },
-    // 选择机场
-    async getAirPortData() {
-      try {
-        const res = await getQuery({
-          id: DATACONTENT_ID.departureAirId,
-          dataContent: [],
-        });
-        if (Number(res.code) === 0) {
-          this.AirportList = res.returnData.listValues;
-          // this.formData.currentAirport = "PEK";
-          // this.getAviationData();
-          // this.upAviationData();
-          // this.resetLoopEvent();
-        } else {
-          this.$message.error(res.message);
-        }
-      } catch (error) {}
-    },
-  },
-};
-</script>
-
-<style  lang='scss' scoped>
-.airportInfo {
-  margin-top: 40px;
-  .title {
-    font-size: 16px;
-    font-family: Microsoft YaHei;
-    font-weight: bold;
-    color: #101116;
-    // max-width: calc(100% - 40px);
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-  }
-  .log {
-    width: 26px;
-    height: 26px;
-    background: #eb2f3b;
-    border-radius: 50%;
-    margin-right: 15px;
-    background: url("../../../../assets/index/ic_close_hint.png") no-repeat;
-    background-size: 100% 100%;
-  }
-  .er {
-    display: flex;
-    align-items: center;
-  }
-}
-.text {
-  font-size: 14px;
-  cursor: pointer;
-}
-
-.item {
-  margin-bottom: 18px;
-}
-.adTime {
-  display: flex;
-  justify-content: flex-start;
-  flex-direction: row;
-  font-weight: bold;
-  margin-bottom: 14px;
-  // margin-left: 10px;
-  font-size: 14px;
-  font-family: Microsoft YaHei;
-  font-weight: 400;
-  color: #101116;
-}
-.timeSt {
-  // width: 141px;
-  height: 13px;
-  font-size: 14px;
-  font-weight: 400;
-  color: #909399;
-}
-.delBtn {
-  display: flex;
-}
-.headerBox {
-  padding-top: 24px;
-  // padding-bottom: 24px;
-  display: flex;
-  justify-content: space-between;
-  .tltle-head {
-    display: flex;
-    width: calc(100% - 15px);
-    flex-direction: row;
-    justify-content: flex-start;
-    align-items: center;
-  }
-}
-.iconBox {
-  margin-right: 80px;
-  display: flex;
-  align-items: center;
-}
-.edit_log {
-  margin-bottom: 18px;
-  // top: -2px;
-}
-::v-deep .aviInfo {
-  width: 100%;
-  margin-top: 20px;
-  display: flex;
-  flex-wrap: wrap;
-  img {
-    margin: 0 auto;
-    margin-top: 10%;
-    display: -webkit-box;
-    -webkit-box-pack: center;
-    -webkit-box-align: center;
-    -webkit-box-orient: vertical;
-    text-align: center;
-  }
-  .box-card {
-    padding-left: 24px;
-    padding-right: 12px;
-    // width: 268px;
-    height: 144px;
-    // margin-left: 18px;
-    margin-top: 24px;
-    background: #fff;
-    box-shadow: 0px 6px 7px 0px rgb(0 0 0 / 6%);
-    border-radius: 4px;
-  }
-  .el-card__body {
-    padding: 0;
-  }
-  .el-card__header {
-    border: none;
-  }
-}
-::v-deep .el-row {
-  width: 100%;
-}
-::v-deep .el-select {
-  width: 100%;
-}
-::v-deep .el-date-editor.el-input,
-.el-date-editor.el-input__inner {
-  width: 100%;
-}
-// ::v-deep .EditDig {
-//   .el-dialog {
-//     width: 600px;
-//     height: 450px;
-//     border-radius: 2px;
-//     display: flex;
-//     display: -ms-flex; /* 兼容IE */
-//     flex-direction: column;
-//     -ms-flex-direction: column; /* 兼容IE */
-//     margin: 0 !important;
-//     position: absolute;
-//     top: 50%;
-//     left: 50%;
-//     transform: translate(-50%, -50%);
-//     max-height: calc(100% - 30px);
-//     max-width: calc(100% - 30px);
-//     .el-dialog__body {
-//       padding: 20px 20px 0 20px !important;
-//     }
-//     .el-dialog__footer {
-//       padding: 0 19px 0 0;
-//       background: #f0f5ff;
-//     }
-//     .dialog-footer {
-//       width: 100%;
-//       // background: #f0f5ff;
-//       border-radius: 2px;
-//       display: flex;
-//       height: 56px;
-//       line-height: 56px;
-//       justify-content: flex-end;
-//       .el-button {
-//         // height: 35px;
-
-//         text-align: center;
-//       }
-//       .el-button-primary {
-//         background: #2d67e3 !important;
-//         border-radius: 4px;
-//       }
-//       .btnstyle {
-//         width: 100%;
-//         height: 100%;
-//         // margin-right: 22px;
-//         // margin-top: 10px;
-//         display: flex;
-//         justify-content: flex-end;
-//         align-items: center;
-//       }
-//     }
-//   }
-//   .el-dialog__header {
-//     padding: 10px 20px 10px;
-//     height: 36px;
-//     background: #2d67e3;
-//   }
-//   .el-dialog__title {
-//     font-size: 16px;
-//     font-weight: bold;
-//     color: #fff;
-//   }
-//   .el-date-editor .el-range__icon {
-//     line-height: 24px;
-//   }
-//   .el-range-separator {
-//     line-height: 24px;
-//   }
-//   .el-dialog__headerbtn {
-//     top: 11px;
-//   }
-//   .el-dialog__headerbtn .el-dialog__close {
-//     color: #fff;
-//   }
-
-//   .digName .el-input__inner {
-//     margin-left: 15px;
-//     width: 160px;
-//     height: 32px;
-//     background: #ffffff;
-//     border: 1px solid #d7dae3;
-//     border-radius: 4px;
-//   }
-//   .digName1 {
-//     display: flex;
-//     margin-left: 31px;
-//     margin-bottom: 20px;
-//   }
-
-//   .digName1 .el-input__inner {
-//     width: 464px;
-//     height: 32px;
-//     margin-left: 16px;
-//     background: #ffffff;
-//     border: 1px solid #d7dae3;
-//     border-radius: 4px;
-//   }
-//   .digName3 .el-textarea__inner {
-//     width: 455px;
-//     height: 96px;
-//     margin-left: 16px;
-//     background: #ffffff;
-//     border: 1px solid #d7dae3;
-//     border-radius: 4px;
-//   }
-//   .digName2 {
-//     display: flex;
-//     margin-left: 31px;
-//     margin-bottom: 20px;
-//   }
-//   .digName3 {
-//     display: flex;
-//     margin-left: 31px;
-//     margin-bottom: 20px;
-//   }
-//   .digName2 .el-input__inner {
-//     width: 500px;
-//     height: 32px;
-//     margin-left: 16px;
-//     background: #ffffff;
-//     border: 1px solid #d7dae3;
-//     border-radius: 4px;
-//   }
-// }
-.digName {
-  display: flex;
-  justify-content: space-around;
-  flex-direction: row;
-}
-.aviName {
-  display: flex;
-  flex-direction: row;
-  margin-bottom: 24px;
-  width: 240px;
-  margin-right: 10px;
-  text-align: right;
-}
-.aviP {
-  width: 100px;
-  height: 32px;
-  line-height: 32px;
-  font-size: 14px;
-  font-weight: 400;
-  color: #303133;
-}
-.aviP1 {
-  width: 70px;
-  text-align: right;
-  height: 32px;
-  line-height: 32px;
-  font-size: 14px;
-  font-weight: 400;
-  color: #303133;
-}
-.aviP2 {
-  width: 64px;
-  text-align: right;
-  height: 32px;
-  line-height: 32px;
-  font-size: 14px;
-  font-weight: 400;
-  color: #303133;
-}
-</style>

+ 29 - 11
src/views/table/components/authButton.vue

@@ -17,19 +17,37 @@ export default {
     const { auth, row } = context.props
     const vnodes = []
     if (auth && Object.keys(auth).length) {
-      if (auth.show_type == 1) {
-        if (auth.open_method != '1') {
-          vnodes.push(<el-button size="small" plain={true} onClick={() => auth.service_type == '1' ? context.parent.handleQuery() : auth.service_type == '2' ? context.parent.handleAdd() : auth.service_type == '3' ? context.parent.handleEdit(row) : context.parent.handleRemove(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}>{auth.auth_name}</el-button>)
-        }
-        else {
-          vnodes.push(<el-button size="small" icon={auth.show_icon} plain={true} onClick={() => context.parent.handleRecord(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}>{auth.auth_name}</el-button>)
-        }
-      } else if (auth.show_type == 3) {
-        vnodes.push(<el-button size="small" icon={auth.show_icon} plain={true} onClick={() => auth.service_type == '1' ? context.parent.handleQuery() : auth.service_type == '2' ? context.parent.handleAdd() : auth.service_type == '3' ? context.parent.handleEdit(row) : context.parent.handleRemove(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}>{auth.auth_name}</el-button>)
+
+      //获取按钮配置项
+      const { show_type, service_type, auth_name, show_icon } = auth
+
+      //根据服务类型显示按钮类型 1=查询 2=新增 3=编辑 4=删除
+      const type = service_type != '4' ? 'primary' : 'danger'
+
+      //根据服务类型显示按钮类型设置按钮方法 1=查询 2=新增 3=编辑 4=删除 ...其他
+      let func = null
+      if (service_type == 1) {
+        func = () => context.parent.handleQuery()
+      } else if (service_type == 2) {
+        func = () => context.parent.handleAdd()
+      } else if (service_type == 3) {
+        func = (row) => context.parent.handleEdit(row)
+      } else if (service_type == 4) {
+        func = (row) => context.parent.handleRemove(row)
+      } else {
+        func = (row, auth) => context.parent.handleOther(row, auth)
       }
-      else {
-        vnodes.push(<el-button size="small" icon={auth.show_icon} plain={true} onClick={() => auth.service_type == '1' ? context.parent.handleQuery() : auth.service_type == '2' ? context.parent.handleAdd() : auth.service_type == '3' ? context.parent.handleEdit(row) : context.parent.handleRemove(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}></el-button>)
+
+      //根据显示方式显示按钮类型 1=名称 2=图标 3=名称+图标
+      let button = null
+      if (show_type == 1) {
+        button = <el-button size="small" plain={true} onClick={() => func(row, auth)} type={type}>{auth_name}</el-button>
+      } else if (show_type == 2) {
+        button = <el-button size="small" icon={show_icon} onClick={() => func(row, auth)} plain={true} type={type}></el-button>
+      } else {
+        button = <el-button size="small" icon={show_icon} onClick={() => func(row, auth)} plain={true} type={type}>{auth_name}</el-button>
       }
+      vnodes.push(button)
     } else {
       vnodes.push(<span></span>)
     }

+ 15 - 6
src/views/table/index.vue

@@ -41,10 +41,7 @@
             <el-table-column fixed="right" label="操作" :width="fixedWidth">
               <template slot-scope="scope">
                 <div class="hd-td">
-                  <auth-button :auth="btnRecordObj" :row="scope.row" />
-                  <auth-button :auth="btnEditObj" :row="scope.row" />
-                  <auth-button :auth="btnDelObj" :row="scope.row" />
-
+                  <auth-button v-for="(item,index) in authBtns" :key="index" :auth="item" :row="scope.row" />
                 </div>
               </template>
             </el-table-column>
@@ -229,7 +226,8 @@ export default {
       btnDelObj: {},
       btnRecordObj: {},
       isAuto: false,
-      dialogFlag: false
+      dialogFlag: false,
+      authBtns: []
     };
   },
   computed: {
@@ -300,6 +298,7 @@ export default {
       this.tableOther = obj
       this.pageTitle = obj.auth_name;
       this.queryId = obj.queryTemplateID;
+      this.authBtns = arrs.filter(item => Number(item.service_type) > 2)
       if (arrs && arrs.length) {
         arrs.forEach(item => {
           this.autoBtnObj(item)
@@ -793,7 +792,17 @@ export default {
         }
       }
     },
-
+    //表格-其他类型按钮操作
+    handleOther (row, auth) {
+      const { open_method, route_info } = auth
+      if (open_method) {
+        if (open_method != 3) {
+          this.autoBtnClick(open_method, route_info)
+        } else {
+          console.log(row)
+        }
+      }
+    },
     //表格-数据恢复
     async handleRecord (row) {
       const { open_method, route_info } = this.btnRecordObj