haizhouwang 2 лет назад
Родитель
Сommit
afb9d249fd

+ 98 - 8
src/views/FinancialManagement/ExpenseManagement/ExpenseComponent.vue

@@ -46,9 +46,12 @@
                 v-model="formData.businessQuality"
                 v-model="formData.businessQuality"
                 placeholder="请选择营业性质"
                 placeholder="请选择营业性质"
               >
               >
-                <el-option label="一般纳税" value="0"></el-option>
-                <el-option label="小规模" value="1"></el-option>
-                <el-option label="个体户" value="2"></el-option>
+                <el-option
+                  v-for="(item, index) in nature_businessData"
+                  :key="index + 'yyxz'"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
@@ -108,6 +111,63 @@
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
         </el-row>
         </el-row>
+        <el-row v-if="formData.outerFlag == 0 && type == 1">
+          <div
+            v-for="(zgItem, index) in formData.tentativeEstimates"
+            :key="'zg' + index"
+          >
+            <el-col :span="12">
+              <el-form-item
+                label="暂估年"
+                :prop="'tentativeEstimates.' + index + '.year'"
+                :rules="{
+                  required: true,
+                  message: '请选择暂估年',
+                  trigger: 'change',
+                }"
+              >
+                <el-date-picker
+                  v-model="zgItem.year"
+                  type="year"
+                  value-format="yyyy"
+                  placeholder="选择年"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="暂估值" :prop="'tentativeEstimates.' + index + '.value'"
+                :rules="[{
+                  required: true,
+                  message: '暂估值不能为空',
+                  trigger: 'blur',
+                },
+                { pattern: /^[1-9]\d*$/ , message: '暂估值不能小于等于0', trigger: 'blur'}]">
+                <el-input-number
+                  v-model="zgItem.value"
+                  :min="0"
+                  :max="99999999999999999"
+                  label=""
+                ></el-input-number>
+              </el-form-item>
+            </el-col>
+          </div>
+        </el-row>
+        <el-row v-if="formData.outerFlag == 0 && type == 1">
+          <el-col :span="24" style="text-align: center; margin-top: 20px"
+            ><i
+              @click="addYear"
+              class="el-icon-circle-plus"
+              style="font-size: 25px"
+            ></i>
+            <i
+              v-show="formData.tentativeEstimates.length>1"
+              @click="removeYear"
+              class="el-icon-remove"
+              style="margin-left: 30px; font-size: 25px"
+            ></i>
+          </el-col>
+        </el-row>
         <el-row v-if="type == 2">
         <el-row v-if="type == 2">
           <el-col :span="12">
           <el-col :span="12">
             <el-form-item label="账户性质" prop="accountQuality">
             <el-form-item label="账户性质" prop="accountQuality">
@@ -431,6 +491,11 @@ export default {
       type: String,
       type: String,
       default: "新增",
       default: "新增",
     },
     },
