Ben Lin
2025-03-08 697c405ac874da346e74df40266763370355154d
src/views/components/GeneralCrudModal.vue
@@ -8,6 +8,13 @@
    @ok="handleSubmit"
  >
    <div>
      <a-alert
        v-if="showAlert"
        :message="message"
        :description="description"
        type="info"
        show-icon
      />
      <BasicTable @register="registerTable" @edit-change="onEditChange">
        <template #toolbar>
          <a-button @click="openImg" type="primary"> 预览 </a-button>
@@ -41,7 +48,9 @@
  import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is';
  import { CustModalParams } from '/@/api/tigerapi/model/systemModel';
  import { EntityCustFunctionType } from '/@/api/tigerapi/model/basModel';
  import { Alert } from 'ant-design-vue';
  const AAlert = Alert;
  const { t } = useI18n();
  const title = ref('');
  const tableName = ref('');
@@ -53,6 +62,9 @@
  const entityName = ref('');
  const ctype = ref('');
  const others = ref({});
  const showAlert = ref(false);
  const message = ref('');
  const description = ref('');
  //列表
  const ItemColumns = ref([] as BasicColumn[]);
@@ -110,10 +122,22 @@
      console.log(`第${index + 1}张图片已加载,URL为:${url}`, dom);
    };
    // 可以使用createImgPreview返回的 PreviewActions 来控制预览逻辑,实现类似幻灯片、自动旋转之类的骚操作
    const Keys = Object.getOwnPropertyNames(others.value);
    let path = '';
    dataSource.map((item) => {
      for (const k in Keys) {
        if (item[Keys[k]] == others.value[Keys[k]] && !isNullOrEmpty(others.value[Keys[k]])) {
          path = item['LABEL_VIEW_PATH'];
          return;
        }
      }
    });
    if (isNullOrEmpty(path)) {
      path = dataSource.filter((q) => isNullOrEmpty(q.WORK_ORDER) || isNullOrEmpty(q.PROD_CODE))[0]
        .LABEL_VIEW_PATH;
    }
    createImgPreview({
      imageList: [
        dataSource.filter((q) => q.WORK_ORDER == others.value.WORK_ORDER)[0].LABEL_VIEW_PATH,
      ],
      imageList: [path],
      defaultWidth: 700,
      rememberState: true,
      onImgLoad,
@@ -140,6 +164,9 @@
    entityName.value = data?.entityName;
    ctype.value = data?.ctype;
    others.value = data?.others;
    showAlert.value = data?.alertConfig.showAlert;
    message.value = data?.alertConfig.message;
    description.value = data?.alertConfig.description;
    // getForm().resetFields();
    /* 动态import实体名.ts的自定义方法 */
    try {
@@ -166,14 +193,14 @@
   * @return {*}
   */
  function handleDel(record: EditRecordRow) {
    if (!isNullOrEmpty(record.WORK_ORDER)) {
    if (!isNullOrEmpty(record.WORK_ORDER) || !isNullOrEmpty(record.PROD_CODE)) {
      //删除
      DeleteEntity(record, ctype.value).then((action) => {
        if (action.IsSuccessed) {
          try {
            const data = cloneDeep(record.editValueRefs);
            console.log(data);
            //TODO 此处将数据提交给服务器保存
            const [{ CustFunc }] = isNullOrUnDef(custImport.value['default'])
              ? EntityCustFunction.value
              : custImport.value['default']();
@@ -190,7 +217,7 @@
          reload();
        }
      });
    }else{
    } else {
      msg.error({ content: t('没有需要删除的变量'), key: 'saving' });
    }
  }