qushaowei
2023-12-12 f3fcd30cadbcbd406a6e10e3c7df64e5306db069
技术状态鉴定 批量点检驳回 审批
已添加4个文件
已修改11个文件
2492 ■■■■■ 文件已修改
src/views/eam/Daily3MaintenanceOrderList.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/DailyInspectionOrderList.vue 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/DailyInspectionStandardList.vue 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentCalibrationOrder.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceStandard3List.vue 228 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/daily3MaintenanceOrder/MaintenanceOrder3Modal.vue 747 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/daily3MaintenanceOrder/TechnologyStatusAuthenticateModal.vue 632 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyInspectionStandard/DailyInspectionStandardDetail.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderModal.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal.vue 591 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/inspectionProject/InspectionProjectRight.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/siteAreaLine/SiteAreaLineLeft.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/siteAreaLine/SiteAreaLineModel.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/Daily3MaintenanceOrderList.vue
@@ -306,12 +306,12 @@
            type="vertical"
          />
          <a
            v-show="record.status === '5' && record.isNotStoveCategoryFlag == false && record.precisionParameters == '0'"
            v-show="record.status === '5' && record.isNotStoveCategoryFlag == false && record.precisionParameters != '1'"
            @click="handleTechnologyStatus(record)"
            v-has="'daily3MaintenanceOrder:TechnologyStatus'"
          >技术状态鉴定</a>
          <a-divider
            v-show="record.status === '5'&& record.isNotStoveCategoryFlag == false && record.precisionParameters == '0' "
            v-show="record.status === '5'&& record.isNotStoveCategoryFlag == false && record.precisionParameters != '1'"
            type="vertical"
          />
          <a
@@ -367,10 +367,10 @@
      </a-table>
    </div>
    <maintenance-order-modal
    <maintenance-order3-modal
      ref="modalForm"
      @ok="modalFormOk"
    ></maintenance-order-modal>
    ></maintenance-order3-modal>
    <finish-devolution-modal
      ref="FinishDevolutionModal"
      @ok="modalFormOk"
@@ -399,6 +399,10 @@
      ref="EquipmentTechnologyStatusModal"
      @ok="modalFormOk"
    ></equipment-technology-status-modal>
    <technology-status-authenticate-modal
      ref="TechnologyStatusAuthenticateModal"
      @ok="modalFormOk"
    ></technology-status-authenticate-modal>
    <maintenance-3-receipt-modal
      ref="Maintenance3ReceiptModal"
      @ok="modalFormOk"
@@ -411,7 +415,7 @@
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import MaintenanceOrderModal from './modules/dailyMaintenanceOrder/MaintenanceOrderModal'
import MaintenanceOrder3Modal from './modules/daily3MaintenanceOrder/MaintenanceOrder3Modal'
import FinishDevolutionModal from './modules/dailyMaintenanceOrder/FinishDevolutionModal'
import MaintenanceOrderChangeModal from './modules/dailyMaintenanceOrder/MaintenanceOrderChangeModal'
import EquipmentPrecisionCheckOrderModal from './modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal'
@@ -419,6 +423,7 @@
import MaintenanceOrderAssignModal from './modules/dailyMaintenanceOrder/MaintenanceOrderAssignModal'
import DailyMaintenanceOrderExeDrawer from './modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer'
import EquipmentTechnologyStatusModal from './modules/daily3MaintenanceOrder/EquipmentTechnologyStatusModal'
import TechnologyStatusAuthenticateModal from './modules/daily3MaintenanceOrder/TechnologyStatusAuthenticateModal'
import Maintenance3ReceiptModal from './modules/daily3MaintenanceOrder/Maintenance3ReceiptModal.vue'
import { getAction, postAction, requestPut } from '@/api/manage'
import JEllipsis from "@/components/jeecg/JEllipsis";
@@ -427,7 +432,7 @@
  name: 'DailyMaintenanceOrderList',
  mixins: [JeecgListMixin, mixinDevice],
  components: {
    MaintenanceOrderModal,
    MaintenanceOrder3Modal,
    FinishDevolutionModal,
    MaintenanceOrderAssignModal,
    EquipmentPrecisionCheckOrderModal,
@@ -435,6 +440,7 @@
    MaintenanceOrderChangeModal,
    StoveCategoryModal,
    EquipmentTechnologyStatusModal,
    TechnologyStatusAuthenticateModal,
    Maintenance3ReceiptModal,
    JEllipsis
  },
@@ -683,9 +689,13 @@
    },
    handleTechnologyStatus: function (record) {
      this.$refs.EquipmentTechnologyStatusModal.edit(record);
      this.$refs.EquipmentTechnologyStatusModal.title = "技术状态编辑";
      this.$refs.EquipmentTechnologyStatusModal.disableSubmit = false;
      // this.$refs.EquipmentTechnologyStatusModal.edit(record);
      // this.$refs.EquipmentTechnologyStatusModal.title = "技术状态编辑";
      // this.$refs.EquipmentTechnologyStatusModal.disableSubmit = false;
      this.$refs.TechnologyStatusAuthenticateModal.edit(record);
      this.$refs.TechnologyStatusAuthenticateModal.title = "技术状态编辑";
      this.$refs.TechnologyStatusAuthenticateModal.disableSubmit = false;
    },
    handleStoveDetection: function (record) {
src/views/eam/DailyInspectionOrderList.vue
@@ -120,6 +120,7 @@
        :loading="loading"
        class="j-table-force-nowrap"
        @change="handleTableChange"
        :rowClassName="tableRowClass"
      >
        <!-- :rowSelection="rowSelection" -->
        <!-- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" -->
@@ -509,7 +510,7 @@
    },
    handleOrderExe(record) {
      this.$refs.DailyInspectionOrderExeDrawer.visible = true
      this.$refs.DailyInspectionOrderExeDrawer.title = '日常点检工单执行'
      this.$refs.DailyInspectionOrderExeDrawer.title = '自主维护点检执行'
      this.$refs.DailyInspectionOrderExeDrawer.handleShow(record)
      if (record.status === '3') {
        this.$refs.DailyInspectionOrderExeDrawer.buttonDistable = true//保存、暂存、报工
@@ -594,10 +595,41 @@
      })
    },
    //预警颜色
    tableRowClass(record, index) {
      if (("1" == record.status || "2" == record.status) && "1日" == record.inspectionCycleName) {
        if (record.redWarningTime < record.currentDateTime) {
          return 'error'
        }
      }
    },
  }
}
</script>
<style scoped>
<style>
@import '~@assets/less/common.less';
.frozenRowClass {
  color: #c9c9c9;
  font-weight: bold;
}
.success {
  color: green;
}
.error {
  color: red;
  font-weight: bold;
}
.yellow {
  color: rgba(255, 255, 0, 0.443);
  font-weight: bold;
}
.fontweight {
  font-weight: bold;
}
.ant-table-tbody .red {
  background-color: red !important;
}
</style>
src/views/eam/DailyInspectionStandardList.vue
@@ -92,6 +92,22 @@
        icon="reload"
        style="margin-left: 8px"
      >重置</a-button>
      <a-button
        v-show="this.selectedRowKeys.length > 0 && this.queryParam.versionStatus == '1'"
        type="primary"
        @click="batchHandleOK"
        icon="reload"
        style="margin-left: 8px"
        v-has="'dailyInspectionStandard:batchHandleOK'"
      >批量通过</a-button>
      <a-button
        v-show="this.selectedRowKeys.length > 0 && this.queryParam.versionStatus == '1'"
        type="primary"
        @click="batchHandleReject"
        icon="reload"
        style="margin-left: 8px"
        v-has="'dailyInspectionStandard:batchHandleReject'"
      >批量驳回</a-button>
    </div>
    <!-- table区域-begin -->
