ll
liukangdong
2025-03-11 6ea077ecfd9c3ed956570692600e7e55796c9bfe
admin/src/views/platform/set/index.vue
@@ -0,0 +1,251 @@
<template>
  <div class="main_app">
    <QueryForm
      v-model="filters"
      :query-form-config="queryFormConfig"
      @handleQuery="getList(1)"
      @clear="clear"
    />
    <el-table v-loading="loading" :data="dataList" 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
      >
        <template v-slot="scope">
          <span>{{ scope.row.startTime }}-{{ scope.row.endTime }}</span>
        </template>
      </el-table-column>
      <el-table-column
        prop="workingNum"
        label="同时作业车辆数"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="alermTime"
        label="停留超时报警时间(分钟)"
        min-width="100"
        show-overflow-tooltip
      />
      <el-table-column
        prop="wariCallTime"
        label="叫号等待时间(分钟)"
        min-width="80"
        show-overflow-tooltip
      />
      <el-table-column
        prop=""
        label="月台作业效率(万支/小时)"
        min-width="120"
        show-overflow-tooltip
      />
      <el-table-column
        prop="name"
        label="停用/启用"
        min-width="80"
        show-overflow-tooltip
      >
        <template v-slot="scope">
          <el-switch
            v-model="scope.row.status"
            active-value="0"
            inactive-value="1"
            @change="e => changeStatus(scope.row)"
          >
          </el-switch>
        </template>
      </el-table-column>
      <el-table-column
        prop="name"
        label="操作"
        min-width="80"
        show-overflow-tooltip
      >
        <template v-slot="scope">
          <el-button type="text" @click="handleEdit(scope.row)">编辑</el-button>
          <el-button type="text" class="red" @click="handleDel(scope.row)"
            >删除</el-button
          >
        </template>
      </el-table-column>
    </el-table>
    <pagination
      @size-change="handleSizeChange"
      @current-change="getList"
      :pagination="pagination"
    />
    <GlobalWindow
      :title="param.id ? '编辑月台配置' : '新增月台配置'"
      :visible.sync="isShowEdit"
      width="600px"
      :confirm-working="subLoading"
      @confirm="handleSub"
    >
      <el-form
        :model="param"
        :rules="rules"
        label-suffix=":"
        ref="ruleForm"
        label-width="140px"
      >
        <el-form-item label="月台名称">
          <el-input v-model="param.name" class="w300" disabled></el-input>
        </el-form-item>
        <el-form-item label="工作时间">
          <el-time-picker
            class="w100"
            v-model="param.startTime"
            range-separator="至"
            value-format="HH:mm"
            format="HH:mm"
          />
          至
          <el-time-picker
            class="w100"
            v-model="param.endTime"
            range-separator="至"
            value-format="HH:mm"
            format="HH:mm"
          />
        </el-form-item>
        <el-form-item label="同时作业车辆数">
          <el-input v-model="param.workingNum" class="w300"></el-input>
          <span class="ml10">个</span>
        </el-form-item>
        <el-form-item label="停留超时报警时间">
          <el-input
            v-model="param.alermTime"
            placeholder="请输入"
            class="w300"
          ></el-input>
          <span class="ml10">分钟</span>
        </el-form-item>
        <el-form-item label="叫号等待时间" prop="name">
          <el-input
            v-model="param.wariCallTime"
            placeholder="请输入"
            class="w300"
          ></el-input>
          <span class="ml10">分钟</span>
        </el-form-item>
        <el-form-item label="月台作业效率" placeholder="请输入" prop="name">
          <el-input
            v-model="param.ccc"
            class="w300"
            placeholder="请输入"
            oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 7)"
          />
          <span class="ml10">万支/小时</span>
        </el-form-item>
         <el-form-item label="作业超时报警时间">
          <el-input
            v-model="param.aaa"
            placeholder="请输入"
            class="w300"
          ></el-input>
          <span class="ml10">分钟</span>
        </el-form-item>
      </el-form>
    </GlobalWindow>
  </div>
</template>
<script>
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
import GlobalWindow from '@/components/common/GlobalWindow'
// import { getPlatform, PlatformEdit, PlatformDel } from '@/api'
import { PlatformEdit, PlatformDel } from '@/api'
export default {
  components: {
    Pagination,
    QueryForm,
    GlobalWindow
  },
  data () {
    return {
      filters: {},
      loading: false,
      subLoading: false,
      queryFormConfig: {
        formItems: [
          {
            filed: 'name',
            type: 'input',
            label: '月台名称'
          }
        ],
        online: true
      },
      pagination: {
        capacity: 10,
        page: 1
      },
      dataList: [{}],
      total: 0,
      isShowEdit: false,
      param: {},
      rules: {}
    }
  },
  created () {
    this.getList()
  },
  methods: {
    getList (page) {
      const { filters, pagination } = this
      pagination.page = page || pagination.page
      // getPlatform({
      //   model: { ...filters },
      //   ...pagination
      // }).then(res => {
      //   this.dataList = res.records
      // })
    },
    handleDel (item) {
      this.$confirm('确定删除该月台吗, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(res => {
        PlatformDel(item.id).then(() => {
          this.getList()
          this.$tip.success('删除成功')
        })
      })
    },
    changeStatus (item) {
      PlatformEdit({
        ...item,
        status: item.stauts == 1 ? 0 : 1
      }).then(res => {
        this.$tip.success('更新成功')
        this.getList()
      })
    },
    clear () {
      this.filters = {}
      this.getList(0)
    },
    handleEdit (row) {
      this.isShowEdit = true
      this.param = { ...row }
    },
    handleSizeChange (capacity) {
      this.pagination.capacity = capacity
      this.getList(1)
    }
  }
}
</script>
<style>
</style>