value
2023-08-24 4914eba9ef62675e1dea9bf85e84f9913b0cfb08
新增委托二维码功能
已修改10个文件
244 ■■■■ 文件已修改
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/inspection/commisioninspection.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/url.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Navbar.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/Item.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/SidebarItem.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inspectionManagement/commissionInspection/index.vue 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json
@@ -26,6 +26,7 @@
    "path-to-regexp": "2.4.0",
    "postcss-pxtorem": "^5.1.1",
    "vue": "2.6.10",
    "vue-qr": "^4.0.9",
    "vue-router": "3.0.6",
    "vuex": "3.1.0"
  },
src/api/inspection/commisioninspection.js
@@ -41,3 +41,18 @@
    data
  })
}
export function getViewUUID(params){
  return request({
    url: '/link-basic/getViewUUID',
    method: 'get',
        params
  })
}
export function selectViewUUID(){
  return request({
    url: '/link-basic/selectViewUUID',
    method: 'get'
  })
}
src/api/url.js
@@ -5,6 +5,7 @@
    "reported": "/plan/reported",//上报
    "distribution": "/plan/distribution",//分配
    "check": "/plan/check",//检验
    "info": "/user/info",//登录-->获取用户信息
}
export default function(Vue) {
src/layout/components/Navbar.vue
@@ -12,7 +12,7 @@
      </div>
      <el-dropdown class="avatar-container" trigger="click">
        <div class="avatar-wrapper">
          <a class="user-avatar">{{ '中天'.slice(0,1) }}</a>
          <a class="user-avatar">{{ user.name.slice(0,1) }}</a>
        </div>
        <el-dropdown-menu slot="dropdown" class="user-dropdown">
          <router-link to="/">
@@ -33,6 +33,12 @@
import { mapGetters } from 'vuex'
// import Breadcrumb from '@/components/Breadcrumb'
// import Hamburger from '@/components/Hamburger'
    import {
        get,
        post,
        wpost,
        postFile
    } from "@/api/util/requestUtil.js"
export default {
  components: {
@@ -45,6 +51,17 @@
      'avatar'
    ])
  },
    data() {
        return {
            user: {
                id: null,
                name: 'value'
            }
        }
    },
    mounted() {
        this.getUser()
    },
  methods: {
    toggleSideBar() {
      this.$store.dispatch('app/toggleSideBar')
@@ -52,6 +69,11 @@
    async logout() {
      // await this.$store.dispatch('user/logout')
      this.$router.push(`/login?redirect=${this.$route.fullPath}`)
    },
        getUser(){
            get(this.$url.info).then(res=>{
                this.user = res.data
            })
    }
  }
}
src/layout/components/Sidebar/Item.vue
@@ -19,9 +19,7 @@
  render(h, context) {
    const { icon, title } = context.props
    const vnodes = []
    // console.log(show)
    // if (!show) return
    // console.log(icon, title)
    if (icon) {
      if (icon.includes('el-icon')) {
        vnodes.push(<i class={[icon, 'sub-el-icon']} />)
src/layout/components/Sidebar/SidebarItem.vue
@@ -63,7 +63,6 @@
    return {}
  },
  created() {
    // console.log(this.item)
  },
  methods: {
    hasOneShowingChild(children = [], parent) {
src/layout/components/Sidebar/index.vue
@@ -31,7 +31,6 @@
      'sidebar'
    ]),
    routes() {
      console.log(this.$router.options.routes);
      return this.$router.options.routes
    },
    activeMenu() {
src/router/index.js
@@ -167,7 +167,7 @@
        meta: { title: '委托检验', icon: 'table' },
        children: [
          {
            path: 'addCommision',
            path: 'addCommision/:viewId',
            name: 'AddCommision',
            hidden: true,
            component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'),
src/views/inspectionManagement/commissionInspection/index.vue
@@ -5,28 +5,16 @@
          <div class="top-bar">
              <el-form ref="form" :inline="true" :model="searchData">
              <el-form-item label="委托编号:" class="sermargin">
                <el-input
                  v-model="searchData.code"
                  class="input-form"
                  placeholder="请输入"
                >
                            <el-input v-model="searchData.code" class="input-form" placeholder="请输入">
                </el-input>
              </el-form-item>
              <el-form-item label="样品名称:" class="sermargin">
                <el-input
                  v-model="searchData.name"
                  class="input-form"
                  placeholder="请输入"
                >
                            <el-input v-model="searchData.name" class="input-form" placeholder="请输入">
                </el-input>
              </el-form-item>
              <el-form-item label="委托单位:" style="margin-right: 20px;">
                <el-select v-model="searchData.department" placeholder="全部">
                  <el-option
                    v-for="item in options"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                  </el-option>
                </el-select>
              </el-form-item>
@@ -36,7 +24,14 @@
              </el-form-item>
              </el-form>
              <el-form>
                <el-button class="rightBtn" type="primary" @click="goToaddCommision">新增委托</el-button>
                        <el-popover placement="left" width="130" trigger="click">
                            <div class="vue_qr_div">
                                <span style="color: #0078ff;">扫描二维码<br />获取委托单</span>
                                <vue-qr :text="viewId" :size="100" :margin="0" style="margin-top: 10px;">
                                </vue-qr>
                            </div>
                            <el-button slot="reference" class="rightBtn" type="primary" @click="goToaddCommision">新增委托</el-button>
                        </el-popover>
              </el-form>
          </div>
          <div class="library-table">
@@ -49,76 +44,26 @@
              </el-radio-group>
              </div>
              <div class="generateInsp">
                <el-button type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">生成报检单</el-button>
                            <el-button type="primary" size="mini" icon="el-icon-document"
                                style="background-color: rgb(1, 102, 226);">生成报检单</el-button>
              </div>
            </div>
            <div class="table-box">
              <el-table
                ref="commisionTable"
                :max-height="800"
                :cell-style="{textAlign: 'center'}"
                        <el-table ref="commisionTable" :max-height="800" :cell-style="{textAlign: 'center'}"
                :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
                :data="commisionTable"
                style="width: 100%"
              >
                <el-table-column
                  type="selection"
                  min-width="10%"
                />
                <el-table-column
                  type="index"
                  label="序号"
                  min-width="10%"
                />
                <el-table-column
                  prop="entrust_coding"
                  label="委托编号"
                  min-width="10%"
                />
                <el-table-column
                  prop="entrusted"
                  label="委托单位"
                  min-width="12%"
                />
                <el-table-column
                  prop="samples_number"
                  label="样品编号"
                  min-width="8%"
                />
                <el-table-column
                  prop="sample_name"
                  label="样品名称"
                  min-width="8%"
                />
                <el-table-column
                  prop="specifications_models"
                  label="规格型号"
                  min-width="12%"
                />
                <el-table-column
                  prop="dateSurvey"
                  label="送达时间"
                  min-width="8%"
                />
                <el-table-column
                  prop="completionDeadline"
                  label="完成期限"
                  min-width="8%"
                />
                <el-table-column
                  prop="contacts"
                  label="委托编制人"
                  min-width="8%"
                />
                <el-table-column
                  prop="inspectionTime"
                  label="检验日期"
                  min-width="8%"
                />
                <el-table-column
                  prop="inspection_status"
                  label="状态"
                  min-width="8%">
                            :data="commisionTable" style="width: 100%">
                            <el-table-column type="selection" min-width="10%" />
                            <el-table-column type="index" label="序号" min-width="10%" />
                            <el-table-column prop="entrust_coding" label="委托编号" min-width="10%" />
                            <el-table-column prop="entrusted" label="委托单位" min-width="12%" />
                            <el-table-column prop="samples_number" label="样品编号" min-width="8%" />
                            <el-table-column prop="sample_name" label="样品名称" min-width="8%" />
                            <el-table-column prop="specifications_models" label="规格型号" min-width="12%" />
                            <el-table-column prop="dateSurvey" label="送达时间" min-width="8%" />
                            <el-table-column prop="completionDeadline" label="完成期限" min-width="8%" />
                            <el-table-column prop="contacts" label="委托编制人" min-width="8%" />
                            <el-table-column prop="inspectionTime" label="检验日期" min-width="8%" />
                            <el-table-column prop="inspection_status" label="状态" min-width="8%">
                  <template slot-scope="scope">
                    <div v-if="scope.row.inspection_status === 1">
                      <span style="color: green;">已检测</span>
@@ -128,10 +73,7 @@
                    </div>
                  </template>
                </el-table-column>
                <el-table-column
                  label="操作"
                  min-width="8%"
                >
                            <el-table-column label="操作" min-width="8%">
                  <template slot-scope="scope">
                    <el-button type="text" size="small" @click="handleClick(scope.row)">删除</el-button>
                  </template>
@@ -139,14 +81,9 @@
              </el-table>
              <!-- 分页器 -->
              <div>
                <el-pagination
                  @size-change="handleSizeChange"
                  @current-change="handleCurrentChange"
                  :current-page="currentPage"
                  :page-sizes="[5, 10, 20]"
                  :page-size="pageSize"
                  layout="total, sizes, prev, pager, next, jumper"
                  :total="total">
                            <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                                :current-page="currentPage" :page-sizes="[5, 10, 20]" :page-size="pageSize"
                                layout="total, sizes, prev, pager, next, jumper" :total="total">
                </el-pagination>
              </div>
            </div>
@@ -160,8 +97,16 @@
</template>
<script>
import { getCommisionList } from '@/api/inspection/commisioninspection'
    import {
        getCommisionList,
        getViewUUID,
        selectViewUUID
    } from '@/api/inspection/commisioninspection'
    import vueQr from 'vue-qr'
export default {
        components: {
            vueQr
        },
  data() {
    return {
      form: [],
@@ -188,8 +133,7 @@
        sample_name: "发动机",
        inspection_status: 1
      }],
      conditionsOptions: [
        {
                conditionsOptions: [{
          label: '全部',
          value: 0
        },
@@ -205,7 +149,9 @@
      currentPage: 1,
      pageSize: 5,
      total: 100,
      showDetail: false
                showDetail: false,
                day: 1,
                viewId: ''
    }
  },
  created() {
@@ -219,14 +165,20 @@
  },
  methods: {
    async getCommisionList(){
      const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize})
                const res = await getCommisionList({
                    pageNo: this.currentPage,
                    pageSize: this.pageSize
                })
      this.commisionTable = res.data.row
      this.total = res.data.total
      // console.log(res)
       // 获取所有的委托单位名称
      const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))]
      // 将allDepartmentNames转换为options需要的格式
      this.options = allDepartmentNames.map(name => ({ value: name, label: name }))
                this.options = allDepartmentNames.map(name => ({
                    value: name,
                    label: name
                }))
    },
    // 查询方法
@@ -272,7 +224,11 @@
      if(this.radioValue === 0){
        this.getCommisionList() 
      }else{
        const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue})
                    const res = await getCommisionList({
                        pageNo: this.currentPage,
                        pageSize: this.pageSize,
                        inspectionStatus: this.radioValue
                    })
        // console.log(res)
        this.commisionTable = res.data.row
        this.total = res.data.total
@@ -287,7 +243,11 @@
      if(this.radioValue === 0){
        this.getCommisionList()
      }else{
        const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue})
                    const res = await getCommisionList({
                        pageNo: this.currentPage,
                        pageSize: this.pageSize,
                        inspectionStatus: this.radioValue
                    })
        this.commisionTable = res.data.row
        this.total = res.data.total
      }
