|
@@ -3,9 +3,9 @@
|
|
|
<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" />
|
|
|
+ <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="https://unpkg.com/element-ui@2.13.0/lib/theme-chalk/index.css">
|
|
|
<link rel="stylesheet" href="../../static/sa.css">
|
|
|
<script src="../../static/kj/vue.min.js"></script>
|
|
@@ -15,10 +15,15 @@
|
|
|
<script src="../../static/kj/layer/layer.js"></script>
|
|
|
<script src="../../static/sa.js"></script>
|
|
|
<script src="../../static/kj/upload-util.js"></script>
|
|
|
-
|
|
|
<style type="text/css">
|
|
|
- .c-panel .el-form .c-label{width: 7em !important;}
|
|
|
- .c-panel .el-form .el-input, .c-panel .el-form .el-textarea__inner{width: 250px;}
|
|
|
+ .c-panel .el-form .c-label {
|
|
|
+ width: 7em !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .c-panel .el-form .el-input,
|
|
|
+ .c-panel .el-form .el-textarea__inner {
|
|
|
+ width: 250px;
|
|
|
+ }
|
|
|
</style>
|
|
|
</head>
|
|
|
<body>
|
|
@@ -26,174 +31,213 @@
|
|
|
<!-- ------- 内容部分 ------- -->
|
|
|
<div class="s-body">
|
|
|
<div class="c-panel">
|
|
|
- <div class="c-title" v-if="id == 0">数据添加</div>
|
|
|
+ <div class="c-title" v-if="id == 0">数据添加</div>
|
|
|
<div class="c-title" v-else>数据修改</div>
|
|
|
- <el-form v-if="m">
|
|
|
- <el-row :gutter="50">
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="名称" v-model="m.name" br></sa-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="国别" v-model="m.nationality" br></sa-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="50">
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="enum" name="商户分类" v-model="m.type" :jv="{自营商铺: '自营商铺', 劳务商铺: '劳务商铺'}" jtype="3" br></sa-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="法人" v-model="m.legalPerson" br></sa-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="50">
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="身份证号" v-model="m.idCard" br></sa-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="手机号码" v-model="m.contact" br></sa-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <el-form size="mini" v-if="m">
|
|
|
+ <el-row>
|
|
|
+ <el-col span=12>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>名称:</label>
|
|
|
+ <el-input size="mini" v-model="m.name"></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>法人:</label>
|
|
|
+ <el-input size="mini" v-model="m.legalPerson"></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>身份证号:</label>
|
|
|
+ <el-input size="mini" v-model="m.idCard"></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>手机号码:</label>
|
|
|
+ <el-input size="mini" v-model="m.contact"></el-input>
|
|
|
+ </div>
|
|
|
|
|
|
- <el-row :gutter="50">
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="税号" v-model="m.dutyParagraph" br></sa-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="所在铺位ID" v-model="m.shopId" br></sa-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="50">
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="enum" name="所在铺位名称" v-model="m.shopName" :jv="{1: '100-2'}" jtype="4" br></sa-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="enum" name="银行编号" v-model="m.bankNo" :jv="{CMB: '招商银行'}" jtype="4" br></sa-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="50">
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="银行名称" v-model="m.bankName" br></sa-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="text" name="银行账号" v-model="m.bankAccount" br></sa-item>
|
|
|
+ <el-col span=12>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>银行:</label>
|
|
|
+ <el-select v-model="m.bankNo" placeholder="请选择" filterable size="mini">
|
|
|
+ <el-option label="请选择" :value="0" disabled></el-option>
|
|
|
+ <el-option v-for="(item,index) in bankList" :key="index" :label="item.bankName"
|
|
|
+ :value="item.bankCode"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>银行账号:</label>
|
|
|
+ <el-input size="mini" v-model="m.bankAccount"></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>税号:</label>
|
|
|
+ <el-input size="mini" v-model="m.dutyParagraph"></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>地区:</label>
|
|
|
+ <el-cascader size="mini" placeholder="请选择" v-model="m.address_arry"
|
|
|
+ :options="options" :props={value:'id',label:'district'}></el-cascader>
|
|
|
+ </div>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label"><label style="color: red">*</label>详细地址:</label>
|
|
|
+ <el-input size="mini" v-model="m.detail"></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="c-item br">
|
|
|
+ <label class="c-label" style="vertical-align: top;"><label
|
|
|
+ style="color: red">*</label>营业执照:</label>
|
|
|
+ <div class="c-item-mline image-box">
|
|
|
+ <div class="image-box-2" v-for="item in m.businessLicense_arr">
|
|
|
+ <img :src="item" @click="sa.showImage(item, '500px', '400px')" />
|
|
|
+ <p>
|
|
|
+ <i class="el-icon-close" style="position: relative; top: 2px;"></i>
|
|
|
+ <el-link @click="sa.arrayDelete(m.businessLicense_arr, item)"
|
|
|
+ style="color: #999;">删除 </el-link>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <!-- 上传图集 -->
|
|
|
+ <div class="image-box-2 up_img"
|
|
|
+ @click="sa.uploadImageList(src => m.businessLicense_arr.push(src))">
|
|
|
+ <img src="../../static/img/up-icon.png">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
-
|
|
|
- <el-row :gutter="50">
|
|
|
- <el-col :span="12">
|
|
|
- <sa-item type="img-list" name="营业执照" v-model="m.businessLicense" br></sa-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <sa-item name="" class="s-ok" br>
|
|
|
- <el-button type="primary" icon="el-icon-plus" @click="ok()">保存</el-button>
|
|
|
- </sa-item>
|
|
|
+ <!-- date-create字段: m.createTime - 创建时间 -->
|
|
|
+ <div class="c-item br s-ok">
|
|
|
+ <label class="c-label"></label>
|
|
|
+ <el-button size="mini" type="primary" icon="el-icon-plus" @click="ok()">保存</el-button>
|
|
|
+ </div>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- ------- 底部按钮 ------- -->
|
|
|
<div class="s-foot">
|
|
|
- <el-button type="primary" @click="ok()">确定</el-button>
|
|
|
- <el-button @click="sa.closeCurrIframe()">取消</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="ok()">确定</el-button>
|
|
|
+ <el-button size="mini" @click="sa.closeCurrIframe()">取消</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <script>
|
|
|
-
|
|
|
+ <script>
|
|
|
var app = new Vue({
|
|
|
- components: {
|
|
|
- "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue')
|
|
|
- },
|
|
|
el: '.vue-box',
|
|
|
data: {
|
|
|
- id: sa.p('id', 0), // 获取超链接中的id参数(0=添加,非0=修改)
|
|
|
- m: null, // 实体对象
|
|
|
+ id: sa.p('id', 0), // 获取超链接中的id参数(0=添加,非0=修改)
|
|
|
+ m: null, // 实体对象
|
|
|
+ bankList: [],
|
|
|
+ options: [],
|
|
|
+ shopList: []
|
|
|
},
|
|
|
methods: {
|
|
|
+ getAddress() {
|
|
|
+ sa.ajax('/sp-admin/TbDistrict/getTreeData', function(resp) {
|
|
|
+ this.options = resp.data;
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
+ getBankList() {
|
|
|
+ sa.ajax('/sp-admin/TbBank/getAll', function(resp) {
|
|
|
+ this.bankList = resp.data;
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
// 创建一个 默认Model
|
|
|
createModel: function() {
|
|
|
return {
|
|
|
- name: '', // 名称
|
|
|
- nationality: '', // 国别
|
|
|
- type: '', // 商户分类(自营商铺=自营商铺,劳务商铺=劳务商铺)
|
|
|
- legalPerson: '', // 法人
|
|
|
- idCard: '', // 身份证号
|
|
|
- contact: '', // 手机号码
|
|
|
- businessLicense: '', // 营业执照
|
|
|
- shopId: '', // 所在铺位ID
|
|
|
- shopName: '', // 所在铺位名称(1=100-2)
|
|
|
- bankNo: '', // 银行编号(CMB= 招商银行)
|
|
|
- bankName: '', //
|
|
|
- bankAccount: '', // 银行账号
|
|
|
- dutyParagraph: '', // 税号
|
|
|
- addressIds: '', //
|
|
|
- address: '', //
|
|
|
- agreement: '', //
|
|
|
- // judgeStatus: '', //
|
|
|
- judgeContent: '', //
|
|
|
- judgeTime: '', //
|
|
|
- registerTime: '', //
|
|
|
- personId: '', //
|
|
|
- deleteStatus: '', // 删除状态(0=禁用,1=启用)
|
|
|
+ id: '', //
|
|
|
+ name: '', // 名称
|
|
|
+ legalPerson: '', // 法人
|
|
|
+ idCard: '', // 身份证号
|
|
|
+ contact: '', // 手机号码
|
|
|
+ businessLicense: '', // 营业执照
|
|
|
+ businessLicense_arr: [], // 营业执照 - 转数组
|
|
|
+ agreement: '',
|
|
|
+ shopId: '', // 所在铺位ID
|
|
|
+ shopName: '', // 所在铺位名称(1=100-2)
|
|
|
+ bankNo: '', // 银行编号(CMB= 招商银行)
|
|
|
+ bankAccount: '', // 银行账号
|
|
|
+ dutyParagraph: '', // 银行账号
|
|
|
+ status: '', // 是否可用(0=可用,1=不可用)
|
|
|
+ // createTime: '', // 创建时间
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 表单验证
|
|
|
+ submitCheck: function() {
|
|
|
+ try {
|
|
|
+ var m = this.m; // 获取 m对象
|
|
|
+ let bankNo = m.bankNo;
|
|
|
+ let shopId = m.shopId;
|
|
|
+ sa.checkNull(m.name, '请输入 [商户名称]');
|
|
|
+ sa.checkNull(m.legalPerson, '请输入 [法人]');
|
|
|
+ sa.checkNull(m.idCard, '请输入 [身份证号]');
|
|
|
+ sa.checkPhone(m.contact, '请输入 [正确手机号码]');
|
|
|
+ sa.checkNull(m.businessLicense, '请上传 [营业执照]');
|
|
|
+ sa.checkEmptyArray(m.address_arry, '请选择 [地址]');
|
|
|
+ sa.checkNull(bankNo, '请选择 [银行]');
|
|
|
+ sa.checkNull(m.bankAccount, '请输入 [银行账号]');
|
|
|
+ sa.checkNull(m.detail,'请输入详细地址');
|
|
|
+ let bankList = this.bankList;
|
|
|
+ let bank = bankList.filter(bank => bank.bankCode === bankNo)[0];
|
|
|
+ this.m.bankName = bank.bankName;
|
|
|
+ return 'ok'; // 全部通过验证,返回ok 表示正确
|
|
|
+ } catch (e) {
|
|
|
+ sa.error(e.msg);
|
|
|
}
|
|
|
},
|
|
|
// 提交数据
|
|
|
- ok: function(){
|
|
|
- // 表单校验
|
|
|
- let m = this.m;
|
|
|
- sa.checkNull(m.name, '请输入 [名称]');
|
|
|
- sa.checkNull(m.nationality, '请输入 [国别]');
|
|
|
- sa.checkNull(m.type, '请输入 [商户分类]');
|
|
|
- sa.checkNull(m.legalPerson, '请输入 [法人]');
|
|
|
- sa.checkNull(m.idCard, '请输入 [身份证号]');
|
|
|
- sa.checkNull(m.contact, '请输入 [手机号码]');
|
|
|
- // sa.checkNull(m.businessLicense, '请上传 [营业执照]');
|
|
|
- sa.checkNull(m.shopId, '请输入 [所在铺位ID]');
|
|
|
- sa.checkNull(m.shopName, '请输入 [所在铺位名称]');
|
|
|
- sa.checkNull(m.bankNo, '请输入 [银行编号]');
|
|
|
- sa.checkNull(m.bankName, '请输入 [银行名称]');
|
|
|
- sa.checkNull(m.bankAccount, '请输入 [银行账号]');
|
|
|
- sa.checkNull(m.dutyParagraph, '请输入 [税号]');
|
|
|
-
|
|
|
+ ok: function() {
|
|
|
+ // 验证
|
|
|
+ this.m.businessLicense = this.m.businessLicense_arr.join(','); // 图片数组转字符串
|
|
|
+ if (this.submitCheck() != 'ok') {
|
|
|
+ return;
|
|
|
+ }
|
|
|
// 开始增加或修改
|
|
|
- if(this.id <= 0) { // 添加
|
|
|
- sa.ajax('/level-one-server/TbEnterprise/add', m, function(res){
|
|
|
+ this.m.addressIds = this.m.address_arry.join(',');
|
|
|
+ if (this.id <= 0) { // 添加
|
|
|
+ this.m.status = "1";
|
|
|
+ sa.ajax('/level-one-server/TbEnterprise/add', this.m, function(res) {
|
|
|
sa.alert('增加成功', this.clean);
|
|
|
}.bind(this));
|
|
|
- } else { // 修改
|
|
|
- sa.ajax('/level-one-server/TbEnterprise/update', m, function(res){
|
|
|
+ } else { // 修改
|
|
|
+ sa.ajax('/level-one-server/TbEnterprise/update', this.m, function(res) {
|
|
|
sa.alert('修改成功', this.clean);
|
|
|
}.bind(this));
|
|
|
}
|
|
|
},
|
|
|
+ uploadAgreement() {
|
|
|
+ let url = sa.cfg.api_url + '/upload-server/upload/document';
|
|
|
+ sa.uploadFn(url, src => {
|
|
|
+ this.m.agreement = src;
|
|
|
+ sa.ok2('上传成功');
|
|
|
+ });
|
|
|
+ },
|
|
|
// 添加/修改 完成后的动作
|
|
|
clean: function() {
|
|
|
- if(this.id == 0) {
|
|
|
+ if (this.id == 0) {
|
|
|
+ this.m = this.createModel();
|
|
|
+ } else {
|
|
|
+ parent.app.f5(); // 刷新父页面列表
|
|
|
+ sa.closeCurrIframe(); // 关闭本页
|
|
|
+ }
|
|
|
+ },
|
|
|
+ initFn() {
|
|
|
+ // 初始化数据
|
|
|
+ if (this.id <= 0) {
|
|
|
this.m = this.createModel();
|
|
|
} else {
|
|
|
- parent.app.f5(); // 刷新父页面列表
|
|
|
- sa.closeCurrIframe(); // 关闭本页
|
|
|
+ sa.ajax('/level-one-server/TbEnterprise/getById?id=' + this.id, function(res) {
|
|
|
+ res.data.businessLicense_arr = sa.isNull(res.data.businessLicense) ? [] : res
|
|
|
+ .data.businessLicense.split(','); // 营业执照 字符串转数组
|
|
|
+ this.m = res.data;
|
|
|
+ if (res.data == null) {
|
|
|
+ sa.alert('未能查找到 id=' + this.id + " 详细数据");
|
|
|
+ }
|
|
|
+ this.m.address_arry = this.m.addressIds.split(',');
|
|
|
+ }.bind(this))
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- mounted: function(){
|
|
|
- // 初始化数据
|
|
|
- if(this.id <= 0) {
|
|
|
- this.m = this.createModel();
|
|
|
- } else {
|
|
|
- sa.ajax('/level-one-server/TbEnterprise/getById?id=' + this.id, function(res) {
|
|
|
- this.m = res.data;
|
|
|
- if(res.data == null) {
|
|
|
- sa.alert('未能查找到 id=' + this.id + " 详细数据");
|
|
|
- }
|
|
|
- }.bind(this))
|
|
|
- }
|
|
|
+ mounted() {
|
|
|
+ this.getAddress();
|
|
|
+ this.initFn();
|
|
|
+ this.getBankList();
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
</script>
|
|
|
</body>
|
|
|
-</html>
|
|
|
+</html>
|