Selaa lähdekoodia

支出凭证、收入凭证

qymljy 2 vuotta sitten
vanhempi
commit
dc41e16aea

+ 27 - 67
src/Form/payvoucher/add.vue

@@ -7,18 +7,18 @@
         size="35%"
         direction="rtl"
         append-to-body
-        @close="dialogFormVisible = false">
+        @close="onClose">
       <div class="drawer__panel">
         <el-row :gutter="20">
           <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
             <el-col :span="12">
-              <el-form-item label="经销商:" prop="sys_enterpriseid">
+              <el-form-item label="经销商:" prop="enterprisename">
                 <el-input v-model="form.enterprisename"  placeholder="请选择经销商" @focus="enterpriseList"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12" >
-              <el-form-item label="营销账户类型:" prop="sa_accountclassid">
-                <el-select v-model="form.sa_accountclassid" placeholder="请选择营销账户类型" style="width: 100%">
+              <el-form-item label="账户类型:" prop="sa_accountclassid">
+                <el-select v-model="form.sa_accountclassid" placeholder="请选择账户类型" style="width: 100%">
                   <el-option
 
                       v-for="item in accountclass"
@@ -72,7 +72,7 @@
         </el-row>
       </div>
       <div class="fixed__btn__panel">
-        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
         <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
       </div>
     </el-drawer>
@@ -83,63 +83,6 @@
         v-if="visibleEnterprise"
         @onEnterprise="onEnterprise">
     </enterprise>
-    <!--    <el-dialog title="新 建" :visible.sync="dialogFormVisible" width="500px" append-to-body>
-          <div slot="title" style="font-size: 15px">
-            新增支出凭证
-          </div>
-          <el-row :gutter="20">
-            <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
-              <el-col :span="20">
-                <el-form-item label="合作企业" prop="sys_enterpriseid">
-                  <el-select v-model="form.sys_enterpriseid" placeholder="请选择合作企业">
-                    <el-option
-                        v-for="item in enterprises"
-                        :key="item.sys_enterpriseid"
-                        :label="item.enterprisename"
-                        :value="item.sys_enterpriseid">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="20" v-show="form.sys_enterpriseid !== ''">
-                <el-form-item label="营销账户类型" prop="sa_accountclassid">
-                  <el-select v-model="form.sa_accountclassid" placeholder="请选择营销账户类型">
-                    <el-option
-                        v-for="item in accountclass"
-                        :key="item.sa_accountclassid"
-                        :label="item.accountname"
-                        :value="item.sa_accountclassid">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="20">
-                <el-form-item label="支出金额" prop="amount">
-                  <el-input v-model="form.amount" placeholder="请输入支出金额"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="20">
-                <el-form-item label="凭证来源" >
-                  <el-input v-model="form.source" placeholder="请输入凭证来源"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="20">
-                <el-form-item label="凭证来源说明" >
-                  <el-input v-model="form.sourcenote" placeholder="请输入凭证来源说明"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="20">
-                <el-form-item label="备注" >
-                  <el-input v-model="form.remarks" placeholder="请输入备注"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-form>
-          </el-row>
-          <div class="dialog-footer">
-            <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
-            <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
-          </div>
-        </el-dialog>-->
   </div>
 </template>
 
@@ -168,11 +111,11 @@ export default {
         class:""
       },
       rules:{
-        sys_enterpriseid:[
-          { required: true, message: '未选择合作企业', trigger: 'change'},
+        enterprisename:[
+          { required: true, message: '未选择经销商', trigger: 'change'},
         ],
         sa_accountclassid:[
-          { required: true, message: '未选择营销账户类型', trigger: 'change'},
+          { required: true, message: '未选择账户类型', trigger: 'change'},
         ],
         amount:[
           { required: true, message: '支出金额不可为空', trigger: 'blur'},
@@ -196,8 +139,7 @@ export default {
         })
         this.tool.showMessage(res,()=>{
           this.$emit('onSuccess')
-          this.$refs['form'].resetFields()
-          this.dialogFormVisible = false
+          this.onClose()
         })
       })
     },
