瀏覽代碼

代码更新,返利代金券支出、返利代金券

qymljy 2 年之前
父節點
當前提交
5de5369ee1

+ 237 - 0
src/Form/cashcoupon/add.vue

@@ -0,0 +1,237 @@
+<template>
+  <div>
+    <el-button size="small" type="primary" @click="onShow">新增</el-button>
+    <el-drawer
+        title="新增返利代金券"
+        :visible.sync="dialogFormVisible"
+        size="40%"
+        direction="rtl"
+        :show-close="false"
+        append-to-body
+        @close="dialogFormVisible = false">
+      <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"
+                    width="700"
+                    trigger="click"
+                    v-model="enterpriseShow"
+                    @show="queryEnterprise">
+                  <el-input
+                      style="width:300px;margin-bottom: 10px"
+                      :suffix-icon="enterpriseParam.content.where.condition?enterpriseParam.content.where.condition.length > 0?'':'':'el-icon-search'"
+                      placeholder="请输入内容"
+                      v-model="enterpriseParam.content.where.condition"
+                      clearable
+                      @clear="queryEnterprise(enterpriseParam.content.pageNumber = 1)"
+                      size="mini"
+                      @keyup.enter.native="queryEnterprise(enterpriseParam.content.pageNumber = 1)">
+                  </el-input>
+                  <el-table :data="enterprise.enterpriseData" @row-click="enterpriseData" height="396px" border size="mini">
+                    <el-table-column
+                        label="企业名称"
+                        width="180">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.enterprisename?scope.row.enterprisename:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column
+                        label="省市县"
+                        width="180">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.province?scope.row.province + '-' + scope.row.city + '-' + scope.row.county:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column
+                        label="详细地址"
+                        width="0">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.address?scope.row.address:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                  <div class="container normal-panel" style="text-align:right">
+                    <el-pagination
+                        background
+                        small
+                        @size-change="handleSizeChange"
+                        @current-change="handleCurrentChange"
+                        :page-sizes="[10,20,50,100,]"
+                        layout="total,sizes, prev, pager, next, jumper"
+                        :current-page="enterprise.currentPage"
+                        :total="enterprise.total">
+                    </el-pagination>
+                  </div>
+                  <el-input slot="reference" :readonly="true" v-model="form.enterprisename" autocomplete="off" placeholder="请选择企业" ></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12" >
+              <el-form-item label="分类明细:" prop="subclass">
+                <el-select v-model="form.subclass" placeholder="请选择分类明细" style="width: 100%">
+                  <el-option
+                      v-for="item in subClassData"
+                      :key="item"
+                      :label="item"
+                      :value="item">
+                  </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="单据日期:" prop="billdate">
+                <el-date-picker
+                    v-model="form.billdate"
+                    format="yyyy-MM-dd"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="有效期:" prop="rebate_enddate">
+                <el-date-picker
+                    v-model="form.rebate_enddate"
+                    format="yyyy-MM-dd"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注:" prop="remarks">
+                <el-input v-model="form.remarks" type="textarea" rows="5" 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>
+export default {
+  name: "add",
+  data() {
+    return {
+      dialogFormVisible:false,
+      enterpriseShow:false,
+      form:{
+        "sa_cashbillid": 0,
+        "sys_enterpriseid": 2, //合作企业档案ID
+        "enterprisename":'',
+        "remarks": "",
+        "subclass": "",//明细分类
+        "amount": "", //金额
+        "rebate_enddate": '', //返利金有效期
+        "billdate": '' //单据日期
+      },
+      rules:{
+        enterprisename:[
+          { required: true, message: '请选择企业', trigger: 'change'},
+        ],
+        subclass:[
+          { required: true, message: '请选择分类明细', trigger: 'change'},
+        ],
+        amount:[
+          { required: true, message: '请输入金额', trigger: 'blur'},
+        ],
+        rebate_enddate:[
+          { required: true, message: '请选择返利金有效期', trigger: 'change'},
+        ],
+      },
+      subClassData:[],
+      enterpriseParam:{
+        content: {
+          pageNumber: 1,
+          pageSize: 20,
+          where: {
+            condition: "",
+            type: 1,
+            sa_projectid: ""
+          }
+        },
+        id: 20220920083901
+      },
+      enterprise:{
+        enterpriseData:[],
+        total:0,
+        currentPage:0,
+      }
+    }
+  },
+  methods:{
+    onSubmit(){
+      console.log(this.form)
+      this.$refs.form.validate(async(valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20230216162402,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+          this.$refs.form.resetFields()
+        })
+      })
+    },
+    onShow(){
+      this.dialogFormVisible = true
+      const newData = new Date()
+      console.log(newData.getMonth())
+      this.form.billdate = newData.getFullYear() + '-' + ((newData.getMonth() + 1) < 10? '0'+(newData.getMonth() + 1): (newData.getMonth() + 1)) + '-' + newData.getDate()
+      this.subClassList()
+    },
+    /*获取分类明细*/
+    subClassList(){
+      this.$store.dispatch('optiontypeselect','rebatebillpaytype').then(res=>{
+        console.log(res,'分类明细')
+        this.subClassData = res.data[0].subvalues
+      })
+    },
+    /*获取企业*/
+    async queryEnterprise(){
+      const res = await this.$api.requested(this.enterpriseParam)
+      this.enterprise.enterpriseData = res.data
+      this.enterprise.total = res.total
+      this.enterprise.currentPage = res.pageNumber
+    },
+    enterpriseData(row){
+      console.log(row,'row')
+      this.form.sys_enterpriseid = row.sys_enterpriseid
+      this.form.enterprisename = row.enterprisename
+      this.enterpriseShow = false
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.enterpriseParam.content.pageSize = val
+      this.queryEnterprise()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.enterpriseParam.content.pageNumber = val
+      this.queryEnterprise()
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 236 - 0
src/Form/cashcoupon/edit.vue

@@ -0,0 +1,236 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="onShow" :disabled="data.status !== '新建'">编 辑</el-button>
+    <el-drawer
+        title="编辑返利代金券"
+        :visible.sync="dialogFormVisible"
+        size="40%"
+        direction="rtl"
+        :show-close="false"
+        append-to-body
+        @close="dialogFormVisible = false">
+      <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"
+                    width="700"
+                    trigger="click"
+                    v-model="enterpriseShow"
+                    @show="queryEnterprise">
+                  <el-input
+                      style="width:300px;margin-bottom: 10px"
+                      :suffix-icon="enterpriseParam.content.where.condition?enterpriseParam.content.where.condition.length > 0?'':'':'el-icon-search'"
+                      placeholder="请输入内容"
+                      v-model="enterpriseParam.content.where.condition"
+                      clearable
+                      @clear="queryEnterprise(enterpriseParam.content.pageNumber = 1)"
+                      size="mini"
+                      @keyup.enter.native="queryEnterprise(enterpriseParam.content.pageNumber = 1)">
+                  </el-input>
+                  <el-table :data="enterprise.enterpriseData" @row-click="enterpriseData" height="396px" border size="mini">
+                    <el-table-column
+                        label="企业名称"
+                        width="180">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.enterprisename?scope.row.enterprisename:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column
+                        label="省市县"
+                        width="180">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.province?scope.row.province + '-' + scope.row.city + '-' + scope.row.county:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column
+                        label="详细地址"
+                        width="0">
+                      <template slot-scope="scope">
+                        <span style="margin-left: 10px">{{ scope.row.address?scope.row.address:'--' }}</span>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                  <div class="container normal-panel" style="text-align:right">
+                    <el-pagination
+                        background
+                        small
+                        @size-change="handleSizeChange"
+                        @current-change="handleCurrentChange"
+                        :page-sizes="[10,20,50,100,]"
+                        layout="total,sizes, prev, pager, next, jumper"
+                        :current-page="enterprise.currentPage"
+                        :total="enterprise.total">
+                    </el-pagination>
+                  </div>
+                  <el-input slot="reference" :readonly="true" v-model="form.enterprisename" autocomplete="off" placeholder="请选择企业" ></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12" >
+              <el-form-item label="分类明细:" prop="subclass">
+                <el-select v-model="form.subclass" placeholder="请选择分类明细" style="width: 100%">
+                  <el-option
+                      v-for="item in subClassData"
+                      :key="item"
+                      :label="item"
+                      :value="item">
+                  </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="单据日期:" prop="billdate">
+                <el-date-picker
+                    v-model="form.billdate"
+                    format="yyyy-MM-dd"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="有效期:" prop="rebate_enddate">
+                <el-date-picker
+                    v-model="form.rebate_enddate"
+                    format="yyyy-MM-dd"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注:" prop="remarks">
+                <el-input v-model="form.remarks" type="textarea" rows="5" 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>
+export default {
+  name: "edit",
+  props:["data"],
+  data() {
+    return {
+      dialogFormVisible:false,
+      enterpriseShow:false,
+      form:{
+        "sa_cashbillid": 0,
+        "sys_enterpriseid": 2, //合作企业档案ID
+        "enterprisename":'',
+        "remarks": "",
+        "subclass": "",//明细分类
+        "amount": "", //金额
+        "rebate_enddate": '', //返利金有效期
+        "billdate": '' //单据日期
+      },
+      rules:{
+        enterprisename:[
+          { required: true, message: '请选择企业', trigger: 'change'},
+        ],
+        subclass:[
+          { required: true, message: '请选择分类明细', trigger: 'change'},
+        ],
+        amount:[
+          { required: true, message: '请输入金额', trigger: 'blur'},
+        ],
+        rebate_enddate:[
+          { required: true, message: '请选择返利金有效期', trigger: 'change'},
+        ],
+      },
+      subClassData:[],
+      enterpriseParam:{
+        content: {
+          pageNumber: 1,
+          pageSize: 20,
+          where: {
+            condition: "",
+            type: 1,
+            sa_projectid: ""
+          }
+        },
+        id: 20220920083901
+      },
+      enterprise:{
+        enterpriseData:[],
+        total:0,
+        currentPage:0,
+      }
+    }
+  },
+  methods:{
+    onSubmit(){
+      console.log(this.form)
+      this.$refs.form.validate(async(valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20230216162402,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.dialogFormVisible = false
+          this.$refs.form.resetFields()
+        })
+      })
+    },
+    onShow(){
+      this.dialogFormVisible = true
+      this.form = Object.assign({},this.form,this.data)
+      this.subClassList()
+    },
+    /*获取分类明细*/
+    subClassList(){
+      this.$store.dispatch('optiontypeselect','rebatebillpaytype').then(res=>{
+        console.log(res,'分类明细')
+        this.subClassData = res.data[0].subvalues
+      })
+    },
+    /*获取企业*/
+    async queryEnterprise(){
+      const res = await this.$api.requested(this.enterpriseParam)
+      this.enterprise.enterpriseData = res.data
+      this.enterprise.total = res.total
+      this.enterprise.currentPage = res.pageNumber
+    },
+    enterpriseData(row){
+      console.log(row,'row')
+      this.form.sys_enterpriseid = row.sys_enterpriseid
+      this.form.enterprisename = row.enterprisename
+      this.enterpriseShow = false
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.enterpriseParam.content.pageSize = val
+      this.queryEnterprise()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.enterpriseParam.content.pageNumber = val
+      this.queryEnterprise()
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 40 - 0
src/HDrpManagement/cashcoupon/component/detailed.vue

@@ -0,0 +1,40 @@
+<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="单号">{{ data.billno?data.billno:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="单据日期">{{ data.billdate?data.billdate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="企业名称">{{ data.enterprisename?data.enterprisename:"--"}}</el-descriptions-item>
+        <el-descriptions-item label="金额">{{ data.amount?data.amount:"--"}}</el-descriptions-item>
+        <el-descriptions-item label="分类明细">{{ data.subclass?data.subclass:"--"}}</el-descriptions-item>
+        <el-descriptions-item label="状态">{{ data.status?data.status:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="返利金有效期">{{ data.rebate_enddate?data.rebate_enddate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="余额">{{ data.rebate_balance?data.rebate_balance:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="备注">{{ data.remarks?data.remarks:"--" }}</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="创建人">{{ data.createby?data.createby:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="创建时间">{{ data.createdate?data.createdate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="审核人">{{ data.checkby?data.checkby:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="审核时间">{{ data.checkdate?data.checkdate:"--" }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "detailed",
+  props:["data"]
+}
+</script>
+
+<style scoped>
+
+</style>

+ 79 - 0
src/HDrpManagement/cashcoupon/component/examine.vue

@@ -0,0 +1,79 @@
+<template>
+  <div class="inline-16">
+    <el-button v-if="data.status === '新建'" size="mini" type="primary" @click="onShow" >审核</el-button>
+    <el-dialog
+        title="提示"
+        :visible.sync="dialogVisible"
+        width="500px"
+        append-to-body
+        @close="dialogVisible = false">
+        <el-form :model="form" :rules="rules" ref="form" label-width="100px">
+          <el-form-item
+              prop="amount"
+              label="确认金额">
+              <el-input v-model="form.amount" size="small" placeholder="请输入确认金额"></el-input>
+          </el-form-item>
+        </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="small" style="width:120px" @click="dialogVisible = false">取 消</el-button>
+        <el-button type="warning" size="small" style="width:120px"  @click="examineRow">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "examine",
+  props:["data"],
+  data(){
+    var checkAmount = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error('确认金额不能为空'));
+      }
+      setTimeout(() => {
+        if (Number(value) !== this.data.amount) {
+          callback(new Error('确认金额与单据金额不一致'));
+        } else {
+          callback();
+        }
+      }, 1000);
+    };
+    return {
+      dialogVisible:false,
+      form:{
+        amount:''
+      },
+      rules:{
+        amount: [
+          { validator: checkAmount, trigger: 'blur' },
+        ],
+      }
+    }
+  },
+  methods:{
+    onShow(){
+      this.dialogVisible = true
+    },
+    examineRow(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false;
+        const res = await this.$api.requested({
+          "id": "20230216190002",
+          "content": {
+            "sa_cashbillid":this.$route.query.id
+          }
+        })
+        this.tool.showMessage(res,()=>{
+          this.dialogVisible = false
+          this.$emit("examineSuccess")
+        })
+      })
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 74 - 0
src/HDrpManagement/cashcoupon/component/payDetails.vue

@@ -0,0 +1,74 @@
+<template>
+  <div>
+    <tableLayout :layout="tablecols" :data="list" :opwidth="200"  :custom="true" :width="false"  :height="tableHieght" fixedName="operation">
+      <template v-slot:customcol="scope">
+        <p >{{scope.column.data[scope.column.columnname]}}</p>
+      </template>
+      <template v-slot:opreation="scope">
+      </template>
+    </tableLayout>
+    <div  class="container normal-panel" style="text-align:right">
+      <el-pagination
+          background
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[20, 50, 100, 200]"
+          layout="total,sizes, prev, pager, next, jumper"
+          :total="total">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "payDetails",
+  data(){
+    return {
+      tableHieght:"600px",
+      tablecols:[],
+      list:[],
+      total:0,
+      currentPage:0,
+      param:{
+        "id": 20230216195002,
+        "content": {
+          "sa_cashbillid": this.$route.query.id,
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": ""
+          }
+        }
+      }
+    }
+  },
+  methods:{
+    async listData(){
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      this.total = res.tatal
+      this.currentPage = res.pageNumber
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.listData()
+    },
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).payDetailsTable.tablecols
+  }
+
+}
+</script>
+
+<style scoped>
+
+</style>

+ 64 - 0
src/HDrpManagement/cashcoupon/index.vue

@@ -0,0 +1,64 @@
+<template>
+  <div>
+    <basicLayout
+        ref="list"
+        formPath="cashcoupon"
+        tableName="cashcouponTable"
+        idName="sa_cashbillid"
+        :apiId="{query:20230216192902,del:20230216183402}"
+        :detailPath="{
+        path:'/cashcouponDetail'
+        }">
+      <div slot="titleRight">
+        <!--        <importExcel style="margin-left:10px" @onSuccess="onSuccess"></importExcel>-->
+      </div>
+      <template #custom >
+        <div class="mt-10">
+          <label class="search__label" >状态:</label>
+          <el-select  class="inline-24" @change="selectChange" v-model="selectParam.status" placeholder="请选择状态" size="small" clearable>
+            <el-option v-for="item in statusData" :key="item.value" :value="item.value" :label="item.label"></el-option>
+          </el-select>
+        </div>
+      </template>
+      <template v-slot:tbList="scope">
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+      </template>
+      <template v-slot:tbOpreation="scope">
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "index",
+  data(){
+    return {
+      statusData:[
+        {
+          value:'新建',
+          label:'新建'
+        },
+        {
+          value:'审核',
+          label:'审核'
+        }
+      ],
+      selectParam:{
+        status:''
+      }
+    }
+  },
+  methods:{
+    selectChange(){
+      this.$refs.list.param.content.where = this.selectParam
+      this.$refs.list.param.content.pageNumber = 1
+      this.$refs.list.listData()
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 116 - 0
src/HDrpManagement/cashcoupon/modules/detail.vue

@@ -0,0 +1,116 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :titleText="mainData.billno"
+        formPath="cashcoupon"
+        :editData="mainData"
+        :mainAreaData="mainAreaData"
+        :turnPageId="20230216192902"
+        :delApiId="20230216183402"
+        idname="sa_cashbillid"
+        ownertable="sa_cashbill"
+        :tabs="['详细信息','支出明细']"
+        :statusCheck="[{key:'status',value:'审核'}]"
+        @pageChange="pageChange"
+        @onEditSuccess="queryMainData($route.query.id)">
+      <div slot="customOperation">
+        <examine class="inline-16" v-if="tool.checkAuth($route.name,'check')" :data="mainData"  @examineSuccess="onSuccess"></examine>
+      </div>
+      <div slot="slot0" >
+        <detailed :data="mainData"></detailed>
+      </div>
+      <div slot="slot1">
+        <payDetails></payDetails>
+      </div>
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+import detailed from '../component/detailed'
+import payDetails from "@/HDrpManagement/cashcoupon/component/payDetails";
+import examine from '../component/examine'
+export default {
+  name: "detail",
+  components:{detailed,payDetails,examine},
+  data(){
+    return {
+      mainData:{},
+      mainAreaData:[],
+    }
+  },
+  methods:{
+    async queryMainData(id){
+      const res = await this.$api.requested({
+        "id": "20230216191602",
+        "content": {
+          "sa_cashbillid":this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      console.log(this.mainData);
+
+      this.changeDataStructure()
+    },
+    changeDataStructure(){
+      this.mainAreaData = [
+        {
+          label:'单号',
+          value:this.mainData.billno
+        },
+        {
+          label:'单据日期',
+          value:this.mainData.billdate
+        },
+        {
+          label:'企业名称',
+          value:this.mainData.enterprisename
+        },
+        {
+          label:'金额',
+          value:this.mainData.amount
+        },
+        {
+          label:'分类明细',
+          value:this.mainData.subclass
+        },
+        {
+          label:'状态',
+          value:this.mainData.status
+        },
+        {
+          label:'返利金有效期',
+          value:this.mainData.rebate_enddate
+        },
+        {
+          label:'余额',
+          value:this.mainData.rebate_balance
+        },
+        {
+          label:'备注',
+          value:this.mainData.remarks
+        }
+      ]
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex) {
+      this.flag = false
+      this.$router.replace({path:'/cashcouponDetail',query:{id:id,rowindex:rowindex}})
+      this.queryMainData(id)
+    },
+    onSuccess(){
+      this.queryMainData(this.$route.query.id)
+    },
+  },
+  created() {
+    console.log('触发111');
+
+    this.queryMainData(this.$route.query.id)
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 38 - 0
src/HDrpManagement/cashcouponPay/component/detailed.vue

@@ -0,0 +1,38 @@
+<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="单号">{{ data.billno?data.billno:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="单据日期">{{ data.billdate?data.billdate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="企业名称">{{ data.enterprisename?data.enterprisename:"--"}}</el-descriptions-item>
+        <el-descriptions-item label="返利代金券">{{ data.rebate_billno?data.rebate_billno:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="返利金有效期">{{ data.rebate_enddate?data.rebate_enddate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="支出金额">{{ data.rebate_amount?data.rebate_amount:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="备注">{{ data.remarks?data.remarks:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="状态">{{ data.status?data.status:"--" }}</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="创建人">{{ data.createby?data.createby:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="创建时间">{{ data.createdate?data.createdate:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="审核人">{{ data.checkby?data.checkby:"--" }}</el-descriptions-item>
+        <el-descriptions-item label="审核时间">{{ data.checkdate?data.checkdate:"--" }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "detailed",
+  props:["data"]
+}
+</script>
+
+<style scoped>
+
+</style>

+ 63 - 0
src/HDrpManagement/cashcouponPay/index.vue

@@ -0,0 +1,63 @@
+<template>
+  <div>
+    <basicLayout
+        ref="list"
+        tableName="cashcouponpayTable"
+        idName="sa_cashbillid"
+        :apiId="{query:20230217095002,del:''}"
+        :detailPath="{
+        path:'/cashcouponPayDetail'
+        }">
+      <div slot="titleRight">
+        <!--        <importExcel style="margin-left:10px" @onSuccess="onSuccess"></importExcel>-->
+      </div>
+      <template #custom >
+        <div class="mt-10">
+          <label class="search__label" >状态:</label>
+          <el-select  class="inline-24" @change="selectChange" v-model="selectParam.status" placeholder="请选择状态" size="small" clearable>
+            <el-option v-for="item in statusData" :key="item.value" :value="item.value" :label="item.label"></el-option>
+          </el-select>
+        </div>
+      </template>
+      <template v-slot:tbList="scope">
+        {{scope.data.column.data[[scope.data.column.columnname]]}}
+      </template>
+      <template v-slot:tbOpreation="scope">
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "index",
+  data(){
+    return {
+      statusData:[
+        {
+          value:'新建',
+          label:'新建'
+        },
+        {
+          value:'审核',
+          label:'审核'
+        }
+      ],
+      selectParam:{
+        status:''
+      }
+    }
+  },
+  methods:{
+    selectChange(){
+      this.$refs.list.param.content.where = this.selectParam
+      this.$refs.list.param.content.pageNumber = 1
+      this.$refs.list.listData()
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 101 - 0
src/HDrpManagement/cashcouponPay/modules/detail.vue

@@ -0,0 +1,101 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :titleText="mainData.billno"
+        :editData="mainData"
+        :mainAreaData="mainAreaData"
+        :turnPageId="20230217095002"
+        idname="sa_cashbillid"
+        ownertable="sa_cashbill"
+        :tabs="['详细信息']"
+        @pageChange="pageChange"
+        >
+      <div slot="customOperation">
+      </div>
+      <div slot="slot0" >
+        <detailed :data="mainData"></detailed>
+      </div>
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+import detailed from '../component/detailed'
+export default {
+  name: "detail",
+  components:{detailed},
+  data(){
+    return {
+      mainData:{},
+      mainAreaData:[],
+    }
+  },
+  methods:{
+    async queryMainData(id){
+      const res = await this.$api.requested({
+        "id": "20230217095102",
+        "content": {
+          "sa_cashbillid":this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      console.log(this.mainData);
+
+      this.changeDataStructure()
+    },
+    changeDataStructure(){
+      this.mainAreaData = [
+        {
+          label:'单号',
+          value:this.mainData.billno
+        },
+        {
+          label:'单据日期',
+          value:this.mainData.billdate
+        },
+        {
+          label:'企业名称',
+          value:this.mainData.enterprisename
+        },
+        {
+          label:'返利代金券',
+          value:this.mainData.rebate_billno
+        },
+        {
+          label:'返利金有效期',
+          value:this.mainData.rebate_enddate
+        },
+        {
+          label:'支出金额',
+          value:this.mainData.rebate_amount
+        },
+        {
+          label:'备注',
+          value:this.mainData.remarks
+        },
+        {
+          label:'状态',
+          value:this.mainData.status
+        }
+      ]
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex) {
+      this.flag = false
+      this.$router.replace({path:'/cashcouponPayDetail',query:{id:id,rowindex:rowindex}})
+      this.queryMainData(id)
+    },
+    onSuccess(){
+      this.queryMainData(this.$route.query.id)
+    }
+  },
+  created() {
+    this.queryMainData(this.$route.query.id)
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 11 - 1
src/HDrpManagement/contractManage/components/addContract.vue

@@ -291,7 +291,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="居间服务商:" prop="enterprisename">
+              <el-form-item label="居间商:" prop="enterprisename">
                 <el-popover
                   placement="bottom"
                   trigger="manual"
@@ -319,6 +319,11 @@
                 <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
               </el-form-item>
             </el-col>
+<!--            <el-col :span="24">
+              <el-form-item label="项目编号:" prop="projectnum">
+                <el-input disabled type="text" size="small" v-model="form.projectnum"></el-input>
+              </el-form-item>
+            </el-col>-->
             <el-col :span="24">
               <el-form-item label="业务员:" prop="">
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
@@ -428,6 +433,7 @@ export default {
         "sa_contractid": 0,
         "sys_enterpriseid": "",
         "projectname":'',
+        "projectnum":'',
         "begdate": "",
         "enddate": "",
         "sa_projectid": "", //可选
@@ -554,6 +560,7 @@ export default {
       "sa_contractid": 0,
       "sys_enterpriseid": "",
       "projectname":'',
+      "projectnum":'',
       "begdate": "",
       "enddate": "",
       "sa_projectid": "", //可选
@@ -652,6 +659,7 @@ export default {
         "sa_contractid": 0,
         "sys_enterpriseid": "",
         "projectname":'',
+        "projectnum":"",
         "begdate": "",
         "enddate": "",
         "sa_projectid": "", //可选
@@ -746,10 +754,12 @@ export default {
       this.agentVisible = false
     },
     concratChange (data) {
+      console.log(data,"输出")
       this.centerEnterpriseList = data.parties
       this.form.ascription_title = data.projectname
       this.form.ascription_contractid = data.sa_contractid
       this.form.projectname = data.projectname
+      this.form.projectnum = data.projectnum
       this.form.sa_projectid = data.sa_projectid
       this.concratVisible = false
     },

+ 8 - 1
src/HDrpManagement/contractManage/components/editContract.vue

@@ -291,7 +291,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="居间服务商:" prop="sys_enterpriseid">
+              <el-form-item label="居间商:" prop="sys_enterpriseid">
                 <el-popover
                   placement="bottom"
                   trigger="manual"
@@ -319,6 +319,11 @@
                 <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
               </el-form-item>
             </el-col>
+<!--            <el-col :span="24">
+              <el-form-item label="项目编号:" prop="projectnum">
+                <el-input disabled type="text" size="small" v-model="form.projectnum"></el-input>
+              </el-form-item>
+            </el-col>-->
             <el-col :span="24">
               <el-form-item label="业务员:" prop="salername">
                   <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
@@ -429,6 +434,7 @@ export default {
         "sys_enterpriseid": "",
         "enterprisename":'',
         "projectname":'',
+        "projectnum":'',
         "begdate": "",
         "enddate": "",
         "sa_projectid": "", //可选
@@ -741,6 +747,7 @@ export default {
       this.form.ascription_title = data.projectname
       this.form.ascription_contractid = data.sa_contractid
       this.form.projectname = data.projectname
+      this.form.projectnum = data.projectnum
       this.form.sa_projectid = data.sa_projectid
       this.concratVisible = false
     },

+ 1 - 1
src/HDrpManagement/contractManage/index.vue

@@ -123,7 +123,7 @@
         <span v-if="!scope.data.column.data[[scope.data.column.columnname]] && scope.data.column.data[[scope.data.column.columnname]] !== 0">--</span>
       </template>
       <template v-slot:tbOpreation="scope">
-        <el-button size="mini" @click="$router.push({path:'/directSelling',query:{id:scope.data.data.sa_contractid,sys_enterpriseid:scope.data.data.sys_enterpriseid}})" type="text" >打印</el-button>
+<!--        <el-button size="mini" @click="$router.push({path:'/directSelling',query:{id:scope.data.data.sa_contractid,sys_enterpriseid:scope.data.data.sys_enterpriseid}})" type="text" >打印</el-button>-->
       </template>
     </basicLayout>
   </div>

+ 1 - 1
src/HDrpManagement/payvoucher/index.vue

@@ -117,7 +117,7 @@ export default {
         this.selectParam.enddate = ''
       }
       this.$refs.list.param.content.where = this.selectParam
-      this.$refs.list.param.content.phonenumber = 1
+      this.$refs.list.param.content.pageNumber = 1
       this.$refs.list.listData()
     },
 

+ 2 - 2
src/SDrpManagement/Products/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="container">
-    <select-class ref="class" @onClassChange="onClassChange" @clickField="clickField" :default="true"></select-class>
+    <select-class ref="class" @onClassChange="onClassChange" @clickField="clickField" :default="true" ></select-class>
     <list ref="list" ></list>
   </div>
 </template>
@@ -28,7 +28,7 @@ export default {
     clickField (item) {
       this.$refs['list'].params.content.tradefield = item.tradefield
       this.selectClick()
-    }
+    },
   }
 }
 

+ 5 - 2
src/SDrpManagement/Products/modules/Select.vue

@@ -80,8 +80,11 @@ export default {
       const res = await this.$api.requested({
         "id":"20220922110403","content":{"sa_brandid":this.brand_act}
       })
-      this.itemclass = res.data[0].ttemclass
-      this.clickClass(res.data[0].ttemclass[0])
+      if ( res.data.length > 0) {
+        this.itemclass =  res.data[0].ttemclass
+        res.data[0].ttemclass.length > 0?this.clickClass(res.data[0].ttemclass[0]):''
+      }
+
     },
     clickBrand (id) {
       this.brand_act = id

+ 6 - 6
src/SDrpManagement/QuotedPrice/components/productTable.vue

@@ -339,30 +339,30 @@ export default {
     },
     brandChange(id) {
       this.brandId = id
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     onClassChange (n) {
       this.params.content.where.itemclassid = n.itemclassid
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     Search(data) {
       this.params.content.where.condition = data
       this.params.content.pageNumber = 1
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     clearSearch() {
       this.params.content.where.condition = ''
       this.params.content.pageNumber = 1
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     clickField (item) {
       console.log(item,'clickField')
       this.params.content.where.tradefield = item.value
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     clickStandard (item){
       this.params.content.where.standards = item.value
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     }
   },
   mounted() {

+ 6 - 6
src/SDrpManagement/QuotedPrice/components/productTableProject.vue

@@ -339,30 +339,30 @@ export default {
 
     brandChange(id) {
       this.brandId = id
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     onClassChange (n) {
       this.params.content.where.itemclassid = n.itemclassid
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     Search(data) {
       this.params.content.where.condition = data
       this.params.content.pageNumber = 1
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     clearSearch() {
       this.params.content.where.condition = ''
       this.params.content.pageNumber = 1
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     clickField (item) {
       console.log(item,'clickField')
       this.params.content.where.tradefield = item.value
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     },
     clickStandard (item){
       this.params.content.where.standards = item.value
-      this.queryProduct()
+      this.queryProduct(this.sa_quotedpriceid,this.type)
     }
   },
   mounted() {

+ 44 - 0
src/router/HDrpManagement.js

@@ -904,6 +904,50 @@ const HDrpManagement = [
       },
     ]
   },
+  {
+    path: '/cashcoupon',
+    name: 'cashcoupon',
+    meta: {
+      title: '返利代金券',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/cashcoupon/index'),
+    children: [
+      {
+        path: '/cashcouponDetail',
+        name: 'cashcoupon',
+        meta: {
+          title: '返利代金券详情',
+          ast_nav: true,
+          keeproute: true,
+        },
+        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/cashcoupon/modules/detail'),
+      }
+    ]
+  },
+  {
+    path: '/cashcouponpay',
+    name: 'cashcouponpay',
+    meta: {
+      title: '返利代金券支出',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/cashcouponPay/index'),
+    children: [
+      {
+        path: '/cashcouponPayDetail',
+        name: 'cashcouponpay',
+        meta: {
+          title: '返利代金券支出详情',
+          ast_nav: true,
+          keeproute: true,
+        },
+        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/cashcouponPay/modules/detail'),
+      }
+    ]
+  }
   
 ];
 export default HDrpManagement;