Browse Source

Merge branch 'xiaoqin' into mergeBranch

codeMan 2 years ago
parent
commit
78bf751c2c

+ 303 - 0
src/Form/remitvoucher/add.vue

@@ -0,0 +1,303 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="addBtn">新 建</el-button>
+    <el-dialog :visible.sync="drawer2" title="选择财务信息" append-to-body width="50%">
+      <el-table
+        ref="multipleTable"
+        :data="moneyInfo"
+        style="width: 100%"
+        size="mini"
+        border>
+        <el-table-column
+          prop="bank"
+          label="银行"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="bankcardno"
+          label="银行编号"
+          width="180">
+        </el-table-column>
+         <el-table-column
+          prop="enterprisename"
+          label="经销商"
+          width="150">
+        </el-table-column>
+        <el-table-column
+          prop="phonenumber"
+          label="手机号"
+          width="150">
+        </el-table-column>
+        <el-table-column
+          prop="address"
+          label="地址">
+        </el-table-column>
+        <el-table-column
+          label="操作"
+          width="90"
+          fixed="right">
+          <template slot-scope="scope">
+            <el-button type="text" size="small" @click="selectInfoRow(scope.row)">选 择</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="dialog-footer" style="margin-top:20px">
+        <el-button size="small" @click="drawer2=false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+    <el-drawer title="新建打款凭证" append-to-body :visible.sync="dialogFormVisible" size="50%">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
+            <el-col :span="12">
+              <el-form-item label="经销商:" prop="enterprisename">
+                <el-popover
+                  placement="bottom"
+                  trigger="click"
+                  v-model="visible">
+                  <selectAgentInfo ref="UseAgent" @selectRow="selectRow"></selectAgentInfo>
+                  <el-input readonly slot="reference" v-model="form.enterprisename"  suffix-icon="el-icon-arrow-down" placeholder="经销商"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="付款人:" prop="payer">
+                <el-input readonly v-model="form.payer" placeholder="付款人"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="银行账号:" prop="bankcardno">
+                <el-input readonly v-model="form.bankcardno" placeholder="银行账号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item readonly label="银行:" prop="bank">
+                <el-input readonly v-model="form.bank" placeholder="银行"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="付款时间:" prop="paydate">
+                <el-date-picker
+                  v-model="form.paydate"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  placeholder="付款时间">
+                </el-date-picker>
+              </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="转入银行:" prop="inbank">
+                <el-input v-model="form.inbank" placeholder="转入银行"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="转入账号:" prop="inbankcardno">
+                <el-input v-model="form.inbankcardno" placeholder="转入账号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="备注:" prop="remarks">
+                <el-input v-model="form.remarks" placeholder="备注"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="打款明细:" prop="">
+                <selectTable v-if="dialogFormVisible" @selectChange="selectChange" idName="sa_accountclassid" ref="table" v-model="result" :layout="tablecols" :data="list" :custom="true" height="500px"  @upDateData="upDateData">
+                  <template v-slot:customcol="scope">
+                    <div v-if="scope.column.columnname == 'amount'">
+                      <el-input :disabled="!isEdit(scope.column.data)" v-model="scope.column.data.amount" size="small"></el-input>
+                    </div>
+                    <div v-else>{{scope.column.data[scope.column.columnname]}}</div>
+                  </template>
+                </selectTable>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </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" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import selectAgentInfo from '@/HDrpManagement/remitvoucher/components/selectAgentInfo'
+import selectTable from '@/components/selectTable/index'
+
+export default {
+  name: "add",
+  components: {selectAgentInfo,selectTable},
+  data(){
+    return {
+      dialogFormVisible:false,
+      visible:false,
+      drawer2:false,
+      moneyInfo:[],
+      list:[],
+      tablecols:[],
+      selectArr:[],
+      result:'',
+      form:{
+        "sa_paybillid": 0,
+        "sys_enterpriseid": '',
+        "payer": "",
+        "paydate": "",
+        "period": "",
+        "amount": "",
+        "remarks": "",
+        "bank": "",
+        "bankcardno": "",
+        "inbankcardno":'',
+        "inbank":'',
+        "enterprisename":''
+      },
+      rules:{
+        enterprisename:[
+          { required: true, message: '请选择经销商', trigger: 'change'},
+        ],
+        payer:[
+          { required: true, message: '付款人', trigger: 'blur'}
+        ],
+        paydate:[
+          { required: true, message: '付款时间', trigger: 'blur'},
+        ],
+        bank:[
+          { required: true, message: '银行', trigger: 'blur'}
+        ],
+        bankcardno:[
+          { required: true, message: '银行编号', trigger: 'blur'},
+        ],
+      }
+    }
+  },
+  computed: {
+    isEdit () {
+      return function (data) {
+        console.log(this.selectArr.some(item => item == data));
+        let is = this.selectArr.some(item => item == data)
+        // if(!is) data.amount = ''
+        return is
+      }
+    }
+  },
+  watch: {
+    dialogFormVisible (val) {
+      if (!val) {
+        this.$refs.form.resetFields()
+        this.$refs.table.allArr = []
+      }
+    }
+  },
+
+  created () {
+    this.tablecols = this.tool.tabelCol(this.$route.name).accountTable.tablecols.splice(0,3)
+  },
+  methods:{
+    addBtn () {
+      this.dialogFormVisible = true
+      this.listData()
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": "20221226153004",
+          "version":1,
+          "content": this.form
+        })
+        this.tool.showMessage(res,async ()=>{
+          let data = this.$refs.table.allArr.map(item => {
+            return {
+              "sa_paybilldetailid": 0,
+              "sa_accountclassid": item.sa_accountclassid,
+              "amount": item.amount
+            }
+          })
+          if (data.length > 0) {
+            let res2 = await this.$api.requested({
+              "id": "20221227092904",
+              "content": {
+                  "sa_paybillid": res.data.sa_paybillid,
+                  "paybilldetails": data
+              }
+            })
+          }
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+        })
+      })
+    },
+    selectRow (data) {
+      this.form.enterprisename = data.enterprisename
+      this.form.sys_enterpriseid = data.sys_enterpriseid
+      this.visible = false
+      console.log(data);
+      this.queryMoneyInfo(data.sys_enterpriseid)
+    },
+    /* 获取财务信息 */
+    async queryMoneyInfo (id) {
+      let res = await this.$api.requested({
+        "id": 20221013160602,
+        "content": {
+            "sys_enterpriseid":id,
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+                "condition": ""
+            }
+        },
+      })
+      this.moneyInfo = res.data
+      if (this.moneyInfo.length > 1) {
+        this.drawer2 = true
+      } else {
+        this.form.payer = this.moneyInfo[0].enterprisename
+        this.form.bank = this.moneyInfo[0].bank
+        this.form.bankcardno = this.moneyInfo[0].bankcardno
+      }
+    },
+    /* 选中财务信息 */
+    selectInfoRow (data) {
+      this.form.payer = data.enterprisename
+      this.form.bank = data.bank
+      this.form.bankcardno = data.bankcardno
+      this.drawer2 = false
+    },
+    selectChange (data) {
+      this.selectArr = data
+    },
+    upDateData (data) {
+      this.selectArr = data
+    },
+    /* 获取打款列表数据 */
+    async listData () {
+      let res = await this.$api.requested({
+        "id": "20221228085004",
+        "content": {
+            "where":{
+                "condition":""
+            }
+        }
+      })
+      this.list = res.data
+      console.log(this.list);
+      
+    }
+  } 
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+</style>