+    nature_businessData: {
+      //一般纳税数据字典
+      type: Array,
+      default: [],
+    },
     formDataId: {
     formDataId: {
       type: String,
       type: String,
       default: "",
       default: "",
@@ -478,6 +543,7 @@ export default {
   data() {
   data() {
     return {
     return {
       dictionariesData: [], //账户性质数据字典
       dictionariesData: [], //账户性质数据字典
+
       externalRules: {
       externalRules: {
         //账户表单规则
         //账户表单规则
         outerFlag: [
         outerFlag: [
@@ -506,9 +572,23 @@ export default {
           {
           {
             required: true,
             required: true,
             message: "开票员不能为空",
             message: "开票员不能为空",
-            trigger: "change",
+            trigger: "blur",
           },
           },
         ],
         ],
+        // year: [
+        //   {
+        //     required: true,
+        //     message: "请选择暂估年",
+        //     trigger: "change",
+        //   },
+        // ],
+        // value: [
+        //   {
+        //     required: true,
+        //     message: "暂估值不能为空",
+        //     trigger: "blur",
+        //   },
+        // ],
       },
       },
       interiorRules: {
       interiorRules: {
         //卡表单规则
         //卡表单规则
@@ -548,10 +628,17 @@ export default {
     },
     },
   },
   },
   created() {
   created() {
-    this.business();
+    this.business("account_quality");
+    // this.business("nature_business");
   },
   },
   mounted() {},
   mounted() {},
   methods: {
   methods: {
+    addYear() {
+      this.$emit("addYear");
+    },
+    removeYear() {
+      this.$emit("removeYear");
+    },
     outChange(e) {
     outChange(e) {
       this.$nextTick(() => {
       this.$nextTick(() => {
         this.$refs.formData.clearValidate();
         this.$refs.formData.clearValidate();
@@ -562,10 +649,13 @@ export default {
       this.$emit("setDateInterval", e);
       this.$emit("setDateInterval", e);
     },
     },
     //数据字典
     //数据字典
-    business() {
-      let typeName = "account_quality";
+    business(typeName) {
       this.$api.dict.findByLableName(typeName).then((res) => {
       this.$api.dict.findByLableName(typeName).then((res) => {
-        this.dictionariesData = res.data;
+        if (typeName == "account_quality") {
+          this.dictionariesData = res.data;
+        } else {
+          this[typeName + "Data"] = res.data;
+        }
       });
       });
     },
     },
     //提交
     //提交

+ 71 - 64
src/views/FinancialManagement/ExpenseManagement/ExpenseManagement.vue

@@ -14,7 +14,7 @@
             <el-option label="外部账户" value="1"></el-option>
             <el-option label="外部账户" value="1"></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="账户性质" label-width="95px" prop="accountQuality">
+        <!-- <el-form-item label="账户性质" label-width="95px" prop="accountQuality">
           <el-select
           <el-select
             v-model="queryFrom.accountQuality"
             v-model="queryFrom.accountQuality"
             placeholder="请选择账户性质"
             placeholder="请选择账户性质"
@@ -27,7 +27,7 @@
               :value="item.value"
               :value="item.value"
             ></el-option>
             ></el-option>
           </el-select>
           </el-select>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="户名" label-width="95px" prop="invCompanyName">
         <el-form-item label="户名" label-width="95px" prop="invCompanyName">
           <el-input
           <el-input
             v-model="queryFrom.accountName"
             v-model="queryFrom.accountName"
@@ -102,12 +102,6 @@
               :label="childItem.label"
               :label="childItem.label"
               :min-width="childItem.minWidth"
               :min-width="childItem.minWidth"
             >
             >
-              <!-- <template slot-scope="scope">
-                {{ scope.row.businessQuality }}
-                <span v-if="scope.row.businessQuality==0">一般纳税</span>
-                <span v-if="scope.row.businessQuality==1">小规模</span>
-                <span v-if="scope.row.businessQuality==2">个体户</span>
-              </template> -->
             </el-table-column>
             </el-table-column>
             <el-table-column
             <el-table-column
               fixed="right"
               fixed="right"
@@ -139,11 +133,6 @@
                 >
                 >
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <!-- <el-form v-for="(scopeItem,scopeIndex) in scope.row.invAccountCardList" :key="'scope'+scopeIndex" label-position="left" inline class="demo-table-expand">
-            <el-form-item v-for="(childItem,index) in childColums" :key="'child'+index" :label="childItem.label+':'">
-              <span>{{ scopeItem[childItem.prop] }}</span>
-            </el-form-item>
-          </el-form> -->
           </el-table>
           </el-table>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
@@ -197,31 +186,6 @@
       style="float: left; margin-left: 20px; margin-top: 20px"
       style="float: left; margin-left: 20px; margin-top: 20px"
     >
     >
     </el-pagination>
     </el-pagination>
-    <!-- <kt-common-table
-      :operationWidth="operationWidth"
-      class="ktTable"
-      permsEdit="sys:agent:view"
-      ref="dataTable"
-      :data="pageResult"
-      :columns="columns"
-      :showBatchDelete="false"
-      :showOperation="true"
-      editButtonName="修改"
-      :button3Name="button3Name"
-      :button2Name="button2Name"
-      :button1Name="button1Name"
-      button2Background="#92D050"
-      button3Background="#f56c6c"
-      button1Icon="el-icon-s-finance"
-      button2Icon="el-icon-s-ticket"
-      button3Icon="fa fa-trash"
-      @handleButton3="handleTableDelete"
-      @handleButton2="handleTableIncome"
-      @handleButton1="handleTableExpend"
-      @findPage="findPage"
-      @handleEdit="handleTableEdit"
-      :isshowpagination="true"
-    ></kt-common-table> -->
     <!-- 新增修改弹框 -->
     <!-- 新增修改弹框 -->
     <expense-component
     <expense-component
       ref="expenseComponent"
       ref="expenseComponent"
@@ -230,9 +194,12 @@
       :formDataId="formDataId"
       :formDataId="formDataId"
       :title="title"
       :title="title"
       :dialogFormVisible="dialogFormVisible"
       :dialogFormVisible="dialogFormVisible"
+      :nature_businessData="nature_businessData"
       @resetForm="resetForm"
       @resetForm="resetForm"
       @submitForm="submitForm"
       @submitForm="submitForm"
       @setDateInterval="setDateInterval"
       @setDateInterval="setDateInterval"
+      @addYear="addYear"
+      @removeYear="removeYear"
     ></expense-component>
     ></expense-component>
     <!-- 支出弹框 -->
     <!-- 支出弹框 -->
     <el-dialog
     <el-dialog
@@ -351,7 +318,11 @@
         <el-row>
         <el-row>
           <el-col :span="12">
           <el-col :span="12">
             <el-form-item label="支付方式" prop="payMethod">
             <el-form-item label="支付方式" prop="payMethod">
-              <el-select v-model="inComeFormData.payMethod" multiple placeholder="">
+              <el-select
+                v-model="inComeFormData.payMethod"
+                multiple
+                placeholder=""
+              >
                 <el-option
                 <el-option
                   v-for="item in payment_methodsData"
                   v-for="item in payment_methodsData"
                   :key="item.value"
                   :key="item.value"
@@ -399,10 +370,9 @@ export default {
     this.business("account_quality"); //账户性质字典;
     this.business("account_quality"); //账户性质字典;
     this.business("use_funds"); //备注字典
     this.business("use_funds"); //备注字典
     this.business("payment_methods"); //支付方式字典
     this.business("payment_methods"); //支付方式字典
+    this.business("nature_business"); //营业性质字典
   },
   },
-  mounted() {
-    // this.findPage();
-  },
+  mounted() {},
   data() {
   data() {
     return {
     return {
       type: 1, //1为账户信息,2为卡信息
       type: 1, //1为账户信息,2为卡信息
@@ -429,7 +399,9 @@ export default {
           { required: true, message: "转账方不能为空", trigger: "change" },
           { required: true, message: "转账方不能为空", trigger: "change" },
         ],
         ],
         remark: [{ required: true, message: "请选择备注", trigger: "change" }],
         remark: [{ required: true, message: "请选择备注", trigger: "change" }],
-        payMethod: [{ required: true, message: "请选择支付方式", trigger: "change" }],
+        payMethod: [
+          { required: true, message: "请选择支付方式", trigger: "change" },
+        ],
       },
       },
       enterCardId: "", //收入id
       enterCardId: "", //收入id
       /**
       /**
@@ -440,9 +412,10 @@ export default {
       dialogFormVisible: false, //弹出框状态
       dialogFormVisible: false, //弹出框状态
       operationWidth: 200, //操作列宽度
       operationWidth: 200, //操作列宽度
       account_qualityData: [], //账户性质数据字典
       account_qualityData: [], //账户性质数据字典
+      nature_businessData: [], //营业性质数据字典
       queryFrom: {
       queryFrom: {
         //查询条件
         //查询条件
-        accountQuality: "", //账户性质查询
+        // accountQuality: "", //账户性质查询
         bankCardNum: "", //银行卡号查询
         bankCardNum: "", //银行卡号查询
         accountName: "", //户名查询
         accountName: "", //户名查询
       },
       },
@@ -450,7 +423,6 @@ export default {
       button3Name: "删除",
       button3Name: "删除",
       button2Name: "收入",
       button2Name: "收入",
       expendButton1Name: "确认已转账",
       expendButton1Name: "确认已转账",
-      pageResult: {}, //表格内容分页参数
       formDataId: "", //数据Id
       formDataId: "", //数据Id
       pageRequest: {
       pageRequest: {
         // 列表查询条件
         // 列表查询条件
@@ -650,18 +622,31 @@ export default {
           minWidth: 120,
           minWidth: 120,
           sortable: false,
           sortable: false,
         },
         },
+        {
+          prop: "quarterAmountExcess",
+          label: "季度开票额度",
+          minWidth: 120,
+          sortable: false,
+        },
+        {
+          prop: "sumInvoicingAmount",
+          label: "总开票额度",
+          minWidth: 120,
+          sortable: false,
+        },
       ],
       ],
       //账户信息form
       //账户信息form
       accountFormData: {
       accountFormData: {
         outerFlag: "0", //账户类别
         outerFlag: "0", //账户类别
         accountName: "", //户名
         accountName: "", //户名
-        businessQuality: "0", //营业性质
+        businessQuality: "", //营业性质
         establishTime: "", //成立日期
         establishTime: "", //成立日期
         invoicingAmount: 0, //开票额度
         invoicingAmount: 0, //开票额度
         // invoicingAmountExcess:0,//剩余开票额度
         // invoicingAmountExcess:0,//剩余开票额度
         juridicalPerson: "", //法人
         juridicalPerson: "", //法人
         owned: "", //所属地
         owned: "", //所属地
         biller: "", //开票员
         biller: "", //开票员
+        tentativeEstimates: [{ year: "", value: 0 }], //暂估值
       },
       },
       //账户卡信息form
       //账户卡信息form
       accountCardFormData: {
       accountCardFormData: {
@@ -765,6 +750,14 @@ export default {
     },
     },
   },
   },
   methods: {
   methods: {
+    //暂估新增
+    addYear() {
+      this.accountFormData.tentativeEstimates.push({ year: "", value: 0 });
+    },
+    //暂估删除
+    removeYear() {
+      this.accountFormData.tentativeEstimates.pop();
+    },
     //展开事件
     //展开事件
     handleRowChange(e, row) {
     handleRowChange(e, row) {
       if (row.length > 0) {
       if (row.length > 0) {
@@ -779,8 +772,6 @@ export default {
           this.$message.error("暂无数据");
           this.$message.error("暂无数据");
           this.$refs.account.toggleRowExpansion(e, false);
           this.$refs.account.toggleRowExpansion(e, false);
         }
         }
-      } else {
-        
       }
       }
     },
     },
     // 换页刷新
     // 换页刷新
@@ -804,8 +795,9 @@ export default {
       this.$api.expense.getAccountByAccountName().then((res) => {
       this.$api.expense.getAccountByAccountName().then((res) => {
         if (res.code == 200) {
         if (res.code == 200) {
           let arr = [];
           let arr = [];
+          /**获取所有外部用户 */
           let outArr = res.data.filter((item) => item.outerFlag == 1);
           let outArr = res.data.filter((item) => item.outerFlag == 1);
-          outArr.forEach((item, index) => {
+          outArr.forEach((item) => {
             if (item.invAccountCardList != null) {
             if (item.invAccountCardList != null) {
               item.invAccountCardList.forEach((it) => {
               item.invAccountCardList.forEach((it) => {
                 it.name =
                 it.name =
@@ -838,8 +830,8 @@ export default {
       let obj = JSON.parse(JSON.stringify(this.inComeFormData));
       let obj = JSON.parse(JSON.stringify(this.inComeFormData));
       obj.enterCardId = this.enterCardId;
       obj.enterCardId = this.enterCardId;
       obj.fundFlow = obj.company + "→" + obj.collectionMessage;
       obj.fundFlow = obj.company + "→" + obj.collectionMessage;
-      obj.payMethod = obj.payMethod.join(',')
-      obj.revenueOutlay = '0'
+      obj.payMethod = obj.payMethod.join(",");
+      obj.revenueOutlay = "0";
       this.$refs.inComeFormData.validate((valid) => {
       this.$refs.inComeFormData.validate((valid) => {
         if (valid) {
         if (valid) {
           this.$api.expense.insertAccountOperate(obj).then((res) => {
           this.$api.expense.insertAccountOperate(obj).then((res) => {
@@ -955,12 +947,13 @@ export default {
           if (res.code == 200) {
           if (res.code == 200) {
             res.data.records.forEach((element) => {
             res.data.records.forEach((element) => {
               //转化营业性质
               //转化营业性质
-              if (element.businessQuality == 0) {
-                element.businessQualityName = "一般纳税";
-              } else if (element.businessQuality == 1) {
-                element.businessQualityName = "小规模";
+              let quality = this.nature_businessData.find(
+                (item) => item.value == element.businessQuality
+              );
+              if (quality != null && quality != "" && quality != undefined) {
+                element.businessQualityName = quality.label;
               } else {
               } else {
-                element.businessQualityName = "个体户";
+                element.businessQualityName = "";
               }
               }
               element.outerFlagName =
               element.outerFlagName =
                 element.outerFlag == 0 ? "内部账户" : "外部账户";
                 element.outerFlag == 0 ? "内部账户" : "外部账户";
@@ -1065,12 +1058,13 @@ export default {
         this.accountFormData = {
         this.accountFormData = {
           outerFlag: "0", //账户类别
           outerFlag: "0", //账户类别
           accountName: "", //户名
           accountName: "", //户名
-          businessQuality: "0", //营业性质
+          businessQuality: "", //营业性质
           establishTime: "", //成立日期
           establishTime: "", //成立日期
           invoicingAmount: 0, //开票额度
           invoicingAmount: 0, //开票额度
           // invoicingAmountExcess:0,//剩余开票额度
           // invoicingAmountExcess:0,//剩余开票额度
           juridicalPerson: "", //法人
           juridicalPerson: "", //法人
           owned: "", //所属地
           owned: "", //所属地
+          tentativeEstimates: [{ year: "", value: 0 }], //暂估值
         };
         };
       } else {
       } else {
         this.accountCardFormData = {
         this.accountCardFormData = {
@@ -1141,13 +1135,26 @@ export default {
     handleTableEdit(row) {
     handleTableEdit(row) {
       this.type = 1; //账户类型
       this.type = 1; //账户类型
       this.formDataId = row.accountId;
       this.formDataId = row.accountId;
-      this.$api.expense.getAccountById(this.formDataId).then((res) => {
-        if (res.code == 200) {
-          this.accountFormData = JSON.parse(JSON.stringify(res.data[0]));
-        } else {
-          this.$message.error(res.msg);
-        }
-      });
+      this.$api.expense
+        .getAccount({ accountId: this.formDataId })
+        .then((res) => {
+          console.log(res);
+          if (res.code == 200) {
+            if (
+              res.data.records[0].tentativeEstimates == null ||
+              res.data.records[0].tentativeEstimates == "" ||
+              res.data.records[0].tentativeEstimates == undefined
+            ) {
+              res.data.records[0].tentativeEstimates = [{ year: "", value: 0 }];
+            }
+            this.accountFormData = JSON.parse(
+              JSON.stringify(res.data.records[0])
+            );
+            console.log(this.accountFormData);
+          } else {
+            this.$message.error(res.msg);
+          }
+        });
       this.title = "编辑账户信息";
       this.title = "编辑账户信息";
       this.dialogFormVisible = true;
       this.dialogFormVisible = true;
     },
     },