Browse Source

Merge remote-tracking branch 'origin/mergeBranch' into mergeBranch

qymljy 2 years ago
parent
commit
8e88730893

+ 20 - 3
src/HDrpManagement/invoiceapp/detail/detail.vue

@@ -7,7 +7,7 @@
         :editData="mainData"
         :mainAreaData="mainAreaData"
         turnPageId="20221216143103"
-        delApiId="20221217145603"
+        delApiId="20221216143203"
         idname="sa_invoiceapplyid"
         ownertable="sa_invoiceapply"
         :statusCheck="[{key:'status',value:'提交'},{key:'status',value:'审核'},{key:'status',value:'关闭'}]"
@@ -18,7 +18,8 @@
       </div>
       <div slot="customOperation" >
         <el-button v-if="tool.checkAuth($route.name,'submit')" type="primary" size="mini" @click="submitInvoice" :disabled="mainData.status !== '新建' && mainData.status !== '提交'">{{mainData.status ==='新建'?'提交':'撤回'}}</el-button>
-        <el-button v-if="tool.checkAuth($route.name,'check')" type="primary" size="mini" class="inline-16" @click="checkInvoice" :disabled="mainData.status !== '提交' && mainData.status !== '审核'">{{mainData.status === '审核'?'反审核':'审核'}}</el-button>
+        <el-button v-if="tool.checkAuth($route.name,'check')" type="primary" size="mini" @click="checkInvoice" :disabled="mainData.status !== '提交' && mainData.status !== '审核'">{{mainData.status === '审核'?'反审核':'审核'}}</el-button>
+        <el-button type="primary" size="mini" class="inline-16" :disabled="mainData.byhand === 1" @click="toManual">转手工</el-button>
       </div>
       <div slot="slot0" >
         <invoiceOrder :status="mainData.status" :sys_enterpriseid="mainData.sys_enterpriseid"></invoiceOrder>
@@ -88,6 +89,11 @@ export default {
           label:'发票限额',
           value:this.mainData.quota
         },