@@ -253,6 +195,24 @@ export default {
       this.form.class = this.classData[res-1].value
       this.subClass = this.classData[res-1].subvalues
       console.log("form",this.form)
+    },
+    onClose(){
+      this.dialogFormVisible = false
+      this.$refs['form'].resetFields()
+      this.form ={
+        sa_cashbillid:0,
+        enterprisename:'',
+        sys_enterpriseid:'',
+        sa_accountclassid:'',
+        type:0,
+        amount:'',
+        source:'',
+        sourcenote:'',
+        remarks:'',
+        status:'新建',
+        subclass:"",
+        class:""
+      }
     }
   },
   created() {

+ 137 - 89
src/Form/payvoucher/edit.vue

@@ -1,108 +1,124 @@
 <template>
   <div>
-    <el-button  size="mini" :type="btnType?btnType:'text'" @click="onShow">编 辑</el-button>
-    <el-dialog title="新 建" :visible.sync="dialogFormVisible" width="500px">
-      <div slot="title" style="font-size: 15px">
-        修改支出凭证
+    <el-button v-if="data.status !== '审核'"  size="mini" :type="btnType?btnType:'text'" @click="onShow">编 辑</el-button>
+    <el-drawer
+        title="编辑支出凭证"
+        :visible.sync="dialogFormVisible"
+        size="35%"
+        direction="rtl"
+        append-to-body
+        @close="dialogFormVisible = false">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
+            <el-col :span="12">
+              <el-form-item label="经销商:" prop="enterprisename">
+                <el-input v-model="form.enterprisename"  placeholder="请选择经销商" @focus="enterpriseList"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12" >
+              <el-form-item label="账户类型:" prop="sa_accountclassid">
+                <el-select v-model="form.sa_accountclassid" placeholder="请选择账户类型" style="width: 100%">
+                  <el-option
+
+                      v-for="item in accountclass"
+                      :key="item.sa_accountclassid"
+                      :label="item.accountname"
+                      :value="item.sa_accountclassid">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="支出金额:" prop="amount">
+                <el-input v-model="form.amount" placeholder="请输入支出金额"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="状态:" >
+                <el-input v-model="form.status" disabled></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="分类:" >
+                <el-select v-model="form.class" placeholder="请选择分类" style="width: 100%" @change="classChange">
+                  <el-option
+                      v-for="item in classData"
+                      :key="item.rowindex"
+                      :label="item.value"
+                      :value="item.rowindex">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="分类明细:" >
+                <el-select v-model="form.subclass" placeholder="请选择分类明细" style="width: 100%">
+                  <el-option
+                      v-for="item in subClass"
+                      :key="item.rowindex"
+                      :label="item.value"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注:" >
+                <el-input v-model="form.remarks" type="textarea" rows="5" placeholder="请输入备注信息"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
       </div>
-      <el-row :gutter="20">
-        <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
-          <el-col :span="20">
-            <el-form-item label="合作企业" prop="sys_enterpriseid">
-              <el-select v-model="form.sys_enterpriseid" placeholder="请选择合作企业">
-                <el-option
-                    v-for="item in enterprises"
-                    :key="item.sys_enterpriseid"
-                    :label="item.enterprisename"
-                    :value="item.sys_enterpriseid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20" v-show="form.sys_enterpriseid !== ''">
-            <el-form-item label="营销账户类型" prop="sa_accountclassid">
-              <el-select v-model="form.sa_accountclassid" placeholder="请选择营销账户类型">
-                <el-option
-                    v-for="item in accountclass"
-                    :key="item.sa_accountclassid"
-                    :label="item.accountname"
-                    :value="item.sa_accountclassid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="支出金额" prop="amount">
-              <el-input v-model="form.amount" placeholder="请输入支出金额"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="凭证来源" >
-              <el-input v-model="form.source" placeholder="请输入凭证来源"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="凭证来源说明" >
-              <el-input v-model="form.sourcenote" placeholder="请输入凭证来源说明"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="备注" >
-              <el-input v-model="form.remarks" placeholder="请输入备注"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </el-row>
-      <div class="dialog-footer">
+      <div class="fixed__btn__panel">
         <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
-        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
       </div>
-    </el-dialog>
+    </el-drawer>
+    <enterprise
+        :visible="visibleEnterprise"
+        :index="index"
+        :sa_projectid="form.sa_projectid"
+        v-if="visibleEnterprise"
+        @onEnterprise="onEnterprise">
+    </enterprise>
   </div>
 </template>
 
 <script>
+import enterprise from '@/HDrpManagement/payvoucher/components/enterprise'
 export default {
   name: "edit",
   props:["data","btnType"],
+  components:{enterprise},
   data(){
     return {
       dialogFormVisible:false,
-      form:{
-        sa_cashbillid:'',
-        sys_enterpriseid:'',
-        sa_accountclassid:'',
-        type:0,
-        amount:'',
-        source:'',
-        sourcenote:'',
-        remarks:''
-      },
+      visibleEnterprise:false,
+      form:{},
       enterprises:[],
       accountclass:[],
       rules:{
-        sys_enterpriseid:[
-          { required: true, message: '未选择合作企业', trigger: 'change'},
+        enterprisename:[
+          { required: true, message: '未选择经销商', trigger: 'change'},
         ],
         sa_accountclassid:[
-          { required: true, message: '未选择营销账户类型', trigger: 'change'},
+          { required: true, message: '未选择账户类型', trigger: 'change'},
         ],
         amount:[
           { required: true, message: '支出金额不可为空', trigger: 'blur'},
         ],
-      }
+      },
+      classData:[],
+      subClass:[]
     }
   },
   methods:{
     onShow(){
-
       this.dialogFormVisible = true
-      this.$store.dispatch('queryArealist')
-      this.form = Object.assign({},this.form,this.data)
-      console.log(this.form)
-      this.enterprisesList()
-      this.accountList(this.form.sa_accountclassid)
-      console.log(this.form.sa_accountclassid)
+      console.log(this.data)
+      this.form = this.data
     },
     onSubmit(){
       console.log(this.form)
@@ -120,32 +136,64 @@ export default {
         })
       })
     },
