gaosp
2024-01-14 0d626ae57149d5ed40a32bd8b808ca6069aa6d5e
src/container/maintenance/dailyMAdd.vue
@@ -7,44 +7,24 @@
        :visible.sync="dialogVisibleAdd" class="role-select">
         <!-- 查询表单 -->
        <el-form :model="dataForm" ref="dataForm" label-width="150px" style="margin-top:10px;">
            <el-row>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="统一编号" prop="uuid">
                        <el-input type="text" v-model="dataForm.uuid" autocomplete="off"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
            <el-row :gutter="24">
                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                    <el-form-item label="设备名称" prop="machineName">
                        <el-select v-model="dataForm.machineName" placeholder="---请选择---">
                        <el-select v-model="dataForm.machineId" placeholder="---请选择---">
                            <el-option
                            v-for="item in machineName"
                            v-for="item in machineList"
                            :key="item.id"
                            :label="item.label"
                            :value="item.value">
                            :label="item.name"
                            :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="设备型号" prop="type">
                        <el-input size="mini" type="text" v-model="dataForm.type"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="设备规格" prop="specification">
                        <el-input size="mini" type="text" v-model="dataForm.specification" @input="getMachineInfo"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="安装地点" prop="location">
                        <el-input size="mini" type="text" v-model="dataForm.location"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                    <el-form-item label="使用部门" prop="department">
                        <el-select v-model="dataForm.department" placeholder="---请选择---" clearable >
                            <el-option
                            v-for="item in department"
                            v-for="item in departmentlist"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
@@ -52,11 +32,11 @@
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                    <el-form-item label="保养者" prop="maintainPerson">
                        <el-select v-model="dataForm.maintainPerson" placeholder="---请选择---" clearable >
                            <el-option
                            v-for="item in maintainPerson"
                            v-for="item in userList"
                            :key="item.id"
                            :label="item.label"
                            :value="item.value">
@@ -64,27 +44,7 @@
                        </el-select>
                    </el-form-item>
                </el-col>
                <!-- <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="保养周期" prop="maintainPeriod">
                        <el-input size="mini" type="text" v-model="dataForm.maintainPeriod"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="投产日期" prop="productionDate">
                        <el-input size="mini" type="text" v-model="dataForm.productionDate"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="生产厂家" prop="manufacturer">
                        <el-input size="mini" type="text" v-model="dataForm.manufacturer"></el-input>
                    </el-form-item>
                </el-col> -->
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="计划状态" prop="planStatus">
                        <el-input size="mini" type="text" v-model="dataForm.planStatus" readonly></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                    <el-form-item label="是否合格" prop="isQualified">
                        <el-select v-model="dataForm.isQualified" placeholder="---请选择---" clearable >
                            <el-option
@@ -96,35 +56,37 @@
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                    <el-form-item label="保养内容与存在问题" prop="detail">
                        <el-input size="mini" type="text" v-model="dataForm.detail"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                </el-col>
                <el-col :xs="24":sm="10":md="10":lg="10":xl="10">
                    <el-form-item label="计划开始日期" prop="planStartDate">
                        <el-date-picker
                        format="yyyy 年 MM 月 dd 日"
                        value-format="yyyy-MM-dd"
                        v-model="dataForm.planStartDate"
                        type="daterange"
                        range-separator="至"
                        type="daterange"
                        start-placeholder="开始日期"
                        end-placeholder="结束日期">
                        </el-date-picker>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                <el-col :xs="24":sm="10":md="10":lg="10":xl="10">
                    <el-form-item label="计划完成日期" prop="planFinishDate">
                        <el-date-picker
                        format="yyyy 年 MM 月 dd 日"
                        value-format="yyyy-MM-dd"
                        v-model="dataForm.planFinishDate"
                        type="daterange"
                        range-separator="至"
                        type="daterange"
                        start-placeholder="开始日期"
                        end-placeholder="结束日期">
                        </el-date-picker>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="12":md="12":lg="12":xl="12">
                    <el-form-item label="保养内容与存在问题" prop="detail">
                        <el-input size="mini" type="text" v-model="dataForm.detail"></el-input>
                    </el-form-item>
                </el-col>
            </el-row>