@@ -299,34 +259,45 @@
      if(this.radioValue === 0){
        this.getCommisionList()
      }else{
        const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue})
                    const res = await getCommisionList({
                        pageNo: this.currentPage,
                        pageSize: this.pageSize,
                        inspectionStatus: this.radioValue
                    })
        this.commisionTable = res.data.row
        this.total = res.data.total
      }
    },
    goToaddCommision() {
      this.$router.push('/inspectionManagement/commissionInspection/addCommision')
      this.showDetail = true
                // this.$router.push('/inspectionManagement/commissionInspection/addCommision')
                // this.showDetail = true
                selectViewUUID({
                    day: this.day
                }).then(res => {
                    this.viewId = res.data
                })
    }
  }
}
</script>
<style scoped>
.top-bar{
    margin: -25px -15px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    padding: 5px 24px 0px 24px;
    .sermargin{
      margin-right: 60px;
    }
  }
.rightBtn{
    background-color: rgb(1, 102, 226);
}
.library-table{
      background-color: #fff;
      flex: 1;
@@ -334,14 +305,17 @@
      margin-top: 40px;
      display: flex;
      flex-direction: column;
      .table-header{
        padding: 20px;
        display: flex;
        justify-content: space-between;
        .el-form-item{
          margin-bottom: 30px !important;
        }
      }
      .table-box{
          padding: 0px 20px;
          margin-top: 0px;
@@ -350,9 +324,11 @@
          /* padding: 20px 20px 10px 20px; */
          display: flex;
          flex-direction: column;
          .el-table {
            flex: 1;
          }
          >div:nth-child(2){
            display: flex;
            justify-content: end;
@@ -361,4 +337,7 @@
      }
    }
    .vue_qr_div{
        text-align: center;
    }
</style>
src/views/login/index.vue
@@ -43,10 +43,10 @@
      </el-form-item>
      <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">Login</el-button>
      <div class="tips">
      <!-- <div class="tips">
        <span style="margin-right:20px;">username: admin</span>
        <span> password: any</span>
      </div>
      </div> -->
    </el-form>
  </div>
</template>
@@ -115,7 +115,7 @@
            this.loading = false
          })
        } else {
          console.log('error submit!!')
          console.log('登录失败!')
          return false
        }
      })