Browse Source

feature(项目): 项目升级修改

ZZH-wl 2 years ago
parent
commit
966b7f6994

+ 2 - 2
src/api/proj/business.js

@@ -22,8 +22,8 @@ export default {
   businessUpgrade(query) {
     return micro_request.postRequest(basePath, 'Business', 'BusinessUpgrade', query)
   },
-  businessUpgradeA(query) {
-    return micro_request.postFormDataRequest(basePath, 'BusinessHandler', 'BusinessUpgradeA', query)
+  BusinessUpgradeAorB(query) {
+    return micro_request.postFormDataRequest(basePath, 'BusinessHandler', 'BusinessUpgradeAorB', query)
   },
   // 项目降级
   businessDowngrade(query) {

+ 66 - 31
src/views/proj/business/components/BusinessGradation.vue

@@ -157,16 +157,15 @@
             </el-form-item>
           </el-col>
           <el-col v-if="form.isAdoptDashoo === '10'" :span="8">
-            <el-form-item label="参数文件" prop="file" :required="form.isAdoptDashoo === '10'">
+            <el-form-item label="参数文件" prop="dashooParamFile" :required="form.isAdoptDashoo === '10'">
               <el-upload
-                ref="uploadRef"
                 action="#"
                 :auto-upload="false"
-                :file-list="fileList"
+                :file-list="dashooParamFileList"
                 :limit="1"
                 :on-change="
                   (file) => {
-                    return setFile(file)
+                    return setDashooParamFile(file)
                   }
                 ">
                 <el-button size="mini" type="primary">点击上传</el-button>
@@ -174,25 +173,49 @@
             </el-form-item>
           </el-col>
         </el-row>
-
-        <el-form-item v-if="type === 'up' && form.nboType === '30'" label="转化原因" prop="projConversionReason">
-          <el-input
-            v-model="form.projConversionReason"
-            maxlength="300"
-            placeholder="请输入转化原因"
-            rows="3"
-            show-word-limit
-            type="textarea" />
-        </el-form-item>
-        <el-form-item v-else :label="title + '原因'" prop="remark" :required="type === 'down'">
-          <el-input
-            v-model="form.remark"
-            maxlength="300"
-            placeholder="请输入备注原因"
-            rows="3"
-            show-word-limit
-            type="textarea" />
-        </el-form-item>
+        <el-row v-if="type === 'up' && form.nboType === '30'">
+          <el-form-item label="转化原因" prop="projConversionReason">
+            <el-input
+              v-model="form.projConversionReason"
+              maxlength="300"
+              placeholder="请输入转化原因"
+              rows="3"
+              show-word-limit
+              type="textarea" />
+          </el-form-item>
+        </el-row>
+        <el-row v-else>
+          <el-col :span="8">
+            <el-form-item
+              label="报价单"
+              prop="quotationFile"
+              :required="form.nboType === '10' || form.nboType === '20'">
+              <el-upload
+                action="#"
+                :auto-upload="false"
+                :file-list="quotationFileList"
+                :limit="1"
+                :on-change="
+                  (file) => {
+                    return setQuotationFile(file)
+                  }
+                ">
+                <el-button size="mini" type="primary">点击上传</el-button>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="16">
+            <el-form-item :label="title + '原因'" prop="remark" :required="type === 'down'">
+              <el-input
+                v-model="form.remark"
+                maxlength="300"
+                placeholder="请输入备注原因"
+                rows="3"
+                show-word-limit
+                type="textarea" />
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <template #footer>
         <el-button @click="close">取 消</el-button>
@@ -257,6 +280,10 @@
         if (this.form.isAdoptDashoo === '10' && !value) callback(new Error())
         else callback()
       }
+      const validateQuotationFile = (rule, value, callback) => {
+        if ((this.form.nboType === '10' || this.form.nboType === '20') && !value) callback(new Error())
+        else callback()
+      }
       return {
         title: '项目',
         type: '',
@@ -289,7 +316,8 @@
           accendant: undefined,
           projConversionReason: undefined,
           remark: undefined,
-          file: undefined,
+          dashooParamFile: undefined,
+          quotationFile: undefined,
         },
         rules: {
           nboType: [{ required: true, trigger: ['blur', 'change'], message: '请选择项目类别' }],
@@ -315,7 +343,8 @@
           purchasingTime: [{ validator: validateUpgradeA, trigger: ['blur', 'change'], message: '请选择采购时间' }],
           purchasingWay: [{ validator: validateUpgradeA, trigger: ['blur', 'change'], message: '请选择采购方式' }],
           isAdoptDashoo: [{ validator: validateUpgradeA, trigger: ['blur', 'change'], message: '请选择是或否' }],
-          file: [{ validator: validateAdoptDashoo, trigger: ['blur', 'change'], message: '请选择上传文件' }],
+          dashooParamFile: [{ validator: validateAdoptDashoo, trigger: ['blur', 'change'], message: '请选择上传文件' }],
+          quotationFile: [{ validator: validateQuotationFile, trigger: ['blur', 'change'], message: '请选择上传文件' }],
 
           remark: [{ validator: validateDowngrade, trigger: ['blur', 'change'], message: '请输入原因' }],
           projConversionReason: [{ required: true, trigger: ['blur', 'change'], message: '请输入转化原因' }],
@@ -324,7 +353,8 @@
         yesOrNoOptions: [],
         purchasingWayOptions: [],
         // 大数参数文件
-        fileList: [],
+        dashooParamFileList: [],
+        quotationFileList: [],
         fileSettings: {
           // 文件配置信息
           fileSize: 52428800,
@@ -346,8 +376,12 @@
     },
     methods: {
       // 上传图片
-      setFile(file) {
-        this.form.file = file.raw
+      setDashooParamFile(file) {
+        this.form.dashooParamFile = file.raw
+        return true
+      },
+      setQuotationFile(file) {
+        this.form.quotationFile = file.raw
         return true
       },
       handleSelectContact() {
@@ -403,13 +437,14 @@
         this.dialogFormVisible = false
       },
       save() {
-        console.log(this.form.file, '------------')
+        console.log(this.form.dashooParamFile, '-----dashooParamFile-------')
+        console.log(this.form.quotationFile, '------quotationFile------')
         this.$refs['form'].validate(async (valid) => {
           if (valid) {
             this.$baseConfirm('你确定要对当前项目' + this.title + '吗', null, async () => {
               if (this.type === 'up') {
-                if (this.form.nboType === '10' && this.form.isAdoptDashoo === '10') {
-                  const { msg } = await businessApi.businessUpgradeA(this.form)
+                if (this.form.nboType === '10' || this.form.nboType === '20') {
+                  const { msg } = await businessApi.BusinessUpgradeAorB(this.form)
                   this.$baseMessage(msg, 'success')
                 } else {
                   const { msg } = await businessApi.businessUpgrade(this.form)

+ 2 - 0
src/views/proj/business/components/DetailsRecords.vue

@@ -91,6 +91,8 @@
       opnTypeFormat(opnType) {
         if (opnType === '10') {
           return '创建了项目'
+        } else if (opnType === '11') {
+          return '创建项目审批'
         } else if (opnType === '20') {
           return '更新了项目'
         } else if (opnType === '30') {