-    async enterprisesList(){
+    enterpriseList(){
+
+      this.visibleEnterprise = true
+    },
+    /*经销商列表*/
+    onEnterprise(data){
+      this.visibleEnterprise = false
+      console.log("企业信息",data)
+      this.form.sys_enterpriseid = data.sys_enterpriseid
+      this.form.enterprisename = data.enterprisename
+
+    },
+    /*账户类型*/
+    async accountList(id){
       const res = await this.$api.requested({
-        "id": "20221008164103",
-        "version":1,
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
         "content": {
-          "where":{
-            "condition":""
+          "pageNumber": 1,
+          "pageSize": 20,
+          "typename": "cashbillaccountclassselect",
+          "parameter": {
+            "sys_enterpriseid":id
           }
         }
       })
       console.log(res)
-      this.enterprises = res.data
-      console.log(this.enterprises)
+      this.accountclass = res.data
     },
-    async accountList(id){
+    /*分类*/
+    async classList(){
       const res = await this.$api.requested({
-        "id": "20221008164203",
-        "version":1,
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
         "content": {
-          "sys_enterpriseid":id
+          "pageNumber": 1,
+          "pageSize": 20,
+          "typename": "cashbillpaytype",
+          "parameter": {
+          }
         }
       })
-      console.log(res)
-      this.accountclass = res.data
+      console.log("支出凭证分类",res)
+      this.classData = res.data
+      console.log(this.classData)
+    },
+    classChange(res){
+      console.log("选择",res)
+      console.log("明细",this.classData[res-1])
+      this.form.class = this.classData[res-1].value
+      this.subClass = this.classData[res-1].subvalues
+      console.log("form",this.form)
     }
   },
+  created() {
+    this.classList()
+    this.form = this.data
+  },
   watch:{
     "form.sys_enterpriseid":function (val){
       console.log(val)

+ 28 - 11
src/Form/recvoucher/add.vue

@@ -2,7 +2,7 @@
   <div>
     <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 建</el-button>
     <el-drawer
-        title="创建支出凭证"
+        title="创建收入凭证"
         :visible.sync="dialogFormVisible"
         size="35%"
         direction="rtl"
@@ -12,12 +12,12 @@
         <el-row :gutter="20">
           <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
             <el-col :span="12">
-              <el-form-item label="经销商:" prop="sys_enterpriseid">
+              <el-form-item label="经销商:" prop="enterprisename">
                 <el-input v-model="form.enterprisename"  placeholder="请选择经销商" @focus="enterpriseList"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12" >
-              <el-form-item label="营销账户类型:" prop="sa_accountclassid">
+              <el-form-item label="账户类型:" prop="sa_accountclassid">
                 <el-select v-model="form.sa_accountclassid" placeholder="请选择营销账户类型" style="width: 100%">
                   <el-option
 
@@ -30,7 +30,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="支出金额:" prop="amount">
+              <el-form-item label="收入金额:" prop="amount">
                 <el-input v-model="form.amount" placeholder="请输入支出金额"></el-input>
               </el-form-item>
             </el-col>
@@ -111,14 +111,14 @@ export default {
         class:""
       },
       rules:{
-        sys_enterpriseid:[
-          { required: true, message: '未选择合作企业', trigger: 'change'},
+        enterprisename:[
+          { required: true, message: '未选择经销商', trigger: 'change'},
         ],
         sa_accountclassid:[
-          { required: true, message: '未选择营销账户类型', trigger: 'change'},
+          { required: true, message: '未选择账户类型', trigger: 'change'},
         ],
         amount:[
-          { required: true, message: '支出金额不可为空', trigger: 'blur'},
+          { required: true, message: '收入金额不可为空', trigger: 'blur'},
         ],
       },
       enterprises:[],
@@ -139,8 +139,7 @@ export default {
         })
         this.tool.showMessage(res,()=>{
           this.$emit('onSuccess')
-          this.$refs['form'].resetFields()
-          this.dialogFormVisible = false
+          this.onClose()
         })
       })
     },
@@ -181,7 +180,7 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 20,
-          "typename": "cashbillpaytype",
+          "typename": "cashbillrectype",
           "parameter": {
           }
         }
