''
liukangdong
2024-05-23 dc21acf2cd6629abeff5e5c077c90623e2e89cae
''
已添加1个文件
已修改6个文件
520 ■■■■■ 文件已修改
admin/src/assets/style/variables.scss 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/CommonHeader.vue 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/tagsview.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/approvalConfiguration.vue 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/statistics/platformRecord.vue 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/statistics/platformStatic.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/system/InterfaceLog.vue 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/assets/style/variables.scss
@@ -1,17 +1,17 @@
// ä¸»è‰²è°ƒ
$primary-color:  #279BAA;
$primaryColor:  #279BAA;
$primary-title-start-color: #3582ff;
$primary-title-color: #216EcE;
$primary-color-sel: #2cbbd1;
$primary-color-hover: #1562e2;
$icon-background-color: #1e7985;
// $primary-color: #216EEE;
// $primary-title-start-color: #3582ff;
// $primary-title-color: #216EcE;
// $primary-color-sel: #0046c6;
// $primary-color-sel: #0f52cf;
// $primary-color-hover: #1562e2;
// $icon-background-color: #0d5ada;
// ä¸»è‰²è°ƒ
$primary-color:  #2080f7;
$primaryColor:  #2080f7;
$primary-title-start-color: #3582ff;
$primary-title-color: #216EcE;
$primary-color-sel: #1659ac;
$primary-color-hover: #1562e2;
$icon-background-color: #186acf;
//菜单悬浮色:
$menu-hover-color: rgba(33, 110, 238, 0.10);
// å¤´éƒ¨é«˜åº¦
admin/src/components/common/CommonHeader.vue
@@ -2,17 +2,25 @@
  <div class="common-header">
    <div class="header">
      <div class="logo">
        <div>{{title}}</div>
        <div>{{ title }}</div>
        <!-- <div class="title-en">Diagnosis of Intelligent Manufacturing Integrated Service Platfrom</div> -->
      </div>
      <div class="user">
        <el-dropdown v-if="isLogined" trigger="click">
          <span class="el-dropdown-link">
            <!-- <img v-if="userInfo != null" :src="userInfo.avatar == null ? `${require('@/assets/avatar/man.png')}` : userInfo.avatar" alt="">{{userInfo | displayName}}<i class="el-icon-arrow-down el-icon--right"></i> -->
            <img v-if="userInfo != null" style="width: 30px !important;" src="@/assets/avatar/man.png" alt="">{{userInfo | displayName}}<i class="el-icon-arrow-down el-icon--right"></i>
            <img
              v-if="userInfo != null"
              style="width: 30px !important"
              src="@/assets/avatar/man.png"
              alt=""
            />{{ userInfo | displayName
            }}<i class="el-icon-arrow-down el-icon--right"></i>
          </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item @click.native="changePwd">修改密码</el-dropdown-item>
            <el-dropdown-item @click.native="changePwd"
              >修改密码</el-dropdown-item
            >
            <el-dropdown-item @click.native="logout">退出登录</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
@@ -25,15 +33,37 @@
      @confirm="confirmChangePwd"
      @close="visible.changePwd = false"
    >
      <el-form :model="changePwdData.form" ref="changePwdDataForm" :rules="changePwdData.rules">
      <el-form
        :model="changePwdData.form"
        ref="changePwdDataForm"
        :rules="changePwdData.rules"
      >
        <el-form-item label="原始密码" prop="oldPwd" required>
          <el-input v-model="changePwdData.form.oldPwd" type="password" placeholder="请输入原始密码" maxlength="30" show-password></el-input>
          <el-input
            v-model="changePwdData.form.oldPwd"
            type="password"
            placeholder="请输入原始密码"
            maxlength="30"
            show-password
          ></el-input>
        </el-form-item>
        <el-form-item label="新密码" prop="newPwd" required>
          <el-input v-model="changePwdData.form.newPwd" type="password" placeholder="请输入新密码" maxlength="30" show-password></el-input>
          <el-input
            v-model="changePwdData.form.newPwd"
            type="password"
            placeholder="请输入新密码"
            maxlength="30"
            show-password
          ></el-input>
        </el-form-item>
        <el-form-item label="确认新密码" prop="confirmPwd" required>
          <el-input v-model="changePwdData.form.confirmPwd" type="password" placeholder="请再次输入新密码" maxlength="30" show-password></el-input>
          <el-input
            v-model="changePwdData.form.confirmPwd"
            type="password"
            placeholder="请再次输入新密码"
            maxlength="30"
            show-password
          ></el-input>
        </el-form-item>
      </el-form>
    </GlobalAlertWindow>