@@ -292,11 +308,11 @@
          align: 'center',
          dataIndex: 'teamName',
        },
        {
          title: '派工方式',
          align: 'center',
          dataIndex: 'assignModeName',
        },
        // {
        //   title: '派工方式',
        //   align: 'center',
        //   dataIndex: 'assignModeName',
        // },
        {
          title: '审核意见',
          align: 'center',
@@ -377,7 +393,7 @@
          align: 'center',
          fixed: 'right',
          scopedSlots: { customRender: 'action' },
          width: 200,
          width: 230,
        }
      ],
      url: {
@@ -386,6 +402,7 @@
        deleteBatch: '/eam/inspectionStandard/deleteBatch',
        versionTakeEffect: "/eam/inspectionStandard/versionTakeEffect",
        importExcelUrl: "/eam/inspectionStandard/importExcel",
        passBatch: '/eam/inspectionStandard/auditApprovalBatch',
      },
      version: '1.0',
      dictOptions: {},
@@ -514,7 +531,7 @@
    },
    searchReset() {
      this.inspectionStandardId = '-1'
      this.queryParam = {}
      this.queryParam = { versionStatus: '2' }
      this.loadData(1);
    },
    modalFormOk() {
@@ -523,6 +540,99 @@
      //清空列表选中
      // this.onClearSelected()
    },
    batchHandleReject: function () {
      if (this.selectedRowKeys.length <= 0) {
        // this.$message.warning('请选择一条记录!');
        this.$notification.warning({
          message: '消息',
          description: "请选择一条记录"
        });
        return;
      } else {
        var that = this;
        this.$confirm({
          title: "确认批量驳回",
          content: "是否批量驳回选中数据?",
          onOk: function () {
            that.loading = true;
            that.confirmLoading = true;
            let formData = {};
            let dailyInspectionStandardlist = that.selectionRows
            for (var i = 0; i < dailyInspectionStandardlist.length; i++) {
              let record = dailyInspectionStandardlist[i]
              if (record.approvalStatus == '1') {
                record.approvalStatus = '2'
              } else if (record.approvalStatus == '3') {
                record.approvalStatus = '4'
              } else if (record.approvalStatus == '4') {
                record.approvalStatus = '2'
              }
            }
            formData.dailyInspectionStandardlist = dailyInspectionStandardlist
            requestPut(that.url.passBatch, formData).then((res) => {
              if (res.success) {
                that.$message.success("批量驳回成功!")
                that.loadData(1)
              } else {
                that.$message.warning("批量通过失败!")
              }
            }).finally(() => {
              that.confirmLoading = false;
              that.loading = false;
            })
          }
        });
      }
    },
    batchHandleOK: function () {
      if (this.selectedRowKeys.length <= 0) {
        // this.$message.warning('请选择一条记录!');
        this.$notification.warning({
          message: '消息',
          description: "请选择一条记录"
        });
        return;
      } else {
        var that = this;
        this.$confirm({
          title: "确认批量通过",
          content: "是否批量通过选中数据?",
          onOk: function () {
            that.loading = true;
            that.confirmLoading = true;
            let formData = {};
            let dailyInspectionStandardlist = that.selectionRows
            for (var i = 0; i < dailyInspectionStandardlist.length; i++) {
              let record = dailyInspectionStandardlist[i]
              if (record.approvalStatus == '1') {
                record.approvalStatus = '3'
              } else if (record.approvalStatus == '2') {
                record.approvalStatus = '3'
              } else if (record.approvalStatus == '3') {
                record.approvalStatus = '5'
              } else if (record.approvalStatus == '4') {
                record.approvalStatus = '3'
              }
            }
            formData.dailyInspectionStandardlist = dailyInspectionStandardlist
            requestPut(that.url.passBatch, formData).then((res) => {
              if (res.success) {
                that.$message.success("批量通过成功!")
                that.loadData(1)
              } else {
                that.$message.warning("批量通过失败!")
              }
            }).finally(() => {
              that.confirmLoading = false;
              that.loading = false;
            })
          }
        });
      }
    },
  }
}
src/views/eam/EquipmentCalibrationOrder.vue
@@ -113,13 +113,23 @@
            type='vertical'
          />
          <a
            v-show="record.status === '2'"
            v-show="record.status === '2' && record.equipmentImportance != 'D'"
            @click='handleTechnologyStatus(record)'
            v-has="'calibrationOrder:audit'"
          >结果审核</a>
          <a-divider
            v-show="record.status === '2'"
            v-show="record.status === '2' && record.equipmentImportance != 'D'"
            type='vertical'
          />
          <a
            v-show="record.status === '2' && record.equipmentImportance == 'D'"
            @click='handleTechnologyStatusAuthenticate(record)'
            v-has="'calibrationOrder:authenticate'"
          >D类技术状态鉴定</a>
          <a-divider
            v-show="record.status === '2' && record.equipmentImportance == 'D'"
            type='vertical'
          />
          <a @click='handleDetail(record)'>详情</a>
@@ -263,6 +273,11 @@
      ref="EquipmentTechnologyStatusModal"
      @ok="modalFormOk"
    ></equipment-technology-status-modal>
    <technology-status-authenticate-modal
      ref="TechnologyStatusAuthenticateModal"
      @ok="modalFormOk"
    ></technology-status-authenticate-modal>
  </a-card>
</template>
@@ -280,6 +295,7 @@
import EquipmentCalibrationOrderReportModal
  from './modules/equipmentCalibrationOrder/EquipmentCalibrationOrderReportModal'
