2
3
Просмотр исходного кода

前端: 资质配置查询页面

baichengfei 5 лет назад
Родитель
Сommit
b3c5b75558

+ 138 - 0
src/dashoo.cn/frontend_web/src/pages/select/aptitude/basisbuild/_opera/operation.vue

@@ -0,0 +1,138 @@
+<template>
+  <div>
+    <el-breadcrumb class="heading">
+      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/select/aptitude/basisbuild' }">基建类资质对照表</el-breadcrumb-item>
+      <el-breadcrumb-item>查看</el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-card class="box-card">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> 查看
+        </span>
+        <span style="float: right;">
+          <router-link :to="'/select/aptitude/basisbuild'">
+            <el-button type="primary" size="mini" style="margin-left: 8px">返回</el-button>
+          </router-link>
+        </span>
+      </div>
+      <el-form label-width="240px" ref="EntityForm" :model="formData">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="名称" label-width="110px">
+              <el-input v-model="formData.Name" placeholder="名称">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label-width="110px" label="编码">
+              <el-input v-model="formData.Code" style="width:100%" placeholder="编码"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-row>
+            <el-col :span="6" v-for="(item,i) in dynamicTableColumns" :key="i">
+              <el-form-item :label="item.label">
+                <el-switch v-model="formData[item.prop]" active-value="1" inactive-value="0" disabled></el-switch>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-row>
+      </el-form>
+    </el-card>
+  </div>
+</template>
+
+<script>
+  import {
+    mapGetters
+  } from 'vuex'
+  import api from '@/api/oilsupplier/basisbuild'
+import setapi from '@/api/oilsupplier/oilclassorgset'
+  export default {
+    computed: {
+      ...mapGetters({
+        authUser: 'authUser'
+      })
+    },
+    name: 'oilbasisbuildEdit',
+
+    data () {
+      return {
+        serviceId: '',
+        formData: {
+          Id: '',
+          Code: '',
+          Name: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          Remark: '',
+          DeletionStateCode: '',
+          CreateOn: '',
+          CreateUserId: '',
+          CreateBy: '',
+          ModifiedOn: '',
+          ModifiedUserId: '',
+          ModifiedBy: ''
+
+        },
+        dynamicTableColumns: [],
+        CurrentPage: 1, // 分页
+        Size: 10,
+        classId: '',
+        CurrentItemCount: 0
+      }
+    },
+    created () {
+      this.serviceId = this.$route.params.opera
+      if (this.serviceId != 'add' && this.serviceId > 0) {
+        this.formData.Id = this.serviceId
+        this.initDatas()
+      } else {
+        this.formData.Id = 0
+      }
+      this.initTableHeader()
+    },
+    methods: {
+      initTableHeader () {
+        setapi.initBbTableHeader(this.$axios).then(res => {
+          this.dynamicTableColumns = res.data.items
+          console.log(res.data.items)
+        })
+      },
+      initDatas () {
+        if (this.formData.Id) {
+          api.getEntity(this.formData.Id, this.$axios).then(res => {
+            this.formData = res.data
+          }).catch(err => {
+            console.error(err)
+          })
+        }
+      }
+    }
+  }
+</script>

+ 379 - 0
src/dashoo.cn/frontend_web/src/pages/select/aptitude/basisbuild/index.vue