@@ -196,6 +195,24 @@ export default {
       this.form.class = this.classData[res-1].value
       this.subClass = this.classData[res-1].subvalues
       console.log("form",this.form)
+    },
+    onClose(){
+      this.dialogFormVisible = false
+      this.$refs['form'].resetFields()
+      this.form ={
+        sa_cashbillid:0,
+        enterprisename:'',
+        sys_enterpriseid:'',
+        sa_accountclassid:'',
+        type:1,
+        amount:'',
+        source:'',
+        sourcenote:'',
+        remarks:'',
+        status:'新建',
+        subclass:"",
+        class:""
+      }
     }
   },
   created() {

+ 137 - 89
src/Form/recvoucher/edit.vue

@@ -1,108 +1,124 @@
 <template>
   <div>
     <el-button  size="mini" :type="btnType?btnType:'text'" @click="onShow">编 辑</el-button>
-    <el-dialog title="新 建" :visible.sync="dialogFormVisible" width="500px">
-      <div slot="title" style="font-size: 15px">
-        修改支出凭证
+    <el-drawer
+        title="编辑收入凭证"
+        :visible.sync="dialogFormVisible"
+        size="35%"
+        direction="rtl"
+        append-to-body
+        @close="dialogFormVisible = false">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
+            <el-col :span="12">
+              <el-form-item label="经销商:" prop="enterprisename">
+                <el-input v-model="form.enterprisename"  placeholder="请选择经销商" @focus="enterpriseList"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12" >
+              <el-form-item label="账户类型:" prop="sa_accountclassid">
+                <el-select v-model="form.sa_accountclassid" placeholder="请选择账户类型" style="width: 100%">
+                  <el-option
+
+                      v-for="item in accountclass"
+                      :key="item.sa_accountclassid"
+                      :label="item.accountname"
+                      :value="item.sa_accountclassid">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="收入金额:" prop="amount">
+                <el-input v-model="form.amount" placeholder="请输入收入金额"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="状态:" >
+                <el-input v-model="form.status" disabled></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="分类:" >
+                <el-select v-model="form.class" placeholder="请选择分类" style="width: 100%" @change="classChange">
+                  <el-option
+                      v-for="item in classData"
+                      :key="item.rowindex"
+                      :label="item.value"
+                      :value="item.rowindex">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="分类明细:" >
+                <el-select v-model="form.subclass" placeholder="请选择分类明细" style="width: 100%">
+                  <el-option
+                      v-for="item in subClass"
+                      :key="item.rowindex"
+                      :label="item.value"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注:" >
+                <el-input v-model="form.remarks" type="textarea" rows="5" placeholder="请输入备注信息"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
       </div>
-      <el-row :gutter="20">
-        <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
-          <el-col :span="20">
-            <el-form-item label="合作企业" prop="sys_enterpriseid">
-              <el-select v-model="form.sys_enterpriseid" placeholder="请选择合作企业">
-                <el-option
-                    v-for="item in enterprises"
-                    :key="item.sys_enterpriseid"
-                    :label="item.enterprisename"
-                    :value="item.sys_enterpriseid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20" v-show="form.sys_enterpriseid !== ''">
-            <el-form-item label="营销账户类型" prop="sa_accountclassid">
-              <el-select v-model="form.sa_accountclassid" placeholder="请选择营销账户类型">
-                <el-option
-                    v-for="item in accountclass"
-                    :key="item.sa_accountclassid"
-                    :label="item.accountname"
-                    :value="item.sa_accountclassid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="支出金额" prop="amount">
-              <el-input v-model="form.amount" placeholder="请输入支出金额"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="凭证来源" >
-              <el-input v-model="form.source" placeholder="请输入凭证来源"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="凭证来源说明" >
-              <el-input v-model="form.sourcenote" placeholder="请输入凭证来源说明"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="备注" >
-              <el-input v-model="form.remarks" placeholder="请输入备注"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </el-row>
-      <div class="dialog-footer">
+      <div class="fixed__btn__panel">
         <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
-        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
       </div>
-    </el-dialog>
+    </el-drawer>
+    <enterprise
+        :visible="visibleEnterprise"
+        :index="index"
+        :sa_projectid="form.sa_projectid"
+        v-if="visibleEnterprise"
+        @onEnterprise="onEnterprise">
+    </enterprise>
   </div>
 </template>
 
 <script>
+import enterprise from '@/HDrpManagement/payvoucher/components/enterprise'
 export default {
   name: "edit",
   props:["data","btnType"],
+  components:{enterprise},
   data(){
     return {
       dialogFormVisible:false,
-      form:{
-        sa_cashbillid:'',
-        sys_enterpriseid:'',
-        sa_accountclassid:'',
-        type:1,
-        amount:'',
-        source:'',
-        sourcenote:'',
-        remarks:''
-      },
+      visibleEnterprise:false,
+      form:{},
       enterprises:[],
       accountclass:[],
       rules:{
-        sys_enterpriseid:[
-          { required: true, message: '未选择合作企业', trigger: 'change'},
+        enterprisename:[
+          { required: true, message: '未选择经销商', trigger: 'change'},
         ],
         sa_accountclassid:[
-          { required: true, message: '未选择营销账户类型', trigger: 'change'},
+          { required: true, message: '未选择账户类型', trigger: 'change'},
         ],
         amount:[
-          { required: true, message: '支出金额不可为空', trigger: 'blur'},
+          { required: true, message: '收入金额不可为空', trigger: 'blur'},
         ],
-      }
+      },
+      classData:[],
+      subClass:[]
     }
   },
   methods:{
     onShow(){
-
       this.dialogFormVisible = true
-      this.$store.dispatch('queryArealist')
-      this.form = Object.assign({},this.form,this.data)
-      console.log(this.form)
-      this.enterprisesList()
-      this.accountList(this.form.sa_accountclassid)
-      console.log(this.form.sa_accountclassid)
+      console.log(this.data)
+      this.form = this.data
     },
     onSubmit(){
       console.log(this.form)
@@ -120,32 +136,64 @@ export default {
         })
       })
     },
