cuijian
2023-11-16 e0cd695c11734348e1e01304bdff0696768c1fda
src/views/eam/modules/equipmentSeal/EquipmentSealForm.vue
@@ -18,7 +18,8 @@
            >
              <a-input
                v-model="model.num"
                placeholder="请输入单据号"
                placeholder="将由系统自动生成"
                disabled
              ></a-input>
            </a-form-model-item>
          </a-col>
@@ -74,13 +75,14 @@
          :dataSource="equipmentSealDetailTable.dataSource"
          :maxHeight="300"
          :disabled="formDisabled"
          :alwaysEdit='true'
          :bordered='true'
          :alwaysEdit="true"
          :bordered="true"
          :rowNumber="true"
          :rowSelection="true"
          :toolbar="true"
          :toolbarConfig="toolbarConfig"
          :linkage-config="linkageConfig"
          :addDefaultRowNum="0"
        >
          <template slot="toolbarPrefix">
            <a-button
@@ -91,27 +93,6 @@
            </a-button>
          </template>
          <!-- 设备图片插槽 -->
          <!-- <template v-slot:equipmentPhoto='props'>
            <Tooltip
              placement="top"
              title="预览图片"
            >
              <span
                v-if="!text"
                style="font-size: 12px;font-style: italic;"
              >无图片</span>
              <img
                v-else
                :preview="props.equipmentId"
                :src="getImgView(text)"
                height="25px"
                alt=""
                style="max-width:80px;font-size: 12px;font-style: italic;"
              />
            </Tooltip>
          </template> -->
          <!-- :preview="props.rowId"equipmentId -->
          <template v-slot:action="props">
            <a-popconfirm
              title="确定删除吗?"
@@ -124,21 +105,16 @@
      </a-tab-pane>
    </a-tabs>
    <equipment-select-modal ref="EquipmentSelectModal"></equipment-select-modal>
    <!-- <equipment-selection @selectionRows="selectionRows" :equipmentStatus="['2', '3']"
      ref="EquipmentSelection"></equipment-selection> -->
  </a-spin>
</template>
<script>
import { JEditableTableModelMixin } from '@/mixins/JEditableTableModelMixin'
import { randomUUID, randomNumber } from '@/utils/util'
import { validateDuplicateValue } from '@/utils/util'
import pick from 'lodash.pick'
import { getAction, postAction, requestPut } from '@api/manage'
// import EquipmentSelection from '@/components/tools/EquipmentSelection.vue'
import EquipmentSelectModal from './EquipmentSelectModal.vue'
import { getAction, postAction, requestPut } from '@api/manage'
import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
import { JVXETypes } from '@comp/jeecg/JVxeTable'
import { getRefPromise, VALIDATE_FAILED } from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
@@ -168,19 +144,15 @@
        xs: { span: 24 },
        sm: { span: 16 }
      },
      // manageList: [
      //   { label: '空', value: '' },
      //   { label: '保养标准一', value: '1001' },
      //   { label: '保养标准二', value: '1002' }
      // ],
      // 新增时子表默认添加几行空数据
      addDefaultRowNum: 0,
      model: {},
      validatorRules: {
        num: [
          { required: true, message: '请输入单据号!' },
          { validator: (rule, value, callback) => validateDuplicateValue('mom_eam_equipment_change', 'num', value, this.model.id, callback) }
        ],
        remark: [
          { required: false, message: '请输入备注!' }
        ]
@@ -207,7 +179,7 @@
            title: '设备封存明细id',
            key: 'id',
            type: JVXETypes.hidden,
            width: '100px',
            width: '100px'
          },
          // fixed: 'left'
          {
@@ -224,11 +196,11 @@
            defaultValue: ''
          },
          {
            title: '设备编码',
            title: '统一编码',
            key: 'equipmentNum',
            type: JVXETypes.normal,
            width: '150px',
            align: "center",
            align: 'center'
            // placeholder: '请输入${title}',
          },
          // fixed: 'left'