import EquipmentTechnologyStatusModal from './modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal'
import TechnologyStatusAuthenticateModal from './modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal'
export default {
  name: 'EquipmentCalibrationOrder',
@@ -291,7 +307,8 @@
    EquipmentCalibrationOrderReportList,
    EquipmentCalibrationOrderReportModal,
    FinalModal,
    EquipmentTechnologyStatusModal
    EquipmentTechnologyStatusModal,
    TechnologyStatusAuthenticateModal
  },
  data() {
    return {
@@ -441,6 +458,13 @@
      this.$refs.EquipmentTechnologyStatusModal.disableSubmit = false;
    },
    handleTechnologyStatusAuthenticate: function (record) {
      this.$refs.TechnologyStatusAuthenticateModal.edit(record);
      this.$refs.TechnologyStatusAuthenticateModal.title = "技术状态编辑";
      this.$refs.TechnologyStatusAuthenticateModal.disableSubmit = false;
    },
    handleOrderExe(record) {
      this.$refs.EquipmentCalibrationOrderExeDrawer.visible = true
      this.$refs.EquipmentCalibrationOrderExeDrawer.title = '检定工单执行'
src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceStandard3List.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,228 @@
<template>
  <a-modal
    :title="title"
    :width="1250"
    :visible="visible"
    :confirmLoading="confirmLoading"
    @ok="handleOk"
    @cancel="handleCancel"
    cancelText="关闭"
  >
    <a-spin :spinning="confirmLoading">
      <a-form :form="form">
        <!-- æŸ¥è¯¢åŒºåŸŸ -->
        <div class="table-page-search-wrapper">
          <a-form
            layout="inline"
            @keyup.enter.native="searchQuery"
          >
            <a-row :gutter="24">
              <a-col
                :md="6"
                :sm="8"
              >
                <a-form-item label="标准编号">
                  <a-input
                    placeholder="请输入标准编号检索"
                    v-model="queryParam.num"
                  ></a-input>
                </a-form-item>
              </a-col>
              <a-col
                :md="6"
                :sm="8"
              >
                <a-form-item label="设备名称">
                  <a-input
                    placeholder="请输入设备名称检索"
                    v-model="queryParam.equipmentName"
                  ></a-input>
                </a-form-item>
              </a-col>
              <a-col
                :md="6"
                :sm="8"
              >
                <a-button
                  type="primary"
                  @click="searchQuery"
                  icon="search"
                >查询</a-button>
                <a-button
                  @click="searchReset"
                  icon="reload"
                  style="margin-left:8px;"
                >重置</a-button>
              </a-col>
            </a-row>
            <a-row :gutter="24">
              <a-col :span="24">
              </a-col>
            </a-row>
          </a-form>
        </div>
        <div style="margin-top:8px;">
          <a-table
            ref="table"
            bordered
            size="middle"
            rowKey="id"
            :columns="columns"
            :dataSource="dataSource"
            :pagination="ipagination"
            :loading="loading"
            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio'}"
            @change="handleTableChange"
            :customRow="clickThenCheck"
          >
          </a-table>
        </div>
      </a-form>
    </a-spin>
  </a-modal>
</template>
<script>
import pick from 'lodash.pick'
import { httpAction, getAction } from '@/api/manage'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import JInput from '@/components/jeecg/JInput'
import JEllipsis from '@/components/jeecg/JEllipsis'//引入过长裁剪
export default {
  name: "DailyMaintenanceStandardList",
  mixins: [JeecgListMixin],
  components: {
    JInput,
    JEllipsis,
  },
  data() {
    return {
      title: "操作",
      visible: false,
      model: {},
      confirmLoading: false,
      form: this.$form.createForm(this),
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          align: 'center',
          width: 40,
          customRender: function (t, r, index) {
            return parseInt(index) + 1
          },
        },
        {
          title: '标准编码',
          align: 'center',
          dataIndex: 'num',
        },
        {
          title: '统一编码',
          align: 'center',
          dataIndex: 'equipmentNum',
        },
        {
          title: '设备名称',
          align: 'center',
          dataIndex: 'equipmentName',
        },
        {
          title: '设备型号',
          align: 'center',
          dataIndex: 'equipmentModel',
        },
        {
          title: '特种设备',
          align: 'center',
          dataIndex: 'specificEquipment',
        },
      ],
      url: {
        list: "/eam/maintenanceStandard/getMaintenanceStandard3List",
      },
      useId: '',
    }
  },
  methods: {
    searchQuery() {
      this.queryParam = { type: "daily", delFlag: '0', useId: this.useId };
      this.loadData(1);
    },
    searchReset() {
      this.queryParam = { type: "daily", delFlag: '0', useId: this.useId };
      this.loadData(1)
    },
    list(useId) {
      this.visible = true;
      this.useId = useId;
      this.queryParam = { type: "daily", delFlag: '0', useId: useId, versionStatus: '2' };
      this.loadData(1);
    },
    clickThenCheck(record) {
      return {
        on: {
          click: (e) => {
            this.selectedRowRecord = record;
            this.onSelectChange(record.id.split(","), [record]);
          }
        }
      };
    },
    onSelectChange(selectedRowKeys, selectedRows) {
      this.selectedRowKeys = selectedRowKeys;
      this.selectedRowRecord = selectedRows[0];
    },
    close() {
      this.queryParam = {};
      this.$emit('close');
      this.visible = false;
    },
    handleOk() {
      const that = this;
      // è§¦å‘表单验证
      if (that.selectedRowKeys.length > 0) {
        if (that.selectedRowRecord.id != null && that.selectedRowRecord.id != "") {
          that.$emit('send3MaintenanceStandardRecord', { record: that.selectedRowRecord });
          that.close();
        } else {
          that.$message.error("请选择保养标准!")
        }
      } else {
        that.$message.error("请选择保养标准!")
      }
    },
    handleCancel() {
      this.close();
    }
  }
}
</script>
<style scoped>
@import '~@assets/less/common.less';
rozenRowClass {
  color: #c9c9c9;
}
.success {
  color: green;
}
.error {
  color: red;
}
.fontweight {
  font-weight: bold;
}
.ant-card {
  margin-left: -30px;
  margin-right: -30px;
}
.fontweight {
  font-weight: bold;
}
</style>
src/views/eam/modules/daily3MaintenanceOrder/MaintenanceOrder3Modal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,747 @@
<template>
  <a-modal
    :title="title"
    :width="1250"
    :visible="visible"
    :maskClosable="false"
    @ok="handleOk"
    cancelText="关闭"
    @cancel="handleCancel"
    :confirmLoading="confirmLoading"
  >
    <a-spin :spinning="confirmLoading">
      <a-form :form="form">
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-item
              label="保养工单"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="codeDisable"
                :placeholder="disableSubmit?'':'请输入保养工单编码'"
                v-decorator="['num', validatorRules.num ]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="12">
            <a-form-item
              label="使用部门"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-select
                :disabled="disableSubmit"
                :placeholder="disableSubmit?'':'请选择使用部门'"
                :options="this.departs"
                style="width: 100%"
                v-decorator="['useId', validatorRules.useId]"
                @change="(e)=>handle2Change(e)"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-item
              label="保养标准"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <!-- <j-dict-select-tag
                allow-clear
                :disabled="codeDisable"
                :placeholder="disableSubmit?'':'请选择保养标准'"
                :triggerChange="true"
                dictCode=""
                @change="(e)=>handleChange(e)"
                v-decorator="['maintenanceStandardId', validatorRules.maintenanceStandardId]"
              /> -->
              <a-input-search
                :disabled="disableSubmit"
                placeholder="请选择保养标准"
                enter-button
                @search="onSearchMaintenanceStandard()"
                :read-only="true"
                v-decorator="['maintenanceStandardNum', validatorRules.maintenanceStandardNum]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="12">
            <a-form-item
              label="统一编码/名称/型号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入统一编码/名称/型号'"
                v-decorator="['equipmentNum', validatorRules.equipmentNum ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row
          hidden
          :gutter="24"
        >
          <a-col :span="12">
            <a-form-item
              label="保养标准Id"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入保养标准Id'"
                v-decorator="['maintenanceStandardId', validatorRules.maintenanceStandardId ]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="12">
            <a-form-item
              label="设备Id"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入统一编码/名称/型号'"
                v-decorator="['equipmentId', validatorRules.equipmentId ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-item
              label="保养周期"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-select
                :placeholder="disableSubmit?'':'请选择保养周期'"
                :options="this.maintenanceCycles"
                @change="(e)=>handle3Change(e)"
                style="width: 100%"
                :disabled="disableSubmit"
                v-decorator="['maintenanceCycleId', validatorRules.maintenanceCycleId]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="12">
            <a-form-item
              label="计划开始时间"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-date
                :disabled="disableSubmit"
                v-decorator="['planStartTime', validatorRules.planStartTime ]"
                placeholder="请选择计划开始时间"
                style="width: 100%"
                :showTime="true"
                dateFormat="YYYY-MM-DD HH:mm:ss"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24 / 2">
            <a-form-item
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              label="派工方式"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请选择派工方式'"
                :triggerChange="true"
                dictCode="assign_mode"
                v-decorator="['assignMode', validatorRules.assignMode]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="24 / 2">
            <a-form-item
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              label="责任班组"
            >
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入责任班组'"
                v-decorator="['teamName', validatorRules.teamName ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row
          hidden
          :gutter="24"
        >
          <a-col :span="12">
            <a-form-item
              label="有效时长"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input-number
                style="width: 100%"
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入有效时长'"
                v-decorator="['effectiveTime', validatorRules.effectiveTime ]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="12">
            <a-form-item
              label="时间单位"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入时间单位'"
                v-decorator="['unit', validatorRules.unit ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col
            v-if="!isHidden"
            :span="12"
          >
            <a-form-item
              label="责任人"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input-search
                :disabled="disableSubmit"
                placeholder="责任人"
                enter-button
                @search="onDutyUserList()"
                :read-only="true"
                v-decorator="['maintenanceUserName', validatorRules.maintenanceUserName]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row
          hidden
          :gutter="24"
        >
          <a-col :span="12">
            <a-form-item
              label="责任班组"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入责任班组'"
                v-decorator="['teamId', validatorRules.teamId ]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="12">
            <a-form-item
              label="责任人/点检人"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入责任人/点检人'"
                v-decorator="['maintenanceUserId', validatorRules.maintenanceUserId ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="{span:3}"
              :wrapperCol="{span:21}"
              label="备注"
            >
              <a-textarea
                allow-clear
                :disabled="disableSubmit"
                :placeholder="disableSubmit?'':'请输入备注'"
                v-decorator="['remark', validatorRules.remark]"
              />
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </a-spin>
    <a-table
      ref="table"
      bordered
      size="middle"
      rowKey='id'
      :columns="columns"
      :dataSource="dataSource"
      :pagination="false"
    >
      <!-- <span
        slot="photo"
        slot-scope="text,record"
      >
        <Tooltip
          placement="top"
          title="预览图片"
        >
          <img
            v-if=" record.upload.path && (record.upload.format.toLowerCase()=='jpg'||record.upload.format.toLowerCase()=='bmp'||record.upload.format.toLowerCase()=='png'||record.upload.format.toLowerCase()=='jpeg'||record.upload.format.toLowerCase()=='gif')"
            width="30"
            height="14"
            border="1"
            draggable="false"
            preview="1"
            :preview-text="''"
            :src="record.upload.src"
          />
        </Tooltip>
        <a
          v-if="record.upload.path && record.upload.format.toLowerCase()=='pdf'"
          href="javascript:;"
          @click="view(record.upload)"
        >
          é¢„览
        </a>
      </span> -->
      <template
        slot="photo"
        slot-scope="text,record"
      >
        <span
          v-if="!text"
          style="font-size: 12px;font-style: italic;"
        >无图片</span>
        <img
          v-else
          :src="getImgView(text)"
          :preview="record.maintenanceStandardDetailId"
          height="25px"
          alt=""
          style="max-width:80px;font-size: 12px;font-style: italic;"
        />
      </template>
      <!-- <span
        slot="action"
        slot-scope="text, record, index"
      >
        <a-popconfirm
          title="确定删除吗?"
          @confirm="() => handleDelete(text,record, index)"
        >
          <a>删除</a>
        </a-popconfirm>
      </span> -->
    </a-table>
    <template slot="footer">
      <a-button
        :style="{marginRight: '8px'}"
        @click="handleCancel()"
      >
        å…³é—­
      </a-button>
      <a-button
        @click="handleOk()"
        type="primary"
        :loading="confirmLoading"
        :disabled="disableSubmit || confirmLoading"
      >确定</a-button>
    </template>
    <daily-maintenance-standard3-list
      ref="DailyMaintenanceStandard3List"
      @send3MaintenanceStandardRecord='send3MaintenanceStandardRecord'
    ></daily-maintenance-standard3-list>
    <user-list
      ref="UserList"
      @sendDutyUserRecord='sendDutyUserRecord'
    ></user-list>
  </a-modal>