-    async enterprisesList(){
+    enterpriseList(){
+
+      this.visibleEnterprise = true
+    },
+    /*经销商列表*/
+    onEnterprise(data){
+      this.visibleEnterprise = false
+      console.log("企业信息",data)
+      this.form.sys_enterpriseid = data.sys_enterpriseid
+      this.form.enterprisename = data.enterprisename
+
+    },
+    /*账户类型*/
+    async accountList(id){
       const res = await this.$api.requested({
-        "id": "20221008164103",
-        "version":1,
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
         "content": {
-          "where":{
-            "condition":""
+          "pageNumber": 1,
+          "pageSize": 20,
+          "typename": "cashbillaccountclassselect",
+          "parameter": {
+            "sys_enterpriseid":id
           }
         }
       })
       console.log(res)
-      this.enterprises = res.data
-      console.log(this.enterprises)
+      this.accountclass = res.data
     },
-    async accountList(id){
+    /*分类*/
+    async classList(){
       const res = await this.$api.requested({
-        "id": "20221008164203",
-        "version":1,
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
         "content": {
-          "sys_enterpriseid":id
+          "pageNumber": 1,
+          "pageSize": 20,
+          "typename": "cashbillpaytype",
+          "parameter": {
+          }
         }
       })
-      console.log(res)
-      this.accountclass = res.data
+      console.log("支出凭证分类",res)
+      this.classData = res.data
+      console.log(this.classData)
+    },
+    classChange(res){
+      console.log("选择",res)
+      console.log("明细",this.classData[res-1])
+      this.form.class = this.classData[res-1].value
+      this.subClass = this.classData[res-1].subvalues
+      console.log("form",this.form)
     }
   },
+  created() {
+    this.classList()
+    this.form = this.data
+  },
   watch:{
     "form.sys_enterpriseid":function (val){
       console.log(val)

+ 17 - 13
src/HDrpManagement/payvoucher/details/index.vue

@@ -2,22 +2,24 @@
   <div>
     <basicDetails
         ref="details"
-        :titleText="mainData.enterprisename"
-        formPath="publicCustomer"
+        :titleText="mainData.billno"
+        formPath="payvoucher"
         :editData="mainData"
         :mainAreaData="mainAreaData"
-        :turnPageId="20221011133602"
-        idname="sa_customersid"
+        :turnPageId="20221010102903"
+        idname="sa_cashbillid"
+        ownertable="sa_cashbill"
         tags=""
         :tabs="['详细信息']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
       <div slot="tags">
-        <tagPanl slot="tags" :data="tagObj" :id="mainData.sa_customersid" @onSuccess="queryMainData"/>
+<!--        <tagPanl slot="tags" :data="tagObj" :id="mainData.sa_customersid" @onSuccess="queryMainData"/>-->
         <!-- 使用此插槽可不传[tags] -->
         <!-- :tabs="['经销商团队','代理区域','营销类别','账户余额']" -->
       </div>
       <div slot="customOperation">
+        <examine class="inline-16" :data="mainData" v-if="mainData.status !== '审核'"  @examineSuccess="onSuccess"></examine>
         <!-- 此区域提供了自定义操作按钮 -->
 <!--        <div class="inline-16" v-if="tool.checkAuth($route.name,'receive') && mainData.freeget === 1 && length === 0 ">
           <receive  :id="mainData.sa_customersid" @onshow="show"></receive>
@@ -29,22 +31,19 @@
           <to_void  :id="mainData.sa_customersid" @onshow="onSuccess" @toVoidSuccess="onSuccess"></to_void>
         </div>-->
       </div>
-<!--      <div slot="slot0" >
+      <div slot="slot0" >
         <detailed ref="detailed"></detailed>
       </div>
-      <div slot="slot1" class="container normal-panel">
-        <contacts :data="mainData" v-if="flag"></contacts>
-      </div>
-      <div slot="slot2" class="container normal-panel">
-        <address_manage :data="mainData"  v-if="flag"></address_manage>
-      </div>-->
     </basicDetails>
   </div>
 </template>
 
 <script>
+import detailed from './modules/detailedData'
+import examine from './modules/examine'
 export default {
   name: "index",
+  components:{detailed,examine},
   data(){
     return {
       mainData:{},
@@ -64,6 +63,7 @@ export default {
       this.changeDataStructure()
       console.log("支出凭证详情")
       console.log(this.mainData)
+      this.$refs.detailed.detailedList(this.mainData)
     },
     changeDataStructure(){
       this.mainAreaData = [
@@ -84,7 +84,7 @@ export default {
           value:this.mainData.accountname
         },
         {
-          label:'支出金额',
+          label:'收入金额',
           value:this.mainData.accountno
         },
         {
@@ -111,6 +111,10 @@ export default {
       this.$router.replace({path:'/payvoucherDetails',query:{id:id,rowindex:rowindex}})
       this.queryMainData(id)
     },
+    onSuccess(){
+      console.log("执行")
+      this.queryMainData(this.$route.query.id)
+    }
   },
   created() {
     this.queryMainData(this.$route.query.id)

+ 42 - 1
src/HDrpManagement/payvoucher/details/modules/detailedData.vue

@@ -1,10 +1,51 @@
 <template>
+  <div>
+    <div class="normal-margin">
+      <el-descriptions :column="2" labelClassName="my-label" contentClassName="my-content" border>
+        <div slot="title" class="my-label__title">基本信息</div>
+        <el-descriptions-item  label="单号">{{ detailData.billno?detailData.billno:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="单据日期">{{ detailData.changedate?detailData.changedate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="经销商">{{ detailData.enterprisename?detailData.enterprisename:"--"}}</el-descriptions-item>
+        <el-descriptions-item label="账户类型">{{ detailData.accountname?detailData.accountname:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="收入金额">{{ detailData.amount?detailData.amount:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="分类">{{ detailData.class?detailData.class:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="分类明细">{{ detailData.subclass?detailData.subclass:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="状态">{{ detailData.status?detailData.status:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="备注">{{ detailData.remarks?detailData.remarks:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="创建人">{{ detailData.changeby?detailData.changeby:"--" }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
 
+    <div>
+      <el-descriptions :column="2" labelClassName="my-label" contentClassName="my-content" border>
+        <div slot="title" class="my-label__title">单据信息</div>
+        <el-descriptions-item label="创建人">{{ detailData.changeby?detailData.changeby:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="创建时间">{{ detailData.changedate?detailData.changedate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="审核人">{{ detailData.checkby?detailData.checkby:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="审核日期">{{ detailData.checkdate?detailData.checkdate:"--" }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+  </div>
 </template>
 
 <script>
 export default {
-  name: "detailed"
+  name: "detailed",
+  data(){
+    return {
+      detailData:{}
+    }
+  },
+  methods:{
+    detailedList(data){
+      console.log("输出凭证信息")
+      console.log(data)
+      this.detailData = data
+      /*this.sa_customersid = data.sa_customersid
+      this.basicData(data.sa_customersid)
+      this.systemData(data.sa_customersid)*/
+    }
+  }
 }
 </script>
 

+ 52 - 0
src/HDrpManagement/payvoucher/details/modules/examine.vue

@@ -0,0 +1,52 @@
+<template>
+  <div class="inline-16">
+    <el-button   size="mini" @click="onShow" >审核</el-button>
+    <el-dialog
+        title="提示"
+        :visible.sync="dialogVisible"
+        width="25%"
+        append-to-body
+        @close="dialogVisible = false">
+      <span>确定通过此单据的审核吗?</span>
+      <span slot="footer" class="dialog-footer">
+    <el-button @click="dialogVisible = false">取 消</el-button>
+    <el-button type="primary" @click="examineRow">确 定</el-button>
+  </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "examine",
+  props:["data"],
+  data(){
+    return {
+      dialogVisible:false
+    }
+  },
+  methods:{
+    onShow(){
+      console.log(this.data)
+      this.dialogVisible = true
+    },
+    async examineRow(){
+      const res = await this.$api.requested({
+        "id": "20221009103103",
+        "version":1,
+        "content": {
+          "sa_cashbillid":this.data.sa_cashbillid
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.dialogVisible = false
+        this.$emit("examineSuccess")
+      })
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 2 - 20
src/HDrpManagement/payvoucher/index.vue

@@ -11,8 +11,8 @@
         path:'/payvoucherDetails'
         }">
       <div slot="custom" style="display:flex">
-        <label class="search__label " style="margin: auto;width: 90px;">营销账户类型:</label>
-        <el-select class="inline-16" @change="selectChange" v-model="selectParam.accountname" placeholder="请选择营销账户类型" size="small" clearable>
+        <label class="search__label " style="margin: auto;width: 70px;">账户类型:</label>
+        <el-select class="inline-16" @change="selectChange" v-model="selectParam.accountname" placeholder="请选择账户类型" size="small" clearable>
           <el-option v-for="(item,index) in accountNameList" :key="index" :value="item.accountname" :label="item.accountname"></el-option>
         </el-select>
         <label class="search__label " style="margin: auto;width: 35px;">状态:</label>
@@ -40,11 +40,6 @@
         </div>
       </template>
       <template v-slot:tbOpreation="scope">
-        <el-popconfirm
-            title="确定通过此凭证的审核嘛?"
-            @confirm="examineRow(scope.data)">
-          <el-button :disabled="scope.data.data.status === '审核'" slot="reference" size="small" type="text">审 核</el-button>
-        </el-popconfirm>
       </template>
     </basicLayout>
   </div>
@@ -76,19 +71,6 @@ export default {
     }
   },
   methods:{
-    async examineRow(data){
-      console.log(data)
-      const res = await this.$api.requested({
-        "id": "20221009103103",
-        "version":1,
-        "content": {
-          "sa_cashbillid":data.data.sa_cashbillid
-        }
-      })
-      this.tool.showMessage(res,()=>{
-        this.$refs.list.listData()
-      })
-    },
     /*营销账户类型*/
     async accountList(){
       const res = await this.$api.requested({

+ 127 - 0
src/HDrpManagement/recvoucher/details/index.vue

@@ -0,0 +1,127 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :titleText="mainData.billno"
+        formPath="payvoucher"
+        :editData="mainData"
+        :mainAreaData="mainAreaData"
+        :turnPageId="20221010102903"
+        idname="sa_cashbillid"
+        ownertable="sa_cashbill"
+        tags=""
+        :tabs="['详细信息']"
+        @pageChange="pageChange"
+        @onEditSuccess="queryMainData($route.query.id)">
+      <div slot="tags">
+<!--        <tagPanl slot="tags" :data="tagObj" :id="mainData.sa_customersid" @onSuccess="queryMainData"/>-->
+        <!-- 使用此插槽可不传[tags] -->
+        <!-- :tabs="['经销商团队','代理区域','营销类别','账户余额']" -->
+      </div>
+      <div slot="customOperation">
+        <examine class="inline-16" :data="mainData" v-if="mainData.status !== '审核'"  @examineSuccess="onSuccess"></examine>
+        <!-- 此区域提供了自定义操作按钮 -->
+<!--        <div class="inline-16" v-if="tool.checkAuth($route.name,'receive') && mainData.freeget === 1 && length === 0 ">
+          <receive  :id="mainData.sa_customersid" @onshow="show"></receive>
+        </div>
+        <div class="inline-16" v-if="tool.checkAuth($route.name,'distribution') && length === 0">
+          <distribution  :data="mainData" @onshow="onSuccess" @setSuccess="onSuccess"></distribution>
+        </div>
+        <div class="inline-16" v-if="tool.checkAuth($route.name,'toVoid')">
+          <to_void  :id="mainData.sa_customersid" @onshow="onSuccess" @toVoidSuccess="onSuccess"></to_void>
+        </div>-->
+      </div>
+      <div slot="slot0" >
+        <detailed ref="detailed"></detailed>
+      </div>
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+import detailed from './modules/detailedData'
+import examine from './modules/examine'
+export default {
+  name: "index",
+  components:{detailed,examine},
+  data(){
+    return {
+      mainData:{},
+      mainAreaData:[],
+    }
+  },
+  methods:{
+    async queryMainData(id){
+      const res = await this.$api.requested({
+        "id": "20221009103003",
+        "version":1,
+        "content": {
+          "sa_cashbillid":id
+        }
+      })
+      this.mainData = res.data
+      this.changeDataStructure()
+      console.log("支出凭证详情")
+      console.log(this.mainData)
+      this.$refs.detailed.detailedList(this.mainData)
+    },
+    changeDataStructure(){
+      this.mainAreaData = [
+        {
+          label:'单号',
+          value:this.mainData.billno
+        },
+        {
+          label:'单据日期',
+          value:this.mainData.createdate
+        },
+        {
+          label:'经销商',
+          value:this.mainData.enterprisename
+        },
+        {
+          label:'账户类型',
+          value:this.mainData.accountname
+        },
+        {
+          label:'支出金额',
+          value:this.mainData.accountno
+        },
+        {
+          label:'分类',
+          value:this.mainData.class
+        },
+        {
+          label:'分类明细',
+          value:this.mainData.subclass
+        },
+        {
+          label:'状态',
+          value:this.mainData.status
+        },
+        {
+          label:'备注',
+          value:this.mainData.remarks
+        }
+      ]
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex) {
+      this.flag = false
+      this.$router.replace({path:'/payvoucherDetails',query:{id:id,rowindex:rowindex}})
+      this.queryMainData(id)
+    },
+    onSuccess(){
+      console.log("执行")
+      this.queryMainData(this.$route.query.id)
+    }
+  },
+  created() {
+    this.queryMainData(this.$route.query.id)
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 55 - 0
src/HDrpManagement/recvoucher/details/modules/detailedData.vue

@@ -0,0 +1,55 @@
+<template>
+  <div>
+    <div class="normal-margin">
+      <el-descriptions :column="2" labelClassName="my-label" contentClassName="my-content" border>
+        <div slot="title" class="my-label__title">基本信息</div>
+        <el-descriptions-item  label="单号">{{ detailData.billno?detailData.billno:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="单据日期">{{ detailData.changedate?detailData.changedate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="经销商">{{ detailData.enterprisename?detailData.enterprisename:"--"}}</el-descriptions-item>
+        <el-descriptions-item label="账户类型">{{ detailData.accountname?detailData.accountname:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="支出金额">{{ detailData.amount?detailData.amount:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="分类">{{ detailData.class?detailData.class:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="分类明细">{{ detailData.subclass?detailData.subclass:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="状态">{{ detailData.status?detailData.status:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="已核销金额">{{ "--" }}</el-descriptions-item>
+        <el-descriptions-item label="备注">{{ detailData.remarks?detailData.remarks:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="创建人">{{ detailData.changeby?detailData.changeby:"--" }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+
+    <div>
+      <el-descriptions :column="2" labelClassName="my-label" contentClassName="my-content" border>
+        <div slot="title" class="my-label__title">单据信息</div>
+        <el-descriptions-item label="创建人">{{ detailData.changeby?detailData.changeby:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="创建时间">{{ detailData.changedate?detailData.changedate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="审核人">{{ detailData.checkby?detailData.checkby:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="审核日期">{{ detailData.checkdate?detailData.checkdate:"--" }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "detailed",
+  data(){
+    return {
+      detailData:{}
+    }
+  },
+  methods:{
+    detailedList(data){
+      console.log("输出凭证信息")
+      console.log(data)
+      this.detailData = data
+      /*this.sa_customersid = data.sa_customersid
+      this.basicData(data.sa_customersid)
+      this.systemData(data.sa_customersid)*/
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 52 - 0
src/HDrpManagement/recvoucher/details/modules/examine.vue

@@ -0,0 +1,52 @@
+<template>
+  <div class="inline-16">
+    <el-button   size="mini" @click="onShow" >审核</el-button>
+    <el-dialog
+        title="提示"
+        :visible.sync="dialogVisible"
+        width="25%"
+        append-to-body
+        @close="dialogVisible = false">
+      <span>确定通过此单据的审核吗?</span>
+      <span slot="footer" class="dialog-footer">
+    <el-button @click="dialogVisible = false">取 消</el-button>
+    <el-button type="primary" @click="examineRow">确 定</el-button>
+  </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "examine",
+  props:["data"],
+  data(){
+    return {
+      dialogVisible:false
+    }
+  },
+  methods:{
+    onShow(){
+      console.log(this.data)
+      this.dialogVisible = true
+    },
+    async examineRow(){
+      const res = await this.$api.requested({
+        "id": "20221009103103",
+        "version":1,
+        "content": {
+          "sa_cashbillid":this.data.sa_cashbillid
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.dialogVisible = false
+        this.$emit("examineSuccess")
+      })
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 13 - 22
src/HDrpManagement/recvoucher/index.vue

@@ -1,9 +1,18 @@
 <template>
   <div>
-    <basicLayout ref="list" formPath="recvoucher" tableName="recvoucherTable" idName="sa_cashbillid" :apiId="{query:20221009102903,del:20221009103203}" :options="options">
+    <basicLayout
+        ref="list"
+        formPath="recvoucher"
+        tableName="recvoucherTable"
+        idName="sa_cashbillid"
+        :apiId="{query:20221009102903,del:20221009103203}"
+        :options="options"
+        :detailPath="{
+        path:'/recvoucherDetails'
+        }">
       <div slot="custom" style="display:flex">
-        <label class="search__label " style="margin: auto;width: 90px;">营销账户类型:</label>
-        <el-select class="inline-16" @change="selectChange" v-model="selectParam.accountname" placeholder="请选择营销账户类型" size="small" clearable>
+        <label class="search__label " style="margin: auto;width: 70px;">账户类型:</label>
+        <el-select class="inline-16" @change="selectChange" v-model="selectParam.accountname" placeholder="请选择账户类型" size="small" clearable>
           <el-option v-for="(item,index) in accountNameList" :key="index" :value="item.accountname" :label="item.accountname"></el-option>
         </el-select>
         <label class="search__label " style="margin: auto;width: 35px;">状态:</label>
@@ -31,11 +40,6 @@
         </div>
       </template>
       <template v-slot:tbOpreation="scope">
-        <el-popconfirm
-            title="确定通过此凭证的审核嘛?"
-            @confirm="examineRow(scope.data)">
-          <el-button :disabled="scope.data.data.status === '审核'" slot="reference" size="small" type="text" >审 核</el-button>
-        </el-popconfirm>
       </template>
     </basicLayout>
   </div>
@@ -67,19 +71,7 @@ export default {
     }
   },
   methods:{
-    async examineRow(data){
-      console.log(data)
-      const res = await this.$api.requested({
-        "id": "20221009103103",
-        "version":1,
-        "content": {
-          "sa_cashbillid":data.data.sa_cashbillid
-        }
-      })
-      this.tool.showMessage(res,()=>{
-        this.$refs.list.listData()
-      })
-    },/*营销账户类型*/
+    /*营销账户类型*/
     async accountList(){
       const res = await this.$api.requested({
         "classname": "sysmanage.develop.optiontype.optiontype",
@@ -120,5 +112,4 @@ export default {
 </script>
 
 <style scoped>
-
 </style>

+ 13 - 1
src/router/HDrpManagement.js

@@ -117,7 +117,19 @@ const HDrpManagement = [
       ast_nav: true,
       keeproute: true
     },
-    component: () => import('@/HDrpManagement/recvoucher/index')
+    component: () => import('@/HDrpManagement/recvoucher/index'),
+    children: [
+      {
+        path: '/recvoucherDetails',
+        name: 'recvoucher',
+        meta: {
+          title: '收入凭证详情',
+          ast_nav: true,
+          keeproute: true
+        },
+        component: () => import('@/HDrpManagement/recvoucher/details/index'),
+      }
+    ]
   },{
     path: '/creditbilladj',
     name:'creditbilladj',