scorpioyq před 2 roky
rodič
revize
0ae55244b4
3 změnil soubory, kde provedl 81 přidání a 26 odebrání
  1. 17 0
      src/api/contract/index.js
  2. 19 17
      src/api/index.js
  3. 45 9
      src/views/contract/index.vue

+ 17 - 0
src/api/contract/index.js

@@ -0,0 +1,17 @@
+import fetch from '../fetch.js'
+
+export default {
+    /**
+     * 合同管理相关借口
+     * @returns {Promise<unknown>}
+     */
+    contractList(params) {
+        // 合同列表
+        return fetch(
+            '/blade-project-manage-v2/contracts-manage/v2/page',
+            params,
+            'post'
+        )
+    },
+}
+

+ 19 - 17
src/api/index.js

@@ -13,23 +13,25 @@ import search from './search/index.js'
 import dispatch from './dispatch/index.js'
 import store from './store/index.js'
 import msg from './msg/index.js'
+import contract from "@/api/contract/index.js";
 
 export default {
-  offices: ['pdf', 'doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'PDF'],
-  uploadPath: '/api/wutong-file/minio/file/upload', // 上传
-  login,
-  system,
-  project,
-  common,
-  recycle,
-  database,
-  task,
-  company,
-  inspect,
-  params,
-  invest,
-  search,
-  dispatch,
-  store,
-  msg
+    offices: ['pdf', 'doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'PDF'],
+    uploadPath: '/api/wutong-file/minio/file/upload', // 上传
+    login,
+    system,
+    project,
+    common,
+    recycle,
+    database,
+    task,
+    company,
+    inspect,
+    params,
+    invest,
+    search,
+    dispatch,
+    store,
+    msg,
+    contract
 }

+ 45 - 9
src/views/contract/index.vue

@@ -1,18 +1,18 @@
 <template>
   <el-card shadow="hover">
-    <el-form v-model="form" class="full-width" label-width="120px">
+    <el-form v-model="params" class="full-width" label-width="120px">
       <div class="flex">
         <div class="flex flex-center mt-15 mr-10">
           <el-form-item label="关键字" class="full-width" style="margin-left: -50px">
             <el-input
-                v-model="form.projectName"
+                v-model="params.name"
                 placeholder="输入合同关键字"
                 prefix-icon="Search"
                 clearable
             />
           </el-form-item>
           <el-form-item class="full-width" label="合同类别">
-            <el-select v-model="form.isStart" clearable>
+            <el-select v-model="params.type" clearable>
               <el-option
                   v-for="item in start"
                   :key="item.value"
@@ -22,12 +22,12 @@
             </el-select>
           </el-form-item>
           <el-form-item class="full-width" label="合同状态">
-            <el-select v-model="form.isStorage" clearable>
+            <el-select v-model="params.status" clearable>
               <el-option
-                  v-for="item in storage"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
+                  v-for="item in dicList"
+                  :key="item.dicValue"
+                  :label="item.dicKey"
+                  :value="item.dicValue"
               />
             </el-select>
           </el-form-item>
@@ -47,7 +47,6 @@
         @row-del="rowDel"
         @row-save="rowSave"
         @row-update="rowUpdate"
-        @on-load="onLoad"
     >
     </avue-crud>
   </el-card>
@@ -127,10 +126,47 @@ export default {
           },
 
         ]
+      },
+      page: {
+        size: 10,
+        current: 1
+      },
+      dicList: [],
+      params: {
+        name: '',
+        status: '',
+        type: ''
       }
     }
   },
+  created() {
+    this.getDic('contract-status')
+    this.onLoad()
+  },
   methods: {
+    getDic(code) {
+      this.$api.common.dicList({code}).then(res => {
+        if (res.code === 200) {
+          console.log(res)
+          this.dicList = res.data
+        }
+      })
+    },
+    onLoad() {
+      const data = {
+        name: this.params.name,
+        status: this.params.status,
+        type: this.params.type
+      }
+      this.loading = true
+      this.$api.contract.contractList(Object.assign(this.page, data))
+          .then(res => {
+            console.log(res)
+          })
+          .finally(() => {
+            this.loading = false
+          })
+    },
     beforeOpen(done, type) {
       if (type === 'view') {
         const data = this.$router.resolve({