无人机管理后台前端(已迁走)
rain
2025-06-12 0082fa417fb2af9add3406bf05ab3e3e45890c34
src/views/resource/attach.vue
@@ -58,7 +58,7 @@
</template>
<script>
import { getList, getDetail, remove } from '@/api/resource/attach';
import { getList, getDetail, removeAttachAndData } from '@/api/resource/attach';
import { mapGetters } from 'vuex';
import func from '@/utils/func';
@@ -76,15 +76,13 @@
      attachBox: false,
      selectionList: [],
      option: {
        height: 'auto',
        calcHeight: 32,
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        border: true,
        index: true,
        viewBtn: true,
        grid: true,
        // grid: true,
        selection: true,
        dialogClickModal: false,
        column: [
@@ -102,7 +100,6 @@
          {
            label: '附件域名',
            prop: 'domainUrl',
            search: true,
            rules: [
              {
                required: true,
@@ -115,6 +112,7 @@
            label: '附件名称',
            prop: 'name',
            search: true,
            searchSpan:4,
            rules: [
              {
                required: true,
@@ -127,6 +125,7 @@
            label: '附件原名',
            prop: 'originalName',
            search: true,
            searchSpan:4,
            rules: [
              {
                required: true,
@@ -138,6 +137,9 @@
          {
            label: '附件拓展名',
            prop: 'extension',
            search: true,
            searchSpan:4,
            searchLabelWidth:95,
            rules: [
              {
                required: true,
@@ -154,6 +156,31 @@
              {
                required: true,
                message: '请输入附件大小',
                trigger: 'blur',
              },
            ],
          },
          {
            label: '创建日期',
            prop: 'createTime'
          },
          {
            label: '创建日期',
            prop: 'daterange',
            type: 'daterange',
            search:true,
            searchRange: true,
            searchSpan:6,
            format: 'YYYY-MM-DD',
            valueFormat: 'YYYY-MM-DD',
            startPlaceholder: '开始时间',
            endPlaceholder: '结束时间',
            viewDisplay:false,
            hide: true,
            rules: [
              {
                required: true,
                message: '请选择操作时间',
                trigger: 'blur',
              },
            ],
@@ -217,13 +244,13 @@
      window.open(`${row.link}`);
    },
    rowDel(row) {
      this.$confirm('确定将选择数据删除?', {
      this.$confirm('确定将选择数据及对应的文件删除?', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
        .then(() => {
          return remove(row.id);
          return removeAttachAndData(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
@@ -238,13 +265,13 @@
        this.$message.warning('请选择至少一条数据');
        return;
      }
      this.$confirm('确定将选择数据删除?', {
      this.$confirm('确定将选择数据及对应的文件删除?', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
        .then(() => {
          return remove(this.ids);
          return removeAttachAndData(this.ids);
        })
        .then(() => {
          this.onLoad(this.page);
@@ -290,8 +317,21 @@
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      const { daterange } = this.query;
      let values = {
        ...params,
        ...this.query,
      };
      if (daterange) {
        values = {
          ...values,
          startTime: daterange[0],
          endTime: daterange[1],
        };
        values.daterange = null;
      }
      this.loading = true;
      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
      getList(page.currentPage, page.pageSize, values).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
@@ -303,4 +343,13 @@
};
</script>
<style></style>
<style scoped lang="scss">
  :deep(){
    .avue-crud__body{
      .el-form{
        height: 745px;
        overflow: auto;
      }
    }
  }
</style>