2 次代码提交 999e9db821 ... aca49e39f1

作者 SHA1 备注 提交日期
  linbl aca49e39f1 二级市场-订单管理:增加按钮权限控制 3 周之前
  linbl 14e19bb332 日屋项目需求页面修改 1 月之前

+ 92 - 7
sa-frame/menu-list-sp.js

@@ -182,7 +182,7 @@ window.menuList.unshift({
 					{
 						id: 'tb-group',
 						icon: 'el-icon-s-data',
-						name: '互助组管理',
+						name: '边民互助子系统',
 						url: 'sa-view/tb-group/tb-group-list.html',
 						childList: [{
 								id: 'tb-group-add',
@@ -236,7 +236,7 @@ window.menuList.unshift({
 					{
 						id: 'tb-shop',
 						icon: 'el-icon-receiving',
-						name: '商铺管理',
+						name: '商铺账册管理',
 						url: 'sa-view/tb-shop/tb-shop-list.html',
 						childList: [{
 								id: 'tb-shop-add',
@@ -583,7 +583,7 @@ window.menuList.unshift({
 					},
 				]
 			},
-			
+
 			{
 				id: 'tb-banner',
 				name: '轮播图',
@@ -620,16 +620,96 @@ window.menuList.unshift({
 		]
 	}, {
 		id: 'trade-manager',
-		name: '交易管理',
+		name: '交易结算子系统',
 		parent: true,
 		icon: 'el-icon-s-unfold',
-		childList: [{
+		childList: [
+			{
+				id: 'declaration',
+				icon: 'el-icon-school',
+				name: '互市申报',
+				parent: true,
+				childList: [
+					{
+						id: 'entry-declaration',
+						name: '进出境申报',
+						icon: 'el-icon-s-custom',
+						url: 'sa-view/entry-declaration/ht-trade-settlement-list.html',
+						childList: [
+							{
+								id: 'ht-trade-settlement-add',
+								name: '添加订单',
+								isShow: false
+							},
+							{
+								id: 'ht-trade-settlement-edit',
+								name: '修改订单',
+								isShow: false
+							},
+							{
+								id: 'tb-order-edit-price',
+								name: '修改上架金额',
+								isShow: false
+							},
+							{
+								id: 'ht-trade-settlement-hzsconfirm',
+								name: '互助社确认',
+								isShow: false
+							},
+						]
+					},
+					{
+						id: 'import-declaration',
+						name: '进出口申报',
+						icon: 'el-icon-s-unfold',
+						url: 'sa-view/import-declaration/tb-order-list.html',
+						childList: [
+							{
+								id: 'tb-order-edit',
+								name: '修改订单',
+								isShow: false
+							},
+							{
+								id: 'tb-order-del',
+								name: '删除订单',
+								isShow: false
+							},
+							{
+								id: 'bank-info',
+								name: '银行回执',
+								isShow: false
+							},
+							{
+								id: 'tb-order-deduction',
+								name: '订单扣款',
+								isShow: false
+							},
+							{
+								id: 'tb-order-send009',
+								name: '补推009',
+								isShow: false
+							},
+							{
+								id: 'tb-order-sendCXB001',
+								name: '推送结关',
+								isShow: false
+							},
+							{
+								id: 'tb-order-refund',
+								name: '退款',
+								isShow: false
+							},
+						]
+					}
+				]
+			},
+			{
 				id: 'level-one-market',
 				icon: 'el-icon-school',
 				name: '一级市场',
 				parent: true,
 				childList: [
-				
+
 					{
 						id: 'level-order',
 						name: '交易订单',
@@ -834,6 +914,11 @@ window.menuList.unshift({
 								name: '采购商补扣款',
 								isShow: false
 							},
+							{
+								id: 'bank-info',
+								name: '查看银行回执',
+								isShow: false
+							},
 						]
 					}
 				]
@@ -950,4 +1035,4 @@ window.menuList.unshift({
 		]
 	}
 
-);
+);

+ 36 - 36
sa-frame/sa-code.js

@@ -1,51 +1,51 @@
-// 在使用时,不建议你直接魔改模板的代码,以免在运行时出现意外bug,而是在本文件中根据模板的提供的API,来适应你的业务逻辑 
+// 在使用时,不建议你直接魔改模板的代码,以免在运行时出现意外bug,而是在本文件中根据模板的提供的API,来适应你的业务逻辑
 // sa-plus 快速开发平台:		http://sa-plus.dev33.cn
 // ....
 
 
 
-// ================================= 示例:一些基本信息 ================================= 
+// ================================= 示例:一些基本信息 =================================
 
-// 设置模板标题 
+// 设置模板标题
 // sa_admin.title = "Sa-Admin";
-// sa_admin.logo = 'sa-frame/admin-logo.png';    // 设置logo图标地址   
-// sa_admin.icon = 'sa-frame/admin-logo.png';    // 设置icon图标地址 
+// sa_admin.logo = 'sa-frame/admin-logo.png';    // 设置logo图标地址
+// sa_admin.icon = 'sa-frame/admin-logo.png';    // 设置icon图标地址
 
 
 // ================================= 用户信息 和 菜单 =================================
 sa.ajax('/sp-admin/AccAdmin/fristOpenAdmin', function(res) {
 
-	// 验证权限 
+	// 验证权限
 	// if(!(res.data.admin && res.data.per_list.indexOf('99') > -1)) {
 	// 	return sa.alert('当前账号暂无进入后台权限');
-	// }	
-	
-	// 配置 
-	sa_admin.title = "互市管理后台";
-	sa_admin.logo = 'sa-frame/logo.png';    // 设置logo图标地址 
-	sa_admin.icon = "sa-frame/logo.png";    // 设置logo图标地址 
-	
-	
-	// 当前用户信息 
+	// }
+
+	// 配置
+	sa_admin.title = "一场两区互市管理平台";
+	sa_admin.logo = '';//'sa-frame/logo.png';    // 设置logo图标地址
+	sa_admin.icon = "sa-frame/logo.png";    // 设置logo图标地址
+
+
+	// 当前用户信息
 	sa_admin.user = {
 		username: res.data.admin.name,
-		avatar: !!res.data.admin.avatar ? res.data.admin.avatar : 'sa-frame/admin-logo.png' // 使用logo作为头像 
-		// avatar: res.data.admin.avatar // 此写法为账号头像 
-	};		
+		avatar: !!res.data.admin.avatar ? res.data.admin.avatar : 'sa-frame/admin-logo.png' // 使用logo作为头像
+		// avatar: res.data.admin.avatar // 此写法为账号头像
+	};
 	sa.$sys.setCurrUser(res.data.admin);
-	
-	
+
+
 	// 所有菜单
-	// var myMenuList = window.menuList;    // window.menuList 在 menu-list.js 中定义 
-	sa_admin.initMenu(res.data.per_list);    // 初始化菜单   
-	sa.setAuth(res.data.per_list);		// 当前用户权限码集合  
-	
-	// 配置信息 
+	// var myMenuList = window.menuList;    // window.menuList 在 menu-list.js 中定义
+	sa_admin.initMenu(res.data.per_list);    // 初始化菜单
+	sa.setAuth(res.data.per_list);		// 当前用户权限码集合
+
+	// 配置信息
 	sa.$sys.setAppCfg(res.app_cfg);
-	
-	// 初始化模板(必须调用) 
-	sa_admin.init();	
-	
+
+	// 初始化模板(必须调用)
+	sa_admin.init();
+
 }.bind(this), {msg: '正在加载登录信息', login_url: 'login.html'});
 
 
@@ -101,23 +101,23 @@ sa_admin.dropList = [		// 头像点击处可操作的选项
 
 // ================================= 示例:js控制打开某个菜单 =================================
 
-// 显示主页选项卡 
+// 显示主页选项卡
 // sa_admin.showHome();
 
 // 显示一个选项卡, 根据id
 // sa_admin.showTabById('1-1');
 
-// 关闭一个选项卡,根据 id 
+// 关闭一个选项卡,根据 id
 // sa_admin.closeTabById('1-1');
 
 // 新增一个选项卡
-// sa_admin.addTab({id: 12345, name: '新页面', url: 'http://web.yanzhi21.com'});	// id不要和已有的菜单id冲突,其它属性均可参照菜单项 
+// sa_admin.addTab({id: 12345, name: '新页面', url: 'http://web.yanzhi21.com'});	// id不要和已有的菜单id冲突,其它属性均可参照菜单项
 
-// 新增一个选项卡、并立即显示  
-// sa_admin.showTab({id: 12345, name: '新页面', url: 'http://web.yanzhi21.com'});	// 参数同上 
+// 新增一个选项卡、并立即显示
+// sa_admin.showTab({id: 12345, name: '新页面', url: 'http://web.yanzhi21.com'});	// 参数同上
 
 // 打开一个 菜单,根据 id
-// sa_admin.showMenuById('1-1');	
+// sa_admin.showMenuById('1-1');
 
 
 
@@ -127,7 +127,7 @@ sa_admin.dropList = [		// 头像点击处可操作的选项
 
 // 注意:
 // 根据`iframe`的子父通信原则,在子页面中调用父页面的方法,需要加上parent前缀,例如:
-// parent.sa_admin.msg('啦啦啦');		// 调用父页面的弹窗方法 
+// parent.sa_admin.msg('啦啦啦');		// 调用父页面的弹窗方法
 
 
 

+ 183 - 0
sa-view/entry-declaration/ht-trade-settlement-info.html

@@ -0,0 +1,183 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<title>航通交易结算表-详情</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<!-- 所有的 css js 资源 -->
+		<link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
+		<link rel="stylesheet" href="../../static/sa.css">
+		<script src="../../static/kj/vue.min.js"></script>
+		<script src="../../static/kj/element-ui/index.js"></script>
+		<script src="../../static/kj/httpVueLoader.js"></script>
+		<script src="../../static/kj/jquery.min.js"></script>
+		<script src="../../static/kj/layer/layer.js"></script>
+		<script src="../../static/sa.js"></script>
+		<style type="text/css">
+			.c-panel .c-label{width: 18em;}
+			table {
+			  font-family: arial, sans-serif;
+			  border-collapse: collapse;
+			  width: 90%;
+			  margin-top: 20px ;
+			  margin-left: auto;
+			  margin-right: auto;
+			}
+			th {
+			  border: 1px solid darkgray;
+			  text-align: left;
+			  height: 24px;
+			  padding: 8px;
+			  background-color: #dddddd;
+			}
+			td {
+			  border: 1px solid darkgray;
+			  text-align: left;
+			  padding: 8px;
+			}
+		</style>
+	</head>
+	<body>
+		<div class="vue-box sbot" style="display: none;" :style="'display: block;'">
+			<!-- ------- 内容部分 ------- -->
+			<div class="s-body">
+				<div class="c-panel">
+					<el-form v-if="m">
+						<table>
+							<tr>
+								<th>预申报编号</th>
+								<td>{{m.platSeqNo}}</td>
+								<th>申报单编号</th>
+								<td>{{m.declareId}}</td>
+							</tr>
+							<tr>
+								<th>申报人类型</th>
+								<td>
+									<b v-if="m.declareType == 1">边民</b>
+									<b v-if="m.declareType == 2">商铺业主或其代理人</b>
+									<b v-if="m.declareType == 3">合作社代表</b>
+									<b v-if="m.declareType == 4">互助组代表</b>
+								</td>
+								<th>申报人姓名</th>
+								<td>{{m.declareName}}</td>
+							</tr>
+							<tr>
+								<th>申报时间</th>
+								<td>{{sa.forDate(m.declTime, 2)}}</td>
+								<th>身份证号码</th>
+								<td>{{m.idno}}</td>
+							</tr>
+							<tr>
+								<th>商铺编码</th>
+								<td>{{m.shopNo}}</td>
+								<th>商铺名称</th>
+								<td>{{m.shopName}}</td>
+							</tr>
+							<tr>
+								<th>商品名称</th>
+								<td>{{m.goodsNames}}</td>
+								<th>总金额</th>
+								<td>{{m.sumAmt}}</td>
+							</tr>
+							<tr>
+								<th>总毛重</th>
+								<td>{{m.sumGrossWt}}</td>
+								<th>总净重</th>
+								<td>{{m.sumNetWt}}</td>
+							</tr>
+							<tr>
+								<th>运输方式</th>
+								<td>{{m.trafMode}}</td>
+								<th>币制</th>
+								<td>{{m.currCode}}</td>
+							</tr>
+							<tr>
+								<th>件数</th>
+								<td>{{m.packNo}}</td>
+								<th>合作社社会统一信用代码</th>
+								<td>{{m.orgScc}}</td>
+							</tr>
+							<tr>
+								<th>互助组/合作社备案编号</th>
+								<td>{{m.orgPutrecNo}}</td>
+								<th>互助组/合租社名称</th>
+								<td>{{m.orgName}}</td>
+							</tr>
+							<tr>
+								<th>车牌号</th>
+								<td>{{m.veNo}}</td>
+								<th>业务模式</th>
+								<td>
+									<b v-if="m.btrnbBizModecd == 1">区内交易</b>
+									<b v-if="m.btrnbBizModecd == 2">落地加工</b>
+									<b v-if="m.btrnbBizModecd == 3">原装提离</b>
+									<b v-if="m.btrnbBizModecd == 4">直接出口</b>
+									<b v-if="m.btrnbBizModecd == 5">出口销售</b>
+								</td>
+							</tr>
+							<tr>
+								<th>商品流向</th>
+								<td>
+									<b v-if="m.gFlow == 1">二次销售</b>
+									<b v-if="m.gFlow == 2">生活自用</b>
+									<b v-if="m.gFlow == 3">落地加工</b>
+								</td>
+								<th>进出口标志</th>
+								<td>
+									<b v-if="m.iEFlag === 'I'">进口</b>
+									<b v-if="m.iEFlag === 'E'">出口</b>
+								</td>
+							</tr>
+							<tr>
+								<th>互市区编号</th>
+								<td>{{m.fieldCode}}</td>
+								<th>互市区</th>
+								<td>{{m.fieldName}}</td>
+							</tr>
+							<tr>
+								<th>提运单号</th>
+								<td>{{m.billNo}}</td>
+								<th>航次号</th>
+								<td>{{m.voyageNo}}</td>
+							</tr>
+							<tr>
+								<th>单证代码</th>
+								<td>{{m.preNo}}</td>
+								<th>创建时间</th>
+								<td>{{sa.forDate(m.createTime, 2)}}</td>
+							</tr>
+						</table>
+					</el-form>
+				</div>
+			</div>
+			<!-- ------- 底部按钮 ------- -->
+			<div class="s-foot">
+				<el-button type="success" @click="sa.closeCurrIframe()">确定</el-button>
+				<el-button @click="sa.closeCurrIframe()">取消</el-button>
+			</div>
+		</div>
+		<script>
+			var app = new Vue({
+				components: {
+					"sa-info": httpVueLoader('../../sa-frame/com/sa-info.vue')
+				},
+				el: '.vue-box',
+				data: {
+					id: sa.p('id', 0),	// 获取数据ID 
+					m: null
+				},
+				methods: {
+				},
+				mounted: function() {
+					sa.ajax('/level-one-server/HtTradeSettlement/getById?id=' + this.id, function(res) {
+						this.m = res.data;
+						if(res.data == null) {
+							sa.alert('未能查找到 id=' + this.id + " 详细数据");
+						}
+					}.bind(this))
+				}
+			})
+			
+		</script>
+	</body>
+</html>

+ 112 - 0
sa-view/entry-declaration/ht-trade-settlement-list.html

@@ -0,0 +1,112 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<title>航通交易结算表-列表</title>
+		<meta charset="utf-8">
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<!-- 所有的 css & js 资源 -->
+		<link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
+		<link rel="stylesheet" href="../../static/sa.css">
+		<script src="../../static/kj/vue.min.js"></script>
+		<script src="../../static/kj/element-ui/index.js"></script>
+		<script src="../../static/kj/httpVueLoader.js"></script>
+		<script src="../../static/kj/jquery.min.js"></script>
+		<script src="../../static/kj/layer/layer.js"></script>
+		<script src="../../static/sa.js"></script>
+		<style>
+			.el-dialog__body {
+				padding: 0 20px 30px 20px
+			}
+		</style>
+	</head>
+	<body>
+		<div class="vue-box" style="display: none;" :style="'display: block;'">
+			<div class="c-panel">
+				<!-- ------------- 检索参数 ------------- -->
+				<div class="c-title">检索参数</div>
+				<el-form ref="form" :model='p' @submit.native.prevent>
+					<sa-item type="text" name="车牌号" v-model="p.veNo" width="7em"></sa-item>
+					<sa-item type="date" name="申报日期" v-model="p.declTime" width="7em"></sa-item>
+					<sa-item type="text" name="商品" v-model="p.goodsNames" width="7em"></sa-item>
+					<sa-item type="text" name="商铺" v-model="p.shopName" width="7em"></sa-item>
+					<el-button type="primary" icon="el-icon-search" @click="p.pageNo = 1; f5()">查询</el-button>
+					<el-button size="mini" type="info" @click="sa.f5()">重置</el-button>
+					<el-button type="primary" icon="el-icon-edit">进境申报</el-button>
+				</el-form>
+				<!-- ------------- 数据列表 ------------- -->
+				<el-table class="data-table" ref="data-table" :data="dataList">
+					<sa-td type="index" name="序号"></sa-td>
+					<sa-td name="预申报编号" prop="platSeqNo" width="160px"></sa-td>
+					<sa-td name="车牌号" prop="veNo"></sa-td>
+					<sa-td name="申报时间" prop="declTime" width="160"></sa-td>
+					<sa-td name="航次号" prop="voyageNo" width="160"></sa-td>
+					<sa-td name="申报人姓名" prop="declareName"></sa-td>
+					<sa-td name="商品名称" prop="goodsNames" width="160"></sa-td>
+					<sa-td name="总金额" prop="sumAmt"></sa-td>
+					<sa-td name="总毛重(kg)" prop="sumGrossWt"></sa-td>
+					<sa-td name="总净重(kg)" prop="sumNetWt"></sa-td>
+					<sa-td name="商铺名称" prop="shopName" width="160"></sa-td>
+					<sa-td name="件数" prop="packNo"></sa-td>
+					<sa-td name="申报单编号" prop="declareId" width="160px"></sa-td>
+					<sa-td name="提运单号" prop="billNo" width="160"></sa-td>
+					<el-table-column label="操作" width="160px" fixed="right" align="center">
+						<template slot-scope="s">
+							<el-button class="c-btn" type="success" @click="get(s.row)">查看</el-button>
+							<el-button class="c-btn" type="primary" @click="getOrder(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>
+		</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: { // 查询参数
+						platSeqNo: '', // 预申报编号
+						declareId: '', // 申报单编号
+						veNo: '',
+						goodsNames: '', // 商品名称
+						returns: 0,
+						chargebacks: 0,
+						pageNo: 1, // 当前页
+						pageSize: 10, // 页大小
+						sortType: 0 // 排序方式
+
+					},
+					dataCount: 0,
+					dataList: [], // 数据集合
+				},
+				methods: {
+					// 刷新
+					f5: function() {
+						sa.ajax('/level-one-server/HtTradeSettlement/getList', sa.removeNull(this.p), function(res) {
+							this.dataList = res.data; // 数据
+							this.dataCount = res.dataCount; // 数据总数
+							sa.f5TableHeight(); // 刷新表格高度
+						}.bind(this));
+					},
+					// 查看
+					get: function(data) {
+						sa.showIframe('数据详情', 'ht-trade-settlement-info.html?id=' + data.id, '1050px', '90%');
+					},
+					getOrder(data) {
+						sa.showIframe('边民订单', '../tb-order/tb-order-list.html?mainId=' + data.id, '90%', '94%');
+					}
+				},
+				created: function() {
+					this.f5();
+					sa.onInputEnter();
+				}
+			})
+		</script>
+	</body>
+</html>

+ 117 - 0
sa-view/import-declaration/tb-order-info.html

@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<title>边民订单表-详情</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<!-- 所有的 css js 资源 -->
+		<link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
+		<link rel="stylesheet" href="../../static/sa.css">
+		<script src="../../static/kj/vue.min.js"></script>
+		<script src="../../static/kj/element-ui/index.js"></script>
+		<script src="../../static/kj/httpVueLoader.js"></script>
+		<script src="../../static/kj/jquery.min.js"></script>
+		<script src="../../static/kj/layer/layer.js"></script>
+		<script src="../../static/sa.js"></script>
+		<style type="text/css">
+			.c-panel .c-label{width: 8em;}
+			table {
+			  font-family: arial, sans-serif;
+			  border-collapse: collapse;
+			  width: 90%;
+			  margin-top: 20px ;
+			  margin-left: auto;
+			  margin-right: auto;
+			}
+			th {
+			  border: 1px solid darkgray;
+			  text-align: left;
+			  height: 24px;
+			  padding: 8px;
+			  background-color: #dddddd;
+			}
+			td {
+			  border: 1px solid darkgray;
+			  text-align: left;
+			  padding: 8px;
+			}
+		</style>
+	</head>
+	<body>
+		<div class="vue-box sbot" style="display: none;" :style="'display: block;'">
+			<!-- ------- 内容部分 ------- -->
+			<div class="s-body">
+				<div class="c-panel">
+					<el-form v-if="m">
+						<table>
+							<tr>
+								<th>预申报编号</th>
+								<td>{{m.platSeqNo}}</td>
+								<th>结算单号</th>
+								<td>{{m.settleBillNo}}</td>
+							</tr>
+							<tr>
+								<th>进出口预申报单号</th>
+								<td>{{m.preIeportNo}}</td>
+								<th>单证代码</th>
+								<td>{{m.preNo}}</td>
+							</tr>
+							<tr>
+								<th>订单号</th>
+								<td>{{m.tradeNo}}</td>
+								<th>买家</th>
+								<td>{{m.buyUserName}}</td>
+							</tr>
+							<tr>
+								<th>商家名称</th>
+								<td>{{m.enterpriseName}}</td>
+								<th>商品名称</th>
+								<td>{{m.goodsNames}}</td>
+							</tr>
+							<tr>
+								<th>总重量</th>
+								<td>{{m.netWt}}</td>
+								<th>总金额</th>
+								<td>{{m.totalPrice}}</td>
+							</tr>
+							<tr>
+								<th>车牌号</th>
+								<td>{{m.veNo}}</td>
+								<th>创建时间</th>
+								<td>{{sa.forDate(m.createTime, 2)}}</td>
+							</tr>
+						</table>
+					</el-form>
+				</div>
+			</div>
+			<!-- ------- 底部按钮 ------- -->
+			<div class="s-foot">
+				<el-button type="success" @click="sa.closeCurrIframe()">确定</el-button>
+				<el-button @click="sa.closeCurrIframe()">取消</el-button>
+			</div>
+		</div>
+		<script>
+			var app = new Vue({
+				components: {
+					"sa-info": httpVueLoader('../../sa-frame/com/sa-info.vue')
+				},
+				el: '.vue-box',
+				data: {
+					id: sa.p('id', 0),	// 获取数据ID
+					m: null
+				},
+				methods: {
+				},
+				mounted: function() {
+					sa.ajax('/level-one-server/TbOrder/getById?id=' + this.id, function(res) {
+						this.m = res.data;
+						if(res.data == null) {
+							sa.alert('未能查找到 id=' + this.id + " 详细数据");
+						}
+					}.bind(this))
+				}
+			})
+
+		</script>
+	</body>
+</html>

+ 337 - 0
sa-view/import-declaration/tb-order-list.html

@@ -0,0 +1,337 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<title>边民订单表-列表</title>
+		<meta charset="utf-8">
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<!-- 所有的 css & js 资源 -->
+		<link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
+		<link rel="stylesheet" href="../../static/sa.css">
+		<script src="../../static/kj/vue.min.js"></script>
+		<script src="../../static/kj/element-ui/index.js"></script>
+		<script src="../../static/kj/httpVueLoader.js"></script>
+		<script src="../../static/kj/jquery.min.js"></script>
+		<script src="../../static/kj/layer/layer.js"></script>
+		<script src="../../static/sa.js"></script>
+	</head>
+	<body>
+		<div class="vue-box" style="display: none;" :style="'display: block;'">
+			<div class="c-panel">
+				<!-- ------------- 检索参数 ------------- -->
+				<div class="c-title">检索参数</div>
+				<el-form ref="form" :model='p' @submit.native.prevent>
+					<div>
+						<sa-item type="text" name="车牌号" v-model="p.veNo" width="100px"></sa-item>
+						<sa-item type="text" name="订单号" v-model="p.tradeNo" width="100px"></sa-item>
+						<sa-item type="text" name="边民" v-model="p.buyUserName" width="100px"></sa-item>
+						<sa-item name="确认状态" width="100px">
+							<el-select v-model="p.applyConfirmStatus">
+								<el-option label="全部" value=""></el-option>
+								<el-option label="未确认" value="0"></el-option>
+								<el-option label="已确认" value="1"></el-option>
+							</el-select>
+						</sa-item>
+						<sa-item name="出卡3" width="100px">
+							<el-select v-model="p.finishStatus">
+								<el-option label="全部" value=""></el-option>
+								<el-option label="未出卡3" value="0"></el-option>
+								<el-option label="已出卡3" value="1"></el-option>
+							</el-select>
+						</sa-item>
+					</div>
+					<div>
+						<sa-item name="申报状态" width="100px">
+							<el-select v-model="p.upStatus">
+								<el-option label="全部" value=""></el-option>
+								<el-option label="未上架" value="1"></el-option>
+								<el-option label="已上架" value="2"></el-option>
+							</el-select>
+						</sa-item>
+						<sa-item name="转售状态" width="100px">
+							<el-select v-model="p.resaleStatus">
+								<el-option label="全部" value=""></el-option>
+								<el-option label="未转售" value="0"></el-option>
+								<el-option label="已转售" value="1"></el-option>
+							</el-select>
+						</sa-item>
+						<sa-item name="销售状态" width="100px">
+							<el-select v-model="p.beingOrder" style="width: 120px;">
+								<el-option label="全部" value=""></el-option>
+								<el-option label="未销售" value="0"></el-option>
+								<el-option label="已销售" value="1"></el-option>
+							</el-select>
+						</sa-item>
+						<sa-item name="扣款状态" width="120px">
+							<el-select v-model="p.Sxb010Status">
+								<el-option label="全部" value=""></el-option>
+								<el-option label="未扣款" value="0"></el-option>
+								<el-option label="扣款失败" value="2"></el-option>
+								<el-option label="已扣款" value="1"></el-option>
+							</el-select>
+						</sa-item>
+						<el-button type="primary" icon="el-icon-search" @click="p.pageNo = 1; f5()">查询</el-button>
+						<el-button type="info" icon="el-icon-refresh" @click="sa.f5()">重置</el-button>
+						<el-button type="primary" icon="el-icon-edit" >进口申报</el-button>
+					</div>
+				</el-form>
+				<!-- ------------- 数据列表 ------------- -->
+				<el-table class="data-table" ref="data-table" :data="dataList">
+					<sa-td type="index" width="30px"></sa-td>
+					<sa-td name="车牌号" prop="veNo"></sa-td>
+					<sa-td name="订单号" prop="tradeNo" width="210"></sa-td>
+					<sa-td name="边民" prop="buyUserName"></sa-td>
+					<sa-td name="商家名称" prop="enterpriseName" width="280px"></sa-td>
+					<sa-td name="商品名称" prop="goodsNames" width="200px"></sa-td>
+					<sa-td name="净重(kg)" prop="netWt"></sa-td>
+					<sa-td name="总金额" prop="totalPrice"></sa-td>
+					<sa-td name="订单状态" prop="upStatus">
+						<template slot-scope="s">
+							<div v-if="s.row.upStatus===2">已上架</div>
+							<div v-else>未上架</div>
+						</template>
+					</sa-td>
+					<sa-td name="过卡状态" prop="finishStatus">
+						<template slot-scope="s">
+							<div v-if="s.row.finishStatus===1">已过卡3</div>
+							<div v-else>未过卡3</div>
+						</template>
+					</sa-td>
+					<!--(一级市场)订单扣款回执状态[0=初始值 1=扣款成功 2=扣款失败]-->
+					<sa-td name="扣款状态" prop="sxb010Status">
+						<template slot-scope="s">
+						<div v-if="s.row.sxb010Status===3">扣款中</div>
+						<div v-else>
+							<div v-if="s.row.refundStatus==0">
+								<div v-if="s.row.sxb010Status===0">未扣款</div>
+								<div v-if="s.row.sxb010Status===1">扣款成功</div>
+								<div v-else-if="s.row.sxb010Status===2">扣款失败</div>
+							</div>
+							<div v-else>
+								<div v-if="s.row.refundStatus===1">退款成功</div>
+								<div v-if="s.row.refundStatus===2">退款失败</div>
+								<div v-if="s.row.refundStatus===3">退款中</div>
+							</div>
+						</div>
+
+						</template>
+					</sa-td>
+					<sa-td name="销售状态" prop="beingOrder"><!--订单转售后是否在二级市场被下单-->
+						<template slot-scope="s">
+							<div v-if="s.row.beingOrder==1">已销售</div>
+							<div v-else>未销售</div>
+						</template>
+					</sa-td>
+					<sa-td name="补扣次数" prop="deductionCount">
+						<template slot-scope="s">
+							<div v-if="s.row.deductionCount==0">0</div>
+							<div v-else>{{s.row.deductionCount}}</div>
+						</template>
+					</sa-td>
+					<sa-td name="补扣时间" prop="deductionTime" width="140px"></sa-td>
+					<sa-td name="创建时间" prop="createTime" width="140px"></sa-td>
+					<sa-td name="结关时间" prop="checkTime" width="140px"></sa-td>
+					<sa-td type="enum" name="交易确认" prop="peopleConfirmStatus"
+						:jv="{1: '已确认[green]', 0: '未确认[#ff910a]'}"></sa-td>
+					<sa-td type="enum" name="委托确认" prop="cooperEntrustStatus"
+						:jv="{1: '已确认[green]', 0: '未确认[#ff910a]'}"></sa-td>
+					<sa-td type="enum" name="进口确认" prop="applyConfirmStatus"
+						:jv="{1: '已确认[green]', 0: '未确认[#ff910a]'}"></sa-td>
+					<el-table-column label="操作" fixed="right" width="80px" align="center">
+						<template slot-scope="s">
+							<el-button class="c-btn" type="success" @click="get(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="model.title" :visible.sync="model.visible" width="500px">
+				<div>
+					当前价格(元):{{model.form.upPrice}}
+				</div>
+				<sa-item type="num" name="金额" v-model="model.form.selPrice" placeholder="确认金额" br></sa-item>
+				<span slot="footer" class="dialog-footer">
+					<el-button @click="model.visible = false">取 消</el-button>
+					<el-button type="primary" @click="save">保存</el-button>
+					<el-button type="primary" @click="sel">转售二级</el-button>
+				</span>
+			</el-dialog>
+
+			<el-dialog :title="deduction.title" :visible.sync="deduction.visible" width="500px">
+				<sa-item name="车牌号" v-model="deduction.veNo" placeholder="车牌号" br></sa-item>
+				<span slot="footer" class="dialog-footer">
+					<el-button @click="deduction.visible = false">取 消</el-button>
+					<el-button type="primary" @click="ToDeductionByVeNo">确定</el-button>
+				</span>
+			</el-dialog>
+			<el-dialog :title="sendCXB001.title" :visible.sync="sendCXB001.visible" width="500px">
+				<sa-item name="车牌号" v-model="sendCXB001.veNo" placeholder="车牌号" br></sa-item>
+				<span slot="footer" class="dialog-footer">
+					<el-button @click="sendCXB001.visible = false">取 消</el-button>
+					<el-button type="primary" @click="ToSendCXB001ByVeNo">确定</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: {
+					model: {
+						title: '修改价格',
+						visible: false,
+						form: {
+							id: '',
+							upPrice: '',
+							selPrice: 0
+						}
+					},
+					deduction: {
+						title: '按车补扣款',
+						visible: false,
+						veNo: ''
+					},
+					sendCXB001: {
+						title: '按车推结关',
+						visible: false,
+						veNo: ''
+					},
+					p: { // 查询参数
+						tradeNo: '', // 订单号
+						buyUserName: '', // 买家
+						sxb010Status: '', // 商家名称
+						returns: 0,
+						resaleStatus:'',
+						chargebacks: 0,
+						pageNo: 1, // 当前页
+						pageSize: 10, // 页大小
+						sortType: 0, // 排序方式
+						saleMainId: sa.p('mainId', ''),
+					},
+					dataCount: 0,
+					dataList: [], // 数据集合
+				},
+				methods: {
+					save() {
+						let price = this.model.form.selPrice;
+						if (!price) {
+							sa.error('请输入金额')
+							return;
+						}
+						sa.ajax('/level-one-server/TbOrder/editUpPrice', {
+							id: this.model.form.id,
+							price: price
+						}, function(res) {
+							this.f5();
+							this.model.visible = false;
+						}.bind(this));
+					},
+					sel() {
+						let price = this.model.form.selPrice;
+						if (!price) {
+							sa.error('请输入金额')
+							return;
+						}
+						sa.ajax('/level-two-server/TbOrders/addOrderByResale', {
+							id: this.model.form.id,
+							price: price
+						}, function(res) {
+							this.f5();
+							this.model.visible = false;
+						}.bind(this));
+					},
+					orderRefund(data) {
+						sa.confirm('是否执行订单退款操作', function() {
+							sa.ajax('/level-one-server/TbOrder/orderRefund?id=' + data.id, function(res) {
+								sa.ok('操作成功');
+								this.f5();
+							}.bind(this))
+						}.bind(this));
+					},
+					deductionHandle(data) {
+						sa.confirm('是否执行订单扣款操作', function() {
+							sa.ajax('/level-one-server/TbOrder/deduction?id=' + data.id, function(res) {
+								sa.ok('操作成功');
+								this.f5();
+							}.bind(this))
+						}.bind(this));
+					},
+					deductionByVeNo() {
+						this.deduction.visible = true
+					},
+					ToDeductionByVeNo() {
+						let veNo = this.deduction.veNo;
+						if (!veNo) {
+							sa.error('请输入车牌号')
+							return;
+						}
+						sa.showIframe('按车补扣款【' + veNo + '】', 'tb-order-deductionByVeNo.html?veNo=' + veNo, '1660px',
+							'97%');
+					},
+
+					sendCXB001Handle(data) {
+						sa.confirm('是否执行推送结关信息操作', function() {
+							sa.ajax('/level-one-server/TbOrder/sendCXB001?id=' + data.id, function(res) {
+								sa.ok('操作成功');
+								sa.f5TableHeight(); // 刷新表格高度
+							}.bind(this))
+						}.bind(this));
+					},
+					sendCXB001ByVeNo() {
+						this.sendCXB001.visible = true
+					},
+					ToSendCXB001ByVeNo() {
+						let veNo = this.sendCXB001.veNo;
+						if (!veNo) {
+							sa.error('请输入车牌号')
+							return;
+						}
+						sa.showIframe('按车推结关【' + veNo + '】', 'tb-order-sendCXB001ByVeNo.html?veNo=' + veNo, '1660px',
+							'97%');
+					},
+
+					send009ToHt(data) {
+						sa.confirm('是否执行推送009报文操作', function() {
+							sa.ajax('/level-one-server/TbOrder/send009ToHt?id=' + data.id, function(res) {
+								sa.ok('操作成功');
+								sa.f5TableHeight(); // 刷新表格高度
+							}.bind(this))
+						}.bind(this));
+					},
+					// 刷新
+					f5: function() {
+						this.deduction.veNo = '';
+						this.deduction.visible = false;
+						this.sendCXB001.veNo = '';
+						this.sendCXB001.visible = false;
+						sa.ajax('/level-one-server/TbOrder/getList', sa.removeNull(this.p), function(res) {
+							this.dataList = res.data; // 数据
+							this.dataCount = res.dataCount; // 数据总数
+							sa.f5TableHeight(); // 刷新表格高度
+						}.bind(this));
+					},
+					// 查看
+					get: function(data) {
+						sa.showIframe('数据详情', 'tb-order-info.html?id=' + data.id, '1050px', '70%');
+					},
+					// 查看银行回执
+					getBank: function(data) {
+						sa.showIframe('银行回执', 'tb-order-bank-list.html?tradeNo=' + data.tradeNo, '1300px', '90%');
+					},
+
+
+				},
+				created: function() {
+					this.f5();
+					sa.onInputEnter();
+				}
+			})
+		</script>
+	</body>
+</html>

+ 3 - 3
sa-view/tb-orders/tb-orders-list.html

@@ -55,7 +55,7 @@
 						</sa-item>
 						<el-button type="primary" icon="el-icon-search" @click="p.pageNo = 1; f5()">查询</el-button>
 						<el-button type="info" icon="el-icon-refresh" @click="sa.f5()">重置</el-button>
-						<el-button type="primary" @click="payBatch">批量扣款</el-button>
+						<el-button type="primary" @click="payBatch" v-if="sa.isAuth('tb-orders-deduction')">批量扣款</el-button>
 					</div>
 				</el-form>
 				<!-- ------------- 数据列表 ------------- -->
@@ -87,9 +87,9 @@
 					<el-table-column label="操作" fixed="right" width="320px">
 						<template slot-scope="s">
 							<el-button class="c-btn" type="success" @click="get(s.row)">查看</el-button>
-							<el-button class="c-btn" type="primary" @click="getBank(s.row)">银行回执</el-button>
+							<el-button class="c-btn" type="primary" @click="getBank(s.row)" v-if="sa.isAuth('bank-info')">银行回执</el-button>
 							<span>
-								<el-button v-if="s.row.isPay!=1&&s.row.purchaserName" class="c-btn" type="warning"
+								<el-button v-if="sa.isAuth('tb-orders-deduction')&&s.row.isPay!=1&&s.row.purchaserName" class="c-btn" type="warning"
 									@click="deduction(s.row)">补扣款</el-button>
 							</span>
 							<el-button class="c-btn" type="primary" @click="subPrint(s.row)">交易凭证</el-button>