Pārlūkot izejas kodu

【修改】申请退押 退押审批 上交资料限制

howie 2 gadi atpakaļ
vecāks
revīzija
eb5801075f

+ 208 - 191
src/views/deposit_home/components/deposit-apply-surrender.vue

@@ -54,7 +54,7 @@
           <el-col :xs="24" :sm="24" :lg="16" class="item">
             <div class="label">跨区厂编号</div>
             <div class="value">
-<!--              {{ details.refFactoryNo }}-->
+              <!--              {{ details.refFactoryNo }}-->
               <el-form-item prop="refFactoryNo">
                 <el-input
                   v-model="details.refFactoryNo"
@@ -77,12 +77,12 @@
             <div class="label">工程差价总额</div>
             <div class="value">{{ details.depositDiffAmount }}</div>
           </el-col>
-              <el-col :xs="24" :sm="24" :lg="24" class="item" v-if="!isCustomer">
-              <div class="label">格力备注</div>
-              <div class="value">
-                 <el-input  v-model=" details.geLiInerNote" placeholder="格力备注" ></el-input>
-              </div>
-            </el-col>
+          <el-col v-if="!isCustomer" :xs="24" :sm="24" :lg="24" class="item">
+            <div class="label">格力备注</div>
+            <div class="value">
+              <el-input v-model=" details.geLiInerNote" placeholder="格力备注" />
+            </div>
+          </el-col>
           <el-col :xs="24" :sm="24" :lg="24" class="item">
             <div class="label">使用单位</div>
             <div class="value">{{ details.refUseUnit }}</div>
@@ -165,26 +165,26 @@
             show-overflow-tooltip
           />
           <el-table-column align="left" label="实装规格型号" prop="realSpecification" min-width="300" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <div :style="scope.row.realSpecification != scope.row.specification?{color:'blue'}:''">
-                    {{scope.row.realSpecification}}
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="实装物料编号" prop="realMaterialNumber" min-width="150" show-overflow-tooltip>
-          <template slot-scope="scope">
-                <div :style="scope.row.realMaterialNumber != scope.row.materialNumber?{color:'blue'}:''">
-                    {{scope.row.realMaterialNumber}}
-                </div>
-              </template>
-        </el-table-column>
-            <el-table-column align="left" label="实装厂产品编码" prop="realMaterialOldNumber" min-width="200" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <div :style="scope.row.realMaterialOldNumber != scope.row.materialOldNumber?{color:'blue'}:''">
-                    {{scope.row.realMaterialOldNumber}}
-                </div>
-              </template>
-            </el-table-column>
+            <template slot-scope="scope">
+              <div :style="scope.row.realSpecification != scope.row.specification?{color:'blue'}:''">
+                {{ scope.row.realSpecification }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="left" label="实装物料编号" prop="realMaterialNumber" min-width="150" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <div :style="scope.row.realMaterialNumber != scope.row.materialNumber?{color:'blue'}:''">
+                {{ scope.row.realMaterialNumber }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="left" label="实装厂产品编码" prop="realMaterialOldNumber" min-width="200" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <div :style="scope.row.realMaterialOldNumber != scope.row.materialOldNumber?{color:'blue'}:''">
+                {{ scope.row.realMaterialOldNumber }}
+              </div>
+            </template>
+          </el-table-column>
           <el-table-column
             align="center"
             label="单价"
@@ -200,16 +200,16 @@
             show-overflow-tooltip
           />
           <el-table-column
-              align="right"
-              label="金额"
-              prop="totalAmount"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.totalAmount | numToFixed }}
-              </template>
-            </el-table-column>
+            align="right"
+            label="金额"
+            prop="totalAmount"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              {{ scope.row.totalAmount | numToFixed }}
+            </template>
+          </el-table-column>
           <el-table-column
             align="center"
             label="押金数量"
@@ -225,66 +225,66 @@
             show-overflow-tooltip
           />
           <el-table-column
-              align="right"
-              label="合同数量"
-              prop="contractQty"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
+            align="right"
+            label="合同数量"
+            prop="contractQty"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
 
-                <el-input
+              <el-input
 
-                  class="inpt"
-                  v-model.number="scope.row.contractQty"
-                  size="mini"
-                  clearable
-                ></el-input>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="合同单价"
-              prop="contractPrice"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
+                v-model.number="scope.row.contractQty"
+                class="inpt"
+                size="mini"
+                clearable
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="right"
+            label="合同单价"
+            prop="contractPrice"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
 
-                <el-input
+              <el-input
 
-                  class="inpt"
-                  v-model.number="scope.row.contractPrice"
-                  size="mini"
-                  clearable
-                ></el-input>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="合同金额"
-              prop="contractAmount"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
+                v-model.number="scope.row.contractPrice"
+                class="inpt"
+                size="mini"
+                clearable
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="right"
+            label="合同金额"
+            prop="contractAmount"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
 
