瀏覽代碼

利润合算

zhongtianhaoyuan 3 年之前
父節點
當前提交
d9de96ec17
共有 3 個文件被更改,包括 126 次插入32 次删除
  1. 1 1
      src/model/profitable/index.js
  2. 43 11
      src/views/profitable/contractOtherMoney.vue
  3. 82 20
      src/views/profitable/earningsLook.vue

+ 1 - 1
src/model/profitable/index.js

@@ -9,7 +9,7 @@ import {
   API_GET_LOOKINFO, 
   API_POST_EDITINFO,
   API_POST_WORKFLOW_API_HANDLE,
-  API_POST_AUDITRECORD
+  API_POST_AUDITRECORD,
 } from '@/api/V2/profitable'
 //收支明细列表
 export const getInOutDetailed = appRx.get(API_GET_INOUTDETAILED, errorCatcher, errorHandle, filter)

+ 43 - 11
src/views/profitable/contractOtherMoney.vue

@@ -86,24 +86,25 @@
         class="title_css">
         <el-form ref="formData" :model="formData" label-width="100px">
           <el-form-item label="费用类型" v-if="btnChange == 3 || btnChange == 4 || btnChange == 5">
-            <el-radio-group v-model="formData.expenseType">
-              <el-radio v-model="formData.radio" label="1">经营费用</el-radio>
-              <el-radio v-model="formData.radio" label="2">仓库费用</el-radio>
+            <el-radio-group v-model="radio">
+              <el-radio v-model="radio" label="1">经营费用</el-radio>
+              <el-radio v-model="radio" label="2">仓库费用</el-radio>
             </el-radio-group>
           </el-form-item>
           <el-form-item label="费用类型" v-if="btnChange == 1 || btnChange == 2">
             <template>
-              <el-input v-model="formData.expenseType == 1 ? '经营费用':'仓库费用'" :disabled="disabled"></el-input>
+              <el-input value="经营费用" :disabled="disabled" v-if="formData.expenseType == 1"></el-input>
+              <el-input value="仓库费用" :disabled="disabled" v-else></el-input>
             </template>
           </el-form-item>
-          <el-form-item label="仓库" v-if="formData.expenseType == 2">
+          <el-form-item label="仓库" v-if="radio == 2">
             <el-select v-model="formData.warehouseName" placeholder="请选择仓库" style="width:100%" :disabled="disabled">
               <el-option v-for="(item,index) in warehouseList" :key="index" :label="item.warehouseName"
                 :value="item.warehouseName"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="款项名称">
-            <el-input v-model="formData.expenseName" placeholder="输入费用名称" :disabled="disabled"></el-input>
+            <el-input v-model="formData.expenseName" placeholder="输入费用名称" :disabled="disabled" maxlength="15"></el-input>
           </el-form-item>
           <el-form-item label="金额(元)" v-if="btnChange == 3 || btnChange == 4 || btnChange == 5">
             <el-input v-model="formData.amountMoney" placeholder="输入请款金额" type="number"></el-input>
@@ -139,7 +140,7 @@
           </el-form-item>
         </el-form>
         <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogVisible = false" v-if="btnChange != 1">取 消</el-button>
+          <el-button @click="handleClose" v-if="btnChange != 1">取 消</el-button>
           <el-button type="primary" @click="submit" v-if="btnChange != 1">确 定</el-button>
           <el-button @click="examine(1)" v-if="btnChange == 1">驳 回</el-button>
           <el-button type="primary" @click="examine(2)" v-if="btnChange == 1">通 过</el-button>
@@ -160,7 +161,8 @@
           </div>
           <span class="audit_date">{{item.operateDate}}</span>
         </div>
-        <div class="audit_opinion">审核意见:{{item.verifyRemark}}</div>
+        <div class="audit_opinion" v-if="item.dealMsg != '付款' && item.approveResult">审核意见:{{item.verifyRemark}}</div>
+        <div class="audit_opinion" v-if="item.dealMsg == '请款' && item.approveResult == null">备注信息:{{item.verifyRemark}}</div>
       </div>
 
     </el-dialog>
@@ -208,9 +210,8 @@
         deptCircularPage: {},
         value: "",
         warehouseList: [],
-        formData: {
-          expenseType: "1",
-        },
+        formData: {},
+        radio:"1",
         appendixIdss: [],
         editable: false,
         auditShow: false,