+ 248 - 0
src/Form/remitvoucher/edit.vue

@@ -0,0 +1,248 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="editBtn">编 辑</el-button>
+    <el-dialog :visible.sync="drawer2" title="选择财务信息" append-to-body width="50%">
+      <el-table
+        ref="multipleTable"
+        :data="moneyInfo"
+        style="width: 100%"
+        size="mini"
+        border>
+        <el-table-column
+          prop="bank"
+          label="银行"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="bankcardno"
+          label="银行编号"
+          width="180">
+        </el-table-column>
+         <el-table-column
+          prop="enterprisename"
+          label="经销商"
+          width="150">
+        </el-table-column>
+        <el-table-column
+          prop="phonenumber"
+          label="手机号"
+          width="150">
+        </el-table-column>
+        <el-table-column
+          prop="address"
+          label="地址">
+        </el-table-column>
+        <el-table-column
+          label="操作"
+          width="90"
+          fixed="right">
+          <template slot-scope="scope">
+            <el-button type="text" size="small" @click="selectInfoRow(scope.row)">选 择</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="dialog-footer" style="margin-top:20px">
+        <el-button size="small" @click="drawer2=false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+    <el-drawer title="新建打款凭证" append-to-body :visible.sync="dialogFormVisible" size="30%">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
+            <el-col :span="24">
+              <el-form-item label="经销商:" prop="enterprisename">
+                <el-popover
+                  placement="bottom"
+                  trigger="click"
+                  v-model="visible">
+                  <selectAgentInfo ref="UseAgent" @selectRow="selectRow"></selectAgentInfo>
+                  <el-input readonly slot="reference" v-model="form.enterprisename"  suffix-icon="el-icon-arrow-down" placeholder="经销商"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="付款人:" prop="payer">
+                <el-input readonly v-model="form.payer" placeholder="付款人"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="银行账号:" prop="bankcardno">
+                <el-input readonly v-model="form.bankcardno" placeholder="银行账号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item readonly label="银行:" prop="bank">
+                <el-input v-model="form.bank" placeholder="银行"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="付款时间:" prop="paydate">
+                <el-date-picker
+                  v-model="form.paydate"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  placeholder="付款时间">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="打款总金额:" prop="amount">
+                <el-input v-model="form.amount" placeholder="请输入打款总金额"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="转入银行:" prop="inbank">
+                <el-input v-model="form.inbank" placeholder="转入银行"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="转入账号:" prop="inbankcardno">
+                <el-input v-model="form.inbankcardno" placeholder="转入账号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注:" prop="remarks">
+                <el-input v-model="form.remarks" placeholder="备注"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </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" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import selectAgentInfo from '@/HDrpManagement/remitvoucher/components/selectAgentInfo'
+import selectTable from '@/components/selectTable/index'
+import remitDetail from "@/HDrpManagement/remitvoucher/modules/remitDetail"
+import Del from "@/HDrpManagement/remitvoucher/modules/delDetail"
+
+export default {
+  props:['data'],
+  name: "add",
+  components: {selectAgentInfo,selectTable,remitDetail,Del},
+  data(){
+    return {
+      dialogFormVisible:false,
+      visible:false,
+      drawer2:false,
+      moneyInfo:[],
+      list:[],
+      tablecols:[],
+      result:'',
+      form:{
+        "sa_paybillid": 0,
+        "sys_enterpriseid": '',
+        "payer": "",
+        "paydate": "",
+        "period": "",
+        "amount": "",
+        "remarks": "",
+        "bank": "",
+        "bankcardno": "",
+        "inbankcardno":'',
+        "inbank":'',
+        "enterprisename":''
+      },
+      rules:{
+        enterprisename:[
+          { required: true, message: '请选择经销商', trigger: 'change'},
+        ],
+        payer:[
+          { required: true, message: '付款人', trigger: 'blur'}
+        ],
+        paydate:[
+          { required: true, message: '付款时间', trigger: 'blur'},
+        ],
+        bank:[
+          { required: true, message: '银行', trigger: 'blur'}
+        ],
+        bankcardno:[
+          { required: true, message: '银行编号', trigger: 'blur'},
+        ],
+      }
+    }
+  },
+  watch: {
+    dialogFormVisible (val) {
+      if (!val) {
+        this.$refs.form.resetFields()
+      }
+    }
+  },
+  created () {
+    this.tablecols = this.tool.tabelCol(this.$route.name).accountTable.tablecols.splice(0,3)
+  },
+  methods:{
+    editBtn () {
+      this.form = Object.assign({},this.form,this.data)
+      this.dialogFormVisible = true
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": "20221226153004",
+          "version":1,
+          "content": this.form
+        })
+        this.tool.showMessage(res,async ()=>{
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+        })
+      })
+    },
+    selectRow (data) {
+      this.form.enterprisename = data.enterprisename
+      this.form.sys_enterpriseid = data.sys_enterpriseid
+      this.visible = false
+      console.log(data);
+      this.queryMoneyInfo(data.sys_enterpriseid)
+    },
+    /* 获取财务信息 */
+    async queryMoneyInfo (id) {
+      let res = await this.$api.requested({
+        "id": 20221013160602,
+        "content": {
+            "sys_enterpriseid":id,
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+                "condition": ""
+            }
+        },
+      })
+      this.moneyInfo = res.data
+      if (this.moneyInfo.length > 1) {
+        this.drawer2 = true
+      } else {
+        this.form.payer = this.moneyInfo[0].enterprisename
+        this.form.bank = this.moneyInfo[0].bank
+        this.form.bankcardno = this.moneyInfo[0].bankcardno
+      }
+    },
+    /* 选中财务信息 */
+    selectInfoRow (data) {
+      this.form.payer = data.enterprisename
+      this.form.bank = data.bank
+      this.form.bankcardno = data.bankcardno
+      this.drawer2 = false
+    },
+    upDateData (data) {
+
+    },
+  } 
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+</style>