+        {
+          label:'手工开票',
+          value:this.mainData.byhand === 1?'手工开票':'线上开票'
+        },
+        
         {
           label:'状态',
           value:this.mainData.status
@@ -134,7 +140,7 @@ export default {
         type: 'warning'
       }).then(async () => {
         const res = await this.$api.requested({
-          "id": "20221217145603",
+          "id": this.mainData.status === '提交'?"20221217145603":"20221217145703",
           "content": {
             "sa_invoiceapplyid":this.$route.query.id
           }
@@ -171,6 +177,17 @@ export default {
           message: '已取消'
         });          
       });
+    },
+    async toManual () {
+      const res = await this.$api.requested({
+        "id": "20221228150403",
+        "content": {
+          "sa_invoiceapplyid":this.$route.query.id
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.queryMainData()
+      })
     }
   },
   mounted () {

+ 3 - 2
src/HDrpManagement/invoiceapp/detail/tab/blueInvoice/components/canUseInvioceItem.vue

@@ -4,8 +4,8 @@
     <el-dialog title="选择开票明细行" :visible.sync="dialogTableVisible" append-to-body>
       <el-table :data="list" size="mini" border>
         <el-table-column prop="sonum" label="订单号" width="150"></el-table-column>
-        <el-table-column prop="type" label="订单类型" width="90"></el-table-column>
-        <el-table-column prop="checkdate" label="审核日期" width="150"></el-table-column>
+        <!-- <el-table-column prop="type" label="订单类型" width="90"></el-table-column>
+        <el-table-column prop="checkdate" label="审核日期" width="150"></el-table-column> -->
         <el-table-column prop="itemno" label="产品编码" width="150"></el-table-column>
         <el-table-column prop="itemname" label="产品名称" width="150"></el-table-column>
         <el-table-column prop="price" label="订单单价" width="90"></el-table-column>
@@ -79,6 +79,7 @@ export default {
     },
     // 添加明细
     async addRow (row) {
+      row.taxrate = 0.13
       row.sa_invoicebill_itemid = 0
       const res = await this.$api.requested({
         "id": "20221227152903",

+ 37 - 8
src/HDrpManagement/invoiceapp/detail/tab/blueInvoice/components/editmx.vue

@@ -6,19 +6,19 @@
         <el-form-item label="含税金额">
           <el-input v-model="form.invoiceamount" disabled autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="含税单价">
-          <el-input v-model="form.price" autocomplete="off"></el-input>
+        <el-form-item label="含税单价" prop="price">
+          <el-input v-model="form.price" @change="countInvoiceamount" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="数量">
-          <el-input v-model="form.invoiceaqty" autocomplete="off"></el-input>
+        <el-form-item label="数量" prop="invoiceaqty">
+          <el-input v-model="form.invoiceaqty" @change="countInvoiceamount" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="税率">
+        <el-form-item label="税率" prop="taxrate">
           <el-input v-model="form.taxrate" autocomplete="off"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button size="small" @click="dialogFormVisible = false">取 消</el-button>
-        <el-button size="small" type="primary" @click="dialogFormVisible = false">确 定</el-button>
+        <el-button size="small" type="primary" @click="onSubmit">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -26,7 +26,7 @@
 
 <script>
 export default {
-  props:['data','status'],
+  props:['data','sa_invoicebillid','status'],
   data () {
     return {
       dialogFormVisible:false,
@@ -46,7 +46,6 @@ export default {
   },
   methods:{
     onShow () {
-      console.log(this.data)
       this.form = {
         "sa_invoicebill_itemid": this.data.sa_invoicebill_itemid, 
         "sa_invoiceapply_orderid":this.data.sa_invoiceapply_orderid,
@@ -59,6 +58,36 @@ export default {
         "taxrate":this.data.taxrate
       }
       this.dialogFormVisible = true
+    },
+    countInvoiceamount () {
+      this.form.invoiceamount = this.form.invoiceaqty * this.form.price
+    },
+    onSubmit () {
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": "20221227152903",
+          "content": {
+            "sa_invoicebillid":this.sa_invoicebillid,
+            "sa_invoiceapplyid":this.$route.query.id,
+            "iteminfos":[{
+              "sa_invoicebill_itemid": this.form.sa_invoicebill_itemid, 
+              "sa_invoiceapply_orderid":this.form.sa_invoiceapply_orderid,
+              "itemno": this.form.itemno, 
+              "itemname": this.form.itemname, 
+              "spec": this.form.spec,
+              "price": this.form.price, 
+              "invoiceaqty": this.form.invoiceaqty, 
+              "invoiceamount": 0,
+              "taxrate":this.form.taxrate
+            }]
+          }
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+        })
+      });
     }
   }
 }

+ 25 - 1
src/HDrpManagement/invoiceapp/detail/tab/blueInvoice/components/invoiceTable.vue

@@ -7,6 +7,7 @@
       border
       size="mini"
       highlight-current-row
+      @selection-change="onSelection"
       @row-click="activeRow">
       <el-table-column
         type="selection"
@@ -18,7 +19,7 @@
         width="180">
       </el-table-column>
       <el-table-column
-        prop="name"
+        prop="sumtaxincludedamount"
         label="发票金额"
         width="180">
       </el-table-column>
@@ -42,6 +43,14 @@
         prop="status"
         label="发票状态">
       </el-table-column>
+      <el-table-column
+        fixed="right"
+        label="操作"
+        width="90">
+        <template slot-scope="scope">
+          <el-button @click="deleteRow(scope.row)" type="text" size="mini" :disabled="status !== '新建'">删 除</el-button>
+        </template>
+      </el-table-column>
     </el-table>
     <div class="container" style="text-align:right">
       <el-pagination
@@ -60,6 +69,7 @@
 
 <script>
 export default {
+  props:['status'],
   data () {
     return {
       param:{
@@ -98,6 +108,20 @@ export default {
     },
     activeRow (row) {
       this.$emit('activeRow',row)
+    },
+    onSelection (selection) {
+      this.$emit('selection',selection)
+    },
+    async deleteRow (row) {
+      const res = await this.$api.requested({
+        "id": "20221223160103",
+        "content": {
+          "sa_invoicebillids":[row.sa_invoicebillid]
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.listData()
+      })
     }
   },
   mounted () {

+ 1 - 1
src/HDrpManagement/invoiceapp/detail/tab/blueInvoice/components/invoiceTablemx.vue

@@ -42,7 +42,7 @@
       </el-table-column>
       <el-table-column label="操作" width="90" fixed="right">
         <template slot-scope="scope">
-          <editmx class="inline-16" :status="status" :data="scope.row"></editmx>
+          <editmx class="inline-16" :status="status" :sa_invoicebillid="param.content.sa_invoicebillid" :data="scope.row" @onSuccess="listData(param.content.sa_invoicebillid)"></editmx>
           <el-button :disabled="status !== '新建'" size="small" type="text" @click="deleteRow(scope.row)">删 除</el-button>
         </template>
       </el-table-column>

+ 46 - 6
src/HDrpManagement/invoiceapp/detail/tab/blueInvoice/index.vue

@@ -2,11 +2,11 @@
   <div>
     <el-button-group style="margin-bottom:10px">
       <el-button size="small" type="primary" @click="addInvoiceapp">一键添加发票</el-button>
-      <el-button size="small" type="primary">勾选创建发票</el-button>
-      <el-button size="small" type="primary">发票创建查询</el-button>
-      <el-button size="small" type="primary">红冲勾选行</el-button>
+      <el-button size="small" type="primary" :disabled="selectData.length === 0" @click="clickCreateBlueInvioce">勾选创建发票</el-button>
+      <el-button size="small" type="primary" :disabled="selectData.length === 0" @click="clickInvioceQuery">发票创建查询</el-button>
+      <el-button size="small" type="primary" :disabled="selectData.length === 0">红冲勾选行</el-button>
     </el-button-group>
-    <invoiceTable ref="invoiceTable" @activeRow="activeRow"></invoiceTable>
+    <invoiceTable :status="status" ref="invoiceTable" @activeRow="activeRow" @selection="selection"></invoiceTable>
     <invoiceTablemx :status="status" ref="invoiceTablemx"></invoiceTablemx>
   </div>
 </template>
@@ -23,7 +23,8 @@ export default {
   },
   data () {
     return {
-      sa_invoicebillid:0
+      sa_invoicebillid:0,
+      selectData:[]
     }
   },
   methods:{
@@ -42,7 +43,46 @@ export default {
     },
     activeRow (row){
       this.$refs['invoiceTablemx'].listData(row.sa_invoicebillid)
-    }
+    },
+    selection (selection) {
+      this.selectData = selection
+    },
+    clickCreateBlueInvioce () {
+      this.selectData.forEach(e=>{
+        this.createBlueInvioce(e.sa_invoicebillid)
+      })
+    },
+    // 创建蓝字发票
+    async createBlueInvioce(sa_invoicebillid) {
+      const res = await this.$api.requested({
+        "id": "20221226151803",
+        "content": {
+          "sa_invoiceapplyid":this.$route.query.id,
+          "sa_invoicebillid":sa_invoicebillid
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$refs['invoiceTable'].listData()
+      })
+    },
+    clickInvioceQuery () {
+      this.selectData.forEach(e=>{
+        this.invioceQuery(e.sa_invoicebillid)
+      })
+    },
+    // 发票查询
+    async invioceQuery (sa_invoicebillid) {
+      const res = await this.$api.requested({
+        "id": "20221226152003",
+        "content": {
+          "sa_invoicebillid":sa_invoicebillid
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$refs['invoiceTable'].listData()
+      })
+    },
+
   }
 }
 

+ 5 - 6
src/components/normal-basic-layout/details/modules/tabs/tab.vue

@@ -57,19 +57,18 @@ export default {
       this.attinfo_attachment = res.data
     },
     handleClick(){
+      console.log(this.activeName)
       this.$emit('onTabClick')
     }
   },
   mounted () {
-   
-    if (!this.tabs) return this.activeName = 'file'
-  },
-  watch: {
-    tabs () {
+    setTimeout(() => {
       if (!this.tabs) {this.activeName = 'file'} else {
         this.activeName = 'tab0'
       }
-    },
+    }, 1000);
+  },
+  watch: {
     activeName (val) {
       val === 'file'?this.queryAttments():''
     }