@@ -327,6 +328,35 @@
         this.fujianshow = false
       },
       submit() {
+        this.formData.expenseType = this.radio
+        if(this.formData.expenseType == 2){
+          if(!this.formData.warehouseName){
+            this.$message.error("请选择仓库")
+            return
+          }
+        }
+        if(!this.formData.expenseName){
+          this.$message.error("款项名称不能为空!")
+          return
+        }
+        if(!this.formData.amountMoney){
+          this.$message.error("金额不能为空!")
+          return
+        }
+        if(Number(this.formData.amountMoney) < 0 || Number(this.formData.amountMoney ) > 100000000){
+          this.$message.error("金额输入错误!")
+        }
+        console.log(this.formData.amountMoney.split(".")[1].length)
+        if(this.formData.amountMoney.split(".")[1].length > 2){
+          this.$message.error("金额请保留两位小数!")
+          return
+        }
+        if(this.btnChange == 4){
+          if(!this.formData.addressUrl){
+            this.$message.error("请上传附件!")
+            return
+          }
+        }
         this.$confirm('确定提交' + this.title + '信息?', '提示', {
             confirmButtonText: '确定',
             cancelButtonText: '取消',
@@ -439,6 +469,7 @@
         } else if (num == 5) {
           this.title = "编辑"
           this.formData = row
+          this.radio = row.expenseType
           this.disabled = false
         }
         this.dialogVisible = true
@@ -473,6 +504,7 @@
       },
       handleClose() {
         this.formData = {}
+        this.radio = "1"
         this.dialogVisible = false
       },
       onChange() {

+ 82 - 20
src/views/profitable/earningsLook.vue

@@ -13,22 +13,46 @@
           start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
         </el-date-picker>
       </div>
-      <div class="makeWord_css">
-        <div ref="myEchart6" style="height: 300px"></div>
-      </div>
-      <div class="table">
-        <div ref="myEchart7" style="height: 360px;"></div>
+      <div class="chart_css">
+        <div class="table">
+          <div ref="myEchart7" style="height: 410px;"></div>
+        </div>
+        <div class="makeWord_css">
+          <div ref="myEchart6" style="height: 410px"></div>
+        </div>
       </div>
+      <div class="table_css">
+        <el-table :data="valueData" style="width: 100%">
+          <el-table-column prop="date" label="货名/货值" min-width="110">
+            <div slot-scope="scope">
+              <span v-if="scope.$index == 0">期初货值(元)</span>
+              <span v-if="scope.$index == 1">期末货值(元)</span>
+            </div>
 
+          </el-table-column>
+          <el-table-column prop="date" label="玉米"></el-table-column>
+          <el-table-column prop="date" label="玉米"></el-table-column>
+          <el-table-column prop="date" label="玉米"></el-table-column>
+          <el-table-column prop="date" label="货名"></el-table-column>
+          <el-table-column prop="date" label="货名"></el-table-column>
+          <el-table-column prop="date" label="货名"></el-table-column>
+          <el-table-column prop="date" label="货名"></el-table-column>
+          <el-table-column prop="date" label="货名"></el-table-column>
+          <el-table-column prop="date" label="货名"></el-table-column>
+          <el-table-column prop="date" label="合计" min-width="130">
+              <div slot-scope="scope">
+              <span v-if="scope.$index == 0">合计:</span>
+              <span v-if="scope.$index == 1">合计:1000000000</span>
+            </div>
+          </el-table-column>
+        </el-table>
 
+      </div>
     </div>
-
   </div>
 </template>
 <script>
-  import {
-    autoList
-  } from '@/model/statisticalReport/index'
+  import {} from '@/model/profitable/index'
   export default {
     components: {},
     data() {
@@ -39,6 +63,13 @@
           count: 2000,
         }],
         makeWordData: {},
+        valueData: [{
+            date: 10
+          },
+          {
+            date: 20
+          }
+        ], //货值
 
       }
     },
@@ -49,6 +80,14 @@
     },
     methods: {
       getList() {
+        // getceshi({
+        //  driverId:'8f1f3c624d7946d79a9d44a4057d969b'
+        // })
+        // .toPromise()
+        // .then((response) => {
+        // debugger
+        // console.log(response)
+        // })
 
       },
       pickerOptions() {
@@ -78,7 +117,7 @@
             bottom: 20,
             data: this.makeWordData.legendData
           },
-          series: [{  
+          series: [{
             // name: '姓名',
             type: 'pie',
             radius: '55%',
@@ -140,6 +179,10 @@
                 name: '支出',
                 type: 'bar',
                 right: 0,
+                   label: {
+                show: true,
+                position: 'inside'
+              },
                 data: [
                   6.0, 60.9, 90.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0
                 ],
@@ -151,6 +194,10 @@
                 name: '收入',
                 type: 'bar',
                 right: 20,
+                label: {
+                show: true,
+                position: 'inside'
+              },
                 data: [
                   102.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8
                 ],
@@ -170,14 +217,14 @@
         const seriesData = [];
         for (var i = 0; i < count; i++) {
           var name = nameList[i]
-            // Math.random() > 0.65 ?  makeWord(4, 1) + '·' + makeWord(3, 0) :  makeWord(2, 1);
+          // Math.random() > 0.65 ?  makeWord(4, 1) + '·' + makeWord(3, 0) :  makeWord(2, 1);
           legendData.push(name);
           seriesData.push({
             name: name,
             value: Math.round(Math.random() * 100000)
           });
         }
-     
+
         return {
           legendData: legendData,
           seriesData: seriesData
@@ -239,18 +286,33 @@
   }
 
   .datascreen {
-    margin-top: 10px;
+    // margin-top: 10px;
     width: 500px;
+    height: 60px;
+    line-height: 60px;
+    margin-left: 30px;
+    
   }
 
-  .table {
-    width: 90%;
-    height: 360px;
+  .chart_css {
+    display: flex;
+    height: 410px;
+
+    .table {
+      width: 70%;
+      height: 410px;
+    }
+
+    .makeWord_css {
+      width: 30%;
+      height: 410px;
+      margin-left: 30px;
+    }
   }
+  .table_css{
+    /deep/.el-table th{
+      text-align: center;
+    }
 
-  .makeWord_css {
-    width: 400px;
-    height: 300px;
-    margin-left: 30px;
   }
 </style>