+ 14 - 0
src/HDrpManagement/contractManage/components/productList/addProduct.vue

@@ -52,6 +52,7 @@
       <div class="container">
         <p class="normal-title normal-margin">产品清单</p>
          <div style="display:flex;align-items:center;margin-bottom:10px">
+           <span class="header-title">选择报价单:</span>
             <el-input readonly type="text" placeholder="选择报价单" style="width:200px" size="small" @focus="drawer2=true;getQuotationList()" v-model="currentQuotation.billno"></el-input>
           </div>
         <el-divider></el-divider>
@@ -287,4 +288,17 @@ export default {
 .el-divider {
   margin: 16px 0 !important;
 }
+.header-title {
+  font-size:14px;
+  margin-right:10px;
+  position: relative;
+  margin-left: 10px;
+}
+.header-title::before {
+  display: inline-block;
+  content: '*';
+  color: red;
+  position: absolute;
+  left: -10px;
+}
 </style>

+ 11 - 12
src/HDrpManagement/productMoneyOdd/components/editPrice.vue

@@ -19,58 +19,57 @@
             </el-col> -->
             <el-col :span="12">
               <el-form-item label="一级原价" prop="price">
-                <el-input size="mini" :disabled="form.oldprice1==0" placeholder="请输入调整价" v-model="form.oldprice1"></el-input>
+                <el-input size="mini" :disabled="true" placeholder="请输入调整价" v-model="form.oldprice1"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="一级调整价" prop="price1">
-                <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice1==0" v-model="form.price1"></el-input>
+                <el-input size="mini" placeholder="请输入调整价" v-model="form.price1"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="二级原价" prop="price">
-                <el-input size="mini" placeholder="请输入调整价"  :disabled="form.oldprice2==0" v-model="form.oldprice2"></el-input>
+                <el-input size="mini" placeholder="请输入调整价"  :disabled="true" v-model="form.oldprice2"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="二级调整价" prop="price2">
-                <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice2==0" v-model="form.price2"></el-input>
+                <el-input size="mini" placeholder="请输入调整价" v-model="form.price2"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="三级原价" disabled prop="price">
-                <el-input size="mini" placeholder="请输入调整价"  :disabled="form.oldprice3==0" v-model="form.oldprice3"></el-input>
+                <el-input size="mini" placeholder="请输入调整价"  :disabled="true" v-model="form.oldprice3"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="三级调整价" prop="price3">
-                <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice3==0" v-model="form.price3"></el-input>
+                <el-input size="mini" placeholder="请输入调整价" v-model="form.price3"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="四级原价" disabled prop="price">
-                <el-input size="mini" placeholder="请输入调整价"  :disabled="form.oldprice4==0"  v-model="form.oldprice4"></el-input>
+                <el-input size="mini" placeholder="请输入调整价"  :disabled="true"  v-model="form.oldprice4"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="四级调整价" prop="price4">
-                <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice4==0" v-model="form.price4"></el-input>
+                <el-input size="mini" placeholder="请输入调整价"  v-model="form.price4"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="五级原价" disabled prop="oldprice5">
-                <el-input size="mini" placeholder="请输入调整价"  :disabled="form.oldprice5==0"  v-model="form.oldprice5"></el-input>
+                <el-input size="mini" placeholder="请输入调整价" :disabled="true" v-model="form.oldprice5"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="五级调整价" prop="price5">
-                <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice5==0" v-model="form.price5"></el-input>
+                <el-input size="mini" placeholder="请输入调整价" v-model="form.price5"></el-input>
               </el-form-item>
             </el-col>
           </el-form>
         </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" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
@@ -144,7 +143,7 @@ export default {
         const res = await this.$api.requested({
             "id": "20221025165904",
             "content": {
-                "sa_itempriceadjustid": this.data.sa_itempriceadjustid,
+                "sa_itempriceadjustid": this.$route.query.id,
                 "sa_itempriceadjust_itemprice": content
             }
         })

+ 63 - 0
src/HDrpManagement/remitvoucher/components/check.vue

@@ -0,0 +1,63 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="drawer=true">审 核</el-button>
+    <el-dialog append-to-body :visible.sync="drawer" width="400px">
+      <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
+        <el-form-item label="回款归属月份:" prop="period">
+          <el-date-picker
+            v-model="form.period"
+            type="month"
+            value-format="yyyy-MM"
+            placeholder="选择月">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div class="dialog-footer">
+        <el-button size="small" @click="drawer=false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="submit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: '',
+  data() {
+    return {
+      drawer:false,
+      form: {
+        period:''
+      },
+      rules:{
+        period:[
+          { required: true, message: '请填写回款归属月份', trigger: 'blur'},
+        ],
+      }
+    };
+  },
+  computed:{
+  },
+  watch:{
+  },
+  methods: {
+    async submit () {
+      let res = await this.$api.requested({
+        "id": "20221226153304",
+        "content": {
+            "sa_paybillid":this.$route.query.id,
+            "period":this.form.period
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.drawer = false
+        this.$emit('onSuccess')
+      })
+    }
+  },
+};
+</script>
+
+<style scoped>
+
+</style>

+ 109 - 0
src/HDrpManagement/remitvoucher/components/selectAgentInfo.vue

@@ -0,0 +1,109 @@
+<template>
+  <div> 
+    <div class="flex-align-center flex-between mt-10">
+      <el-input style="width:200px" size="small"  suffix-icon="el-icon-search" v-model="param.content.where.condition" placeholder="搜索" @keyup.enter.native="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" clearable></el-input>
+    </div>
+    <div>
+      <el-table
+        ref="multipleTable"
+        :data="tableData"
+        style="width: 100%"
+        size="mini"
+        border>
+        <el-table-column
+          prop="enterprisename"
+          label="经销商名称"
+          width="180">
+        </el-table-column>
+        <el-table-column
+          prop="agentnum"
+          label="经销商编号"
+          width="180">
+        </el-table-column>
+         <el-table-column
+          prop="contact"
+          label="联系人"
+          width="90">
+        </el-table-column>
+        <el-table-column
+          label="地址"
+          width="180">
+          <template slot-scope="scope">
+            {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="操作"
+          width="90">
+          <template slot-scope="scope">
+            <el-button type="text" size="small" @click="selectRow(scope.row)">选 择</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div style="margin-top:16px;text-align:right">
+        <el-pagination
+          background
+          small
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="param.content.pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total">
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      param:{
+        "classname": "webmanage.sale.agents.agents",
+        "method": "query_agentList",
+        "content": {
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+                "condition": ""
+            }
+        }
+      },
+      tableData: [],
+      total:0,
+      currentPage:0
+    }
+  },
+  methods:{
+    async listData () {
+      const res = await this.$api.requested(this.param)
+      this.tableData = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+      console.log(this.tableData);
+      
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+    selectRow (row) {
+      this.$emit('selectRow',row)
+    }
+  },
+  created () {
+    this.listData()
+  },
+}
+
+</script>
+<style>
+</style>