@@ -238,7 +210,7 @@
            type: JVXETypes.normal,
            disabled: true,
            width: '150px',
            align: "center",
            align: 'center',
            defaultValue: ''
          },
          {
@@ -247,7 +219,7 @@
            type: JVXETypes.normal,
            disabled: true,
            width: '150px',
            align: "center",
            align: 'center',
            defaultValue: ''
          },
          {
@@ -256,7 +228,7 @@
            type: JVXETypes.normal,
            disabled: true,
            width: '150px',
            align: "center",
            align: 'center',
            placeholder: '请输入${title}',
            defaultValue: ''
          },
@@ -265,7 +237,7 @@
            key: 'assetNumber',
            type: JVXETypes.normal,
            width: '150px',
            align: "center",
            align: 'center',
            defaultValue: ''
          },
          {
@@ -273,7 +245,7 @@
            key: 'sealReason',
            type: JVXETypes.input,
            width: '200px',
            align: "center",
            align: 'center',
            placeholder: '请输入${title}',
            defaultValue: '',
            validateRules: [{
@@ -286,7 +258,7 @@
            key: 'sealDate',
            type: JVXETypes.datetime,
            width: '150px',
            align: "center",
            align: 'center',
            placeholder: '请选择${title}',
            defaultValue: '',
            validateRules: [{
@@ -300,7 +272,7 @@
            key: 'planUnsealDate',
            type: JVXETypes.date,
            width: '150px',
            align: "center",
            align: 'center',
            placeholder: '请输入${title}',
            defaultValue: ''
          },
@@ -311,7 +283,7 @@
            disabled: true,
            placeholder: '请输入${title}',
            defaultValue: '',
            width: '150px',
            width: '150px'
          },
          {
            title: '特种设备',
@@ -319,7 +291,7 @@
            type: JVXETypes.normal,
            disabled: true,
            width: '150px',
            align: "center",
            align: 'center',
            defaultValue: ''
          },
@@ -329,7 +301,7 @@
            type: JVXETypes.normal,
            disabled: true,
            width: '150px',
            align: "center",
            align: 'center',
            defaultValue: ''
          },
          {
@@ -338,7 +310,7 @@
            type: JVXETypes.normal,
            disabled: true,
            width: '150px',
            align: "center",
            align: 'center',
            defaultValue: ''
          },
          {
@@ -347,7 +319,7 @@
            type: JVXETypes.normal,
            disabled: true,
            width: '200px',
            align: "center",
            align: 'center'
          },
          {
            title: '重要度',
@@ -355,14 +327,14 @@
            type: JVXETypes.normal,
            disabled: true,
            width: '150px',
            align: "center",
            align: 'center',
            defaultValue: ''
          },
          {
            title: '重要度',
            key: 'equipmentImportanceId',
            type: JVXETypes.hidden
          },
          }
          // {
          //   title: '设备图片',
          //   key: 'equipmentPhoto',
@@ -387,6 +359,7 @@
        add: '/eam/equipmentSeal/add',
        edit: '/eam/equipmentSeal/edit',
        queryById: '/eam/equipmentSeal/queryById',
        getNum: '/eam/sysIdentity/getNumNew',
        equipmentSealDetail: {
          list: '/eam/equipmentSeal/listEquipmentSealDetailByMainId'
        }
@@ -416,6 +389,7 @@
    })
  },
  methods: {
    handleChange(value, data) {
      this.$nextTick(() => {
        this.$set(data, 'maintenanceAfterUnseal', data.maintenanceAfterUnseal)
@@ -496,6 +470,12 @@
      if (this.model.id) {
        let params = { equipmentChangeId: this.model.id }
        this.requestSubTableData(this.url.equipmentSealDetail.list, params, this.equipmentSealDetailTable)
      }else{
        getAction(this.url.getNum, { type: 'EquipmentSeal', length: '4' }).then((res) => {
          if (res.success) {
            this.model.num = res.message
          }
        })
      }
    },
    //校验所有一对一子表表单
@@ -531,15 +511,8 @@
</script>
<style scoped>
/** tab panel 中有下拉框/日期 这类带下拉效果的,需要加此样式 */
::v-deep .jeecg-tabs-top {
/deep/ .jeecg-tabs-top {
  overflow: visible;
}
::v-deep .ant-form-explain {
  position: absolute;
  right: -50px;
  top: 12px;
}
</style>