Bläddra i källkod

update:合同评审

chris 3 år sedan
förälder
incheckning
9c2a3fb99d
3 ändrade filer med 68 tillägg och 8 borttagningar
  1. 8 0
      src/api/cus.js
  2. 27 7
      src/views/modules/cus/contract-add-or-update.vue
  3. 33 1
      src/views/modules/cus/contract.vue

+ 8 - 0
src/api/cus.js

@@ -48,3 +48,11 @@ export function geTreDetail (reId) {
     method: 'get'
   })
 }
+
+export function revoke (data) {
+  return request({
+    url: request.adornUrl(`/biz-service/flow/cusContractReview/revoke`),
+    method: 'post',
+    data: data
+  })
+}

+ 27 - 7
src/views/modules/cus/contract-add-or-update.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-dialog
-      title="发起评审"
+      :title="!id ? '发起评审': display ? '评审详情' : '修改'"
       width="70%"
       :close-on-click-modal="false"
       :visible.sync="visible">
@@ -82,9 +82,9 @@
             :limit="5"
             :on-exceed="handleExceed"
             :auto-upload="false">
-            <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
-            <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">开始上传</el-button>
-            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,最多5张图片,且每张图片不超过10M</div>
+            <el-button slot="trigger" size="small" type="primary" v-show="!display">选取文件</el-button>
+            <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload" v-show="!display">开始上传</el-button>
+            <div slot="tip" class="el-upload__tip" v-show="!display">只能上传jpg/png文件,最多5张图片,且每张图片不超过10M</div>
           </el-upload>
         </el-row>
       </el-form>
@@ -130,9 +130,9 @@
         },
         dataRule: {
           coCode: [{ required: true, message: '沟通编码不能为空', trigger: 'change' }],
-          reType: [{ required: true, message: '评审类别不能为空', trigger: 'change' }],
-          name: [{ required: true, message: '客户名称不能为空', trigger: 'blur' }],
-          cellName: [{ required: true, message: '联系人不能为空', trigger: 'blur' }]
+          reType: [{ required: true, message: '评审类别不能为空', trigger: 'change' }]
+          // name: [{ required: true, message: '客户名称不能为空', trigger: 'blur' }],
+          // cellName: [{ required: true, message: '联系人不能为空', trigger: 'blur' }]
         },
         display: false,
         uploadUrl: uploadUrl,
@@ -152,6 +152,7 @@
     },
     methods: {
       async init (id, disable) {
+        this.dataForm = {}
         this.display = disable
         this.fileList = []
         this.visible = true
@@ -171,6 +172,15 @@
         await geTreDetail(id).then(({data}) => {
           if (data && data.code === '200') {
             this.dataForm = data.data
+            // 附件显示
+            this.fileList = []
+            data.data.attachList.forEach((item) => {
+              this.fileList.push({
+                name: item.fileName,
+                url: item.url,
+                id: item.url
+              })
+            })
           }
         })
       },
@@ -216,6 +226,16 @@
       dataFormSubmit () {
         this.$refs['dataForm'].validate((valid) => {
           if (valid) {
+            let fList = this.fileList
+            if (fList.length > 0) {
+              this.dataForm.attachList = []
+              for (let i = 0; i < fList.length; i++) {
+                this.dataForm.attachList.push({
+                  fileName: fList[i].name,
+                  url: fList[i].url
+                })
+              }
+            }
             this.$http({
               url: this.$http.adornUrl(`/biz-service/flow/cusContractReview/submit`),
               method: 'post',

+ 33 - 1
src/views/modules/cus/contract.vue

@@ -24,30 +24,35 @@
         prop="reCode"
         header-align="center"
         align="center"
+        min-width="180"
         label="评审编码">
       </el-table-column>
       <el-table-column
         prop="coCode"
         header-align="center"
         align="center"
+        min-width="180"
         label="沟通编码">
       </el-table-column>
       <el-table-column
         prop="customerName"
         header-align="center"
         align="center"
+        min-width="100"
         label="客户名称">
       </el-table-column>
       <el-table-column
         prop="contact"
         header-align="center"
         align="center"
+        min-width="100"
         label="联系人">
       </el-table-column>
       <el-table-column
         prop="bizManagerName"
         header-align="center"
         align="center"
+        min-width="100"
         label="对接业务员">
       </el-table-column>
       <el-table-column
@@ -61,12 +66,15 @@
         prop="createTime"
         header-align="center"
         align="center"
+        min-width="160"
         label="创建时间">
       </el-table-column>
       <el-table-column
         prop="notes"
         header-align="center"
         align="center"
+        min-width="100"
+        :show-overflow-tooltip="true"
         label="备注">
       </el-table-column>
       <el-table-column
@@ -84,7 +92,7 @@
         label="操作">
         <template slot-scope="scope">
           <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.reId, true)">查看</el-button>
-          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.reId, false)">编辑</el-button>
+          <el-button type="text" size="small" @click="cancelContract(scope.row)">撤回</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -105,6 +113,7 @@
 <script>
   import AddOrUpdate from './contract-add-or-update'
   import { getDictList } from '@/api/dict'
+  import { revoke } from '@/api/cus'
   export default {
     name: 'contract',
     components: {
@@ -203,6 +212,29 @@
           this.$refs.addOrUpdate.init(id, disable)
         })
       },
+      // 撤回合同评审
+      cancelContract (row) {
+        this.$confirm(`确定撤回合同${row.reCode}?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          revoke({reId: row.reId}).then(({data}) => {
+            if (data && data.code === '200') {
+              this.$message({
+                message: '撤回成功',
+                type: 'success',
+                duration: 1500,
+                onClose: () => {
+                  this.getDataList()
+                }
+              })
+            } else {
+              this.$message.error(data.msg)
+            }
+          })
+        }).catch(() => {})
+      },
       // 转换属性“类别”
       typeFormat (row) {
         if (this.options) {