+ 44 - 0
src/HDrpManagement/remitvoucher/index.vue

@@ -0,0 +1,44 @@
+
+<template>
+  <div>
+    <basicLayout 
+      ref="basicLayout" 
+      formPath="remitvoucher"
+      tableName="remitvoucherTable" 
+      idName="sa_paybillid" 
+      :apiId="{query:20221226152904,del:20221226153104}"
+      :options="options"
+      :detailPath="{
+        path:'/remitvoucherDetail'
+      }">
+      <div slot="custom"></div>
+      <template v-slot:tbList="scope">
+        <div v-if="scope.data.column.columnname == 'status'">
+          <span style="color:#333333" v-if="scope.data.column.data[[scope.data.column.columnname]] == '新建'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color:#3874f6" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '审核'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+        </div>
+        <div v-else>
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      options:[]
+      
+    }
+  },
+  methods:{
+  }
+}
+
+</script>
+<style>
+</style>

+ 149 - 0
src/HDrpManagement/remitvoucher/modules/addRemit.vue

@@ -0,0 +1,149 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" :disabled="disabled" @click="addBtn">添 加</el-button>
+    <el-drawer append-to-body :visible.sync="dialogFormVisible" size="50%">
+      <div slot="title" style="font-size: 15px">
+        添加明细
+      </div>
+      <div class="drawer__panel">
+        <el-input style="width:250px;margin-bottom:10px" size="small" placeholder="请输入搜索内容" clearable @clear="getOrderList(params.content.pageNumber=1)" v-model="params.content.where.condition" @keyup.enter.native="getOrderList(params.content.pageNumber=1)"></el-input>
+        <selectTable @selectChange="selectChange" v-if="dialogFormVisible" idName="sa_accountclassid" ref="table" v-model="result" :layout="tablecols" :data="orderList" :custom="true" height="500px"  @upDateData="upDateData">
+           <template v-slot:customcol="scope">
+              <div v-if="scope.column.columnname == 'amount'">
+                <el-input :disabled="!isEdit(scope.column.data)" v-model="scope.column.data.amount" size="small"></el-input>
+              </div>
+              <div v-else>{{scope.column.data[scope.column.columnname]}}</div>
+            </template>
+        </selectTable>
+        <div class="container normal-panel" style="text-align:right">
+          <el-pagination
+              style="text-align:right"
+              background
+              small
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="params.content.pageNumber"
+              :page-sizes="[20, 50, 100, 200]"
+              layout="total,sizes, prev, pager, next, jumper"
+              :total="total">
+          </el-pagination>
+        </div>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" :disabled="isLength" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import selectTable from '@/components/selectTable/index'
+export default {
+  name: "add",
+  props:['data','disabled'],
+  components:{selectTable},
+  data(){
+    return {
+      result:[],
+      selectArr:[],
+      isLength:true,
+      dialogFormVisible:false,
+      orderList:[],
+      tablecols:[],
+      total:0,
+      params: {
+        "id": 20221228085004,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+              "condition": ""
+          }
+        }
+      }
+    }
+  },
+  computed: {
+    isEdit () {
+      return function (data) {
+        console.log(this.selectArr.some(item => item == data));
+        let is = this.selectArr.some(item => item == data)
+        // if(!is) data.amount = ''
+        return is
+      }
+    }
+  },
+  created () {
+    this.getOrderList()
+    this.tablecols = this.tool.tabelCol(this.$route.name).accountTable.tablecols.splice(0,3)
+  },
+  watch: {
+    dialogFormVisible (val) {
+      if(!val) {
+        this.$refs.table.allArr = []
+      }
+    }
+  },
+  methods:{
+    addBtn () {
+      this.dialogFormVisible = true
+      this.getOrderList()
+    },
+    async onSubmit(){
+      let data = this.$refs.table.allArr.map(item => {
+        return {
+          "sa_paybilldetailid": 0,
+          "sa_accountclassid": item.sa_accountclassid,
+          "amount": item.amount
+        }
+      })
+      let res2 = await this.$api.requested({
+        "id": "20221227092904",
+        "content": {
+            "sa_paybillid": this.$route.query.id,
+            "paybilldetails": data
+        }
+      })
+      this.tool.showMessage(res2,()=>{
+        this.$emit('onSuccess')
+        this.dialogFormVisible = false
+      })
+    },
+    async getOrderList () {
+      let res = await this.$api.requested(this.params)
+      this.orderList = res.data
+      this.total = res.total
+      console.log(res);
+      
+    },
+    selectChange (data) {
+      this.selectArr = data
+      this.isLength = data.length < 1
+    },
+    upDateData (data) {
+      this.selectArr = data
+      this.isLength = data.length < 1
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.getOrderList()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.getOrderList()
+    },
+  }
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+.el-select {
+  width: 100%;
+}
+</style>