-                <div >
-                  {{comTotal(scope.row.contractQty,scope.row.contractPrice)}}
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="押金金额"
-              prop="depositAmount"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.depositAmount | numToFixed }}
-              </template>
-            </el-table-column>
+              <div>
+                {{ comTotal(scope.row.contractQty,scope.row.contractPrice) }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="right"
+            label="押金金额"
+            prop="depositAmount"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              {{ scope.row.depositAmount | numToFixed }}
+            </template>
+          </el-table-column>
           <el-table-column
             align="center"
             label="上交资料"
@@ -293,37 +293,37 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-                <el-input
+              <el-input
+                v-model.number.trim="scope.row.dataQty"
+                class="inpt"
+                size="mini"
+
                 @blur="setDataQty($event,scope.row)"
-                  class="inpt"
-                  v-model.number="scope.row.dataQty"
-                  size="mini"
-                  clearable
-                ></el-input>
-              </template>
-        </el-table-column>
-        <el-table-column
-              align="right"
-              label="收差金额"
-              prop="diffAmount"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.diffAmount | numToFixed }}
-              </template>
-            </el-table-column>
+              />
+            </template>
+          </el-table-column>
           <el-table-column
-              align="right"
-              label="收差政策价格"
-              prop="diffPolicyPrice"
-              min-width="200"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.diffPolicyPrice | numToFixed }}
-              </template>
-            </el-table-column>
+            align="right"
+            label="收差金额"
+            prop="diffAmount"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              {{ scope.row.diffAmount | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="right"
+            label="收差政策价格"
+            prop="diffPolicyPrice"
+            min-width="200"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              {{ scope.row.diffPolicyPrice | numToFixed }}
+            </template>
+          </el-table-column>
         </el-table>
       </div>
     </div>
@@ -344,7 +344,7 @@
               <imageUpload :file-list="fileList" :multiple="true" :start-restricting="true" :restrict-filename="restrictFilename" />
             </el-form-item>
           </el-col>
-          <el-col :xs="24" :sm="12" :lg="24" v-if="details.dataList && details.dataList.length">
+          <el-col v-if="details.dataList && details.dataList.length" :xs="24" :sm="12" :lg="24">
             <!-- 列表 -->
             <div class="mymain-container">
               <div class="table">
@@ -446,7 +446,7 @@
                         title="这是一段内容确定删除吗?"
                         @onConfirm="delFile(scope.$index)"
                       >
-                        <el-button type="text" slot="reference">删除</el-button>
+                        <el-button slot="reference" type="text">删除</el-button>
                       </el-popconfirm>
 
                     </template>
@@ -488,12 +488,15 @@
               />
             </el-form-item>
           </el-col>
-            <el-col :xs="24" :sm="12" :lg="18"  v-if="details.checkBy && details.checkDate">
-            <el-form-item label="验收说明
-" prop="checkNote">
+          <el-col v-if="details.checkBy && details.checkDate" :xs="24" :sm="12" :lg="18">
+            <el-form-item
+              label="验收说明
+"
+              prop="checkNote"
+            >
               <el-input
                 v-model="details.checkNote"
-                 disabled
+                disabled
                 type="textarea"
                 placeholder="请输入验收说明
 "
@@ -522,7 +525,7 @@
 </template>
 
 <script>
-import { applyDeposit, geDetail,computeDiff } from '@/api/engin_deposit.js'
+import { applyDeposit, geDetail, computeDiff } from '@/api/engin_deposit.js'
 
 import imageUpload from '@/components/Common/image-upload.vue'
 import { downloadFiles, downloadPdf } from '@/utils/util'
@@ -541,36 +544,34 @@ export default {
       fileList: [],
       details: {},
       restrictFilename: [
-        '结算单', '合同', '明细表', '审核表', '收据', '发票', '照片','相片'
-      ],
+        '结算单', '合同', '明细表', '审核表', '收据', '发票', '照片', '相片'
+      ]
 
     }
   },
