odc.xiaohui
2023-12-21 ca26e87474787aa197211398f5b961d6dd4ea1a5
src/views/index.vue
@@ -22,6 +22,9 @@
      <template #header>
        <el-row  style="text-align: center">
          <el-col>
          <el-input v-model="input1" placeholder="请输入提取码" style="width: 150px">
               </el-input>
            <el-button type="primary" @click="downloadFile">下载</el-button>
            <el-button type="primary" plain icon="Upload" @click="handleFile" v-if="isContains(useUserStore().permissions, 'system:oss:upload')">上传文件</el-button>
          </el-col>
@@ -66,7 +69,7 @@
    <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
      <el-form ref="ossFormRef" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="文件名">
          <fileUpload ref="childFile" @closePopup="getList();lookPawsd($event)"  v-model="form.file"  v-if="type === 0" />
          <fileUpload ref="childFile" @closePopup="getList();lookPawsd($event)" @openPopup="lookPawsd($event)" v-model="form.file"  v-if="type === 0" />
          <imageUpload v-model="form.file" v-if="type === 1" />
          <video-upload v-model="form.file" v-if="type === 2" />
        </el-form-item>
@@ -89,10 +92,22 @@
        <div class="dialog-footer">
          <el-button link type="primary"   v-show="titleDownload=='输入提取码'" icon="Download" @click="handleDownloadFile()" v-if="isContains(useUserStore().permissions, 'system:oss:download')">下载</el-button>
          <el-button link type="primary"   v-show="titleDownload=='请输入提取码'"  icon="Delete" @click="delFile()" >删除</el-button>
<!--          <el-button  type="primary" @click="visibleCode = false">确 定</el-button>-->
          <el-button @click="visibleCode = false">取 消</el-button>
          <el-button  type="primary" @click="visibleCode = false">确 定</el-button>
        </div>
      </template>
    </el-dialog>
    <el-dialog
      v-model="dialogVisible"
      title=""
      width="37%"
      :close-on-click-modal = "false"
      :close-on-press-escape = "false"
      :show-close = "false"
    >
    <span @closePopup1="lookPawsd1()">
    <el-progress type="dashboard" :percentage="percentage2" style="display: flex;justify-content: center" :color="colors" />
    </span>
    </el-dialog>
  </div>
</template>
@@ -106,6 +121,7 @@
import usePermissionStore from "@/store/modules/permission";
import { isHttp } from "@/utils/validate";
import router from '@/router';
import { ref } from "vue";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const ossList = ref<OssVO[]>([]);
@@ -121,6 +137,13 @@
const previewListResource = ref(true);
const dateRangeCreateTime = ref<[DateModelType, DateModelType]>(['', '']);
const visibleCode = ref(false);
const colors = [
  { color: '#f56c6c', percentage: 20 },
  { color: '#e6a23c', percentage: 40 },
  { color: '#5cb87a', percentage: 60 },
  { color: '#1989fa', percentage: 80 },
  { color: '#6f7ad3', percentage: 100 },
]
const dialog = reactive<DialogOption>({
  visible: false,
  title: ''
@@ -132,6 +155,7 @@
const inputRef = ref<any>()
const inputSty =ref<any>()
const currentIp = ref('')
const input1 = ref('')
const childFile = ref<any>()
const figType = ref<any>()
// 默认排序
@@ -139,7 +163,8 @@
const ossFormRef = ref<ElFormInstance>();
const queryFormRef = ref<ElFormInstance>();
const dialogVisible = ref(false)
const percentage2 = ref(0)
const initFormData = {
  file: undefined,
}
@@ -264,6 +289,7 @@
/** 任务日志列表查询 */
/** 文件按钮操作 */
const handleFile = () => {
  percentage2.value = 0;
  reset();
  type.value = 0;
  dialog.visible = true;
@@ -288,12 +314,39 @@
  await childFile.value.handleCilck()
  dialog.visible = false;
}
const lookPawsd = async (row: OssVO) => {
const state = reactive({
  mytime:0,//定义定时器
})
watch(percentage2, (new1,new2) => {
  console.log(new1,new2)
  if(new1 == 95){
    clearInterval(state.mytime);
    state.mytime = 0;
  }
})
const lookPawsd1 = async () => {
  dialogVisible.value = true;
}
const lookPawsd = async (row: any) => {
  console.log(row, row.ossId);
      testtxt.value = row.password;
      titleDownload.value = '查看提取码'
      pasTxt.value = ''
      visibleCode.value = true
  clearInterval(state.mytime);
  state.mytime = 0;
  if(row == '123123'){
    dialogVisible.value = true;
    state.mytime = setInterval(() => {
      percentage2.value = (percentage2.value % 100) + 5
    }, 500)
  }
  else{
    dialogVisible.value = false;
    clearInterval(state.mytime);
    state.mytime = 0;
    testtxt.value = row.password;
    titleDownload.value = '查看提取码'
    pasTxt.value = ''
    visibleCode.value = true
  }
}
const handleCode = async (row: OssVO) => {
  console.log(row, row.ossId);
@@ -301,7 +354,7 @@
  await examineIds(row.ossId).then(res => {
    console.log(res);
    if (res.code == 200) {
      testtxt.value = res.msg;
      testtxt.value = res.data.password
      titleDownload.value = '查看提取码'
      pasTxt.value = ''
      // inputSty.value ={
@@ -428,6 +481,18 @@
  // }
})
const downloadFile = ()=>{
  console.log(input1.value);
  if (input1.value){
    proxy?.$download.ossDown("12345678",input1.value)
  }else {
    inputSty.value ={
      border: '1px solid red'
    }
    // inputRef.value.style.border = '1px solid red'
  }
  visibleCode.value=false
}
onMounted(async () => {
  console.log('第二aaaaaaa',useUserStore().permissions);
  // 等待 useUserStore() 方法的 getInfo() 方法返回结果并赋值给 err 变量