</template>
<script>
import { getAction, postAction, requestPut } from '@/api/manage'
import pick from 'lodash.pick'
import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
import Tooltip from 'ant-design-vue/es/tooltip'
import DailyMaintenanceStandard3List from './DailyMaintenanceStandard3List'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { preview } from 'vue-photo-preview'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import Vue from 'vue'
import PdfView from '@views/common/PdfView'
import { getFileAccessHttpUrl } from '@/api/manage';
import UserList from '.././dailyInspectionOrder/UserList'
export default {
  name: "MaintenanceOrderModal",
  mixins: [JeecgListMixin],
  components: {
    JMultiSelectTag,
    Tooltip,
    PdfView,
    preview,
    DailyMaintenanceStandard3List,
    UserList
  },
  data() {
    return {
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          align: 'center',
          customRender: function (t, r, index) {
            return parseInt(index) + 1
          },
          width: 50,
        },
        {
          title: '部位',
          align: 'center',
          dataIndex: 'location'
        },
        {
          title: '保养项目',
          align: 'center',
          dataIndex: 'maintenanceProjectName'
        },
        {
          title: '保养标准',
          align: 'center',
          dataIndex: 'standard'
        },
        // {
        //   title: '方法',
        //   align: 'center',
        //   dataIndex: 'maintenanceMethod'
        // },
        // {
        //   title: '工具',
        //   align: 'center',
        //   dataIndex: 'maintenanceTool'
        // },
        // {
        //   title: '示意图',
        //   align: 'center',
        //   dataIndex: 'photo',
        //   scopedSlots: { customRender: 'photo' }
        // },
        // {
        //   title: '维保专业',
        //   align: 'center',
        //   dataIndex: 'maintenanceSpecialty',
        // },
      ],
      title: "操作",
      visible: false,
      disableSubmit: false,
      codeDisable: true,
      isHidden: true,
      dataSource: [],
      model: {},
      departs: [],
      maintenanceCycles: [],
      labelCol: {
        xs: { span: 24 },
        sm: { span: 6 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 18 },
      },
      confirmLoading: false,
      form: this.$form.createForm(this),
      validatorRules: {
        num: {
          rules: [
            { required: true, message: '请输入保养工单编码!' },
          ]
        },
        useId: {
          rules: [
            { required: false, message: '请选择使用部门!' },
          ]
        },
        maintenanceCycleId: {
          rules: [
            { required: true, message: '请选择保养周期!' },
          ]
        },
        maintenanceStandardNum: {
          rules: [
            { required: true, message: '请选择保养标准!' },
          ]
        },
        equipmentNum: {
          rules: [
            { required: true, message: '请选择设备!' },
          ]
        },
        maintenanceUserName: {
          rules: [
            { required: true, message: '请维护责任人!' },
          ]
        },
        assignMode: {
          rules: [
            { required: true, message: '请维护派工方式!' },
          ]
        },
        teamName: {
          rules: [
            { required: true, message: '请维护责任班组!' },
          ]
        },
        planStartTime: {
          rules: [
            { required: true, message: '请维护计划开始时间!' },
          ]
        }
      },
      url: {
        add: "/eam/dailyMaintenanceOrder/add",
        edit: "/eam/dailyMaintenanceOrder/edit",
        getCycleByStandardId: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId",
        getMaintenanceProjectList: "/eam/dailyMaintenanceOrder/getMaintenanceProjectId",
        getSysDeparts: "/eam/dailyMaintenanceOrder/getSysDeparts",
        list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId",
        getNum: '/eam/sysIdentity/getNumNew'
      },
    }
  },
  methods: {
    add() {
      this.edit({})
      this.getSeq()
    },
    edit(record) {
      let that = this;
      this.getSysDeparts()
      this.form.resetFields();
      this.model = Object.assign({}, record);
      this.visible = true;
      this.maintenanceCycles = record.maintenanceCycles
      if (record.dailyMaintenanceDetails != undefined) {
        const temp = [...record.dailyMaintenanceDetails];
        that.dataSource = temp;
        // for (let i = 0; i < temp.length; i++) {
        //   let r = temp[i].upload;
        //   r.src = this.getSrc(temp[i].upload);
        // }
      }
      that.$nextTick(() => {
        that.form.setFieldsValue(pick(that.model, 'num', 'useId', 'maintenanceStandardNum',
          'effectiveTime', 'equipmentNum', 'maintenanceStandardId', 'equipmentId', 'maintenanceCycleId',
          'planStartTime', 'assignMode', 'teamName', 'unit', 'teamId', 'remark'));
      });
      if (record.id) {
        if ("3" == record.assignMode) {
          this.isHidden = false
        } else {
          this.isHidden = true
        }
        this.codeDisable = true;
      } else {
        this.isHidden = true
        this.codeDisable = false;
      }
    },
    onDutyUserList() {
      let data = this.form.getFieldsValue(['teamId']);
      if (data.teamId == null || data.teamId == "") {
        this.$message.warning("请先维护班组!");
        return
      }
      this.$refs.UserList.list(data.teamId);
      this.$refs.UserList.title = "选择人员";
    },
    sendDutyUserRecord(data) {
      let record = data.record;
      this.form.setFieldsValue({ maintenanceUserId: record.id, maintenanceUserName: record.username + "/" + record.realname });
    },
    close() {
      this.$emit('close');
      this.visible = false;
    },
    handleCancel() {
      this.close();
    },
    handleOk() {
      const that = this;
      this.form.validateFields((err, values) => {
        if (!err) {
          that.confirmLoading = true;
          let formData = Object.assign(this.model, values);
          formData.dailyMaintenanceOrderDetails = that.dataSource;
          let obj;
          if (!this.model.id) {
            obj = postAction(this.url.add, formData);
          } else {
            obj = requestPut(this.url.edit, formData, { id: this.model.id });
          }
          obj.then((res) => {
            if (res.success) {
              that.$message.success(res.message);
              that.$emit('ok');
            } else {
              that.$message.warning(res.message);
            }
          }).finally(() => {
            that.confirmLoading = false;
            that.close();
          })
        }
      })
    },
    handleDelete(text, record, index) {
      this.dataSource.splice(index, 1);
    },
    onSearchMaintenanceStandard() {
      let data = this.form.getFieldsValue(['useId']);
      // if (data.useId == null || data.useId == "") {
      //   this.$message.warning("请先选择使用部门!");
      //   return
      // }
      this.$refs.DailyMaintenanceStandard3List.list(data.useId);
      this.$refs.DailyMaintenanceStandard3List.title = "选择日常保养标准";
    },
    send3MaintenanceStandardRecord(data) {
      let record = data.record;
      this.form.setFieldsValue({ equipmentId: record.equipmentId, maintenanceStandardId: record.id, equipmentNum: record.equipmentNum, maintenanceStandardNum: record.num, maintenanceCycleId: null });
      this.form.setFieldsValue({ assignMode: record.assignMode, teamId: record.teamId, teamName: record.teamName });
      this.getCycleByStandardId(record.id);
      if ("3" == record.assignMode) {
        this.isHidden = false
      } else {
        this.isHidden = true
      }
    },
    getCycleByStandardId(maintenanceStandardId) {
      getAction(this.url.getCycleByStandardId, { maintenanceStandardId: maintenanceStandardId }).then((res) => {
        if (res.success) {
          this.maintenanceCycles = res.result
          this.dataSource = [];
        }
      })
    },
    getSysDeparts() {
      getAction(this.url.getSysDeparts).then((res) => {
        if (res.success) {
          this.departs = res.result
        }
      })
    },
    getSeq() {
      getAction(this.url.getNum, { type: 'MaintenanceOrder', length: 4 }).then(res => {
        if (res.success) {
          this.form.setFieldsValue({ "num": res.result })
        }
      })
    },
    handle3Change(val) {
      let data = this.form.getFieldsValue(['maintenanceStandardId']);
      getAction(this.url.getMaintenanceProjectList, { maintenanceStandardId: data.maintenanceStandardId, maintenanceCycleId: val }).then((res) => {
        if (res.success) {
          this.dataSource = res.result;
          if (res.result.length == 0) {
            this.form.setFieldsValue({ "effectiveTime": null, "unit": null })
          } else {
            this.form.setFieldsValue({ "effectiveTime": res.result[0].effectiveTime, "unit": res.result[0].unit })
          }
        }
      })
    },
    handle2Change(val) {
      this.maintenanceCycles = [];
      this.dataSource = [];
      this.form.setFieldsValue({ equipmentId: null, maintenanceStandardId: null, equipmentNum: null, maintenanceStandardNum: null, maintenanceCycleId: null })
    },
    // handleChange(value, key, column, index) {
    //   let that = this;
    //   const temp = [...that.dataSource];
    //   const target = temp.filter(item => key === item.key)[index];
    //   if (target) {
    //     if (column.dataIndex == 'inspectionCycleId') {
    //       target[column.dataIndex] = value;
    //     }
    //     //显示带过来的数据
    //     that.dataSource = temp;
    //   }
    // },
  },
}
</script>
<style lang="less" scoped>
/deep/ .frozenRowClass {
  color: #c9c9c9;
}
.fontweight {
  font-weight: bold;
}
.ant-btn {
  padding: 0 10px;
  margin-left: 3px;
}
.ant-form-item-control {
  line-height: 0px;
}
/** ä¸»è¡¨å•行间距 */
.ant-form .ant-form-item {
  margin-bottom: 10px;
}
/** Tab页面行间距 */
.ant-tabs-content .ant-form-item {
  margin-bottom: 0px;
}
</style>
src/views/eam/modules/daily3MaintenanceOrder/TechnologyStatusAuthenticateModal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,632 @@
<template>
  <a-modal
    :width="800"
    :visible="visible"
    :maskClosable="false"
    @ok="handleOk"
    cancelText="关闭"
    @cancel="handleCancel"
    :confirmLoading="confirmLoading"
    title="附录3"
  >
    <span
      class="ant-descriptions-title"
      style="font-size: large;font-size: 15px;float: right;"
    >{{this.model.receiptsNum}}</span>
    <a-divider
      orientation="center"
      style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;"
    > {{this.model.receiptsName}} </a-divider>
    <a-row :gutter="24">
      <a-col :span="12">
        <a-form-item
          label="使用单位"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >
          {{this.model.departName}}
        </a-form-item>
      </a-col>
      <a-col :span="12">
        <a-form-item
          label="检查日期"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
        >
          {{this.model.updateTime}}
        </a-form-item>
      </a-col>
    </a-row>
    <div>
      <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >设备名称</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '19%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >{{this.model.equipmentName}}</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >设备型号</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '18%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >{{this.model.equipmentModel}}</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >统一编号</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '18%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >{{this.model.equipmentNum}}</span>
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >检查部位</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >检查标准</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >检查结果(合格/不合格)</span>
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >操纵手柄及开关</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >安全、无破损</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_1 == '0'"
          @change="handleSwitch(model.result_1)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >传动系统</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >灵活、无异响</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_2 == '0'"
          @change="handle2Switch(model.result_2)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >安全装置</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >安全、灵敏、可靠</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_3 == '0'"
          @change="handle3Switch(model.result_3)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >设备外观</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >整洁</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_4 == '0'"
          @change="handle4Switch(model.result_4)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >电气线路</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >线路整齐、接线正确</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_5 == '0'"
          @change="handle5Switch(model.result_5)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >检查各紧固装置</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >无松动</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_6 == '0'"
          @change="handle6Switch(model.result_6)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '70%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;float: center"
        >是否满足生产加工要求</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_7 == '0'"
          @change="handle7Switch(model.result_7)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '130px',float: 'left',width: '100%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-item
              style="font-size: large;font-style: normal;font-size: 15px;"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              label="鉴定结论"
            >
              <j-dict-select-tag
                style="font-size: large;font-style: normal;font-size: 15px;width: 100%"
                allow-clear
                :triggerChange="true"
                dictCode="technology_status"
                v-model="model.technologyStatus"
              />
              <!-- :placeholder="请选择鉴定结论" -->
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="12">
            <span
              class="ant-descriptions-title"
              style="font-size: large;font-style: normal;font-size: 15px;"
            >&nbsp;&nbsp;&nbsp;鉴定人员签字:&nbsp;&nbsp;&nbsp;</span>
            <span v-if="this.model != null">{{ this.model.appraiser }}</span>
            <span v-else>-</span>
          </a-col>
          <a-col :span="12">
            <span
              class="ant-descriptions-title"
              style="font-size: large;font-style: normal;font-size: 15px;"
            >&nbsp;&nbsp;&nbsp;单位领导签字:&nbsp;&nbsp;&nbsp;</span>
            <span v-if="this.model != null">{{ this.model.leadership }}</span>
            <span v-else>-</span>
          </a-col>
        </a-row>
      </div>
    </div>
    <template slot="footer">
      <a-button
        :style="{marginRight: '8px'}"
        @click="handleCancel()"
      >
        å…³é—­
      </a-button>
      <a-button
        @click="handleOk1('1')"
        type="primary"
        :loading="confirmLoading"
        :disabled="disableSubmit || confirmLoading"
        v-has="'technologyStatusAuthenticate:admin'"
      >确定</a-button>
      <a-button
        @click="handleOk2('2')"
        type="primary"
        :loading="confirmLoading"
        :disabled="disableSubmit || confirmLoading"
        v-has="'technologyStatusAuthenticate:appraiser'"
      >确定</a-button>
      <a-button
        @click="handleOk3('3')"
        type="primary"
        :loading="confirmLoading"
        :disabled="disableSubmit || confirmLoading"
        v-has="'technologyStatusAuthenticate:leadership'"
      >确定</a-button>
    </template>
  </a-modal>
