|
@@ -96,245 +96,240 @@
|
|
|
</div>
|
|
|
|
|
|
|
|
|
- <el-button type="primary" icon="el-icon-search" @click="p.pageNo = 1; f5()">查询</el-button>
|
|
|
- <br/>
|
|
|
- </el-form>
|
|
|
- <!-- ------------- 快捷按钮 ------------- -->
|
|
|
- <div class="fast-btn">
|
|
|
- <el-button type="info" @click="sa.f5()">刷新</el-button>
|
|
|
- <el-button type="warning" @click="exportFn()">导出</el-button>
|
|
|
- <el-button class="c-btn" type="success" icon="el-icon" @click="print()">打印</el-button>
|
|
|
- <slot></slot>
|
|
|
- </div>
|
|
|
- <div class="fast-btn">
|
|
|
- <el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-kaidan-confirm')"
|
|
|
- @click="kaiDanConfirm()">开单确认
|
|
|
- </el-button>
|
|
|
- <el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-diaodu-confirm')"
|
|
|
- @click="diaoDuConfirm()">复核确认
|
|
|
- </el-button>
|
|
|
- <el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-jicha-confirm')"
|
|
|
- @click="jiChaConfirm()">稽查确认
|
|
|
- </el-button>
|
|
|
- <el-button class="c-btn" type="danger" icon="el-icon" v-if="sa.isAuth('tb-jicha-cancel')"
|
|
|
- @click="jiChaCancel()">取消确认
|
|
|
- </el-button>
|
|
|
- <slot></slot>
|
|
|
- <div class="price-t">
|
|
|
- 总共<span style="color: #ff6600">  {{dataCount}}  </span>条      
|
|
|
- 总金额<span style="color: #ff6600">  {{totalPrice}}  </span>元
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- ------------- 数据列表 ------------- -->
|
|
|
- <el-table class="data-table" ref="data-table" :data="dataList" show-summary :summary-method="getSumRol">
|
|
|
- <sa-td type="selection"></sa-td>
|
|
|
- <!-- <sa-td name="作业类型" prop="feeType" type="enum"-->
|
|
|
- <!-- :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>-->
|
|
|
- <sa-td name="收费项目" prop="feeType" type="enum"
|
|
|
- :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>
|
|
|
- <sa-td name="业务类型" prop="itemTypeName"></sa-td>
|
|
|
- <sa-td name="车型" prop="itemName"></sa-td>
|
|
|
- <sa-td name="车牌号" prop="carNo" width="90px"></sa-td>
|
|
|
- <sa-td name="重量(kg)" prop="weight"></sa-td>
|
|
|
- <sa-td name="数量" prop="num"></sa-td>
|
|
|
- <sa-td name="单价(元)" prop="unitPrice"></sa-td>
|
|
|
- <sa-td name="总价(元)" prop="itemPrice"></sa-td>
|
|
|
- <sa-td name="结算状态" prop="isSettle" type="enum" :jv="{0: '未结算',1: '已结算'}"></sa-td>
|
|
|
- <sa-td name="复核状态" prop=""></sa-td>
|
|
|
- <!-- <sa-td name="税率(%)" prop="taxRate" ></sa-td>-->
|
|
|
- <el-table-column label="税率(%)">
|
|
|
-
|
|
|
- </el-table-column>
|
|
|
- <!-- <sa-td name="税款(元)" prop="taxPrice" ></sa-td>-->
|
|
|
- <el-table-column label="税款(元)">
|
|
|
- <template slot-scope="s">
|
|
|
- <span>{{Number(s.row.taxPrice).toFixed(2)}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <!-- <sa-td name="不含税金额(元)" prop="noTaxPrice" ></sa-td>-->
|
|
|
- <el-table-column label="不含税金额(元)">
|
|
|
- <template slot-scope="s">
|
|
|
- <span>{{Number(s.row.noTaxPrice).toFixed(2)}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <!-- <sa-td name="收款方式" prop="payType" type="enum" :jv="{3: '微信支付'}"></sa-td>
|
|
|
- <sa-td name="收款种类" prop="payMode" type="enum" :jv="{1: '直接收款'}"></sa-td> -->
|
|
|
- <el-table-column label="业务单号" width="140px">
|
|
|
- <template slot-scope="s">
|
|
|
- <span v-if="s.row.businessNo != null && s.row.businessNo != ''">{{s.row.businessNo}}</span>
|
|
|
- <span v-else>{{s.row.businessCarNo}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <!-- <sa-td name="订单编号" prop="transactionId" width="220px" ></sa-td>-->
|
|
|
- <el-table-column label="微信支付业务单号" width="220px">
|
|
|
- <template slot-scope="s">
|
|
|
- <el-tooltip :content="s.row.transactionId" placement="bottom" effect="light">
|
|
|
- <el-button class="keyButton">{{ s.row.transactionId }}</el-button>
|
|
|
- </el-tooltip>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <sa-td name="作业编号" prop="businessItemNo" width="145px"></sa-td>
|
|
|
- <sa-td name="作业公司" prop="pickCustomerName"></sa-td>
|
|
|
- <sa-td name="客户名称" prop="customerName"></sa-td>
|
|
|
- <sa-td name="发票号" prop="invoice" width="145px"></sa-td>
|
|
|
- <sa-td name="主体名称" prop="entityName"></sa-td>
|
|
|
- <sa-td name="生成时间" prop="createTime" width="150px"></sa-td>
|
|
|
- <sa-td name="付款时间" prop="payTime" width="150px"></sa-td>
|
|
|
- <sa-td name="备注" prop="remark"></sa-td>
|
|
|
- <sa-td name="开单员" prop="kaiDanPerson" width="80px"></sa-td>
|
|
|
- <sa-td name="复核员" prop="diaoDuPerson" width="80px"></sa-td>
|
|
|
- <sa-td name="统计稽查员" prop="jiChaPerson" width="80px"></sa-td>
|
|
|
+ <el-button type="primary" icon="el-icon-search" @click="p.pageNo = 1; f5()">查询</el-button>
|
|
|
+ <br />
|
|
|
+ </el-form>
|
|
|
+ <!-- ------------- 快捷按钮 ------------- -->
|
|
|
+ <div class="fast-btn">
|
|
|
+ <el-button type="info" @click="sa.f5()">刷新</el-button>
|
|
|
+ <el-button type="warning" @click="exportFn()">导出</el-button>
|
|
|
+ <el-button class="c-btn" type="success" icon="el-icon" @click="print()">打印</el-button>
|
|
|
+ <slot></slot>
|
|
|
+ </div>
|
|
|
+ <div class="fast-btn">
|
|
|
+ <el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-kaidan-confirm')" @click="kaiDanConfirm()">开单确认</el-button>
|
|
|
+ <el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-diaodu-confirm')" @click="diaoDuConfirm()">复核确认</el-button>
|
|
|
+ <el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-jicha-confirm')" @click="jiChaConfirm()">稽查确认</el-button>
|
|
|
+ <el-button class="c-btn" type="danger" icon="el-icon" v-if="sa.isAuth('tb-jicha-cancel')" @click="jiChaCancel()">取消确认</el-button>
|
|
|
+ <slot></slot>
|
|
|
+ <div class="price-t">
|
|
|
+ 总共<span style="color: #ff6600">  {{dataCount}}  </span>条      
|
|
|
+ 总金额<span style="color: #ff6600">  {{totalPrice}}  </span>元
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- ------------- 数据列表 ------------- -->
|
|
|
+ <el-table class="data-table" ref="data-table" :data="dataList" show-summary :summary-method="getSumRol">
|
|
|
+ <sa-td type="selection"></sa-td>
|
|
|
+<!-- <sa-td name="作业类型" prop="feeType" type="enum"-->
|
|
|
+<!-- :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>-->
|
|
|
+ <sa-td name="收费项目" prop="feeType" type="enum"
|
|
|
+ :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>
|
|
|
+ <sa-td name="业务类型" prop="itemTypeName" ></sa-td>
|
|
|
+ <sa-td name="车型" prop="itemName" ></sa-td>
|
|
|
+ <sa-td name="车牌号" prop="carNo" width="90px" ></sa-td>
|
|
|
+ <sa-td name="重量(kg)" prop="weight" ></sa-td>
|
|
|
+ <sa-td name="数量" prop="num" ></sa-td>
|
|
|
+ <sa-td name="单价(元)" prop="unitPrice" ></sa-td>
|
|
|
+ <sa-td name="总价(元)" prop="itemPrice" ></sa-td>
|
|
|
+ <sa-td name="结算状态" prop="isSettle" type="enum" :jv="{0: '未结算',1: '已结算'}"></sa-td>
|
|
|
+ <sa-td name="复核状态" prop="" ></sa-td>
|
|
|
+<!-- <sa-td name="税率(%)" prop="taxRate" ></sa-td>-->
|
|
|
+ <el-table-column label="税率(%)" >
|
|
|
+ <template slot-scope="s">
|
|
|
+ <span>{{s.row.taxRate * 100}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+<!-- <sa-td name="税款(元)" prop="taxPrice" ></sa-td>-->
|
|
|
+ <el-table-column label="税款(元)" >
|
|
|
+ <template slot-scope="s">
|
|
|
+ <span>{{Number(s.row.taxPrice).toFixed(2)}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+<!-- <sa-td name="不含税金额(元)" prop="noTaxPrice" ></sa-td>-->
|
|
|
+ <el-table-column label="不含税金额(元)" >
|
|
|
+ <template slot-scope="s">
|
|
|
+ <span>{{Number(s.row.noTaxPrice).toFixed(2)}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <sa-td name="收款方式" prop="payType" type="enum" :jv="{3: '微信支付'}"></sa-td>
|
|
|
+ <sa-td name="收款种类" prop="payMode" type="enum" :jv="{1: '直接收款'}"></sa-td> -->
|
|
|
+ <el-table-column label="业务单号" width="140px">
|
|
|
+ <template slot-scope="s">
|
|
|
+ <span v-if="s.row.businessNo != null && s.row.businessNo != ''" >{{s.row.businessNo}}</span>
|
|
|
+ <span v-else>{{s.row.businessCarNo}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+<!-- <sa-td name="订单编号" prop="transactionId" width="220px" ></sa-td>-->
|
|
|
+ <el-table-column label="微信支付业务单号" width="220px">
|
|
|
+ <template slot-scope="s">
|
|
|
+ <el-tooltip :content="s.row.transactionId"placement="bottom"effect="light">
|
|
|
+ <el-button class="keyButton">{{ s.row.transactionId }}</el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <sa-td name="作业编号" prop="businessItemNo" width="145px" ></sa-td>
|
|
|
+ <sa-td name="作业公司" prop="pickCustomerName" ></sa-td>
|
|
|
+ <sa-td name="客户名称" prop="customerName" ></sa-td>
|
|
|
+ <sa-td name="发票号" prop="invoice" width="145px"></sa-td>
|
|
|
+ <sa-td name="主体名称" prop="entityName" ></sa-td>
|
|
|
+ <sa-td name="生成时间" prop="createTime" width="150px" ></sa-td>
|
|
|
+ <sa-td name="付款时间" prop="payTime" width="150px" ></sa-td>
|
|
|
+ <sa-td name="更新时间" prop="updateTime" width="150px" ></sa-td>
|
|
|
+ <sa-td name="备注" prop="remark" ></sa-td>
|
|
|
+ <sa-td name="开单员" prop="kaiDanPerson" width="80px" ></sa-td>
|
|
|
+ <sa-td name="复核员" prop="diaoDuPerson" width="80px" ></sa-td>
|
|
|
+ <sa-td name="统计稽查员" prop="jiChaPerson" width="80px" ></sa-td>
|
|
|
|
|
|
- <!-- <el-table-column label="操作" fixed="right" width="240px">-->
|
|
|
- <!-- <template slot-scope="s">-->
|
|
|
- <!-- <el-button class="c-btn" type="success" icon="el-icon-view" @click="get(s.row)">查看</el-button>-->
|
|
|
- <!-- <el-button class="c-btn" type="primary" icon="el-icon-edit" @click="update(s.row)">修改</el-button>-->
|
|
|
- <!-- <el-button class="c-btn" type="danger" icon="el-icon-delete" @click="del(s.row)">删除</el-button>-->
|
|
|
- <!-- </template>-->
|
|
|
- <!-- </el-table-column>-->
|
|
|
- </el-table>
|
|
|
- <!-- ------------- 分页 ------------- -->
|
|
|
- <sa-item type="page" :curr.sync="p.pageNo" :size.sync="p.pageSize" :total="dataCount" @change="f5()"></sa-item>
|
|
|
- </div>
|
|
|
- <el-dialog title="提示" :visible.sync="emodel.visible" width="38%">
|
|
|
- <!-- <el-form size="mini">-->
|
|
|
- <!-- <div class="c-item">-->
|
|
|
- <!-- <label class="c-label">日期:</label>-->
|
|
|
- <!-- <el-date-picker type="date" value-format="yyyy-MM-dd" v-model="emodel.form.payDay"></el-date-picker>-->
|
|
|
- <!-- </div>-->
|
|
|
- <!-- </el-form>-->
|
|
|
- <div class="c-item">
|
|
|
- <label class="c-label">收费项目:</label>
|
|
|
- <el-select v-model="emodel.form.feeType" placeholder="请选择" filterable>
|
|
|
- <el-option label="核酸检测" value="1"></el-option>
|
|
|
- <el-option label="消杀作业" value="2"></el-option>
|
|
|
- <el-option label="装卸作业" value="3"></el-option>
|
|
|
- <el-option label="停车费" value="4"></el-option>
|
|
|
- <el-option label="过磅费" value="5"></el-option>
|
|
|
- <el-option label="入场管理费" value="6"></el-option>
|
|
|
- <el-option label="充电打冷作业" value="7"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="c-item">
|
|
|
- <label class="c-label">业务类型:</label>
|
|
|
- <el-select v-model="emodel.form.itemTypeName" placeholder="请选择" filterable>
|
|
|
- <el-option v-for="item in itemTypeList" :key="item.id"
|
|
|
- :label="item.name" :value="item.name">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="c-item">
|
|
|
- <label class="c-label"><span style="color: red;">*</span>日期范围:</label>
|
|
|
- <el-date-picker size="mini" v-model="exportTime" type="daterange" unlink-panels="false"
|
|
|
- range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
- format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
|
|
|
- </el-date-picker>
|
|
|
- </div>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
+<!-- <el-table-column label="操作" fixed="right" width="240px">-->
|
|
|
+<!-- <template slot-scope="s">-->
|
|
|
+<!-- <el-button class="c-btn" type="success" icon="el-icon-view" @click="get(s.row)">查看</el-button>-->
|
|
|
+<!-- <el-button class="c-btn" type="primary" icon="el-icon-edit" @click="update(s.row)">修改</el-button>-->
|
|
|
+<!-- <el-button class="c-btn" type="danger" icon="el-icon-delete" @click="del(s.row)">删除</el-button>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+ </el-table>
|
|
|
+ <!-- ------------- 分页 ------------- -->
|
|
|
+ <sa-item type="page" :curr.sync="p.pageNo" :size.sync="p.pageSize" :total="dataCount" @change="f5()"></sa-item>
|
|
|
+ </div>
|
|
|
+ <el-dialog title="提示" :visible.sync="emodel.visible" width="38%">
|
|
|
+<!-- <el-form size="mini">-->
|
|
|
+<!-- <div class="c-item">-->
|
|
|
+<!-- <label class="c-label">日期:</label>-->
|
|
|
+<!-- <el-date-picker type="date" value-format="yyyy-MM-dd" v-model="emodel.form.payDay"></el-date-picker>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-form>-->
|
|
|
+ <div class="c-item">
|
|
|
+ <label class="c-label">收费项目:</label>
|
|
|
+ <el-select v-model="emodel.form.feeType" placeholder="请选择" filterable>
|
|
|
+ <el-option label="核酸检测" value="1"></el-option>
|
|
|
+ <el-option label="消杀作业" value="2"></el-option>
|
|
|
+ <el-option label="装卸作业" value="3"></el-option>
|
|
|
+ <el-option label="停车费" value="4"></el-option>
|
|
|
+ <el-option label="过磅费" value="5"></el-option>
|
|
|
+ <el-option label="入场管理费" value="6"> </el-option>
|
|
|
+ <el-option label="充电打冷作业" value="7"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="c-item">
|
|
|
+ <label class="c-label">业务类型:</label>
|
|
|
+ <el-select v-model="emodel.form.itemTypeName" placeholder="请选择" filterable>
|
|
|
+ <el-option v-for="item in itemTypeList" :key="item.id"
|
|
|
+ :label="item.name" :value="item.name">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="c-item">
|
|
|
+ <label class="c-label"><span style="color: red;">*</span>日期范围:</label>
|
|
|
+ <el-date-picker size="mini" v-model="exportTime" type="daterange" unlink-panels="false"
|
|
|
+ range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
+ format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="emodel.visible = false">取 消</el-button>
|
|
|
<el-button type="primary" @click="">确 定</el-button>
|
|
|
</span>
|
|
|
- </el-dialog>
|
|
|
-</div>
|
|
|
-<script>
|
|
|
- var app = new Vue({
|
|
|
- components: {
|
|
|
- "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue'),
|
|
|
- "sa-td": httpVueLoader('../../sa-frame/com/sa-td.vue'),
|
|
|
- },
|
|
|
- el: '.vue-box',
|
|
|
- data: {
|
|
|
- p: { // 查询参数
|
|
|
- id: '', // 主键
|
|
|
- businessNo: '', // 业务单号
|
|
|
- carNo: '', // 车牌号
|
|
|
- feeType: '', //收费类型
|
|
|
- itemTypeId: '', // 业务类型id
|
|
|
- itemTypeName: '', // 业务类型
|
|
|
- itemId: '', //
|
|
|
- itemName: '', // 业务项
|
|
|
- itemPrice: '', // 项目金额(元)
|
|
|
- payDay: '', // 支付日期
|
|
|
- payType: '', // 支付方式(3=微信支付)
|
|
|
- createTime: '', // 创建时间
|
|
|
- pageNo: 1, // 当前页
|
|
|
- pageSize: 10, // 页大小
|
|
|
- sortType: 11, // 排序方式
|
|
|
- type: '',
|
|
|
- isInvoice: '', //是否开票
|
|
|
- },
|
|
|
- dataCount: 0,
|
|
|
- dataList: [], // 数据集合
|
|
|
- itemTypeList: [],
|
|
|
- selectTime: [],
|
|
|
- selectTimeRange: {
|
|
|
- beginTime: '', //查询开始时间
|
|
|
- endTime: '', //查询结束时间
|
|
|
- },
|
|
|
- exportTime: [],
|
|
|
- emodel: {
|
|
|
- visible: false,
|
|
|
- form: {
|
|
|
- // payDay: ''
|
|
|
- feeType: '',
|
|
|
- itemTypeName: '',
|
|
|
- beginTime: '', //查询开始时间
|
|
|
- endTime: '', //查询结束时间
|
|
|
- }
|
|
|
- },
|
|
|
- totalPrice: 0,
|
|
|
- tableSum: {
|
|
|
- itemPriceSum: 0,
|
|
|
- taxPriceSum: 0,
|
|
|
- noTaxPriceSum: 0,
|
|
|
- },
|
|
|
- },
|
|
|
- methods: {
|
|
|
- getSumRol(param) {
|
|
|
- console.log("执行了getSumRol")
|
|
|
- const columns = param.columns;
|
|
|
- const sums = [];
|
|
|
- columns.forEach((column, index) => {
|
|
|
- if (index === 0) {
|
|
|
- sums[index] = "合计";
|
|
|
- return;
|
|
|
- }
|
|
|
- //根据当前列绑定的字段名进行判断,根据字段名决定展示什么内容
|
|
|
- switch (column.label) {
|
|
|
- //金额;
|
|
|
- case "总价(元)":
|
|
|
- //在这里你就可以根据需要对数据进行一些处理(保留小数位数,加上单位等)
|
|
|
- sums[index] = this.tableSum.itemPriceSum;
|
|
|
- break;
|
|
|
- //人数
|
|
|
- case "税款(元)":
|
|
|
- sums[index] = this.tableSum.taxPriceSum;
|
|
|
- break;
|
|
|
- //件数;
|
|
|
- case "不含税金额(元)":
|
|
|
- sums[index] = this.tableSum.noTaxPriceSum;
|
|
|
- break;
|
|
|
- //不需要计算合计的列就展示‘--’
|
|
|
- default:
|
|
|
- sums[index] = "";
|
|
|
- break;
|
|
|
- }
|
|
|
- });
|
|
|
- return sums;
|
|
|
- },
|
|
|
- calcuSum() {
|
|
|
- var itemPriceSum = 0;
|
|
|
- var taxPriceSum = 0;
|
|
|
- var noTaxPriceSum = 0;
|
|
|
- var len = this.dataList.length;
|
|
|
- for (var i = 0; i < len; i++) {
|
|
|
- itemPriceSum = (itemPriceSum * 100 + this.dataList[i].itemPrice * 100) / 100;
|
|
|
- taxPriceSum = (taxPriceSum * 100 + this.dataList[i].taxPrice * 100) / 100;
|
|
|
- noTaxPriceSum = (noTaxPriceSum * 100 + this.dataList[i].noTaxPrice * 100) / 100;
|
|
|
- }
|
|
|
- this.tableSum.itemPriceSum = itemPriceSum;
|
|
|
- this.tableSum.taxPriceSum = Number(taxPriceSum).toFixed(2);
|
|
|
- this.tableSum.noTaxPriceSum = Number(noTaxPriceSum).toFixed(2);
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+ <script>
|
|
|
+ var app = new Vue({
|
|
|
+ components: {
|
|
|
+ "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue'),
|
|
|
+ "sa-td": httpVueLoader('../../sa-frame/com/sa-td.vue'),
|
|
|
+ },
|
|
|
+ el: '.vue-box',
|
|
|
+ data: {
|
|
|
+ p: { // 查询参数
|
|
|
+ id: '', // 主键
|
|
|
+ businessNo: '', // 业务单号
|
|
|
+ carNo: '', // 车牌号
|
|
|
+ feeType: '', //收费类型
|
|
|
+ itemTypeId: '', // 业务类型id
|
|
|
+ itemTypeName: '', // 业务类型
|
|
|
+ itemId: '', //
|
|
|
+ itemName: '', // 业务项
|
|
|
+ itemPrice: '', // 项目金额(元)
|
|
|
+ payDay: '', // 支付日期
|
|
|
+ payType: '', // 支付方式(3=微信支付)
|
|
|
+ createTime: '', // 创建时间
|
|
|
+ pageNo: 1, // 当前页
|
|
|
+ pageSize: 10, // 页大小
|
|
|
+ sortType: 11, // 排序方式
|
|
|
+ type: '',
|
|
|
+ isInvoice: '', //是否开票
|
|
|
+ },
|
|
|
+ dataCount: 0,
|
|
|
+ dataList: [], // 数据集合
|
|
|
+ itemTypeList: [],
|
|
|
+ selectTime:[],
|
|
|
+ selectTimeRange: {
|
|
|
+ beginTime: '', //查询开始时间
|
|
|
+ endTime: '', //查询结束时间
|
|
|
+ },
|
|
|
+ exportTime:[],
|
|
|
+ emodel: {
|
|
|
+ visible: false,
|
|
|
+ form: {
|
|
|
+ // payDay: ''
|
|
|
+ feeType: '',
|
|
|
+ itemTypeName: '',
|
|
|
+ beginTime: '', //查询开始时间
|
|
|
+ endTime: '', //查询结束时间
|
|
|
+ }
|
|
|
+ },
|
|
|
+ totalPrice: 0,
|
|
|
+ tableSum:{
|
|
|
+ itemPriceSum: 0,
|
|
|
+ taxPriceSum: 0,
|
|
|
+ noTaxPriceSum: 0,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getSumRol(param){
|
|
|
+
|
|
|
+ const columns = param.columns;
|
|
|
+ const sums = [];
|
|
|
+ columns.forEach((column, index) => {
|
|
|
+ if (index === 0) {
|
|
|
+ sums[index] = "合计";
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //根据当前列绑定的字段名进行判断,根据字段名决定展示什么内容
|
|
|
+ switch (column.label) {
|
|
|
+ //金额;
|
|
|
+ case "总价(元)":
|
|
|
+ //在这里你就可以根据需要对数据进行一些处理(保留小数位数,加上单位等)
|
|
|
+ sums[index] = this.tableSum.itemPriceSum;
|
|
|
+ break;
|
|
|
+ //人数
|
|
|
+ case "税款(元)":
|
|
|
+ sums[index] = this.tableSum.taxPriceSum;
|
|
|
+ break;
|
|
|
+ //件数;
|
|
|
+ case "不含税金额(元)":
|
|
|
+ sums[index] = this.tableSum.noTaxPriceSum;
|
|
|
+ break;
|
|
|
+ //不需要计算合计的列就展示‘--’
|
|
|
+ default:
|
|
|
+ sums[index] = "";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return sums;
|
|
|
+ },
|
|
|
+ calcuSum(){
|
|
|
+ var itemPriceSum = 0;
|
|
|
+ var taxPriceSum = 0;
|
|
|
+ var noTaxPriceSum = 0;
|
|
|
+ var len = this.dataList.length;
|
|
|
+ for(var i=0; i<len; i++){
|
|
|
+ itemPriceSum = (itemPriceSum*100 + this.dataList[i].itemPrice*100)/100;
|
|
|
+ taxPriceSum = (taxPriceSum*100 + this.dataList[i].taxPrice*100)/100;
|
|
|
+ noTaxPriceSum = (noTaxPriceSum*100 + this.dataList[i].noTaxPrice*100)/100;
|
|
|
+ }
|
|
|
+ this.tableSum.itemPriceSum = itemPriceSum;
|
|
|
+ this.tableSum.taxPriceSum = Number(taxPriceSum).toFixed(2);
|
|
|
+ this.tableSum.noTaxPriceSum = Number(noTaxPriceSum).toFixed(2);
|
|
|
|
|
|
},
|
|
|
getTotalPrice() {
|
|
@@ -382,195 +377,195 @@
|
|
|
}.bind(this))
|
|
|
}).catch(() => {
|
|
|
|
|
|
- });
|
|
|
- },
|
|
|
- jiChaConfirm() {
|
|
|
- let selection = this.$refs['data-table'].selection;
|
|
|
- let ids = sa.getArrayField(selection, 'id');
|
|
|
- if (selection.length == 0) {
|
|
|
- return sa.msg('请至少选择一条数据')
|
|
|
- }
|
|
|
- this.$confirm('确定进行稽查确认操作?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- }).then(() => {
|
|
|
- sa.ajax('/TbFeeDetails/jiChaConfirm', {ids: ids.join(',')}, function (res) {
|
|
|
- this.f5();
|
|
|
- }.bind(this))
|
|
|
- }).catch(() => {
|
|
|
+ });
|
|
|
+ },
|
|
|
+ jiChaConfirm(){
|
|
|
+ let selection = this.$refs['data-table'].selection;
|
|
|
+ let ids = sa.getArrayField(selection, 'id');
|
|
|
+ if(selection.length == 0) {
|
|
|
+ return sa.msg('请至少选择一条数据')
|
|
|
+ }
|
|
|
+ this.$confirm('确定进行稽查确认操作?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ }).then(() => {
|
|
|
+ sa.ajax('/TbFeeDetails/jiChaConfirm', {ids: ids.join(',')}, function(res) {
|
|
|
+ this.f5();
|
|
|
+ }.bind(this))
|
|
|
+ }).catch(() => {
|
|
|
|
|
|
- });
|
|
|
- },
|
|
|
- jiChaCancel() {
|
|
|
- let selection = this.$refs['data-table'].selection;
|
|
|
- let ids = sa.getArrayField(selection, 'id');
|
|
|
- if (selection.length == 0) {
|
|
|
- return sa.msg('请至少选择一条数据')
|
|
|
- }
|
|
|
- this.$confirm('确定进行开单确认操作?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- sa.ajax('/TbFeeDetails/jiChaCancel', {ids: ids.join(',')}, function (res) {
|
|
|
- this.f5();
|
|
|
- }.bind(this))
|
|
|
- }).catch(() => {
|
|
|
+ });
|
|
|
+ },
|
|
|
+ jiChaCancel(){
|
|
|
+ let selection = this.$refs['data-table'].selection;
|
|
|
+ let ids = sa.getArrayField(selection, 'id');
|
|
|
+ if(selection.length == 0) {
|
|
|
+ return sa.msg('请至少选择一条数据')
|
|
|
+ }
|
|
|
+ this.$confirm('确定进行开单确认操作?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ sa.ajax('/TbFeeDetails/jiChaCancel', {ids: ids.join(',')}, function(res) {
|
|
|
+ this.f5();
|
|
|
+ }.bind(this))
|
|
|
+ }).catch(() => {
|
|
|
|
|
|
- });
|
|
|
- },
|
|
|
- print: function () {
|
|
|
- if (this.selectTime != null && this.selectTime.length != 0) {
|
|
|
- this.selectTimeRange.beginTime = this.selectTime[0];
|
|
|
- this.selectTimeRange.endTime = this.selectTime[1];
|
|
|
- }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ print: function() {
|
|
|
+ if ( this.selectTime != null && this.selectTime.length != 0) {
|
|
|
+ this.selectTimeRange.beginTime = this.selectTime[0];
|
|
|
+ this.selectTimeRange.endTime = this.selectTime[1];
|
|
|
+ }
|
|
|
|
|
|
- var beginTime = this.selectTimeRange.beginTime;
|
|
|
- var endTime = this.selectTimeRange.endTime;
|
|
|
- var feeType = this.p.feeType;
|
|
|
- var itemTypeName = this.p.itemTypeName;
|
|
|
+ var beginTime = this.selectTimeRange.beginTime;
|
|
|
+ var endTime = this.selectTimeRange.endTime;
|
|
|
+ var feeType = this.p.feeType;
|
|
|
+ var itemTypeName = this.p.itemTypeName;
|
|
|
|
|
|
- var str = '';
|
|
|
- if (beginTime === '' && endTime === '') {
|
|
|
- str += '所有时间';
|
|
|
- } else {
|
|
|
- str += beginTime + "至" + endTime
|
|
|
- }
|
|
|
- if (feeType === '') {
|
|
|
- str += "、所有收费项目";
|
|
|
- } else {
|
|
|
- var feeTypeName = '';
|
|
|
- if (feeType == 1) {
|
|
|
- feeTypeName = "核酸检测";
|
|
|
- } else if (feeType == 2) {
|
|
|
- feeTypeName = "消杀作业";
|
|
|
- } else if (feeType == 3) {
|
|
|
- feeTypeName = "装卸作业";
|
|
|
- } else if (feeType == 4) {
|
|
|
- feeTypeName = "停车费";
|
|
|
- } else if (feeType == 5) {
|
|
|
- feeTypeName = "过磅费";
|
|
|
- } else if (feeType == 6) {
|
|
|
- feeTypeName = "入场管理费";
|
|
|
- } else if (feeType == 7) {
|
|
|
- feeTypeName = "充电打冷作业";
|
|
|
- }
|
|
|
- str += "、收费项目为" + feeTypeName;
|
|
|
- }
|
|
|
- if (itemTypeName === '') {
|
|
|
- str += "、所有业务类型";
|
|
|
- } else {
|
|
|
- str += "、业务类型为" + itemTypeName;
|
|
|
- }
|
|
|
+ var str = '';
|
|
|
+ if(beginTime === '' && endTime === ''){
|
|
|
+ str += '所有时间';
|
|
|
+ }else {
|
|
|
+ str += beginTime + "至" + endTime
|
|
|
+ }
|
|
|
+ if(feeType === ''){
|
|
|
+ str += "、所有收费项目";
|
|
|
+ }else{
|
|
|
+ var feeTypeName = '';
|
|
|
+ if(feeType == 1){
|
|
|
+ feeTypeName = "核酸检测";
|
|
|
+ }else if(feeType == 2){
|
|
|
+ feeTypeName = "消杀作业";
|
|
|
+ }else if(feeType == 3){
|
|
|
+ feeTypeName = "装卸作业";
|
|
|
+ }else if(feeType == 4){
|
|
|
+ feeTypeName = "停车费";
|
|
|
+ }else if(feeType == 5){
|
|
|
+ feeTypeName = "过磅费";
|
|
|
+ }else if(feeType == 6){
|
|
|
+ feeTypeName = "入场管理费";
|
|
|
+ }else if(feeType == 7){
|
|
|
+ feeTypeName = "充电打冷作业";
|
|
|
+ }
|
|
|
+ str += "、收费项目为" + feeTypeName;
|
|
|
+ }
|
|
|
+ if(itemTypeName === ''){
|
|
|
+ str += "、所有业务类型";
|
|
|
+ }else{
|
|
|
+ str += "、业务类型为" + itemTypeName;
|
|
|
+ }
|
|
|
|
|
|
- this.$confirm('确定打印' + str + '的数据?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- sa.showIframe('打印申报信息表', 'detailPrint.html?beginTime=' + beginTime + "&endTime=" + endTime + "&feeType=" + feeType + "&itemTypeName=" + itemTypeName, '1000px', '100%');
|
|
|
- }).catch(() => {
|
|
|
+ this.$confirm('确定打印'+str+'的数据?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ sa.showIframe('打印申报信息表', 'detailPrint.html?beginTime='+beginTime+"&endTime="+endTime+"&feeType="+feeType+"&itemTypeName="+itemTypeName , '1000px', '100%');
|
|
|
+ }).catch(() => {
|
|
|
|
|
|
- });
|
|
|
- },
|
|
|
- exportFn() {
|
|
|
- if (this.selectTime != null && this.selectTime.length != 0) {
|
|
|
- this.selectTimeRange.beginTime = this.selectTime[0];
|
|
|
- this.selectTimeRange.endTime = this.selectTime[1];
|
|
|
- }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ exportFn() {
|
|
|
+ if ( this.selectTime != null && this.selectTime.length != 0) {
|
|
|
+ this.selectTimeRange.beginTime = this.selectTime[0];
|
|
|
+ this.selectTimeRange.endTime = this.selectTime[1];
|
|
|
+ }
|
|
|
|
|
|
- var beginTime = this.selectTimeRange.beginTime;
|
|
|
- var endTime = this.selectTimeRange.endTime;
|
|
|
- var feeType = this.p.feeType;
|
|
|
- var itemTypeName = this.p.itemTypeName;
|
|
|
- var str = '';
|
|
|
- if (beginTime === '' && endTime === '') {
|
|
|
- str += '所有时间';
|
|
|
- } else {
|
|
|
- str += beginTime + "至" + endTime
|
|
|
- }
|
|
|
- if (feeType === '') {
|
|
|
- str += "、所有收费项目";
|
|
|
- } else {
|
|
|
- var feeTypeName = '';
|
|
|
- if (feeType == 1) {
|
|
|
- feeTypeName = "核酸检测";
|
|
|
- } else if (feeType == 2) {
|
|
|
- feeTypeName = "消杀作业";
|
|
|
- } else if (feeType == 3) {
|
|
|
- feeTypeName = "装卸作业";
|
|
|
- } else if (feeType == 4) {
|
|
|
- feeTypeName = "停车费";
|
|
|
- } else if (feeType == 5) {
|
|
|
- feeTypeName = "过磅费";
|
|
|
- } else if (feeType == 6) {
|
|
|
- feeTypeName = "入场管理费";
|
|
|
- } else if (feeType == 7) {
|
|
|
- feeTypeName = "充电打冷作业";
|
|
|
- }
|
|
|
- str += "、收费项目为" + feeTypeName;
|
|
|
- }
|
|
|
- if (itemTypeName === '') {
|
|
|
- str += "、所有业务类型";
|
|
|
- } else {
|
|
|
- str += "、业务类型为" + itemTypeName;
|
|
|
- }
|
|
|
+ var beginTime = this.selectTimeRange.beginTime;
|
|
|
+ var endTime = this.selectTimeRange.endTime;
|
|
|
+ var feeType = this.p.feeType;
|
|
|
+ var itemTypeName = this.p.itemTypeName;
|
|
|
+ var str = '';
|
|
|
+ if(beginTime === '' && endTime === ''){
|
|
|
+ str += '所有时间';
|
|
|
+ }else {
|
|
|
+ str += beginTime + "至" + endTime
|
|
|
+ }
|
|
|
+ if(feeType === ''){
|
|
|
+ str += "、所有收费项目";
|
|
|
+ }else{
|
|
|
+ var feeTypeName = '';
|
|
|
+ if(feeType == 1){
|
|
|
+ feeTypeName = "核酸检测";
|
|
|
+ }else if(feeType == 2){
|
|
|
+ feeTypeName = "消杀作业";
|
|
|
+ }else if(feeType == 3){
|
|
|
+ feeTypeName = "装卸作业";
|
|
|
+ }else if(feeType == 4){
|
|
|
+ feeTypeName = "停车费";
|
|
|
+ }else if(feeType == 5){
|
|
|
+ feeTypeName = "过磅费";
|
|
|
+ }else if(feeType == 6){
|
|
|
+ feeTypeName = "入场管理费";
|
|
|
+ }else if(feeType == 7){
|
|
|
+ feeTypeName = "充电打冷作业";
|
|
|
+ }
|
|
|
+ str += "、收费项目为" + feeTypeName;
|
|
|
+ }
|
|
|
+ if(itemTypeName === ''){
|
|
|
+ str += "、所有业务类型";
|
|
|
+ }else{
|
|
|
+ str += "、业务类型为" + itemTypeName;
|
|
|
+ }
|
|
|
|
|
|
- this.$confirm('确定导出' + str + '的数据?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- sa.ajax('/TbFeeDetails/export/details?beginTime=' + this.selectTimeRange.beginTime + '&endTime=' + this.selectTimeRange.endTime
|
|
|
- , sa.removeNull(this.p), function (resp) {
|
|
|
- window.open(resp.data);
|
|
|
- }.bind(this));
|
|
|
- }).catch(() => {
|
|
|
+ this.$confirm('确定导出'+str+'的数据?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ sa.ajax('/TbFeeDetails/export/details?beginTime='+this.selectTimeRange.beginTime+'&endTime='+this.selectTimeRange.endTime
|
|
|
+ , sa.removeNull(this.p), function(resp) {
|
|
|
+ window.open(resp.data);
|
|
|
+ }.bind(this));
|
|
|
+ }).catch(() => {
|
|
|
|
|
|
- });
|
|
|
- },
|
|
|
- // 刷新
|
|
|
- f5: function () {
|
|
|
- if (this.selectTime != null && this.selectTime.length != 0) {
|
|
|
- this.selectTimeRange.beginTime = this.selectTime[0];
|
|
|
- this.selectTimeRange.endTime = this.selectTime[1];
|
|
|
- }
|
|
|
- sa.ajax('/TbFeeDetails/getList?beginTime=' + this.selectTimeRange.beginTime + '&endTime=' + this.selectTimeRange.endTime,
|
|
|
- sa.removeNull(this.p), function (res) {
|
|
|
- this.dataList = res.data; // 数据
|
|
|
- this.dataCount = res.dataCount; // 数据总数
|
|
|
- sa.f5TableHeight(); // 刷新表格高度
|
|
|
- }.bind(this));
|
|
|
- this.getTotalPrice();
|
|
|
- },
|
|
|
- // 查看
|
|
|
- get: function (data) {
|
|
|
- sa.showIframe('数据详情', 'tb-fee-details-info.html?id=' + data.id, '1050px', '90%');
|
|
|
- },
|
|
|
- // 查看 - 根据选中的
|
|
|
- getBySelect: function (data) {
|
|
|
- var selection = this.$refs['data-table'].selection;
|
|
|
- if (selection.length == 0) {
|
|
|
- return sa.msg('请选择一条数据')
|
|
|
- }
|
|
|
- this.get(selection[0]);
|
|
|
- },
|
|
|
- getItemTypeList() {
|
|
|
- sa.ajax('/TbItemType/getList', {
|
|
|
- pageNo: 1,
|
|
|
- pageSize: 100
|
|
|
- }, function (resp) {
|
|
|
- this.itemTypeList = resp.data;
|
|
|
- }.bind(this));
|
|
|
- },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 刷新
|
|
|
+ f5: function() {
|
|
|
+ if ( this.selectTime != null && this.selectTime.length != 0) {
|
|
|
+ this.selectTimeRange.beginTime = this.selectTime[0];
|
|
|
+ this.selectTimeRange.endTime = this.selectTime[1];
|
|
|
+ }
|
|
|
+ sa.ajax('/TbFeeDetails/getList?beginTime='+this.selectTimeRange.beginTime+'&endTime='+this.selectTimeRange.endTime,
|
|
|
+ sa.removeNull(this.p), function(res) {
|
|
|
+ this.dataList = res.data; // 数据
|
|
|
+ this.dataCount = res.dataCount; // 数据总数
|
|
|
+ sa.f5TableHeight(); // 刷新表格高度
|
|
|
+ }.bind(this));
|
|
|
+ this.getTotalPrice();
|
|
|
+ },
|
|
|
+ // 查看
|
|
|
+ get: function(data) {
|
|
|
+ sa.showIframe('数据详情', 'tb-fee-details-info.html?id=' + data.id, '1050px', '90%');
|
|
|
+ },
|
|
|
+ // 查看 - 根据选中的
|
|
|
+ getBySelect: function(data) {
|
|
|
+ var selection = this.$refs['data-table'].selection;
|
|
|
+ if(selection.length == 0) {
|
|
|
+ return sa.msg('请选择一条数据')
|
|
|
+ }
|
|
|
+ this.get(selection[0]);
|
|
|
+ },
|
|
|
+ getItemTypeList() {
|
|
|
+ sa.ajax('/TbItemType/getList', {
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 100
|
|
|
+ }, function(resp) {
|
|
|
+ this.itemTypeList = resp.data;
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
|
|
|
- },
|
|
|
- created: function () {
|
|
|
- this.f5();
|
|
|
- this.getItemTypeList();
|
|
|
- sa.onInputEnter();
|
|
|
- }
|
|
|
- })
|
|
|
-</script>
|
|
|
-</body>
|
|
|
+ },
|
|
|
+ created: function() {
|
|
|
+ this.f5();
|
|
|
+ this.getItemTypeList();
|
|
|
+ sa.onInputEnter();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ </script>
|
|
|
+ </body>
|
|
|
</html>
|