@@ -0,0 +1,379 @@
+<template>
+  <div>
+    <el-breadcrumb class="heading">
+      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/select/aptitude/basisbuild' }">基建类资质对照表</el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-card class="box-card" style="height: calc(100vh - 115px);" v-loading="loading">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> &nbsp;基建类资质对照表
+        </span>
+        <!--<span style="float: right;">-->
+        <!--  <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="exportExcel">导出</el-button>-->
+        <!--</span>-->
+        <el-form ref="form" :inline="true" style="float: right; margin-top: -10px">
+          <el-form-item label="时间">
+            <el-date-picker size="mini" style="width: 220px" v-model="CreateOn" type="daterange" range-separator="至"
+              start-placeholder="生成日期" end-placeholder="结束日期"></el-date-picker>
+          </el-form-item>
+          <el-form-item label="编码">
+            <el-input size="mini" v-model="searchForm.Code" style="width:100%" placeholder="请输入编码" clearable></el-input>
+          </el-form-item>
+          <el-form-item label="名称">
+            <el-input size="mini" v-model="searchForm.Name" style="width:100%" placeholder="请输入名称" clearable></el-input>
+          </el-form-item>
+
+          <el-form-item>
+            <el-dropdown split-button type="primary" size="mini" @click="handleSearch" @command="searchCommand">
+              查询
+              <el-dropdown-menu slot="dropdown">
+                <!-- <el-dropdown-item command="search">高级查询</el-dropdown-item> -->
+                <el-dropdown-item command="clear">查询重置</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-form-item>
+        </el-form>
+      </div>
+      <el-table highlight-current-row stripe :data="entityList" id="rebateSetTable" size="mini" border height="calc(100vh - 243px)"
+        style="width: 100%" @sort-change="orderBy" v-loading="tableLoading">
+        <el-table-column label="操作" min-width="80" align="center" fixed="right">
+          <template slot-scope="scope">
+            <router-link :to="'/select/aptitude/basisbuild/' + scope.row.Id + '/operation'">
+              <el-button type="primary" plain title="查看" size="mini">查看</el-button>
+            </router-link>
+          </template>
+        </el-table-column>
+
+        <el-table-column v-for="column in tableColumns" :prop="column.prop" sortable :min-width="column.width"
+          :label="column.label" :key="column.Id" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            {{ transferStr(scope.row[column.prop]) }}
+          </template>
+        </el-table-column>
+        <!--动态显示的表头-->
+        <el-table-column v-for="column in dynamicTableColumns" :prop="column.prop" sortable :width="300"
+          :key="column.Id" :label="column.label" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            {{ transferStr(scope.row[column.prop]) }}
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination style="float: right; margin-top: 10px; margin-bottom: 5px" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+        :page-sizes="[10, 50, 100, 200, 500]" :page-size="size" layout="total, sizes, prev, pager, next, jumper"
+        :total="currentItemCount">
+      </el-pagination>
+    </el-card>
+  </div>
+</template>
+<script>
+  import {
+    mapGetters
+  } from 'vuex'
+  import api from '@/api/oilsupplier/basisbuild'
+  import setapi from '@/api/oilsupplier/oilclassorgset'
+
+  export default {
+    computed: {
+      ...mapGetters({
+        authUser: 'authUser'
+      })
+    },
+    name: 'oilbasisbuild',
+    data () {
+      return {
+        tableLoading: false,
+        loading: false,
+        dialogVisible: false,
+        // 列表数据
+        entityList: [],
+        // 分页参数
+        size: 10,
+        currentPage: 1,
+        currentItemCount: 0,
+        // 列表排序
+        Column: {
+          Order: '',
+          Prop: ''
+        },
+        // 查询时间
+        CreateOn: [],
+        // 查询项
+        searchFormReset: {},
+        searchForm: {
+          Id: '',
+          Code: '',
+          Name: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          F26: '',
+          F27: '',
+          F28: '',
+          F29: '',
+          F30: '',
+          F31: '',
+          F32: '',
+          F33: '',
+          F34: '',
+          F35: '',
+          F36: '',
+          F37: '',
+          F38: '',
+          F39: '',
+          F40: '',
+          Remark: ''
+
+        },
+        setForm: {
+          SupplierTypeCode: '02',
+          SupplierTypeName: '基建类',
+          AuditStepCode: '',
+          AuditStepName: ''
+        },
+        dynamicTableColumns: [],
+        tableColumns: [
+
+          {
+            prop: 'Code',
+            label: '编码',
+            width: 100,
+            sort: true
+          },
+
+          {
+            prop: 'Name',
+            label: '名称',
+            width: 260,
+            sort: true
+          }
+        ],
+        AuditStepOptions: [],
+        // 列表数据
+        searchImportForm: {
+          Id: '',
+          Code: '',
+          Name: '',
+          BigClassName: '',
+          BigClassCode: '',
+          MiddleClassName: '',
+          SmallClassName: '',
+          GoodsName: '',
+          GoodsLevel: '',
+          GoodsDesc: '',
+          Standard: '',
+          CompanyType: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          F26: '',
+          F27: '',
+          F28: '',
+          F29: '',
+          F30: '',
+          F31: '',
+          F32: '',
+          F33: '',
+          F34: '',
+          F35: '',
+          F36: '',
+          F37: '',
+          F38: '',
+          F39: '',
+          F40: '',
+          F41: '',
+          F42: '',
+          F43: '',
+          F44: '',
+          F45: '',
+          F46: '',
+          Remark: '',
+          DeletionStateCode: '',
+          CreateOn: '',
+          CreateUserId: '',
+          CreateBy: '',
+          ModifiedOn: '',
+          ModifiedUserId: '',
+          ModifiedBy: ''
+        }
+      }
+    },
+    created () {
+      // 查询条件初始值备份
+      Object.assign(this.searchFormReset, this.searchForm)
+      this.initTableHeader()
+      // 查询列表
+      this.initDatas()
+    },
+    methods: {
+      initTableHeader () {
+        setapi.initBbTableHeader(this.$axios).then(res => {
+          this.dynamicTableColumns = res.data.items
+        })
+      },
+      initDatas () {
+        this.tableLoading = true
+        // 分页及列表条件
+        let params = {
+          _currentPage: this.currentPage,
+          _size: this.size,
+          Order: this.Column.Order,
+          Prop: this.Column.Prop
+        }
+        let myCreateOn = []
+        // 解析时间
+        if (this.CreateOn != null && this.CreateOn.length === 2) {
+          this.CreateOn[1].setHours(23)
+          this.CreateOn[1].setMinutes(59)
+          this.CreateOn[1].setSeconds(59)
+          myCreateOn.push(this.formatDateTime(this.CreateOn[0]))
+          myCreateOn.push(this.formatDateTime(this.CreateOn[1]))
+        }
+        // 查询条件
+        Object.assign(params, this.searchForm)
+        // 访问接口
+        api.getList(myCreateOn.join(','), params, this.$axios).then(res => {
+          this.entityList = res.data.items
+          this.currentItemCount = res.data.currentItemCount
+          this.tableLoading = false
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+      exportExcel () {
+        this.loading = true
+        // 显示列
+        let showcolumn = this.tableColumns.concat(this.dynamicTableColumns)
+        let showcolumnarr = []
+        let showcolumnnamearr = []
+
+        for (var i = 0; i < showcolumn.length; i++) {
+          showcolumnarr.push(showcolumn[i].label)
+          showcolumnnamearr.push(showcolumn[i].prop.replace(/,/g, ','))
+        }
+        let params = {
+          _currentPage: this.currentPage,
+          _size: this.size,
+          Order: this.Column.Order,
+          Prop: this.Column.Prop,
+          Edition: '2',
+          showcolumnarr: showcolumnarr + '',
+          showcolumnnamearr: showcolumnnamearr + ''
+        }
+        api.exportExcelAll(params, this.$axios).then(res => {
+          this.loading = false
+          let docurl = res.data
+          // 内网服务器专用
+          if (process.client && docurl.indexOf('upfile') === 0) {
+            const myDomain = window.location.host
+            location.href = 'http://' + myDomain + '/' + docurl
+          } else {
+            location.href = 'http://' + docurl
+          }
+        })
+      },
+      searchCommand (command) {
+        if (command === 'search') {
+          this.dialogVisible = true
+        } else if (command === 'clear') {
+          this.clearSearch()
+        }
+      },
+      // 列表排序功能
+      orderBy (column) {
+        if (column.order === 'ascending') {
+          this.Column.Order = 'asc'
+        } else if (column.order === 'descending') {
+          this.Column.Order = 'desc'
+        }
+        this.Column.Prop = column.prop
+        this.initDatas()
+      },
+      clearSearch () {
+        Object.assign(this.searchForm, this.searchFormReset)
+        // this.searchForm = this.searchFormReset;
+        this.CreateOn = ''
+        this.initDatas()
+      },
+      handleSearch () {
+        this.currentPage = 1
+        this.dialogVisible = false
+        this.initDatas()
+      },
+      handleCurrentChange (value) {
+        this.currentPage = value
+        this.initDatas()
+      },
+      handleSizeChange (value) {
+        this.size = value
+        this.currentPage = 1
+        this.initDatas()
+      },
+      transferStr (val) {
+        if (val === '1') {
+          return '是'
+        }
+        if (val === '0') {
+          return ''
+        } else {
+          return val
+        }
+      },
+      formatDateTime (date) {
+        var y = date.getFullYear()
+        var m = date.getMonth() + 1
+        m = m < 10 ? ('0' + m) : m
+        var d = date.getDate()
+        d = d < 10 ? ('0' + d) : d
+        var h = date.getHours()
+        var minute = date.getMinutes()
+        minute = minute < 10 ? ('0' + minute) : minute
+        return y + '-' + m + '-' + d + ' ' + h + ':' + minute
+      }
+    }
+  }
+</script>

+ 186 - 0
src/dashoo.cn/frontend_web/src/pages/select/aptitude/goods/_opera/operation.vue

@@ -0,0 +1,186 @@
+<template>
+  <div>
+    <el-breadcrumb class="heading">
+      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/select/aptitude/goods' }">物资类项目与资质对照表</el-breadcrumb-item>
+      <el-breadcrumb-item>查看</el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-card class="box-card">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> 查看
+        </span>
+        <span style="float: right;">
+          <router-link :to="'/select/aptitude/goods'">
+            <el-button type="primary" size="mini" style="margin-left: 8px">返回</el-button>
+          </router-link>
+        </span>
+      </div>
+      <el-form label-width="240px" ref="EntityForm" :model="formData">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="名称" label-width="110px">
+              <el-input v-model="formData.Name" :disabled="isdis" placeholder="名称">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label-width="110px" label="编码">
+              <el-input v-model="formData.Code" style="width:100%" :disabled="isdis" placeholder="编码"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="16" style="margin-left: 60px; margin-bottom: 15px">
+            <span style="color: #606266; margin-left: 10px">· 通用</span>
+            <span style="color: #409EFF; margin-left: 10px">· 制造商</span>
+            <span style="color: #E6A23C; margin-left: 10px">· 非制造商</span>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="6" v-for="(item,i) in dynamicTableColumns" :key="i">
+            <el-form-item :label="item.label" :class="isManuf(item.IsManuf)">
+              <el-switch v-model="formData[item.prop]" active-value="1" inactive-value="0" disabled></el-switch>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+  </div>
+</template>
+
+<script>
+  import {
+    mapGetters
+  } from 'vuex'
+  import api from '@/api/oilsupplier/goodsaptitude'
+  import setapi from '@/api/oilsupplier/oilclassorgset'
+  export default {
+    computed: {
+      ...mapGetters({
+        authUser: 'authUser'
+      })
+    },
+    data () {
+      return {
+        serviceId: '',
+        isdis: false,
+        formData: {
+          Id: '',
+          Code: '',
+          Name: '',
+          BigClassName: '',
+          MiddleClassName: '',
+          SmallClassName: '',
+          GoodsName: '',
+          GoodsLevel: '',
+          GoodsDesc: '',
+          Standard: '',
+          CompanyType: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          F26: '',
+          F27: '',
+          F28: '',
+          F29: '',
+          F30: '',
+          F31: '',
+          F32: '',
+          F33: '',
+          F34: '',
+          F35: '',
+          F36: '',
+          F37: '',
+          F38: '',
+          F39: '',
+          F40: '',
+          F41: '',
+          F42: '',
+          F43: '',
+          F44: '',
+          F45: '',
+          F46: '',
+          Remark: '',
+          DeletionStateCode: '',
+          CreateOn: '',
+          CreateUserId: '',
+          CreateBy: '',
+          ModifiedOn: '',
+          ModifiedUserId: '',
+          ModifiedBy: ''
+        },
+        dynamicTableColumns: []
+      }
+    },
+    created () {
+      this.serviceId = this.$route.params.opera
+      if (this.serviceId != 'add' && this.serviceId > 0) {
+        this.formData.Id = this.serviceId
+        this.initDatas()
+      } else {
+        this.formData.Id = 0
+      }
+      this.initTableHeader()
+    },
+    methods: {
+      isManuf (val) {
+        if (val === '1') {
+          return 'setLabelRed'
+        } else if (val === '2') {
+          return 'setLabelGreen'
+        } else {
+          return 'setLabelBlue'
+        }
+      },
+      initTableHeader () {
+        setapi.initGoodTableHeader(this.$axios).then(res => {
+          this.dynamicTableColumns = res.data.items
+        })
+      },
+      initDatas () {
+        if (this.formData.Id) {
+          api.getEntity(this.formData.Id, this.$axios).then(res => {
+            this.formData = res.data
+            this.isdis = true
+          }).catch(err => {
+            console.error(err)
+          })
+        }
+      }
+    }
+  }
+</script>
+<style>
+  .setLabelRed label{
+    color: #409EFF;
+  }
+  .setLabelGreen label{
+    color: #E6A23C;
+  }
+  .setLabelBlue label{
+    color: #606266;
+  }
+</style>

+ 701 - 0
src/dashoo.cn/frontend_web/src/pages/select/aptitude/goods/index.vue

@@ -0,0 +1,701 @@
+<template>
+  <div>
+    <el-breadcrumb class="heading">
+      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/select/aptitude/goods' }">物资类项目与资质对照表</el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-card class="box-card" style="height: calc(100vh - 115px);" v-loading="loading">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> &nbsp;物资类项目与资质对照表
+        </span>
+        <!--<span style="float: right;">-->
+        <!--  <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="exportExcel">导出-->
+        <!--  </el-button>-->
+        <!--</span>-->
+        <el-form ref="form" :inline="true" style="float: right; margin-top: -10px">
+          <el-form-item label="时间">
+            <el-date-picker size="mini" style="width: 220px" v-model="CreateOn" type="daterange" range-separator="至"
+              start-placeholder="生成日期" end-placeholder="结束日期"></el-date-picker>
+          </el-form-item>
+          <el-form-item label="编码">
+            <el-input size="mini" v-model="searchForm.Code" style="width:100%" placeholder="请输入编码" clearable></el-input>
+          </el-form-item>
+          <el-form-item label="名称">
+            <el-input size="mini" v-model="searchForm.Name" style="width:100%" placeholder="请输入名称" clearable></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-dropdown split-button type="primary" size="mini" @click="handleSearch" @command="searchCommand">
+              查询
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="search">高级查询</el-dropdown-item>
+                <el-dropdown-item command="clear">查询重置</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-form-item>
+        </el-form>
+      </div>
+      <el-table stripe highlight-current-row :data="entityList" id="rebateSetTable" size="mini" border height="calc(100vh - 243px)"
+        style="width: 100%" @sort-change="orderby" v-loading="tableLoading">
+        <el-table-column label="操作" min-width="80" align="center" fixed="right">
+          <template slot-scope="scope">
+            <router-link :to="'/select/aptitude/goods/' + scope.row.Id + '/operation'">
+              <el-button type="primary" plain title="查看" size="mini">查看</el-button>
+            </router-link>
+          </template>
+        </el-table-column>
+
+        <el-table-column v-for="column in tableColumns" :prop="column.prop" sortable :width="column.width"
+          :key="column.Id" :label="column.label" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <span v-if="(column.prop != 'GoodsLevel' && column.prop != 'GoodsDesc' && column.prop != 'Standard' && column.prop != 'CompanyType')">{{ transferStr(scope.row[column.prop]) }}</span>
+            <span v-else>{{ (scope.row[column.prop]) }}</span>
+          </template>
+        </el-table-column>
+
+        <!--动态显示的表头-->
+        <template v-for="column in dynamicTableColumns">
+          <el-table-column :prop="column.prop" sortable :width="80"
+            :key="column.Id" :label="column.label" align="center" v-if="column.IsManuf=='0'" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ transferStr(scope.row[column.prop]) }}
+            </template>
+          </el-table-column>
+        </template>
+
+        <el-table-column label="贸易产品">
+          <template v-for="column in dynamicTableColumns">
+            <el-table-column :prop="column.prop" sortable :width="80"
+              :key="column.Id" :label="column.label" align="center" v-if="column.IsManuf=='2'" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ transferStr(scope.row[column.prop]) }}
+              </template>
+            </el-table-column>
+          </template>
+        </el-table-column>
+
+        <el-table-column label="制造产品">
+          <template v-for="column in dynamicTableColumns">
+            <el-table-column :prop="column.prop" sortable :width="80"
+              :key="column.Id" :label="column.label" align="center" v-if="column.IsManuf=='1'" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ transferStr(scope.row[column.prop]) }}
+              </template>
+            </el-table-column>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination style="float: right; margin-top: 10px" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+        :page-sizes="[10, 50, 100, 200, 500]" :page-size="size" layout="total, sizes, prev, pager, next, jumper"
+        :total="currentItemCount">
+      </el-pagination>
+    </el-card>
+
+    <el-dialog title="高级查询" :visible.sync="dialogVisible" width="720px">
+      <el-form ref="advancedsearchForm" size="mini" label-width="90px">
+        <el-row>
+
+          <el-col :span="12">
+            <el-form-item label="时间">
+              <el-date-picker size="mini" v-model="CreateOn" type="daterange" style="width:100%" range-separator="至"
+                start-placeholder="生成日期" end-placeholder="结束日期"></el-date-picker>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="编码">
+              <el-input size="mini" v-model="searchForm.Code" style="width:100%" placeholder="请输入编码" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="名称">
+              <el-input size="mini" v-model="searchForm.Name" style="width:100%" placeholder="请输入名称" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="大类名称">
+              <el-input size="mini" v-model="searchForm.BigClassName" style="width:100%" placeholder="请输入大类名称" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="大类编码">
+              <el-input size="mini" v-model="searchForm.BigClassCode" style="width:100%" placeholder="请输入大类编码" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="中类名称">
+              <el-input size="mini" v-model="searchForm.MiddleClassName" style="width:100%" placeholder="请输入中类名称" clearable>
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="小类名称">
+              <el-input size="mini" v-model="searchForm.SmallClassName" style="width:100%" placeholder="请输入小类名称" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="品名">
+              <el-input size="mini" v-model="searchForm.GoodsName" style="width:100%" placeholder="请输入品名" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="物资级别">
+              <el-input size="mini" v-model="searchForm.GoodsLevel" style="width:100%" placeholder="请输入物资级别" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="产品说明">
+              <el-input size="mini" v-model="searchForm.GoodsDesc" style="width:100%" placeholder="请输入产品说明" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="标准备案">
+              <el-input size="mini" v-model="searchForm.Standard" style="width:100%" placeholder="请输入标准备案" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="供应商类型">
+              <el-input size="mini" v-model="searchForm.CompanyType" style="width:100%" placeholder="请输入供应商类型" clearable></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="dialogVisible = false">取 消</el-button>
+        <el-button size="mini" type="primary" @click="handleSearch">查 询</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+<script>
+  import {
+    mapGetters
+  } from 'vuex'
+  import api from '@/api/oilsupplier/goodsaptitude'
+  import setapi from '@/api/oilsupplier/oilclassorgset'
+
+  export default {
+    computed: {
+      ...mapGetters({
+        authUser: 'authUser'
+      })
+    },
+    name: 'oilgoodsaptitude',
+    data () {
+      return {
+        deleteDialogVisible: false,
+        tableLoading: false,
+        loading2: false,
+        importloading: false,
+        confirmLoading: false,
+        textarea: '',
+        Excelurl: '',
+        loading: false,
+        loading3: false,
+        classid: '',
+        myclassid: '',
+        dialogVisible: false,
+        // 列表数据
+        entityList: [],
+        // 分页参数
+        size: 10,
+        currentPage: 1,
+        currentItemCount: 0,
+        // 列表排序
+        Column: {
+          Order: '',
+          Prop: ''
+        },
+        // 列表数据
+        importentityList: [],
+        // 分页参数
+        importsize: 10,
+        importcurrentPage: 1,
+        importcurrentItemCount: 0,
+        // 列表排序
+        importColumn: {
+          Order: '',
+          Prop: ''
+        },
+        formData: {
+          Id: '',
+          Id1: '',
+          Id2: '',
+          Id3: '',
+          Id4: '',
+          Code: '',
+          Name: '',
+          Code1: '',
+          Name1: '',
+          Code2: '',
+          Name2: '',
+          Code3: '',
+          Name3: '',
+          Code4: '',
+          Name4: ''
+        },
+        // 查询时间
+        CreateOn: [],
+        conList: [],
+        importCreateOn: [],
+        // 查询项
+        searchFormReset: {},
+        searchForm: {
+          Id: '',
+          Code: '',
+          Name: '',
+          BigClassName: '',
+          BigClassCode: '',
+          MiddleClassName: '',
+          SmallClassName: '',
+          GoodsName: '',
+          GoodsLevel: '',
+          GoodsDesc: '',
+          Standard: '',
+          CompanyType: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          F26: '',
+          F27: '',
+          F28: '',
+          F29: '',
+          F30: '',
+          F31: '',
+          F32: '',
+          F33: '',
+          F34: '',
+          F35: '',
+          F36: '',
+          F37: '',
+          F38: '',
+          F39: '',
+          F40: '',
+          F41: '',
+          F42: '',
+          F43: '',
+          F44: '',
+          F45: '',
+          F46: '',
+          Remark: '',
+          DeletionStateCode: '',
+          CreateOn: '',
+          CreateUserId: '',
+          CreateBy: '',
+          ModifiedOn: '',
+          ModifiedUserId: '',
+          ModifiedBy: ''
+
+        },
+        searchImportForm: {
+          Id: '',
+          Code: '',
+          Name: '',
+          BigClassName: '',
+          BigClassCode: '',
+          MiddleClassName: '',
+          SmallClassName: '',
+          GoodsName: '',
+          GoodsLevel: '',
+          GoodsDesc: '',
+          Standard: '',
+          CompanyType: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          F26: '',
+          F27: '',
+          F28: '',
+          F29: '',
+          F30: '',
+          F31: '',
+          F32: '',
+          F33: '',
+          F34: '',
+          F35: '',
+          F36: '',
+          F37: '',
+          F38: '',
+          F39: '',
+          F40: '',
+          F41: '',
+          F42: '',
+          F43: '',
+          F44: '',
+          F45: '',
+          F46: '',
+          Remark: '',
+          DeletionStateCode: '',
+          CreateOn: '',
+          CreateUserId: '',
+          CreateBy: '',
+          ModifiedOn: '',
+          ModifiedUserId: '',
+          ModifiedBy: ''
+
+        },
+        goodsLevel: '',
+        setForm: {
+          SupplierTypeCode: '01',
+          SupplierTypeName: '物资类',
+          AuditStepCode: '',
+          AuditStepName: ''
+        },
+        tableColumns: [
+
+          {
+            prop: 'Code1',
+            label: '大类编码',
+            width: 120,
+            sort: true
+          },
+          {
+            prop: 'Name1',
+            label: '大类名称',
+            width: 150,
+            sort: true
+          },
+
+          {
+            prop: 'Code2',
+            label: '中类编码',
+            width: 120,
+            sort: true
+          },
+
+          {
+            prop: 'Name2',
+            label: '中类名称',
+            width: 150,
+            sort: true
+          },
+
+          {
+            prop: 'Code3',
+            label: '小类编码',
+            width: 120,
+            sort: true
+          },
+
+          {
+            prop: 'Name3',
+            label: '小类名称',
+            width: 150,
+            sort: true
+          },
+
+          {
+            prop: 'Code4',
+            label: '品名编码',
+            width: 120,
+            sort: true
+          },
+
+          {
+            prop: 'Name4',
+            label: '品名名称',
+            width: 150,
+            sort: true
+          },
+
+          {
+            prop: 'GoodsLevel',
+            label: '物资级别',
+            width: 110,
+            sort: true
+          },
+
+          {
+            prop: 'GoodsDesc',
+            label: '产品说明',
+            width: 110,
+            sort: true
+          },
+
+          {
+            prop: 'Standard',
+            label: '标准备案',
+            width: 110,
+            sort: true
+          },
+
+          {
+            prop: 'CompanyType',
+            label: '供应商类型',
+            width: 130,
+            sort: true
+          }
+
+        ],
+        dynamicTableColumns: [],
+        organizeProps: {
+          value: 'id',
+          label: 'name',
+          children: 'children'
+        },
+        operationOrganizeData: [],
+        AuditStepOptions: [],
+        showcolumn: [],
+        ContrastLoading: false,
+        contrastsize: 10,
+        contrastcurrentPage: 1,
+        contrastimportCount: 0
+      }
+    },
+    created () {
+      // 查询条件初始值备份
+      Object.assign(this.searchFormReset, this.searchForm)
+      // 初始化部分表头
+      this.initTableHeader()
+
+      // 查询列表
+      this.initDatas()
+
+      this.getDictOptions()
+    },
+    methods: {
+      exportExcel () {
+        this.loading = true
+        // 显示列
+        Object.assign(this.showcolumn, this.tableColumns)
+        Object.assign(this.showcolumn, this.dynamicTableColumns)
+        let showcolumn = this.tableColumns.concat(this.dynamicTableColumns)
+        let showcolumnarr = []
+        let showcolumnnamearr = []
+
+        for (var i = 0; i < showcolumn.length; i++) {
+          showcolumnarr.push(showcolumn[i].label)
+          showcolumnnamearr.push(showcolumn[i].prop.replace(/,/g, ','))
+        }
+        let params = {
+          _currentPage: this.currentPage,
+          _size: this.size,
+          Order: this.Column.Order,
+          Prop: this.Column.Prop,
+          Edition: '1',
+          showcolumnarr: showcolumnarr + '',
+          showcolumnnamearr: showcolumnnamearr + ''
+        }
+        api.exportExcelAll(params, this.$axios).then(res => {
+          this.loading = false
+          let docurl = res.data
+          // 内网服务器专用
+          if (process.client && docurl.indexOf('upfile') === 0) {
+            const myDomain = window.location.host
+            location.href = 'http://' + myDomain + '/' + docurl
+          } else {
+            location.href = 'http://' + docurl
+          }
+        })
+      },
+      initTableHeader () {
+        setapi.initGoodTableHeader(this.$axios).then(res => {
+          this.dynamicTableColumns = res.data.items
+        })
+      },
+      initDatas () {
+        this.tableLoading = true
+        // 分页及列表条件
+        let params = {
+          _currentPage: this.currentPage,
+          _size: this.size,
+          Order: this.Column.Order,
+          Prop: this.Column.Prop,
+          Edition: '1'
+        }
+        let myCreateOn = []
+        // 解析时间
+
+        if (this.CreateOn != null && this.CreateOn.length === 2) {
+          this.CreateOn[1].setHours(23)
+          this.CreateOn[1].setMinutes(59)
+          this.CreateOn[1].setSeconds(59)
+          myCreateOn.push(this.formatDateTime(this.CreateOn[0]))
+          myCreateOn.push(this.formatDateTime(this.CreateOn[1]))
+        }
+        // 查询条件
+        Object.assign(params, this.searchForm)
+        // 访问接口
+        api.getList(myCreateOn.join(','), params, this.$axios).then(res => {
+          this.entityList = res.data.items
+          this.currentItemCount = res.data.currentItemCount
+          this.tableLoading = false
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+      getDictOptions () {
+        api.getDictList(this.$axios).then(res => {
+          this.AuditStepOptions = res.data.items['AuditStep']
+          // this.dictOptions.customerList = res.data.items['customerList']
+          // this.dictOptions.projectList = res.data.items['projectList']
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+      GetCommand (cmdType, row) {
+        let cmd = {}
+        cmd.Command = cmdType
+        cmd.row = row
+        return cmd
+      },
+      searchCommand (command) {
+        if (command === 'search') {
+          this.dialogVisible = true
+        } else if (command === 'clear') {
+          this.clearSearch()
+        }
+      },
+      // 列表排序功能
+      orderby (column) {
+        if (column.order === 'ascending') {
+          this.Column.Order = 'asc'
+        } else if (column.order === 'descending') {
+          this.Column.Order = 'desc'
+        }
+        this.Column.Prop = column.prop
+        this.initDatas()
+      },
+      clearSearch () {
+        Object.assign(this.searchForm, this.searchFormReset)
+        // this.searchForm = this.searchFormReset;
+        this.CreateOn = ''
+        this.initDatas()
+      },
+      handleSearch () {
+        this.currentPage = 1
+        this.dialogVisible = false
+        this.initDatas()
+      },
+      handleCurrentChange (value) {
+        this.currentPage = value
+        this.initDatas()
+      },
+      handleSizeChange (value) {
+        this.size = value
+        this.currentPage = 1
+        this.initDatas()
+      },
+      transferStr (val) {
+        if (val === '1') {
+          return '是'
+        }
+        if (val === '0') {
+          return ''
+        } else {
+          return val
+        }
+      },
+
+      jstimehandle (val) {
+        if (val === '') {
+          return '----'
+        } else if (val === '0001-01-01T08:00:00+08:00') {
+          return '----'
+        } else if (val === '5000-01-01T23:59:59+08:00') {
+          return '永久'
+        } else {
+          val = val.replace('T', ' ')
+          return val.substring(0, 10)
+        }
+      },
+
+      formatDateTime (date) {
+        var y = date.getFullYear()
+        var m = date.getMonth() + 1
+        m = m < 10 ? ('0' + m) : m
+        var d = date.getDate()
+        d = d < 10 ? ('0' + d) : d
+        var h = date.getHours()
+        var minute = date.getMinutes()
+        minute = minute < 10 ? ('0' + minute) : minute
+        return y + '-' + m + '-' + d + ' ' + h + ':' + minute
+      }
+    }
+  }
+</script>
+
+<style>
+  .el-col {
+    margin-bottom: 5px;
+  }
+  .attach-uploader {
+    border: 1px dashed #63B8FF;
+    cursor: pointer;
+    position: relative;
+    overflow: hidden;
+  // margin-bottom: -17px;
+    margin-top: -15px;
+    margin-left: 20px
+  }
+
+  .attach-uploader :hover {
+    border-color: #228B22;
+  }
+  .attach-uploader-icon {
+    font-size: 25px;
+    color: #63B8FF;
+    width: 50px;
+    height: 50px;
+    line-height: 50px;
+    text-align: center;
+  }
+
+  .attach-uploader-icon:hover {
+    color: #228B22;
+  }
+</style>

+ 174 - 0
src/dashoo.cn/frontend_web/src/pages/select/aptitude/techservice/_opera/operation.vue

@@ -0,0 +1,174 @@
+<template>
+  <div>
+    <el-breadcrumb class="heading">
+      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/select/aptitude/techservice' }">服务类资质对照表</el-breadcrumb-item>
+      <el-breadcrumb-item>查看</el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-card class="box-card">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> 查看
+        </span>
+        <span style="float: right;">
+          <router-link :to="'/select/aptitude/techservice'">
+            <el-button type="primary" size="mini" style="margin-left: 8px">返回</el-button>
+          </router-link>
+        </span>
+      </div>
+      <el-form label-width="240px" ref="EntityForm" :model="formData">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="名称" label-width="110px">
+              <el-input v-model="formData.Name" :disabled="isdis" placeholder="名称">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label-width="110px" label="编码">
+              <el-input v-model="formData.Code" style="width:100%" :disabled="isdis" placeholder="编码"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+        </el-row>
+        <el-row>
+          <el-col :span="6" v-for="(item,i) in dynamicTableColumns" :key="i">
+            <el-form-item :label="item.label">
+              <el-switch v-model="formData[item.prop]" active-value="1" inactive-value="0" disabled></el-switch>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+  </div>
+</template>
+
+<script>
+  import {
+    mapGetters
+  } from 'vuex'
+  import api from '@/api/oilsupplier/technologyservice'
+import setapi from '@/api/oilsupplier/oilclassorgset'
+  export default {
+    computed: {
+      ...mapGetters({
+        authUser: 'authUser'
+      })
+    },
+    name: 'oiltechnologyserviceEdit',
+
+    data () {
+      return {
+        auditerName: '',
+        classid: '',
+        serviceId: '',
+        formData: {
+          Id: '',
+          Code: '',
+          Name: '',
+          Code1: '',
+          Name1: '',
+          Code2: '',
+          Name2: '',
+          Code3: '',
+          Name3: '',
+          Code4: '',
+          Name4: '',
+          OrgId: '',
+          OrgName: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          F26: '',
+          F27: '',
+          F28: '',
+          F29: '',
+          F30: '',
+          F31: '',
+          F32: '',
+          F33: '',
+          F34: '',
+          F35: '',
+          F36: '',
+          F37: '',
+          F38: '',
+          F39: '',
+          F40: '',
+          F41: '',
+          F42: '',
+          F43: '',
+          F44: '',
+          F45: '',
+          F46: '',
+          F47: '',
+          F48: '',
+          F49: '',
+          F50: '',
+          F51: '',
+          F52: '',
+          Remark: '',
+          DeletionStateCode: '',
+          CreateOn: '',
+          CreateUserId: '',
+          CreateBy: '',
+          ModifiedOn: '',
+          ModifiedUserId: '',
+          ModifiedBy: ''
+
+        },
+        dynamicTableColumns: [],
+        isdis: false
+      }
+    },
+    created () {
+      this.serviceId = this.$route.params.opera
+      if (this.serviceId != 'add' && this.serviceId > 0) {
+        this.formData.Id = this.serviceId
+        this.initDatas()
+      } else {
+        this.formData.Id = 0
+      }
+      this.initTableHeader()
+    },
+    methods: {
+      initTableHeader () {
+        setapi.initTsTableHeader(this.$axios).then(res => {
+          this.dynamicTableColumns = res.data.items
+        })
+      },
+      initDatas () {
+        if (this.formData.Id) {
+          api.getEntity(this.formData.Id, this.$axios).then(res => {
+            this.formData = res.data
+            this.isdis = true
+          }).catch(err => {
+            console.error(err)
+          })
+        }
+      }
+    }
+  }
+</script>

+ 556 - 0
src/dashoo.cn/frontend_web/src/pages/select/aptitude/techservice/index.vue

@@ -0,0 +1,556 @@
+<template>
+  <div>
+    <el-breadcrumb class="heading">
+      <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
+      <el-breadcrumb-item :to="{ path: '/oilsupplier/technologyservice' }">服务类资质对照表</el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-card class="box-card" style="height: calc(100vh - 115px);" v-loading="loading">
+      <div slot="header">
+        <span>
+          <i class="icon icon-table2"></i> &nbsp;服务类资质对照表
+        </span>
+        <!--<span style="float: right;">-->
+        <!--  <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="exportExcel">导出</el-button>-->
+        <!--</span>-->
+        <el-form ref="form" :inline="true" style="float: right; margin-top: -10px">
+          <el-form-item label="时间">
+            <el-date-picker size="mini" style="width: 220px" v-model="CreateOn" type="daterange" range-separator="至"
+              start-placeholder="生成日期" end-placeholder="结束日期"></el-date-picker>
+          </el-form-item>
+          <el-form-item label="编码">
+            <el-input size="mini" v-model="searchForm.Code" style="width:100%" placeholder="请输入编码" clearable></el-input>
+          </el-form-item>
+          <el-form-item label="名称">
+            <el-input size="mini" v-model="searchForm.Name" style="width:100%" placeholder="请输入名称" clearable></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-dropdown split-button type="primary" size="mini" @click="handleSearch" @command="searchCommand">
+              查询
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="search">高级查询</el-dropdown-item>
+                <el-dropdown-item command="clear">查询重置</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-form-item>
+        </el-form>
+      </div>
+      <el-table highlight-current-row stripe :data="entityList" id="rebateSetTable" size="mini" border height="calc(100vh - 243px)"
+        style="width: 100%" @sort-change="orderBy" v-loading="tableLoading">
+        <el-table-column label="操作" min-width="80" align="center" fixed="right">
+          <template slot-scope="scope">
+            <router-link :to="'/select/aptitude/techservice/' + scope.row.Id + '/operation'">
+              <el-button type="primary" plain title="查看" size="mini">查看</el-button>
+            </router-link>
+          </template>
+        </el-table-column>
+        <el-table-column v-for="column in tableColumns" :key="column.Id" :prop="column.prop" sortable
+          :width="column.width" :label="column.label" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            {{ transferStr(scope.row[column.prop]) }}
+          </template>
+        </el-table-column>
+        <!--动态显示的表头-->
+        <el-table-column v-for="column in dynamicTableColumns" :prop="column.prop" sortable :width="320"
+          :key="column.Id" :label="column.label" align="center" show-overflow-tooltip>
+          <template slot-scope="scope">
+            {{ transferStr(scope.row[column.prop]) }}
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination style="float: right; margin-top: 10px; margin-bottom: 5px" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+        :page-sizes="[10, 50, 100, 200, 500]" :page-size="size" layout="total, sizes, prev, pager, next, jumper"
+        :total="currentItemCount">
+      </el-pagination>
+    </el-card>
+    <el-dialog title="高级查询" :visible.sync="dialogVisible" width="720px">
+      <el-form ref="advancedsearchForm" size="mini" label-width="80px">
+        <el-row>
+
+          <el-col :span="12">
+            <el-form-item label="时间">
+              <el-date-picker size="mini" clearable v-model="CreateOn" type="daterange" style="width:100%" range-separator="至"
+                start-placeholder="生成日期" end-placeholder="结束日期"></el-date-picker>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="编码">
+              <el-input size="mini" v-model="searchForm.Code" style="width:100%" clearable placeholder="请输入编码"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="名称">
+              <el-input size="mini" v-model="searchForm.Name" style="width:100%" clearable placeholder="请输入名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="一级编码">
+              <el-input size="mini" v-model="searchForm.Code1" style="width:100%" clearable placeholder="请输入一级编码"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="一级名称">
+              <el-input size="mini" v-model="searchForm.Name1" style="width:100%" clearable placeholder="请输入一级名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="二级编码">
+              <el-input size="mini" v-model="searchForm.Code2" style="width:100%" clearable placeholder="请输入二级编码"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="二级名称">
+              <el-input size="mini" v-model="searchForm.Name2" style="width:100%" clearable placeholder="请输入二级名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="三级编码">
+              <el-input size="mini" v-model="searchForm.Code3" style="width:100%" clearable placeholder="请输入三级编码"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="三级名称">
+              <el-input size="mini" v-model="searchForm.Name3" style="width:100%" clearable placeholder="请输入三级名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="四级编码">
+              <el-input size="mini" v-model="searchForm.Code4" style="width:100%" clearable placeholder="请输入四级编码"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="四级名称">
+              <el-input size="mini" v-model="searchForm.Name4" style="width:100%" clearable placeholder="请输入四级名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="部门名称">
+              <el-input size="mini" v-model="searchForm.OrgName" style="width:100%" clearable placeholder="请输入部门名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="dialogVisible = false">取 消</el-button>
+        <el-button size="mini" type="primary" @click="handleSearch">查 询</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+<script>
+  import {
+    mapGetters
+  } from 'vuex'
+  import api from '@/api/oilsupplier/technologyservice'
+  import setapi from '@/api/oilsupplier/oilclassorgset'
+
+  export default {
+    computed: {
+      ...mapGetters({
+        authUser: 'authUser'
+      })
+    },
+    name: 'oiltechnologyservice',
+    data () {
+      return {
+        tableLoading: false,
+        loading2: false,
+        loading: false,
+        loading3: false,
+        classid: '',
+        dialogVisible: false,
+        // 列表数据
+        entityList: [],
+        // 分页参数
+        size: 10,
+        currentPage: 1,
+        currentItemCount: 0,
+        // 列表排序
+        Column: {
+          Order: '',
+          Prop: ''
+        },
+        // 查询时间
+        CreateOn: [],
+        // 查询项
+        searchFormReset: {},
+        formData: {
+          Id: '',
+          Id1: '',
+          Id2: '',
+          Id3: '',
+          Id4: '',
+          Code: '',
+          Name: '',
+          Code1: '',
+          Name1: '',
+          Code2: '',
+          Name2: '',
+          Code3: '',
+          Name3: '',
+          Code4: '',
+          Name4: ''
+        },
+        searchForm: {
+          Code: '',
+          Name: '',
+          Code1: '',
+          Name1: '',
+          Code2: '',
+          Name2: '',
+          Code3: '',
+          Name3: '',
+          Code4: '',
+          Name4: '',
+          OrgId: '',
+          OrgName: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          F26: '',
+          F27: '',
+          F28: '',
+          F29: '',
+          F30: '',
+          F31: '',
+          F32: '',
+          F33: '',
+          F34: '',
+          F35: '',
+          F36: '',
+          F37: '',
+          F38: '',
+          F39: '',
+          F40: '',
+
+          Remark: ''
+        },
+        setForm: {
+          SupplierTypeCode: '03',
+          SupplierTypeName: '服务类',
+          AuditStepCode: '',
+          AuditStepName: ''
+        },
+        dynamicTableColumns: [],
+        tableColumns: [{
+          prop: 'Code',
+          label: '编码',
+          width: 120,
+          sort: true
+        },
+
+        {
+          prop: 'Name',
+          label: '名称',
+          width: 260,
+          sort: true
+        },
+
+        {
+          prop: 'Code1',
+          label: '一级编码',
+          width: 120,
+          sort: true
+        },
+
+        {
+          prop: 'Name1',
+          label: '一级名称',
+          width: 150,
+          sort: true
+        },
+
+        {
+          prop: 'Code2',
+          label: '二级编码',
+          width: 120,
+          sort: true
+        },
+
+        {
+          prop: 'Name2',
+          label: '二级名称',
+          width: 150,
+          sort: true
+        },
+
+        {
+          prop: 'Code3',
+          label: '三级编码',
+          width: 120,
+          sort: true
+        },
+
+        {
+          prop: 'Name3',
+          label: '三级名称',
+          width: 150,
+          sort: true
+        },
+
+        {
+          prop: 'Code4',
+          label: '四级编码',
+          width: 120,
+          sort: true
+        },
+
+        {
+          prop: 'Name4',
+          label: '四级名称',
+          width: 150,
+          sort: true
+        },
+
+          /* {
+            prop: "OrgId",
+            label: '部门ID',
+            width: 120,
+            sort: true
+          }, */
+
+        {
+          prop: 'OrgName',
+          label: '部门名称',
+          width: 150,
+          sort: true
+        }
+        ],
+        organizeProps: {
+          value: 'id',
+          label: 'name',
+          children: 'children'
+        },
+        operationOrganizeData: [],
+        searchImportForm: {
+          Code: '',
+          Name: '',
+          Code1: '',
+          Name1: '',
+          Code2: '',
+          Name2: '',
+          Code3: '',
+          Name3: '',
+          Code4: '',
+          Name4: '',
+          OrgId: '',
+          OrgName: '',
+          F01: '',
+          F02: '',
+          F03: '',
+          F04: '',
+          F05: '',
+          F06: '',
+          F07: '',
+          F08: '',
+          F09: '',
+          F10: '',
+          F11: '',
+          F12: '',
+          F13: '',
+          F14: '',
+          F15: '',
+          F16: '',
+          F17: '',
+          F18: '',
+          F19: '',
+          F20: '',
+          F21: '',
+          F22: '',
+          F23: '',
+          F24: '',
+          F25: '',
+          F26: '',
+          F27: '',
+          F28: '',
+          F29: '',
+          F30: '',
+          F31: '',
+          F32: '',
+          F33: '',
+          F34: '',
+          F35: '',
+          F36: '',
+          F37: '',
+          F38: '',
+          F39: '',
+          F40: '',
+          Remark: ''
+        }
+      }
+    },
+    created () {
+      // 查询条件初始值备份
+      Object.assign(this.searchFormReset, this.searchForm)
+      this.initTableHeader()
+      // 查询列表
+      this.initDatas()
+    },
+    methods: {
+      initTableHeader () {
+        setapi.initTsTableHeader(this.$axios).then(res => {
+          this.dynamicTableColumns = res.data.items
+        })
+      },
+      exportExcel () {
+        this.loading = true
+        // 显示列
+        let showcolumn = this.tableColumns.concat(this.dynamicTableColumns)
+        let showcolumnarr = []
+        let showcolumnnamearr = []
+
+        for (var i = 0; i < showcolumn.length; i++) {
+          showcolumnarr.push(showcolumn[i].label)
+          showcolumnnamearr.push(showcolumn[i].prop.replace(/,/g, ','))
+        }
+        let params = {
+          _currentPage: this.currentPage,
+          _size: this.size,
+          Order: this.Column.Order,
+          Prop: this.Column.Prop,
+          Edition: '2',
+          showcolumnarr: showcolumnarr + '',
+          showcolumnnamearr: showcolumnnamearr + ''
+        }
+        api.exportExcelAll(params, this.$axios).then(res => {
+          this.loading = false
+          let docurl = res.data
+          // 内网服务器专用
+          if (process.client && docurl.indexOf('upfile') === 0) {
+            const myDomain = window.location.host
+            location.href = 'http://' + myDomain + '/' + docurl
+          } else {
+            location.href = 'http://' + docurl
+          }
+        })
+      },
+      GetCommand (cmdType, row) {
+        let cmd = {}
+        cmd.Command = cmdType
+        cmd.row = row
+        return cmd
+      },
+      initDatas () {
+        this.tableLoading = true
+        // 分页及列表条件
+        let params = {
+          _currentPage: this.currentPage,
+          _size: this.size,
+          Order: this.Column.Order,
+          Prop: this.Column.Prop
+        }
+        let myCreateOn = []
+        // 解析时间
+        if (this.CreateOn != null && this.CreateOn.length == 2) {
+          this.CreateOn[1].setHours(23)
+          this.CreateOn[1].setMinutes(59)
+          this.CreateOn[1].setSeconds(59)
+          myCreateOn.push(this.formatDateTime(this.CreateOn[0]))
+          myCreateOn.push(this.formatDateTime(this.CreateOn[1]))
+        }
+        // 查询条件
+        Object.assign(params, this.searchForm)
+        // 访问接口
+        api.getList('', params, this.$axios).then(res => {
+          this.entityList = res.data.items
+          this.currentItemCount = res.data.currentItemCount
+          this.tableLoading = false
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+      searchCommand (command) {
+        if (command === 'search') {
+          this.dialogVisible = true
+        } else if (command === 'clear') {
+          this.clearSearch()
+        }
+      },
+      // 列表排序功能
+      orderBy (column) {
+        if (column.order === 'ascending') {
+          this.Column.Order = 'asc'
+        } else if (column.order === 'descending') {
+          this.Column.Order = 'desc'
+        }
+        this.Column.Prop = column.prop
+        this.initDatas()
+      },
+      clearSearch () {
+        Object.assign(this.searchForm, this.searchFormReset)
+        // this.searchForm = this.searchFormReset;
+        this.CreateOn = ''
+        this.initDatas()
+      },
+      handleSearch () {
+        this.currentPage = 1
+        this.dialogVisible = false
+        this.initDatas()
+      },
+      handleCurrentChange (value) {
+        this.currentPage = value
+        this.initDatas()
+      },
+      handleSizeChange (value) {
+        this.size = value
+        this.currentPage = 1
+        this.initDatas()
+      },
+      transferStr (val) {
+        if (val === '1') {
+          return '是'
+        }
+        if (val === '0') {
+          return ''
+        } else {
+          return val
+        }
+      },
+
+      formatDateTime (date) {
+        var y = date.getFullYear()
+        var m = date.getMonth() + 1
+        m = m < 10 ? ('0' + m) : m
+        var d = date.getDate()
+        d = d < 10 ? ('0' + d) : d
+        var h = date.getHours()
+        var minute = date.getMinutes()
+        minute = minute < 10 ? ('0' + minute) : minute
+        return y + '-' + m + '-' + d + ' ' + h + ':' + minute
+      }
+    }
+  }
+</script>