gaosp
2024-01-14 0d626ae57149d5ed40a32bd8b808ca6069aa6d5e
src/container/maintenance/dailyMAdd.vue
@@ -7,37 +7,17 @@
        :visible.sync="dialogVisibleAdd" class="role-select">
         <!-- 查询表单 -->
        <el-form :model="dataForm" ref="dataForm" label-width="150px" style="margin-top:10px;">
            <el-row :gutter="20">
                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                    <el-form-item label="统一编号" prop="uuid">
                        <el-input type="text" v-model="dataForm.uuid" autocomplete="off"></el-input>
                    </el-form-item>
                </el-col>
            <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="6":md="6":lg="6":xl="6">
                    <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="6":md="6":lg="6":xl="6">
                    <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="6":md="6":lg="6":xl="6">
                    <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="6":md="6":lg="6":xl="6">
@@ -56,32 +36,12 @@
                    <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">
                            </el-option>
                        </el-select>
                    </el-form-item>
                </el-col>
                <!-- <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                    <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="6":md="6":lg="6":xl="6">
                    <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="6":md="6":lg="6":xl="6">
                    <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="6":md="6":lg="6":xl="6">
                    <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="6":md="6":lg="6":xl="6">
@@ -97,32 +57,36 @@
                    </el-form-item>
                </el-col>
                <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"
                        range-separator="至"
                        type="daterange"
                        start-placeholder="开始日期"
                        end-placeholder="结束日期">
                        </el-date-picker>
                    </el-form-item>
                </el-col>
                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                <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"
                        range-separator="至"
                        type="daterange"
                        start-placeholder="开始日期"
                        end-placeholder="结束日期">
                        </el-date-picker>
                    </el-form-item>
                </el-col>
                <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-row>
@@ -140,32 +104,18 @@
import { getMachineList, maintainCreate, maintainUpdate, userList, departmentGet } from '@/api/MdcApi'
import { getRequest } from '@/api/Api'
export default {
  props: ['styles', 'departmentlist'],
  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: '合格'
@@ -183,42 +133,16 @@
    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 = []
@@ -235,48 +159,65 @@
      const completeDateTo = this.dataForm.planFinishDate[1]
      const isQualified = this.dataForm.isQualified === '合格' ? 1 : 0
      if (this.no === 1) {
        getRequest('maintainCreate',{})
        // 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 => {
        //   if (res.result === 'SUCCESS') {
        //     this.$message({
        //       type: 'success',
        //       message: '保存成功!'
        //     })
        //     this.$emit('reflash')
        //     // const that = this
        //     this.dialogVisibleAdd = false
        //   } else {
        //     this.$message({
        //       type: 'error',
        //       message: res.result
        //     })
        //   }
        // })
        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',
              message: '保存成功!'
            })
            this.$emit('reflash')
            // const that = this
            this.dialogVisibleAdd = false
          } else {
            this.$message({
              type: 'error',
              message: res.result
            })
          }
        })
      } else {
        getRequest('maintainUpdate',{})
        // 修改保存
        // 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 => {
        //   if (res.result === 'SUCCESS') {
        //     this.$message({
        //       type: 'success',
        //       message: '保存成功!'
        //     })
        //     this.$emit('reflash')
        //   } else {
        //     this.$message({
        //       type: 'error',
        //       message: res.result
        //     })
        //   }
        // })
        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',
              message: res.result
            })
          }
        })
      }
    },
    /**
@@ -288,7 +229,7 @@
    }
  },
  created() {
    this.initDevices()
    // this.initDevices()
  }
}
</script>