</template>
<script>
import { getAction, postAction, requestPut } from '@/api/manage'
import pick from 'lodash.pick'
import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
import Tooltip from 'ant-design-vue/es/tooltip'
// import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import { getFileAccessHttpUrl } from '@/api/manage';
export default {
  name: "StoveCategoryModal",
  // mixins: [JeecgListMixin],
  components: {
    JMultiSelectTag,
    Tooltip,
  },
  data() {
    return {
      title: "操作",
      visible: false,
      disableSubmit: false,
      codeDisable: true,
      dataSource: [],
      model: {},
      labelCol: {
        xs: { span: 24 },
        sm: { span: 6 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 18 },
      },
      confirmLoading: false,
      form: this.$form.createForm(this),
      validatorRules: {
        num: {
          rules: [
            { required: true, message: '请输入保养工单编码!' },
          ]
        },
      },
      url: {
        add: "/eam/technologyStatus/technologyStatusAuthenticate",
        getTechnologyStatus: "/eam/technologyStatus/getTechnologyStatus",
        list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId",
      },
    }
  },
  methods: {
    edit(record) {
      let that = this;
      this.form.resetFields();
      this.model = Object.assign({}, record);
      this.getTechnologyStatus()
      this.visible = true;
      that.$nextTick(() => {
        // that.form.setFieldsValue(pick(that.model, 'num', 'teamId', 'remark'));
      });
    },
    close() {
      this.$emit('close');
      this.visible = false;
    },
    handleCancel() {
      this.close();
    },
    handleOk1(arg) {
      if (this.model.technologyStatus == "" || this.model.technologyStatus == null) {
        this.$message.warning("请先维护鉴定结论!");
        return
      }
      this.handleOk(arg);
    },
    handleOk2(arg) {
      this.handleOk(arg);
    },
    handleOk3(arg) {
      if (this.model.technologyStatus == "" || this.model.technologyStatus == null) {
        this.$message.warning("请先维护鉴定结论!");
        return
      }
      this.handleOk(arg);
    },
    handleOk(arg) {
      const that = this;
      // è§¦å‘表单验证
      that.form.validateFields((err, values) => {
        if (!err) {
          this.$confirm({
            title: '生产设备技术状态鉴定确认',
            content: '提示:请谨慎操作!',
            okText: '确认',
            cancelText: '取消',
            onOk() {
              let formData = Object.assign(that.model, values);
              if (arg == '1') {//管理员
                formData.flag = "1"
              } else if (arg == '2') {//鉴定人员
                formData.flag = "2"
              } else {//领导
                formData.flag = "3"
              }
              that.confirmLoading = true;
              postAction(that.url.add, formData).then((res) => {
                if (res.success) {
                  that.$message.success(res.message);
                  that.$emit('ok', new Date());
                } else {
                  that.$message.warning(res.message);
                }
              }).finally(() => {
                that.confirmLoading = false;
                that.close();
              })
            },
          })
        }
      })
    },
    handleDelete(text, record, index) {
      this.dataSource.splice(index, 1);
    },
    getTechnologyStatus() {
      getAction(this.url.getTechnologyStatus, { orderId: this.model.id }).then((res) => {
        if (res.success) {
          this.model = Object.assign(this.model, res.result[0]);
        }
      })
    },
    handleSwitch(result_1) {
      if ('0' == result_1) {
        this.model.result_1 = '1'
      } else {
        this.model.result_1 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle2Switch(result_2) {
      if ('0' == result_2) {
        this.model.result_2 = '1'
      } else {
        this.model.result_2 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle3Switch(result_3) {
      if ('0' == result_3) {
        this.model.result_3 = '1'
      } else {
        this.model.result_3 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle4Switch(result_4) {
      if ('0' == result_4) {
        this.model.result_4 = '1'
      } else {
        this.model.result_4 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle5Switch(result_5) {
      if ('0' == result_5) {
        this.model.result_5 = '1'
      } else {
        this.model.result_5 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle6Switch(result_6) {
      if ('0' == result_6) {
        this.model.result_6 = '1'
      } else {
        this.model.result_6 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle7Switch(result_7) {
      if ('0' == result_7) {
        this.model.result_7 = '1'
      } else {
        this.model.result_7 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    // handle21Switch(result_21) {
    //   if ('0' == result_21) {
    //     this.model.result_21 = '1'
    //     this.disabled22Switch = true
    //   } else {
    //     this.model.result_21 = '0'
    //     this.disabled22Switch = false
    //   }
    //   this.model = Object.assign({}, this.model);
    // },
    // handle22Switch(result_22) {
    //   if ('0' == result_22) {
    //     this.model.result_22 = '1'
    //     this.disabled21Switch = true
    //   } else {
    //     this.model.result_22 = '0'
    //     this.disabled21Switch = false
    //   }
    //   this.model = Object.assign({}, this.model);
    // },
    // onChangeJudgmentResult(e) {
    //   this.model.judgmentResult = e.target.value
    // },
    // handleChange(value, key, column, index) {
    //   let that = this;
    //   const temp = [...that.dataSource];
    //   const target = temp.filter(item => key === item.key)[index];
    //   if (target) {
    //     if ('actualMeasure' == column.dataIndex) {
    //       target['actualMeasure'] = value.target.value;
    //     }
    //     //显示带过来的数据
    //     that.dataSource = temp;
    //   }
    // },
  },
}
</script>
<style lang="less" scoped>
/deep/ .frozenRowClass {
  color: #c9c9c9;
}
.fontweight {
  font-weight: bold;
}
.ant-btn {
  padding: 0 10px;
  margin-left: 3px;
}
.ant-form-item-control {
  line-height: 0px;
}
/** ä¸»è¡¨å•行间距 */
.ant-form .ant-form-item {
  margin-bottom: 10px;
}
/** Tab页面行间距 */
.ant-tabs-content .ant-form-item {
  margin-bottom: 0px;
}
.hightColor {
  height: 10%;
  font-weight: bold;
  font-size: 20px;
  color: #1b1e1e;
}
.frozenRowClass {
  color: #c9c9c9;
}
.fontweight {
  font-weight: bold;
}
.hight {
  color: #f5222d;
}
/deep/ .red {
  color: red;
}
.line {
  width: 1px;
  height: 300px;
  background-color: #000;
  border: none;
  float: left;
}
</style>
src/views/eam/modules/dailyInspectionStandard/DailyInspectionStandardDetail.vue
@@ -109,12 +109,12 @@
          align: "center",
          dataIndex: 'location',
        },
        {
          title: '示意图',
          align: "center",
          dataIndex: 'photo',
          scopedSlots: { customRender: 'photo' },
        },
        // {
        //   title: '示意图',
        //   align: "center",
        //   dataIndex: 'photo',
        //   scopedSlots: { customRender: 'photo' },
        // },
        {
          title: '点检项目',
          align: "center",
src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue
@@ -129,7 +129,7 @@
          </a-col> -->
        </a-row>
        <a-row :gutter="24">
          <a-col :span="12">
          <!-- <a-col :span="12">
            <a-form-item
              label="派工方式"
              :labelCol="labelCol"
@@ -144,7 +144,7 @@
                v-decorator="['assignMode', validatorRules.assignMode]"
              />
            </a-form-item>
          </a-col>
          </a-col> -->
          <a-col :span="12">
            <a-form-item
              label="版本"
@@ -226,7 +226,7 @@
            style="width: 100%"
            :disabled="false"
          />
          <j-image-upload
          <!-- <j-image-upload
            :value="text"
            v-if="col.dataIndex == 'photo'"
            :isMultiple="false"
@@ -234,7 +234,7 @@
            placeholder="请上传图片"
            @change="(e)=>handleChange(e, record.key, col, index)"
          >
          </j-image-upload>
          </j-image-upload> -->
          <a-input
            :value="text"
            v-if="col.dataIndex == 'location'"
@@ -352,13 +352,13 @@
          scopedSlots: { customRender: 'inspectionCycleId' },
          width: 170,
        },
        {
          title: '示意图',
          align: 'center',
          dataIndex: 'photo',
          scopedSlots: { customRender: 'photo' },
          width: 170,
        },
        // {
        //   title: '示意图',
        //   align: 'center',
        //   dataIndex: 'photo',
        //   scopedSlots: { customRender: 'photo' },
        //   width: 170,
        // },
        {
          title: '部位',
          align: 'center',
src/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderModal.vue
@@ -488,7 +488,7 @@
        },
        useId: {
          rules: [
            { required: true, message: '请选择使用部门!' },
            { required: false, message: '请选择使用部门!' },
          ]
        },
        maintenanceCycleId: {
@@ -636,10 +636,10 @@
    onSearchMaintenanceStandard() {
      let data = this.form.getFieldsValue(['useId']);
      if (data.useId == null || data.useId == "") {
        this.$message.warning("请先选择使用部门!");
        return
      }
      // if (data.useId == null || data.useId == "") {
      //   this.$message.warning("请先选择使用部门!");
      //   return
      // }
      this.$refs.DailyMaintenanceStandardList.list(data.useId);
      this.$refs.DailyMaintenanceStandardList.title = "选择日常保养标准";
    },
src/views/eam/modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal.vue
@@ -164,7 +164,7 @@
        },
        judgmentResult: {
          rules: [
            { required: true, message: '请选择技术状态!' },
            { required: false, message: '请选择技术状态!' },
          ]
        },
      },
src/views/eam/modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,591 @@
<template>
  <a-modal
    :width="800"
    :visible="visible"
    :maskClosable="false"
    @ok="handleOk"
    cancelText="关闭"
    @cancel="handleCancel"
    :confirmLoading="confirmLoading"
    title="附录3"
  >
    <span
      class="ant-descriptions-title"
      style="font-size: large;font-size: 15px;float: right;"
    >{{this.model.receiptsNum}}</span>
    <a-divider
      orientation="center"
      style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;"
    > {{this.model.receiptsName}} </a-divider>
    <a-row :gutter="24">
      <a-col :span="12">
        <a-form-item
          label="使用单位"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >
          {{this.model.useDepartName}}
        </a-form-item>
      </a-col>
      <a-col :span="12">
        <a-form-item
          label="检查日期"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
        >
          {{this.model.updateTime}}
        </a-form-item>
      </a-col>
    </a-row>
    <div>
      <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >设备名称</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '19%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >{{this.model.equipmentName}}</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >设备型号</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '18%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >{{this.model.equipmentModel}}</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >统一编号</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '18%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >{{this.model.equipmentNum}}</span>
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >检查部位</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >检查标准</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >检查结果(合格/不合格)</span>
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >操纵手柄及开关</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >安全、无破损</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_1 == '0'"
          @change="handleSwitch(model.result_1)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >传动系统</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >灵活、无异响</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_2 == '0'"
          @change="handle2Switch(model.result_2)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >安全装置</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >安全、灵敏、可靠</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_3 == '0'"
          @change="handle3Switch(model.result_3)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >设备外观</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >整洁</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_4 == '0'"
          @change="handle4Switch(model.result_4)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >电气线路</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >线路整齐、接线正确</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_5 == '0'"
          @change="handle5Switch(model.result_5)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >检查各紧固装置</span>
      </div>
      <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;"
        >无松动</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_6 == '0'"
          @change="handle6Switch(model.result_6)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '45px',float: 'left',width: '70%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <span
          class="ant-descriptions-title"
          style="font-size: large;font-style: normal;font-size: 15px;float: center"
        >是否满足生产加工要求</span>
      </div>
      <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-switch
          checked-children="合格"
          un-checked-children="不合格"
          :checked="model.result_7 == '0'"
          @change="handle7Switch(model.result_7)"
        />
      </div>
    </div>
    <div>
      <div :style="{height: '130px',float: 'left',width: '100%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-item
              style="font-size: large;font-style: normal;font-size: 15px;"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              label="鉴定结论"
            >
              <j-dict-select-tag
                style="width: 100%"
                allow-clear
                :triggerChange="true"
                dictCode="technology_status"
                v-model="model.technologyStatus"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="12">
            <span
              class="ant-descriptions-title"
              style="font-size: large;font-style: normal;font-size: 15px;"
            >&nbsp;&nbsp;&nbsp;鉴定人员签字:&nbsp;&nbsp;&nbsp;</span>
            <span v-if="this.model != null">{{ this.model.appraiser }}</span>
            <span v-else>-</span>
          </a-col>
          <a-col :span="12">
            <span
              class="ant-descriptions-title"
              style="font-size: large;font-style: normal;font-size: 15px;"
            >&nbsp;&nbsp;&nbsp;单位领导签字:&nbsp;&nbsp;&nbsp;</span>
            <span v-if="this.model != null">{{ this.model.leadership }}</span>
            <span v-else>-</span>
          </a-col>
        </a-row>
      </div>
    </div>
    <template slot="footer">
      <a-button
        :style="{marginRight: '8px'}"
        @click="handleCancel()"
      >
        å…³é—­
      </a-button>
      <a-button
        @click="handleOk1('1')"
        type="primary"
        :loading="confirmLoading"
        :disabled="disableSubmit || confirmLoading"
        v-has="'calibrationOrder:admin'"
      >确定</a-button>
      <a-button
        @click="handleOk2('2')"
        type="primary"
        :loading="confirmLoading"
        :disabled="disableSubmit || confirmLoading"
        v-has="'calibrationOrder:appraiser'"
      >确定</a-button>
      <a-button
        @click="handleOk3('3')"
        type="primary"
        :loading="confirmLoading"
        :disabled="disableSubmit || confirmLoading"
        v-has="'calibrationOrder:leadership'"
      >确定</a-button>
    </template>
  </a-modal>
</template>
<script>
import { getAction, postAction, requestPut } from '@/api/manage'
import pick from 'lodash.pick'
import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
import Tooltip from 'ant-design-vue/es/tooltip'
// import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import { getFileAccessHttpUrl } from '@/api/manage';
export default {
  name: "StoveCategoryModal",
  // mixins: [JeecgListMixin],
  components: {
    JMultiSelectTag,
    Tooltip,
  },
  data() {
    return {
      title: "操作",
      visible: false,
      disableSubmit: false,
      codeDisable: true,
      dataSource: [],
      model: {},
      labelCol: {
        xs: { span: 24 },
        sm: { span: 6 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 18 },
      },
      confirmLoading: false,
      form: this.$form.createForm(this),
      validatorRules: {
        num: {
          rules: [
            { required: true, message: '请输入保养工单编码!' },
          ]
        },
      },
      url: {
        add: "/eam/technologyStatus/technologyStatusAuthenticateD",
        getTechnologyStatus: "/eam/technologyStatus/getTechnologyStatus",
        list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId",
      },
    }
  },
  methods: {
    edit(record) {
      let that = this;
      this.form.resetFields();
      this.model = Object.assign({}, record);
      this.getTechnologyStatus()
      this.visible = true;
      that.$nextTick(() => {
        // that.form.setFieldsValue(pick(that.model, 'num', 'teamId', 'remark'));
      });
    },
    close() {
      this.$emit('close');
      this.visible = false;
    },
    handleCancel() {
      this.close();
    },
    handleOk1(arg) {
      if (this.model.technologyStatus == "" || this.model.technologyStatus == null) {
        this.$message.warning("请先维护鉴定结论!");
        return
      }
      console.log(this.model)
      this.handleOk(arg);
    },
    handleOk2(arg) {
      this.handleOk(arg);
    },
    handleOk3(arg) {
      if (this.model.technologyStatus == "" || this.model.technologyStatus == null) {
        this.$message.warning("请先维护鉴定结论!");
        return
      }
      this.handleOk(arg);
    },
    handleOk(arg) {
      const that = this;
      // è§¦å‘表单验证
      that.form.validateFields((err, values) => {
        if (!err) {
          this.$confirm({
            title: '生产设备技术状态鉴定确认',
            content: '提示:请谨慎操作!',
            okText: '确认',
            cancelText: '取消',
            onOk() {
              let formData = Object.assign(that.model, values);
              if (arg == '1') {//管理员
                formData.flag = "1"
              } else if (arg == '2') {//鉴定人员
                formData.flag = "2"
              } else {//领导
                formData.flag = "3"
              }
              that.confirmLoading = true;
              postAction(that.url.add, formData).then((res) => {
                if (res.success) {
                  that.$message.success(res.message);
                  that.$emit('ok', new Date());
                } else {
                  that.$message.warning(res.message);
                }
              }).finally(() => {
                that.confirmLoading = false;
                that.close();
              })
            },
          })
        }
      })
    },
    handleDelete(text, record, index) {
      this.dataSource.splice(index, 1);
    },
    getTechnologyStatus() {
      getAction(this.url.getTechnologyStatus, { orderId: this.model.id }).then((res) => {
        if (res.success) {
          this.model = Object.assign(this.model, res.result[0]);
          this.model = Object.assign({}, this.model);
        }
      })
    },
    handleSwitch(result_1) {
      if ('0' == result_1) {
        this.model.result_1 = '1'
      } else {
        this.model.result_1 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle2Switch(result_2) {
      if ('0' == result_2) {
        this.model.result_2 = '1'
      } else {
        this.model.result_2 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle3Switch(result_3) {
      if ('0' == result_3) {
        this.model.result_3 = '1'
      } else {
        this.model.result_3 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle4Switch(result_4) {
      if ('0' == result_4) {
        this.model.result_4 = '1'
      } else {
        this.model.result_4 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle5Switch(result_5) {
      if ('0' == result_5) {
        this.model.result_5 = '1'
      } else {
        this.model.result_5 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle6Switch(result_6) {
      if ('0' == result_6) {
        this.model.result_6 = '1'
      } else {
        this.model.result_6 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
    handle7Switch(result_7) {
      if ('0' == result_7) {
        this.model.result_7 = '1'
      } else {
        this.model.result_7 = '0'
      }
      this.model = Object.assign({}, this.model);
    },
  },
}
</script>
<style lang="less" scoped>
/deep/ .frozenRowClass {
  color: #c9c9c9;
}
.fontweight {
  font-weight: bold;
}
.ant-btn {
  padding: 0 10px;
  margin-left: 3px;
}
.ant-form-item-control {
  line-height: 0px;
}
/** ä¸»è¡¨å•行间距 */
.ant-form .ant-form-item {
  margin-bottom: 10px;
}
/** Tab页面行间距 */
.ant-tabs-content .ant-form-item {
  margin-bottom: 0px;
}
.hightColor {
  height: 10%;
  font-weight: bold;
  font-size: 20px;
  color: #1b1e1e;
}
.frozenRowClass {
  color: #c9c9c9;
}
.fontweight {
  font-weight: bold;
}
.hight {
  color: #f5222d;
}
/deep/ .red {
  color: red;
}
.line {
  width: 1px;
  height: 300px;
  background-color: #000;
  border: none;
  float: left;
}
</style>
src/views/eam/modules/inspectionProject/InspectionProjectRight.vue
@@ -101,7 +101,7 @@
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange"
        :scroll="{ x: 'calc(1000px + 50%)', y: 900 }"
        :scroll="{ x: 'calc(600px + 50%)', y: 900 }"
      >
        <!--字符串超长截取省略号显示-->
        <span
@@ -309,27 +309,27 @@
        //   align: "center",
        //   dataIndex: 'inspectionTool',
        // },
        {
          title: '创建人',
          align: "center",
          dataIndex: 'createBy',
        },
        {
          title: '创建时间',
          align: "center",
          dataIndex: 'createTime',
        },
        // {
        //   title: '创建人',
        //   align: "center",
        //   dataIndex: 'createBy',
        // },
        // {
        //   title: '创建时间',
        //   align: "center",
        //   dataIndex: 'createTime',
        // },
        {
          title: '操作',
          dataIndex: 'action',
          align: 'center',
          width: 150,
          scopedSlots: {
            customRender: 'action'
          },
          fixed: 'right',
        },
        // width: 150,
        // fixed: 'right',
      ],
      url: {
        list: '/eam/inspectionProject/list',
src/views/eam/modules/siteAreaLine/SiteAreaLineLeft.vue
@@ -216,7 +216,7 @@
    }
  },
  mounted() {
    this.$bus.$on('queryTreeData', this.queryTreeData);
    this.$bus.$on('queryAreaTreeData', this.queryTreeData);
  },
  //监听
  watch: {
src/views/eam/modules/siteAreaLine/SiteAreaLineModel.vue
@@ -251,7 +251,7 @@
  },
  watch: {
    alterFlag() {
      this.$bus.$emit('queryTreeData');
      this.$bus.$emit('queryAreaTreeData');
    },
  }
}