+ 40 - 0
src/HDrpManagement/remitvoucher/modules/delDetail.vue

@@ -0,0 +1,40 @@
+<template>
+  <div>
+    <el-popconfirm :title="'确定删除当前打款明细吗?'" @confirm="deleteRow()">
+      <el-button slot="reference" size="mini" type="text">删 除</el-button>
+    </el-popconfirm>
+  </div>
+</template>
+
+<script>
+export default {
+  name: '',
+  data() {
+    return {
+    };
+  },
+  props:['id'],
+  computed:{
+  },
+  watch:{
+  },
+  methods: {
+    async deleteRow() {
+      let res = await this.$api.requested({
+        "id": 20221227093004,
+        "content": {
+            "sa_paybillid":this.$route.query.id,
+            "sa_paybilldetailids":[this.id]
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.$emit('onSuccess')
+      })
+    },
+  },
+};
+</script>
+
+<style scoped>
+
+</style>

+ 278 - 0
src/HDrpManagement/remitvoucher/modules/detail.vue

@@ -0,0 +1,278 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :titleText="mainData.billno"
+        :oldFormPath="{edit:'HManagement/accountManage/modules'}"
+        :editData="mainData"
+        :mainAreaData="mainAreaData"
+        turnPageId="20221226152904"
+        idname="sa_paybillid"
+        ownertable="sa_paybill"
+        tags=""
+        delApiId="20221226153104"
+        :statusCheck="[{key:'status',value:'提交'},{key:'status',value:'审核'}]"
+        :tabs="['打款明细','详细信息']"
+        @pageChange="pageChange"
+        @onEditSuccess="queryMainData($route.query.id)">
+      <div slot="tags">
+      </div>
+      <div slot="customOperation">
+        <Edit v-if="tool.checkAuth($route.name,'update')" class="inline-16" @onSuccess="$refs.remitDetail.listData()" :data="mainData"/>
+        <el-button v-if="mainData.status == '新建' && tool.checkAuth($route.name,'submit')" class="inline-16" type="primary" @click="submit" size="mini">提 交</el-button>
+        <Check v-if="mainData.status == '提交' && tool.checkAuth($route.name,'check')" class="inline-16" @onSuccess="queryMainData()"/>
+        <el-button v-if="mainData.status != '新建' && tool.checkAuth($route.name,'back')" class="inline-16" type="primary" @click="back" size="mini">退 回</el-button>
+      </div>
+      <div slot="slot0" >
+        <remit-detail ref="remitDetail" @onSuccess="queryMainData" v-if="mainData">
+          <add-remit v-if="tool.checkAuth($route.name,'remitvoucherManage')" slot="addRemit" :data="mainData" @onSuccess="$refs.remitDetail.listData()"></add-remit>
+          <template v-slot:editRemit="scope">
+              <el-button v-if="tool.checkAuth($route.name,'remitvoucherManage')" class="inline-16" type="text" size="mini" @click="$refs.remitDetail.currentItem=scope.data">编 辑</el-button>
+          </template>
+          <template v-slot:delRemit="scope">
+            <Del v-if="tool.checkAuth($route.name,'remitvoucherManage')" class="inline-16" :id="scope.data.sa_paybilldetailid" @onSuccess="$refs.remitDetail.listData()"></Del>
+          </template>
+        </remit-detail>
+      </div>
+      <div slot="slot1" >
+        <base-info v-if="detailInfo" :detailInfo="detailInfo"></base-info>
+      </div>
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
+import Check from '../components/check'
+import Del from './delDetail'
+import remitDetail from './remitDetail'
+import addRemit from './addRemit'
+import Edit from '@/Form/remitvoucher/edit'
+export default {
+  name: "detail",
+  data() {
+    return {
+      mainData:{},
+      mainAreaData:{},
+      detailInfo:''
+    }
+  },
+  components:{
+    BaseInfo,
+    Check,
+    remitDetail,
+    Del,
+    Edit,
+    addRemit
+  },
+  methods:{
+    async queryMainData(id) {
+      const res = await this.$api.requested({
+        "id":20221226153404,
+        "content": {
+          "sa_paybillid": this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      console.log(this.mainData);
+      this.changeDataStructure()
+    },
+    submit () {
+      this.$confirm('确定提交当前打款凭证吗?','提示',{
+        confirmButtonText:'确定',
+        cancelButtonText:'取消',
+        type:'warning'
+      }).then(async () => {
+        let res = await this.$api.requested({
+          "id":20221226153204,
+          "content":{
+            sa_paybillid:this.$route.query.id
+          }
+        })
+        this.tool.showMessage(res,() => {
+          this.queryMainData()
+        })
+      })
+    },
+    back () {
+      this.$confirm('确定退回当前打款凭证吗?','提示',{
+        confirmButtonText:'确定',
+        cancelButtonText:'取消',
+        type:'warning'
+      }).then(async () => {
+        let res = await this.$api.requested({
+          "id":20221227110104,
+          "content":{
+            sa_paybillid:this.$route.query.id
+          }
+        })
+        this.tool.showMessage(res,() => {
+          this.queryMainData()
+        })
+      })
+    },
+    changeDataStructure() {
+      let that = this
+      this.mainAreaData = [
+        {
+          label:'凭证号',
+          value:this.mainData.billno
+        },
+        {
+          label:'经销商编号',
+          value:this.mainData.agentnum
+        },
+        {
+          label:'经销商简称',
+          value:this.mainData.abbreviation
+        },
+        {
+          label:'付款人',
+          value:this.mainData.payer
+        },
+        {
+          label:'银行账号',
+          value:this.mainData.bankcardno
+        },
+        {
+          label:'银行',
+          value:this.mainData.bank
+        },
+        {
+          label:'付款时间',
+          value:this.mainData.paydate
+        },
+        {
+          label:'打款总金额',
+          value:this.mainData.amount
+        },
+        {
+          label:'单据状态',
+          value:this.mainData.status,
+          style:function () {
+              let style = {}
+              switch (that.mainData.status) {
+                case '新建':
+                  style = {color:'#333333'}
+                  break;
+                case '审核':
+                  style = {color:'#3874f6'}
+                  break;
+              }
+              return style
+            }
+        },
+        {
+          label:'回款归属月份',
+          value:this.mainData.period
+        },
+        {
+          label:'转入银行',
+          value:this.mainData.period
+        },
+        {
+          label:'转入账户',
+          value:this.mainData.period
+        },
+        {
+          label:'备注',
+          value:this.mainData.remarks
+        },
+      ]
+      this.detailInfo = {
+        baseInfo: [
+          {
+            label:'凭证号',
+            value:this.mainData.billno
+          },
+          {
+            label:'经销商编号',
+            value:this.mainData.agentnum
+          },
+          {
+            label:'经销商简称',
+            value:this.mainData.abbreviation
+          },
+          {
+            label:'付款人',
+            value:this.mainData.payer
+          },
+          {
+            label:'银行账号',
+            value:this.mainData.bankcardno
+          },
+          {
+            label:'银行',
+            value:this.mainData.bank
+          },
+          {
+            label:'付款时间',
+            value:this.mainData.paydate
+          },
+          {
+            label:'打款总金额',
+            value:this.mainData.amount
+          },
+          {
+            label:'单据状态',
+            value:this.mainData.status,
+            style:function () {
+              let style = {}
+              switch (that.mainData.status) {
+                case '新建':
+                  style = {color:'#333333'}
+                  break;
+                case '审核':
+                  style = {color:'#3874f6'}
+                  break;
+              }
+              return style
+            }
+          },
+          {
+            label:'回款归属月份',
+            value:this.mainData.period
+          },
+          {
+            label:'转入银行',
+            value:this.mainData.period
+          },
+          {
+            label:'转入账户',
+            value:this.mainData.period
+          },
+          {
+            label:'备注',
+            value:this.mainData.remarks
+          },
+        ],
+        systemInfo: [
+          {label:'创建人',value:this.mainData.createby},
+          {label:'创建时间',value:this.mainData.createdate},
+          {label:'审核人',value:this.mainData.checkby},
+          {label:'审核时间',value:this.mainData.checkdate},
+        ]
+      }
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex,tabIndex) {
+      this.$router.replace({path:'/remitvoucherDetail',query:{id:id,rowindex:rowindex}})
+      this.queryMainData(id)
+    },
+    onSuccess(){
+      this.visible = false
+      this.queryMainData(this.$route.query.id)
+      this.$emit('onSuccess')
+    }
+  },
+  mounted () {
+    this.queryMainData(this.$route.query.id)
+  },
+  created() {
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 143 - 0
src/HDrpManagement/remitvoucher/modules/remitDetail.vue

@@ -0,0 +1,143 @@
+
+<template>
+  <div>
+    <div style="display:flex;align-items:center">
+      <el-input
+          placeholder="请输入搜索内容"
+          suffix-icon="el-icon-search"
+          v-model="params.content.where.condition"
+          style="width:200px"
+          size="mini"
+          class="input-with-select inline-16"
+          @keyup.native.enter="listData(params.content.pageNumber=1)"
+          @clear="clearData"
+          clearable>
+      </el-input>
+      <slot name="addRemit"></slot>
+    </div>
+    <div style="margin-top: 15px">
+      <tableLayout :layout="tablecols" :data="list" :opwidth="200"  :custom="true" :width="false"  :height="tableHieght" fixedName="operation writeoffamount unwriteoffamount">
+        <template v-slot:customcol="scope">
+          <div v-if="scope.column.columnname == 'amount'">
+            <el-input size="small" v-if="currentItem.sa_paybilldetailid == scope.column.data.sa_paybilldetailid" v-model="scope.column.data.amount"></el-input>
+            <span v-else>{{scope.column.data.amount}}</span>
+          </div>
+          <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+          <p v-if="!scope.column.data[scope.column.columnname] && scope.column.data[scope.column.columnname] !== 0 && scope.column.columnname != 'operation'">--</p>
+        </template>
+        <template v-slot:opreation="scope">
+          <el-button class="inline-16" type="text" size="mini" @click="save(scope.data)" v-if="currentItem.sa_paybilldetailid == scope.data.sa_paybilldetailid">保 存</el-button>
+          <slot name="editRemit" :data="scope.data" v-else></slot>
+          <slot name="delRemit" :data="scope.data"></slot>
+        </template>
+      </tableLayout>
+    </div>
+    <div style="margin-top:16px;text-align:right">
+      <el-pagination
+          background
+          small
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="params.content.pageNumber"
+          :page-size="params.content.pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+import { log } from '@antv/g2plot/lib/utils'
+export default {
+  props:["data"],
+  data () {
+    return {
+      tableHieght:"calc(100vh - 380px)",
+      tablecols:[],
+      list:[],
+      total:0,
+      search:'',
+      params:{
+        "id": 20221227092804,
+        "version": 1,
+        "content": {
+            "nocache": true,
+            "pageNumber": 1,
+            "pageSize":20,
+            "sa_paybilldetailid": '',
+            "where": {
+                "condition": ""
+            }
+        },
+      },
+      options:[
+      ],
+      productList:'',
+      /* 当前正在编辑的数据信息 */
+      currentItem:''
+    }
+  },
+  provide () {
+    return {
+    }
+  },
+  methods:{
+    async save (data) {
+      let res = await this.$api.requested({
+        "id":20221227092904,
+        "content": {
+          sa_paybillid:this.$route.query.id,
+          paybilldetails: [
+            {
+              "sa_paybilldetailid": data.sa_paybilldetailid,
+                "sa_accountclassid":data.sa_accountclassid,
+                "amount":data.amount,
+            }
+          ]
+        }
+      })
+      console.log(res);
+      this.tool.showMessage(res,() => {
+        this.$emit('onSuccess')
+        this.listData()
+        this.currentItem = ''
+      })
+    },
+    async listData(){
+      this.params.content.sa_paybillid = this.$route.query.id
+      const res = await this.$api.requested(this.params)
+      this.list = res.data
+      this.total = res.total
+      console.log(this.list)
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+    clearData(){
+      this.search = ""
+      this.params.content.where.condition = this.search
+      this.listData()
+    },
+    queryClick(){
+      this.params.content.where.condition = this.search
+      this.listData()
+    }
+  },
+  created() {
+    this.listData()
+    this.tablecols = this.tool.tabelCol(this.$route.name).accountTable.tablecols
+  }
+}
+
+</script>
+<style scoped>
+
+</style>

+ 1 - 4
src/HDrpManagement/writeoffbill/components/add.vue

@@ -1,10 +1,7 @@
 <template>
   <div>
     <el-button size="mini" type="primary" @click="dialogFormVisible = true;form.billnodate=new Date()">新 建</el-button>
-    <el-drawer title="新 建" append-to-body :visible.sync="dialogFormVisible" size="60%">
-      <div slot="title" style="font-size: 15px">
-        新建核销单
-      </div>
+    <el-drawer title="新建核销单" append-to-body :show-close="false" :visible.sync="dialogFormVisible" size="60%">
       <div class="drawer__panel">
         <el-row>
           <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">

+ 0 - 1
src/HDrpManagement/writeoffbill/modules/order/addOrder.vue

@@ -36,7 +36,6 @@
 
 <script>
 import selectOrder from './selectOrder'
-import { log } from '@antv/g2plot/lib/utils'
 export default {
   name: "add",
   props:['data','disabled'],

+ 95 - 0
src/components/selectTable/index.vue

@@ -0,0 +1,95 @@
+<template>
+  <div>
+    <el-table ref="tables"  @select="aaaa" @select-all="selectAll" v-loading="loading" highlight-current-row :data="data" :header-cell-style="{background:'#EEEEEE',color:'#333'}" size="mini" :height="height" style="width:100%"  border>
+        <el-table-column
+        type="selection"
+        width="45"
+        align="center"
+        fixed>
+      </el-table-column>
+      <el-table-column v-for="col in layout" :key="col.tablecolid" :prop="col.columnname" :label="col.title" :width="col.width" :fixed="col.columnname === fixedName?'right':false">
+        <template slot-scope="scope">
+          <!-- 自定义表格显示内容 -->
+          <slot v-if="custom" name="customcol" :column="{data:scope.row,columnname:col.columnname}"></slot>
+          <!-- 否则就是默认 -->
+          <span v-else>{{scope.row[col.columnname]}}</span>
+          <!-- 操作结构内容 -->
+          <slot v-if="col.columnname === 'operation'" name="opreation" :data="scope.row"></slot>
+        </template>
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+import {mapGetters} from "vuex"
+export default {
+  /*
+    layout:表结构数据;
+    data:表渲染数据;
+    custom:是否启用自定义结构;
+    opwidth:操作列宽度
+  */
+  props:['layout','data','custom','height','fixedName','idName'],
+  data () {
+    return {
+      list:[],
+      allArr:[]
+    }
+  },
+  computed:{
+    ...mapGetters({
+      loading:'loading'
+    })
+  },
+  watch: {
+    data (val) {
+      console.log(val);
+      
+      this.data.forEach((row) => {
+        this.allArr.forEach(item => {
+          if (row[this.idName] == item[this.idName]) {
+            this.$nextTick(() => {
+              this.$refs["tables"].toggleRowSelection(row, true);
+            })
+          }
+        })
+      });    
+    },
+    allArr (val) {
+      this.$emit('upDateData',val)
+    }
+  },
+  methods:{
+    aaaa(e,a) {
+      let index = this.allArr.findIndex(v=>v[this.idName] == a[this.idName])
+      if(index == -1) {
+        this.allArr.push(a)
+      } else {
+        this.allArr.splice(index,1)
+      }
+      console.log(this.allArr);
+      this.$emit('selectChange',this.allArr)
+    },
+    selectAll (val) {
+      if (val.length == 0) {
+        this.data.forEach(item => {
+          this.allArr.splice(item,1)
+        })
+      } else {
+        val.forEach(item => {
+          let res = this.allArr.every(item2 => item[this.idName] != item2[this.idName])
+          res ? this.allArr.push(item) : ''
+        })
+      }
+    },
+  },
+}
+
+</script>
+<style scoped>
+
+/deep/.el-table__header .DisableSelection > .cell {
+  display: none !important;
+}
+</style>

+ 22 - 0
src/router/HDrpManagement.js

@@ -522,6 +522,28 @@ const HDrpManagement = [
       },
     ]
   },
+  {
+    path: '/remitvoucher',
+    name:'remitvoucher',
+    meta: {
+      title: '打款凭证',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/remitvoucher/index'),
+    children: [
+      {
+        path: '/remitvoucherDetail',
+        name:'remitvoucher',
+        meta: {
+          title: '打款凭证详情',
+          ast_nav: true,
+          keeproute: true,
+        },
+        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/remitvoucher/modules/detail')
+      },
+    ]
+  },
   
   
 ];