@@ -140,33 +102,20 @@
<script>
// import { getMachineList, maintainCreate, maintainUpdate, deviceManage, userList, departmentGet } from '@/api/MdcApi'
import { getMachineList, maintainCreate, maintainUpdate, userList, departmentGet } from '@/api/MdcApi'
import { getRequest } from '@/api/Api'
export default {
  props: ['styles'],
  props: ['styles', 'departmentlist','machineList','userList'],
  data() {
    return {
      dataForm: {
        style: '日常保养',
        state: 1,
        machineName: '', // 设备名称
        uuid: '', // 同意编码
        type: '', // 设备类型
        specification: '', // 设备规格
        location: '', // 安装位置
        department: '', // 使用单位
        maintainPerson: '', // 保养者
        productionDate: '', // 投产日期
        manufacturer: '', // 生产厂家
        planStatus: '1', // 计划状态
        isQualified: '合格',
        planStartDate: '',
        planFinishDate: '',
        detail: '' // 保养内容与存在问题
        machineId: '',
        department: '',
        maintainPerson: '',
        isQualified: '',
        detail: '',
      },
      dialogVisibleAdd: false,
      // 下拉框
      machineName: [], // 设备名称
      department: [], // 使用部门
      maintainPerson: [], // 设备名称
      isQualified: [{ // 是否合格
        label: '合格',
        value: '合格'
@@ -184,47 +133,21 @@
    init(n, data) {
      this.data = data
      this.no = n
      if (this.styles === '1') {
        this.dataForm.style = '日常保养'
      } else if (this.styles === '2') {
        this.dataForm.style = '一级保养'
      } else if (this.styles === '3') {
        this.dataForm.style = '二级保养'
      } else {
        this.dataForm.style = '三级保养'
      }
      if (n === 1) {
        this.title = '新增' + this.dataForm.style
        this.dataForm.machineName = ''
        this.dataForm.uuid = ''
        this.dataForm.type = ''
        this.dataForm.specification = ''
        this.dataForm.location = ''
        this.dataForm.department = ''
        this.dataForm.maintainPerson = ''
        this.dataForm.productionDate = ''
        this.dataForm.manufacturer = ''
        this.dataForm.planStartDate = ''
        this.dataForm.planFinishDate = ''
        this.dataForm.isQualified = '合格'
        this.dataForm.detail = ''
        this.title = '新增' + this.style
        Object.keys(this.dataForm).forEach(key => {
          this.dataForm[key] = ''
        })
      } else {
        this.title = '修改' + this.dataForm.styles
        this.dataForm.machineName = this.data.machineName
        this.dataForm.uuid = this.data.uuid
        this.dataForm.type = this.data.type
        this.dataForm.specification = this.data.specification
        this.dataForm.location = this.data.location
        this.dataForm.department = this.data.department
        this.dataForm.maintainPerson = this.data.userName
        this.dataForm.isQualified = this.data.isQualified === '0' ? '不合格' : '合格'
        this.dataForm.manufacturer = this.data.manufacturer
        this.dataForm.detail = this.data.detail
        this.title = '修改' + this.style
        Object.keys(this.dataForm).forEach(key => {
          this.dataForm[key] = data[key]
        })
      }
      this.dialogVisibleAdd = true
      this.machineName = []
      this.maintainPerson = []
      this.initDevices() // 初始化数据
      // this.initDevices() // 初始化数据
    },
    // 保存
    savedata() {
@@ -236,12 +159,25 @@
      const completeDateTo = this.dataForm.planFinishDate[1]
      const isQualified = this.dataForm.isQualified === '合格' ? 1 : 0
      if (this.no === 1) {
        maintainCreate(
          this.styles, this.dataForm.uuid, this.dataForm.machineName, this.dataForm.type,
          this.dataForm.specification, this.dataForm.department, this.dataForm.location,
          startDateFrom, startDateTo, completeDateFrom, completeDateTo, isQualified,
          this.dataForm.state, this.dataForm.detail
        ).then(res => {
        console.log({
          ...this.dataForm,
          startDateFrom,
          startDateTo,
          completeDateFrom,
          completeDateTo,
          isQualified,
          styles: this.style
        })
        // return
        getRequest('maintainCreate',{
          ...this.dataForm,
          startDateFrom,
          startDateTo,
          completeDateFrom,
          completeDateTo,
          isQualified,
          styles: this.style
        }).then(res => {
          if (res.result === 'SUCCESS') {
            this.$message({
              type: 'success',
@@ -258,17 +194,23 @@
          }
        })
      } else {
        // 修改保存
        maintainUpdate(this.styles, this.data.id, this.dataForm.uuid, this.dataForm.machineName, this.dataForm.type,
          this.dataForm.specification, this.dataForm.department, this.dataForm.location,
          startDateFrom, startDateTo, completeDateFrom, completeDateTo, isQualified,
          this.dataForm.state, this.dataForm.detail).then(res => {
        getRequest('maintainUpdate',{
          ...this.dataForm,
          startDateFrom,
          startDateTo,
          completeDateFrom,
          completeDateTo,
          isQualified,
          styles: this.style
        }).then(res => {
          if (res.result === 'SUCCESS') {
            this.$message({
              type: 'success',
              message: '保存成功!'
            })
            this.$emit('reflash')
            // const that = this
            this.dialogVisibleAdd = false
          } else {
            this.$message({
              type: 'error',
@@ -281,63 +223,30 @@
    /**
         * 初始化已有机床
         */
    initDevices() {
      this.machineName = []
      this.maintainPerson = []
      this.department = []
      // 设备名称
      getMachineList().then(res => {
        res.list.map(item => {
          this.machineName.push({
            label: item.name,
            value: item.name,
            id: item.id
          })
        })
      })
      // 使用单位
      userList().then(res => {
        res.list.map(elem => {
          this.maintainPerson.push({
            label: elem.user,
            value: elem.user,
            id: elem.id
          })
          //    .split('_')[1]
        })
      })
      // 获取部门
      departmentGet().then(res => {
        res.list.map(elem => {
          this.department.push({
            label: elem.name,
            value: elem.name,
            id: elem.id
          })
        })
      })
    },
    // 设备名称带出
    getMachineInfo() {
      // deviceManage(this.dataForm.machineName, this.dataForm.type, this.dataForm.specification).then(res => {
      //
      // })
    },
    // 重置
    resetForm() {
      this.$refs.dataForm.resetFields()
    }
  },
  created() {
    this.initDevices()
    // this.initDevices()
  }
}
</script>
<style lang="scss">
.el-form-item__content {
    .el-select,.el-input {
      width: 100%;
    }
  }
  .el-dialog__body {
    overflow: hidden;
  }
</style>
<style scoped>
    .el-table__body .cell{padding:3px;}
    /* .el-table__body .cell{padding:3px;}
    .el-input__icon{line-height: 30px;}
    .el-input__inner{height:30px;line-height: 30px;}
    .el-form-item__content{line-height: 40px;}
    .el-col{height:36px;}
    .el-col{height:36px;} */
</style>