-    computed:{
-    isCustomer(){
+  computed: {
+    isCustomer() {
       return this.$store.getters.customerId && this.$store.getters.customerNumber
     },
-    comTotal(){
-      return (qty,price)=>{
-
+    comTotal() {
+      return (qty, price) => {
         return Number(qty) * Number(price)
       }
     }
   },
-  watch:{
-    "details.items": {
+  watch: {
+    'details.items': {
       handler(newValue, oldValue) {
-          if (newValue && newValue.length) {
-            newValue.forEach((item, index) => {
+        if (newValue && newValue.length) {
+          newValue.forEach((item, index) => {
             item.contractAmount = Number(item.contractQty) * Number(item.contractPrice)
-          });
-
-          }
-        this.details.items = newValue;
+          })
+        }
+        this.details.items = newValue
       },
       immediate: true,
-      deep: true,
-    },
+      deep: true
+    }
   },
   created() {
     this.imageURL = this.$imageUrl
@@ -578,40 +579,38 @@ export default {
   },
   methods: {
 
-    geDetail(){
+    geDetail() {
       geDetail({ id: this.$parent.depositManageId }).then((res) => {
-      let arr = []
-      res.data.items.forEach((item) => {
-        if (Number(item.qty)>0) {
-              arr.push(item)
-            }
-        // item.number = (item.qty*100 - item.directTransferQty*100 - item.retiredQty*100) / 100;
-        item.sums1 = ['orderHasSendQty', 'dataQty', 'qty',"hasSendQty","contractQty"]
-        item.sums2 = ['totalAmount', 'diffAmount', 'price','depositAmount',   "contractPrice","comTotal",
-          "contractAmount",]
+        const arr = []
+        res.data.items.forEach((item) => {
+          if (Number(item.qty) > 0) {
+            arr.push(item)
+          }
+          // item.number = (item.qty*100 - item.directTransferQty*100 - item.retiredQty*100) / 100;
+          item.sums1 = ['orderHasSendQty', 'dataQty', 'qty', 'hasSendQty', 'contractQty']
+          item.sums2 = ['totalAmount', 'diffAmount', 'price', 'depositAmount', 'contractPrice', 'comTotal',
+            'contractAmount']
+        })
+        res.data.items = arr
+        this.details = res.data
       })
-      res.data.items = arr
-      this.details = res.data
-
-    })
     },
 
     // 计算收差金额
-    setDataQty(e,row){
-        if(!row.dataQty) return
+    setDataQty(e, row) {
+      if (!row.dataQty) return row.dataQty = 0
       row.saleTypeId = this.details.saleTypeId
-      computeDiff(row).then(res=>{
+      computeDiff(row).then(res => {
         row.diffAmount = res.data.diffAmount
         row.diffPolicyPrice = res.data.diffPolicyPrice
       // this.$successMsg('已计算收差金额')
       })
-    }
-    ,
+    },
     goBack() {
       this.$parent.showPage = 1
     },
     handleSvse() {
-          const arr = []
+      const arr = []
       if (!this.details.installDate) {
         this.$errorMsg('请选择安装时间')
         return
@@ -619,23 +618,19 @@ export default {
 
       if (this.isCustomer) {
         for (let i = 0; i < this.details.items.length; i++) {
-            this.details.items[i].contractAmount = this.details.items[i].contractQty * this.details.items[i].contractPrice
-              if (!this.details.items[i].contractAmount) {
-                return this.$errorMsg('合同单价、合同数量不能为空')
-              }
-
+          this.details.items[i].contractAmount = this.details.items[i].contractQty * this.details.items[i].contractPrice
+          if (!this.details.items[i].contractAmount) {
+            return this.$errorMsg('合同单价、合同数量不能为空')
           }
+        }
       }
 
-
-
       this.fileList.forEach((el) => {
-
-        if (this.details.dataList.length){
-          this.details.dataList.forEach((i,e)=>{
-            console.log(i.fileName==el.name)
-            if (el.name === i.fileName){
-              this.details.dataList.splice(e,1)
+        if (this.details.dataList.length) {
+          this.details.dataList.forEach((i, e) => {
+            console.log(i.fileName == el.name)
+            if (el.name === i.fileName) {
+              this.details.dataList.splice(e, 1)
             }
           })
         }
@@ -647,18 +642,40 @@ export default {
           fileUrl: el.url
         })
       })
-      applyDeposit({
-        ...this.details,
-        dataList:[...arr,...this.details.dataList]
-      }).then((res) => {
-        this.$successMsg('申请成功')
-        this.$parent.showPage = 1
-        this.$parent.deduction = ''
-        this.$parent.getList()
-      })
+
+      if (!this.details.items.every(e => e.dataQty)) {
+        this.$confirm(`上交资料为0,是否继续提交`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          applyDeposit({
+            ...this.details,
+            dataList: [...arr, ...this.details.dataList]
+          }).then((res) => {
+            this.$successMsg('申请成功')
+            this.$parent.showPage = 1
+            this.$parent.deduction = ''
+            this.$parent.getList()
+          })
+          return
+        }).catch(() => {
+
+        })
+      } else {
+        applyDeposit({
+          ...this.details,
+          dataList: [...arr, ...this.details.dataList]
+        }).then((res) => {
+          this.$successMsg('申请成功')
+          this.$parent.showPage = 1
+          this.$parent.deduction = ''
+          this.$parent.getList()
+        })
+      }
     },
-    delFile(index){
-      this.details.dataList.splice(index,1)
+    delFile(index) {
+      this.details.dataList.splice(index, 1)
       this.$successMsg('删除成功')
     },
     handleReset() {
@@ -674,7 +691,7 @@ export default {
         downloadPdf(this.$imageUrl + v, fileName)
         return
       }
-        downloadFiles("common/file/getStream", { key: v, fileName:fileName});
+      downloadFiles('common/file/getStream', { key: v, fileName: fileName })
       // getFileUrl({ key: v }).then((res) => {
       //   window.open(res.data)
       // })
@@ -704,7 +721,7 @@ export default {
       } else {
         return ''
       }
-    },
+    }
   }
 }
 </script>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 249 - 229
src/views/deposit_home/components/refund_list-detail.vue


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels