rainwer vor 7 Monaten
Ursprung
Commit
a6a91075fc

+ 15 - 12
src/views/business/production/receiveResource/form.vue

@@ -18,7 +18,7 @@
         <el-form size="small" label-width="80px" :model="form" :rules="formRules" ref="uploadForm">
           <el-row :gutter="30">
             <el-col :span="12">
-              <el-form-item label="件类型" prop="type">
+              <el-form-item label="件类型" prop="type">
                 <el-select v-model="form.type" style="width: 100%">
                   <el-option v-for="item in fileTypes" :key="item.value" :label="item.label"
                     :value="item.value" />
@@ -34,9 +34,9 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="选择件" prop="files">
+              <el-form-item label="选择件" prop="files">
                 <el-upload v-if="visible" action="#" :http-request="upload" :before-upload="handleBeforeUpload" :with-credentials="true"
-                  :before-remove="removeFile" v-model:file-list="fileList"
+                  :before-remove="removeFile" v-model:file-list="fileList" :accept="acceptType"
                   :show-file-list="true" multiple :limit="5" drag style="width: 100%;">
                   <!-- <el-button size="small" type="primary" icon="Upload">上传文件</el-button> -->
                   <el-icon class="el-icon--upload"><upload-filled /></el-icon>
@@ -154,7 +154,7 @@
     options: {},
     formRules: {
       type: [
-        { required: true, message: '请选择件类型', trigger: 'change' }
+        { required: true, message: '请选择件类型', trigger: 'change' }
       ],
       companyId: [
         { required: true, message: '请选择公司', trigger: 'change' }
@@ -164,7 +164,8 @@
       ],
     },
     fileMap: {},
-    fileList: []
+    fileList: [],
+    acceptType: ".bmp,.gif,.jpg,.jpeg,.png,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.html,.htm,.txt,.rar,.zip,.gz,.bz2,.mp4,.avi,.rmvb,.pdf"
   });
   const {
     visible,
@@ -179,12 +180,11 @@
     months,
     formRules,
     fileMap,
-    fileList
+    fileList,
+    acceptType
   } = toRefs(data);
 
   function validateFiles(rule, value, callback) {
-    console.log(value, 'validateFiles')
-    console.log(form.value.files, 'form.value.files')
     if (!form.value.files || form.value.files.length == 0) {
       callback(new Error('请上传文件'))
     } else {
@@ -270,12 +270,16 @@
         file.url = res.url;
         file.originalFileName = res.originalFilename;
         file.fileUrl = res.fileName;
-        // files.value.push(file);
-        // srcList.value = files.value.map((v) => baseUrl.value + v.fileUrl);
+
         form.value.files.push(file)
         fileMap.value[param.file.uid] = file.fileUrl
-        console.log(fileMap.value)
+      } else {
+        const index = fileList.value.findIndex(f => f.uid == param.file.uid)
+        fileList.value.splice(index, 1);
       }
+    }).catch(e => {
+      const index = fileList.value.findIndex(f => f.uid == param.file.uid)
+      fileList.value.splice(index, 1);
     });
   }
 
@@ -308,7 +312,6 @@
   }
 
   function handleSave() {
-    console.log('handleSave', form.value.files)
     proxy.$refs["uploadForm"].validate((valid) => {
       if (valid) {
         const file = {

+ 33 - 15
src/views/business/production/receiveResource/index.vue

@@ -5,29 +5,31 @@
     </div>
     <!-- 搜索区 -->
     <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true" label-width="68px">
-      <el-form-item label="件名称:">
-        <el-input v-model.trim="queryParams.fileName" size="small" type="text" placeholder="件名称" :clearable="true"
+      <el-form-item label="件名称:">
+        <el-input v-model.trim="queryParams.fileName" size="small" type="text" placeholder="件名称" :clearable="true"
           style="width: 130px" />
       </el-form-item>
       <el-form-item label="企业名称:">
         <el-input v-model.trim="queryParams.companyName" size="small" type="text" placeholder="企业名称" :clearable="true"
           style="width: 130px" />
       </el-form-item>
-      <el-form-item label="件类型:">
+      <el-form-item label="件类型:">
         <el-select v-model="queryParams.type" clearable>
                   <el-option v-for="item in fileTypes" :key="item.value" :label="item.label"
                     :value="item.value" />
                 </el-select>
       </el-form-item>
-      <el-form-item label="件状态:">
+      <el-form-item label="件状态:">
         <el-select v-model="queryParams.deleted" clearable>
           <el-option label="正常" :value="0" />
           <el-option label="作废" :value="1" />
         </el-select>
       </el-form-item>
-      <!-- <el-form-item v-if="tenant.versionId !== '4'" label="是否自己负责:" v-hasPermi="['business:upload:person']">
-        <el-switch v-model="oneself" @change="handleOneself" />
-      </el-form-item> -->
+      <el-form-item label="来源:" v-if="tenant.versionId === '4'">
+        <el-select v-model="queryParams.fromTenantId" clearable>
+          <el-option v-for="tenant in tenantList" :label="tenant.contactCompany" :value="tenant.fromTenantId" :key="tenant.id"/>
+        </el-select>
+      </el-form-item>
       <el-form-item label="上传人:" prop="userName">
         <el-input size="small" v-model="queryParams.userName" placeholder="请输入上传人" clearable style="width: 130px"
           @keyup.enter="handleQuery" />
@@ -41,7 +43,7 @@
       <el-form-item>
         <el-button type="primary" icon="Search" @click="handleQuery" size="small">搜索</el-button>
         <el-button type="primary" icon="Upload" @click="uploadHandle" size="small" v-hasPermi="['business:upload:add']">上传</el-button>
-        <el-button type="danger" icon="Delete" @click="handleDelete" size="small" v-hasPermi="['business:upload:del']">作废</el-button>
+        <el-button type="danger" :disabled="!ids.length" icon="Delete" @click="handleDelete" size="small" v-hasPermi="['business:upload:del']">作废</el-button>
       </el-form-item>
     </el-form>
     <!-- <div v-if="flag && flag2 && tenant.versionId !== '4'">
@@ -58,8 +60,8 @@
     <!-- 列表区 -->
     <el-table v-loading="loading" :data="list" size="small" border height="100%"
       @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="件名称" prop="fileName" min-width="110" align="left" />
+      <el-table-column type="selection" :selectable="selectable" width="55" align="center" />
+      <el-table-column label="件名称" prop="fileName" min-width="110" align="left" />
       <el-table-column label="客户名称" align="center" prop="companyName">
         <template #default="scope">
           <div style="display: flex; align-items: center; ">
@@ -80,7 +82,7 @@
       </el-table-column>
       <el-table-column label="来源" align="center" prop="accountName" min-width="100"
         v-if="tenant.versionId === '4'" />
-      <el-table-column label="件类型" align="center" prop="type" width="120">
+      <el-table-column label="件类型" align="center" prop="type" width="120">
         <template #default="scope">
             {{ fileTypes.find(f => f.value == scope.row.type).label }}
         </template>
@@ -123,6 +125,9 @@
   import { ref } from "vue";
   import formDialog from "./form.vue";
   import viewDialog from "./view.vue";
+  import {
+    listEntrustOrder,
+  } from "@/api/business/entrust/entrustOrder";
   const { proxy } = getCurrentInstance();
   /** 字典数组区 */
   /** 查询 对象 */
@@ -138,12 +143,10 @@
   const showViewer = ref(false);
   const currentFileList = ref([]);
   const showIndex = ref(0);
+  const tenantList = ref([]);
 
   const permissions = useUserStore().permissions;
 
-  const currentMonth = ref(
-    proxy.moment().subtract(1, "month").format("YYYY-MM-01")
-  );
   const fileTypes = ref([
     {value: 1, label: '票据'},
     {value: 2, label: '银行'},
@@ -187,9 +190,23 @@
   });
 
   /***********************  方法区  ****************************/
+  function selectable(row) {
+    return !row.deleted
+  }
+
+  function getEntrustOrderList() {
+    listEntrustOrder({
+    pageNum: 1,
+    pageSize: 20,
+    orderByColumn: "create_time", status: 1}).then(res => {
+      tenantList.value = res.rows
+    })
+  }
+
   onActivated(() => {
     // 你的逻辑
     getList();
+    getEntrustOrderList()
   });
   /** 查询company列表 */
   function getList() {
@@ -378,5 +395,6 @@
       });
   }
   getList();
-  getOption();
+  // getOption();
+  getEntrustOrderList()
 </script>