index.blade.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. @extends('layouts.base')
  2. @section('title','注册商城')
  3. @section('content')
  4. <script src="{{resource_get('static/yunshop/js/industry.js', 1)}}"></script>
  5. <script type="text/javascript">
  6. function formcheck(event) {
  7. if ($(':input[name="upgrade[key]"]').val() == '' || $(':input[name="upgrade[secret]"]').val() == '') {
  8. if($(':input[name="upgrade[key]"]').val() == '')
  9. Tip.focus(':input[name="upgrade[key]"]', 'Key 不能为空');
  10. else
  11. Tip.focus(':input[name="upgrade[secret]"]', '密钥不能为空')
  12. return false;
  13. }
  14. return true
  15. }
  16. </script>
  17. <div class="w1200 m0a">
  18. <div class="rightlist">
  19. <!-- 新增加右侧顶部三级菜单 -->
  20. <div class="right-titpos">
  21. <ul class="add-snav">
  22. <li class="active"><a href="#">注册商城</a></li>
  23. </ul>
  24. </div>
  25. <div class="form-group message-box" style="display: none">
  26. <div class="span4">
  27. <div class="alert alert-block">
  28. <a class="close" data-dismiss="alert">×</a>
  29. <span id="message"></span>
  30. </div>
  31. </div>
  32. </div>
  33. <!-- 新增加右侧顶部三级菜单结束 -->
  34. <div class="panel panel-default" style="width:996px;">
  35. <div class='panel-body'>
  36. <div id="register">
  37. <template>
  38. <el-row v-show="page=='register'">
  39. <el-button type="info" @click="redirect(1)" plain>免费版</el-button>
  40. <el-button type="primary" @click="redirect(2)" plain>授权版</el-button>
  41. </el-row><!--register end-->
  42. <el-form ref="form" :model="form" label-width="100px" class="demo-ruleForm" v-show="page=='auth'">
  43. <el-form-item label="key" prop="key">
  44. <el-input v-model="key" placeholder="请输入key" autocomplete="off"></el-input>
  45. </el-form-item>
  46. <el-form-item label="密钥" prop="secret">
  47. <el-input v-model="secret" placeholder="请输入密钥" autocomplete="off"></el-input>
  48. </el-form-item>
  49. <el-form-item>
  50. <el-button type="primary" @click.native="tapclickPas" >重置密钥</el-button>
  51. </el-form-item>
  52. <el-form-item>
  53. {{--<el-button type="primary" @click="reg_shop('cancel')" v-loading="formLoading" v-if="btn == 0">取消商城</el-button>--}}
  54. <el-button type="primary" @click="reg_shop('create')" :disabled="formLoading" v-if="btn == 1">注册商城</el-button>
  55. </el-form-item>
  56. </el-form><!--auth end-->
  57. <el-form ref="form" :model="form" :rules="rules" label-width="100px" class="demo-ruleForm" v-show="page=='free'">
  58. <el-form-item label="公司名称" prop="name">
  59. <el-input v-model="form.name" placeholder="请输入公司名称" autocomplete="off"></el-input>
  60. </el-form-item>
  61. <el-form-item label="行业" prop="trades">
  62. <el-select v-model="form.trades" value-key="id" style="width:100%" placeholder="请选择行业">
  63. <el-option v-for="item in opt_trades.data"
  64. :key="item.id"
  65. :label="item.name"
  66. :value="item.name">
  67. </el-option>
  68. </el-select>
  69. </el-form-item>
  70. <el-form-item label="所在区域" required>
  71. <el-col :span="4">
  72. <el-form-item prop="province">
  73. <el-select v-model="form.province" value-key="id" placeholder="省" @change="change_province">
  74. <el-option v-for="item in opt_province"
  75. :key="item.id"
  76. :label="item.areaname"
  77. :value="item">
  78. </el-option>
  79. </el-select>
  80. </el-form-item>
  81. </el-col>
  82. <el-col style="text-align: center" :span="1">-</el-col>
  83. <el-col :span="4">
  84. <el-form-item prop="city">
  85. <el-select v-model="form.city" value-key="id" placeholder="市" @change="change_city">
  86. <el-option v-for="item in opt_city"
  87. :key="item.id"
  88. :label="item.areaname"
  89. :value="item">
  90. </el-option>
  91. </el-select>
  92. </el-form-item>
  93. </el-col>
  94. <el-col style="text-align: center" :span="1">-</el-col>
  95. <el-col :span="4">
  96. <el-form-item prop="area">
  97. <el-select v-model="form.area" value-key="id" placeholder="区">
  98. <el-option v-for="item in opt_area"
  99. :key="item.id"
  100. :label="item.areaname"
  101. :value="item">
  102. </el-option>
  103. </el-select>
  104. </el-form-item>
  105. </el-col>
  106. </el-form-item>
  107. <el-form-item label="详细地址" prop="address">
  108. <el-input v-model="form.address" placeholder="请输入详细地址" autocomplete="off"></el-input>
  109. </el-form-item>
  110. <el-form-item label="验证码" prop="captcha">
  111. <el-input v-model="form.captcha" style="width:150px" placeholder="请输入验证码"></el-input>
  112. </el-form-item>
  113. <el-form-item label="手机号" prop="mobile">
  114. <el-input placeholder="请输入手机号" v-model="form.mobile" style="width:200px" autocomplete="off"></el-input>
  115. <el-button type="info" @click="sendSms()" style="width:150px; margin-left: 50px" plain :disabled="isDisabled">[[captcha_text]]</el-button>
  116. </el-form-item>
  117. <el-form-item>
  118. <el-button type="primary" @click.native.prevent="onSubmit" :disabled="formLoading">提交</el-button>
  119. </el-form-item>
  120. </el-form><!--free end-->
  121. </template>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. <script>
  128. var app = new Vue({
  129. el: '#register',
  130. delimiters: ['[[', ']]'],
  131. data() {
  132. // 默认数据
  133. let redirectUrl = ({!! $url !!});
  134. let page = ({!! $page !!});
  135. let province = ({!! $province !!});
  136. let set = ({!! $set !!});
  137. var validateMobile = (rule, value, callback) => {
  138. if (!(/^1\d{10}$/.test(value))) {
  139. callback(new Error('手机号格式不正确'));
  140. } else {
  141. callback();
  142. }
  143. };
  144. return {
  145. page: page.type,
  146. redirectUrl:redirectUrl,
  147. form: {
  148. name: '',
  149. trades: '',
  150. province: '',
  151. city: '',
  152. area: '',
  153. address: '',
  154. mobile: '',
  155. captcha: ''
  156. },
  157. key: set.key,
  158. secret: set.secret,
  159. btn: set.btn,
  160. opt_trades: industry,
  161. opt_province: province.data,
  162. opt_city:'',
  163. opt_area:'',
  164. t: 60,
  165. captcha_text: '获取验证码',
  166. isDisabled: false,
  167. formLoading: false,
  168. rules: {
  169. name: [
  170. { required: true, message: '请输入公司名称', trigger: 'blur' }
  171. ],
  172. trades: [
  173. { required: true, message: '请选择行业', trigger: 'change' }
  174. ],
  175. province: [
  176. { required: true, message: '请选择省', trigger: 'change' }
  177. ],
  178. city: [
  179. { required: true, message: '请选择市', trigger: 'change' }
  180. ],
  181. area: [
  182. { required: true, message: '请选择区', trigger: 'change' }
  183. ],
  184. address: [
  185. { required: true, message: '请输入详情地址', trigger: 'blur' }
  186. ],
  187. mobile: [
  188. { required: true, message: '请输入手机号', trigger: 'blur' },
  189. { validator: validateMobile, trigger: 'blur' }
  190. ],
  191. captcha: [
  192. { required: true, message: '请输入验证码', trigger: 'blur' }
  193. ]
  194. }
  195. }
  196. },
  197. mounted: function () {
  198. },
  199. methods: {
  200. redirect:function (type) {
  201. switch (type) {
  202. case 1:
  203. location.href = this.redirectUrl.free;
  204. break;
  205. case 2:
  206. location.href = this.redirectUrl.auth;
  207. break;
  208. }
  209. },
  210. sendSms:function () {
  211. let that = this;
  212. let rTime = that.t;
  213. if (!(/^1\d{10}$/.test(this.form.mobile))) {
  214. this.$refs.form.validateField('mobile');
  215. return false;
  216. }
  217. // 倒计时
  218. let interval = window.setInterval(() => {
  219. if (--that.t <= 0) {
  220. that.t = rTime;
  221. that.isDisabled = false;
  222. that.captcha_text = '获取验证码';
  223. window.clearInterval(interval);
  224. } else {
  225. that.isDisabled = true;
  226. that.captcha_text = '(' + that.t + 's)后重新获取';
  227. }
  228. }, 1000);
  229. that.$http.post("{!! yzWebUrl('setting.key.sendSms') !!}", {'mobile': this.form.mobile}).then(response => {
  230. if (response.data.result) {
  231. this.$message({
  232. message: response.data.data.msg,
  233. type: 'success'
  234. });
  235. } else {
  236. this.$message({
  237. message: '未获取到数据',
  238. type: 'error'
  239. });
  240. }
  241. }, response => {
  242. console.log(response);
  243. });
  244. },
  245. change_province: function (item) {
  246. let that = this;
  247. that.$http.post("{!! yzWebUrl('setting.key.getcity') !!}", {'data': item}).then(response => {
  248. if (response.data.result) {
  249. that.opt_city = response.data.data;
  250. } else {
  251. this.$message({
  252. message: '未获取到数据',
  253. type: 'error'
  254. });
  255. }
  256. }, response => {
  257. console.log(response);
  258. });
  259. },
  260. change_city: function (item) {
  261. let that = this;
  262. that.$http.post("{!! yzWebUrl('setting.key.getarea') !!}", {'data': item}).then(response => {
  263. if (response.data.result) {
  264. that.opt_area = response.data.data;
  265. } else {
  266. this.$message({
  267. message: '未获取到数据',
  268. type: 'error'
  269. });
  270. }
  271. }, response => {
  272. console.log(response);
  273. });
  274. },
  275. reg_shop: function (type) {
  276. const loading = this.$loading({
  277. lock: true,
  278. text: '努力注册中',
  279. spinner: 'el-icon-loading',
  280. background: 'rgba(0, 0, 0, 0.7)'
  281. });
  282. this.$http.post("{!! yzWebUrl('setting.key.index') !!}", {'upgrade': {'key':this.key, 'secret': this.secret}, 'type': type}).then(response => {
  283. loading.close();
  284. if (response.data.result) {
  285. this.$message({
  286. message: response.data.msg,
  287. type: 'success'
  288. });
  289. window.location = response.data.data.url;
  290. } else {
  291. this.$message({
  292. message: response.data.msg,
  293. type: 'error'
  294. });
  295. }
  296. }, response => {
  297. loading.close();
  298. console.log(response);
  299. });
  300. },
  301. onSubmit: function () {
  302. this.$refs.form.validate((valid) => {
  303. if (valid) {
  304. const loading = this.$loading({
  305. lock: true,
  306. text: '努力注册中',
  307. spinner: 'el-icon-loading',
  308. background: 'rgba(0, 0, 0, 0.7)'
  309. });
  310. this.$http.post("{!! yzWebUrl('setting.key.register') !!}", {'data': this.form}).then(response => {
  311. loading.close();
  312. if (response.data.result) {
  313. this.$message({
  314. message: response.data.msg,
  315. type: 'success'
  316. });
  317. window.location = response.data.data.url;
  318. } else {
  319. this.$message({
  320. message: response.data.msg,
  321. type: 'error'
  322. });
  323. }
  324. }, response => {
  325. loading.close();
  326. console.log(response);
  327. });
  328. } else {
  329. return false;
  330. }
  331. });
  332. },
  333. tapclickPas(){
  334. let data={
  335. key:this.key,
  336. secret:this.secret
  337. }
  338. this.$http.post("{!! yzWebUrl('setting.key.reset') !!}", {'data': data}).then(res => {
  339. res=res.body
  340. if (res.result==1) {
  341. this.key = res.data.key;
  342. this.secret = res.data.secret
  343. this.$message({
  344. message: res.msg,
  345. type: 'success'
  346. });
  347. }
  348. })
  349. }
  350. },
  351. watch: {
  352. 'form.province': function (newValue, oldValue) {
  353. this.form.city = null
  354. this.opt_city = [{id:0,areaname:'请选择'}];
  355. this.form.area = null
  356. this.opt_area = [{id:0,areaname:'请选择'}];
  357. },
  358. 'form.city': function (newValue, oldValue) {
  359. this.form.area = null
  360. this.opt_area = [{id:0,areaname:'请选择'}];
  361. }
  362. }
  363. });
  364. </script>
  365. @endsection