@@ -53,7 +83,7 @@
      default: true
    }
  },
  data () {
  data() {
    return {
      title: process.env.VUE_APP_TITLE,
      visible: {
@@ -94,7 +124,7 @@
  },
  filters: {
    // å±•示名称
    displayName (userInfo) {
    displayName(userInfo) {
      if (userInfo == null) {
        return ''
      }
@@ -107,14 +137,14 @@
  methods: {
    ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo']),
    // ä¿®æ”¹å¯†ç 
    changePwd () {
    changePwd() {
      this.visible.changePwd = true
      this.$nextTick(() => {
        this.$refs.changePwdDataForm.resetFields()
      })
    },
    // ç¡®å®šä¿®æ”¹å¯†ç 
    confirmChangePwd () {
    confirmChangePwd() {
      if (this.isWorking.changePwd) {
        return
      }
@@ -146,7 +176,7 @@
      })
    },
    // é€€å‡ºç™»å½•
    logout () {
    logout() {
      logout()
        .then(() => {
          this.clearUserInfo()
@@ -165,7 +195,7 @@
<style scoped lang="scss">
@import "@/assets/style/variables.scss";
.common-header {
  background-color: #4d99a8;
  background-color: #2080f7;
}
.header {
  overflow: hidden;
@@ -175,7 +205,7 @@
  justify-content: space-between;
  .logo {
    background: url('../../assets/images/top_ic_chilun@2x.png') no-repeat;
    background: url("../../assets/images/top_ic_chilun@2x.png") no-repeat;
    box-sizing: border-box;
    min-width: 280px;
    height: 70px;
@@ -197,7 +227,7 @@
    box-sizing: border-box;
    height: 70px;
    padding-right: 25px;
    background: url('../../assets/images/top_ic_bolang@2x.png') no-repeat;
    background: url("../../assets/images/top_ic_bolang@2x.png") no-repeat;
    flex-shrink: 0;
    text-align: right;
    .el-dropdown {
@@ -216,7 +246,7 @@
.el-dropdown-menu {
  width: 140px;
  .el-dropdown-menu__item:hover {
    background: #E3EDFB;
    background: #e3edfb;
    color: $primary-color;
  }
}
admin/src/components/common/tagsview.vue
@@ -194,7 +194,7 @@
  color: #666;
  cursor: pointer;
  &:hover {
    color: #4d99a8;
    color: #2080f7;
  }
}
@@ -236,8 +236,8 @@
}
//标签高亮
.active {
  color: #4d99a8;
  border-bottom: 2px solid #4d99a8;
  color: #2080f7;
  border-bottom: 2px solid #2080f7;
}
//右键菜单样式
.contextmenu {
admin/src/views/business/approvalConfiguration.vue
@@ -1,10 +1,6 @@
<template>
  <TableLayout>
    <template v-slot:table-wrap>
      <el-tabs v-model="activeName">
        <el-tab-pane label="普通访客" name="first"></el-tab-pane>
        <el-tab-pane label="施工访客" name="second"></el-tab-pane>
      </el-tabs>
      <div class="config">
        <div class="config_list">
          <div class="config_list_head">
@@ -22,21 +18,29 @@
              <div class="line"></div>
              <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
            </div>
            <div
              class="item yellow"
              :class="{ active: activeSel === 'one' }"
              @click="flowClick('one')"
            >
              <div class="head">审批人</div>
              <div class="content">
                <div>被访人</div>
                <i class="el-icon-arrow-right"></i>
            <template v-for="(item, index) in apprList">
              <div
                class="item yellow"
                :class="{ active: item.active }"
                @click="flowClick(index)"
                :key="index"
              >
                <div class="head">审批人</div>
                <div class="content">
                  <div>被访人</div>
                  <i class="el-icon-arrow-right"></i>
                </div>
              </div>
            </div>
            <div class="arrows">
              <div class="line"></div>
              <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
            </div>
              <div class="arrows" :key="index">
                <div class="line"></div>
                <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
                <i
                  v-if="apprList.length - 1 === index"
                  @click="handleAddAppr()"
                  class="el-icon-circle-plus add"
                ></i>
              </div>
            </template>
            <template v-if="false">
              <div
                class="item yellow"
@@ -135,7 +139,12 @@
          </div>
          <div class="df_ac mt10">
            <span class="mr20">选择修改项</span>
            <el-select v-model="param.list"  collapse-tags multiple placeholder="请选择,多选">
            <el-select
              v-model="param.list"
              collapse-tags
              multiple
              placeholder="请选择,多选"
            >
              <el-option
                v-for="item in options"
                :key="item.value"
@@ -189,16 +198,17 @@
  },
  data () {
    return {
      apprList: [
        { name: '', active: false },
        { name: '', active: false }
      ],
      value: '',
      radio: 0,
      radio1: 0,
      checked: '',
      checkList: [],
      param: {},
      activeSel: 'one',
      activeName: 'first',
      isShowTransfer: false,
      fromData: [
        {
@@ -255,8 +265,17 @@
    }
  },
  methods: {
    flowClick (val) {
      this.activeSel = val
    flowClick (i) {
      this.apprList.forEach((item, index) => {
        if (i === index) {
          item.active = true
        } else {
          item.active = false
        }
      })
    },
    handleAddAppr () {
      this.apprList.push({ name: '', active: false })
    },
    selStaff () {
@@ -326,11 +345,20 @@
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        .line {
          width: 1px;
          height: 60px;
          background-color: #ccc;
        }
        .add {
          font-size: 40px;
          color: #2080f7;
          position: absolute;
          cursor: pointer;
          z-index: 999;
          top: 10px;
        }
        img {
          width: 12px;
        }
admin/src/views/statistics/platformRecord.vue
@@ -0,0 +1,130 @@
<template>
  <div class="main_app">
    <QueryForm
      v-model="filters"
      :query-form-config="queryFormConfig"
      @handleQuery="getList(1)"
      @clear="clear"
    />
    <el-table v-loading="loading" :data="list" stripe>
      <el-table-column
        prop="name"
        label="月台名称"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="月台组"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="车前牌照号"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="车后牌照号"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="作业开始"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="作业结束"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="作业时长"
        min-width="100"
        show-overflow-tooltip
      /><el-table-column
        prop="name"
        label="运输单号/合同号"
        min-width="100"
        show-overflow-tooltip
      />
    </el-table>
    <pagination
      @size-change="handleSizeChange"
      @current-change="getList"
      :pagination="pagination"
    />
  </div>
</template>
<script>
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
export default {
  components: {
    Pagination,
    QueryForm
  },
  data () {
    return {
      loading: false,
      pagination: {
        capacity: 10,
        page: 1
      },
      filters: {},
      list: [],
      total: 0,
      queryFormConfig: {
        formItems: [
          {
            filed: 'aaaa',
            type: 'input',
            label: '月台名称'
          },
          {
            filed: 'bbb',
            type: 'select',
            label: '月台组',
            options: []
          },
          {
            filed: 'aaaa',
            type: 'input',
            label: '车牌号'
          },
          {
            filed: 'selDate',
            type: 'daterange',
            label: '日期'
          }
        ],
        online: true
      }
    }
  },
  methods: {
    handleSub () {
      this.$refs.ruleForm.validate((valid) => {
        if (valid) {
          alert('submit!')
        }
      })
    },
    getList (page) { },
    clear () { },
    handleSizeChange (capacity) {
      this.pagination.capacity = capacity
    }
  }
}
</script>
<style>
</style>
admin/src/views/statistics/platformStatic.vue
@@ -0,0 +1,108 @@
<template>
  <div class="main_app">
    <QueryForm
      v-model="filters"
      :query-form-config="queryFormConfig"
      @handleQuery="getList(1)"
      @clear="clear"
    />
    <el-table v-loading="loading" :data="list" stripe>
      <el-table-column
        prop="name"
        label="月台名称"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="月台组"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="停靠次数(次)"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="工作时长"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="月台使用率"
        min-width="100"
        show-overflow-tooltip
      />
    </el-table>
    <pagination
      @size-change="handleSizeChange"
      @current-change="getList"
      :pagination="pagination"
    />
  </div>
</template>
<script>
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
export default {
  components: {
    Pagination,
    QueryForm
  },
  data () {
    return {
      loading: false,
      pagination: {
        capacity: 10,
        page: 1
      },
      filters: {},
      list: [],
      total: 0,
      queryFormConfig: {
        formItems: [
          {
            filed: 'aaaa',
            type: 'input',
            label: '月台名称'
          },
          {
            filed: 'bbb',
            type: 'select',
            label: '月台组',
            options: []
          },
          {
            filed: 'selDate',
            type: 'daterange',
            label: '选择时间'
          }
        ],
        online: true
      }
    }
  },
  methods: {
    handleSub () {
      this.$refs.ruleForm.validate((valid) => {
        if (valid) {
          alert('submit!')
        }
      })
    },
    getList (page) { },
    clear () { },
    handleSizeChange (capacity) {
      this.pagination.capacity = capacity
    }
  }
}
</script>
<style>
</style>
admin/src/views/system/InterfaceLog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<template>
  <div class="main_app">
    <QueryForm
      v-model="filters"
      :query-form-config="queryFormConfig"
      @handleQuery="getList(1)"
      @clear="clear"
    />
    <el-table v-loading="loading" :data="list" stripe>
      <el-table-column
        prop="name"
        label="接口名称"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="地址信息"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="类型"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="平台"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="请求参数"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="相应参数"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="创建时间"
        min-width="100"
        show-overflow-tooltip
      />
    </el-table>
    <pagination
      @size-change="handleSizeChange"
      @current-change="getList"
      :pagination="pagination"
    />
  </div>
</template>
<script>
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
export default {
  components: {
    Pagination,
    QueryForm
  },
  data() {
    return {
      loading: false,
      pagination: {
        capacity: 10,
        page: 1
      },
      filters: {},
      list: [],
      total: 0,
      queryFormConfig: {
        formItems: [
          {
            filed: 'aaaa',
            type: 'input',
            label: '接口名称'
          },
          {
            filed: 'bbb',
            type: 'select',
            label: '类型',
            options: []
          },
          {
            filed: 'selDate',
            type: 'daterange',
            label: '日期'
          }
        ],
        online: true
      }
    }
  },
  methods: {
    handleSub() {
      this.$refs.ruleForm.validate((valid) => {
        if (valid) {
          alert('submit!')
        }
      })
    },
    getList(page) { },
    clear() { },
    handleSizeChange(capacity) {
      this.pagination.capacity = capacity
    }
  }
}
</script>
<style>
</style>