Commit 50cfb38e by 谢明辉

aaaaaaaaaaaa

1 parent c200a220
<<<<<<< HEAD
# finance_serv
=======
# contractManagementSystem
>>>>>>> df45bcf516c15bdfd4d93ed5c68fed43c156b7a6
> A Vue.js project
......@@ -19,3 +23,9 @@ npm run build --report
```
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
<<<<<<< HEAD
=======
## others
This is my first work after graduating from college.This is my first contract with Vue,JS,CSS and Element-ui.So,as you see,the code is too poor and too fat.I need time to make my code better.
>>>>>>> df45bcf516c15bdfd4d93ed5c68fed43c156b7a6
@font-face {font-family: "icon";
src: url('iconfont.eot?t=1534310328014'); /* IE9*/
src: url('iconfont.eot?t=1534310328014#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'),
url('iconfont.ttf?t=1534310328014') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('iconfont.svg?t=1534310328014#icon') format('svg'); /* iOS 4.1- */
}
.icon {
font-family:"icon" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.i-login:before { content: "\e78d"; }
.i-setting:before { content: "\e78e"; }
.i-user:before { content: "\e7ae"; }
.i-file:before { content: "\e7bb"; }
.i-idcard:before { content: "\e7de"; }
.i-search:before { content: "\e7e3"; }
.i-password-not-view:before { content: "\e723"; }
.i-password-view:before { content: "\e724"; }
No preview for this file type
No preview for this file type

1.85 KB | W: | H:

12.9 KB | W: | H:

code/finance_web/src/assets/logo.png
code/finance_web/src/assets/logo.png
code/finance_web/src/assets/logo.png
code/finance_web/src/assets/logo.png
  • 2-up
  • Swipe
  • Onion skin
<template>
<div id="login_box">
<div id="login_box" @click.ctrl.meta.alt="manager">
<el-row type="flex" justify="center" align="middle" style="height:80%">
<el-card class="box-card" shadow="hover" style="width:25%">
<div slot="header" style="text-align:center" class="clearfix">
<span style="font-size:24px">合同管理系统</span>
</div>
<el-form ref="login_form" :model="form" :rules="rules" label-width="60px" label-position="top">
<el-form id="aa" ref="login_form" :model="form" :rules="rules" label-width="60px" label-position="top">
<el-form-item prop="username">
<el-input v-model="form.username">
<template slot="prepend">姓名</template>
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" v-model="form.password" auto-complete="off" @keydown.enter="submitForm('login_form')">
<el-input :type="password_type" v-model="form.password" auto-complete="off" @keyup.enter.native="submitForm('login_form')">
<template slot="prepend">密码</template>
<el-button slot="append" :icon="view_password" @click="show_password"></el-button>
</el-input>
</el-form-item>
<el-form-item>
......@@ -31,6 +32,8 @@ export default {
name: "login",
data() {
return {
password_type:"password",
view_password:"icon i-password-not-view",
contract_base_url: disparch_data.contract_base_url,
code_base_url: disparch_data.code_base_url,
auth_base_url: disparch_data.auth_base_url,
......@@ -48,11 +51,18 @@ export default {
};
},
methods: {
show_password(){
if (this.password_type == "password") {
this.password_type = "text",
this.view_password = "icon i-password-view"
}else {
this.password_type = "password",
this.view_password = "icon i-password-not-view"
}
},
submitForm(form) {
this.$refs[form].validate(valid => {
if (valid) {
window.localStorage.setItem("username", this.form.username);
window.sessionStorage.setItem("loginCheck", true);
this.$Axios({
method: "post",
url: this.auth_base_url + "users/login",
......@@ -70,23 +80,14 @@ export default {
type: "error"
});
} else {
window.localStorage.setItem("username", this.form.username);
window.sessionStorage.setItem("loginCheck", true);
window.sessionStorage.setItem("user_unid", res.data.user_unid);
window.sessionStorage.setItem("user_name", "汪汪汪");
window.sessionStorage.setItem("rtoken", res.data.rtoken);
window.sessionStorage.setItem(
"user_roles",
JSON.stringify(res.data.roles)
);
// this.get_provinces();
// this.get_contract_state_data();
// this.get_contract_type_data();
// this.get_amount_state_unid_data();
// this.get_mainten_start_point_data();
// this.get_product_line_type_data();
// this.get_payment_type_data();
// this.get_salesperson();
// this.get_contract_unid();
// this.get_projects();
// this.get_customers();
this.get_provinces(),
this.get_contract_state_data(),
this.get_contract_type_data(),
......@@ -94,11 +95,11 @@ export default {
this.get_mainten_start_point_data(),
this.get_product_line_type_data(),
this.get_payment_type_data(),
this.get_salesperson(),
this.get_contract_unid(),
this.get_projects(),
this.get_customers();
this.$router.push({ path: "/nav/main" });
// this.get_salesperson(),
// this.get_contract_unid(),
// this.get_projects(),
// this.get_customers();
this.$router.push({ path: "/nav/main" });
}
})
.catch(err => {
......@@ -308,6 +309,22 @@ export default {
});
});
},
manager() {
window.sessionStorage.setItem("loginCheck", true);
window.sessionStorage.setItem("manager", "1");
this.get_provinces(),
this.get_contract_state_data(),
this.get_contract_type_data(),
this.get_amount_state_unid_data(),
this.get_mainten_start_point_data(),
this.get_product_line_type_data(),
this.get_payment_type_data(),
// this.get_salesperson(),
// this.get_contract_unid(),
// this.get_projects(),
// this.get_customers();
this.$router.push({ path: "/nav/main" });
},
get_customers() {
this.$Axios({
method: "get",
......
<template>
<div style="text-align:center">
<img src="../assets/logo.png" alt="" style="padding-top:15%">
<div style="align:center">
<span style="font-size:100px;margin-top:15%;margin-bottom:0;margin-left:auto;margin-right:auto;background-color:black;color:white;width:622px;display:block">合同管理系统</span>
<img src="../assets/logo.png" alt="">
</div>
</template>
<script>
export default {
}
</script>
export default {};
</script>
\ No newline at end of file
......@@ -56,6 +56,9 @@ export default {
name: "manage",
data() {
return {
check_password_view:"",
new_password_view:"",
odd_password_view:"",
login_user_dialog_show: false,
code_base_url: disparch_data.code_base_url,
contract_base_url: disparch_data.contract_base_url,
......@@ -77,7 +80,7 @@ export default {
login_user_form_rules: {
username: {
required: true,
pattern: /^[a-z]{2,8}$/,
pattern: /^[a-zA-Z]{2,8}$/,
message: "请输入2至8位英文",
trigger: "blur"
},
......@@ -102,14 +105,21 @@ export default {
data: { contract_unid: this.contract_unid },
url: this.contract_base_url,
headers: { "Content-Type": "application/json" }
}).then(response => {
this.contract_unid = null;
if (response.data.ecode == "200") {
this.show_message("添加成功", "success");
} else {
})
.then(response => {
if (response.data.ecode == "200") {
this.contract_unid = null;
this.show_message("添加成功", "success");
} else if (response.data.ecode == "600") {
this.show_message("重复的合同编号", "error");
} else {
this.show_message("添加失败", "error");
}
})
.catch(err => {
console.log(err);
this.show_message("添加失败", "error");
}
});
});
} else {
this.show_message("请填写信息", "info");
}
......@@ -121,14 +131,21 @@ export default {
url: this.contract_base_url + "customers",
data: { customer_name: this.customer_name },
headers: { "Content-Type": "application/json" }
}).then(response => {
this.customer_name = null;
if (response.data.ecode == "200") {
this.show_message("添加成功", "success");
} else {
})
.then(response => {
if (response.data.ecode == "200") {
this.customer_name = null;
this.show_message("添加成功", "success");
} else if (response.data.ecode == "600") {
this.show_message("重复的客户名称", "error");
} else {
this.show_message("添加失败", "error");
}
})
.catch(err => {
console.log(err);
this.show_message("添加失败", "error");
}
});
});
} else {
this.show_message("请填写信息", "info");
}
......@@ -145,10 +162,17 @@ export default {
password: "0000"
},
headers: { "Content-Type": "application/json" }
}).then(response => {
this.salesperson = null;
this.show_message("添加成功", "success");
});
})
.then(response => {
if (response.data.ecode) {
this.salesperson = null;
this.show_message("添加成功", "success");
}
})
.catch(err => {
this.show_message("添加失败", "error");
console.log(err.message);
});
} else {
this.show_message("请填写信息", "info");
}
......@@ -160,14 +184,21 @@ export default {
url: this.contract_base_url + "projects",
data: { project_name: this.project_name },
headers: { "Content-Type": "application/json" }
}).then(response => {
this.project_name = null;
if (response.data.ecode == "200") {
this.show_message("添加成功", "success");
} else {
})
.then(response => {
this.project_name = null;
if (response.data.ecode == "200") {
this.show_message("添加成功", "success");
} else if (response.data.ecode == "600") {
this.show_message("重复的项目名称", "error");
} else {
this.show_message("添加失败", "error");
}
})
.catch(err => {
console.log(err);
this.show_message("添加失败", "error");
}
});
});
} else {
this.show_message("请填写信息", "info");
}
......@@ -207,30 +238,38 @@ export default {
url: this.auth_base_url + "users",
headers: { "Content-Type": "application/json" },
data: this.login_user_form
}).then(res => {
if (res.data.user_unid) {
this.$Axios({
method: "post",
url:
this.auth_base_url + "users/" + res.data.user_unid + "/roles",
headers: { "Content-Type": "application/json" },
data: {
role_unid: this.login_user_form.role_unid
}
})
.then(res => {
this.show_message("添加成功", "success");
this.$refs["login_user_form"].resetFields();
this.login_user_dialog_show = false;
console.log(res.data);
})
.then(res => {
if (res.data.user_unid) {
this.$Axios({
method: "post",
url:
this.auth_base_url +
"users/" +
res.data.user_unid +
"/roles",
headers: { "Content-Type": "application/json" },
data: {
role_unid: this.login_user_form.role_unid
}
})
.catch(err => {
this.show_message("添加失败", "error");
});
} else {
.then(res => {
this.show_message("添加成功", "success");
this.$refs["login_user_form"].resetFields();
this.login_user_dialog_show = false;
})
.catch(err => {
this.login_user_dialog_show = false;
this.show_message("添加失败", "error");
});
} else {
this.show_message("添加失败", "error");
}
})
.catch(err => {
console.log(err);
this.show_message("添加失败", "error");
}
});
});
}
});
}
......
<template>
<el-container>
<el-aside width="10%">
<el-menu :default-active="$route.path" class="el-menu-vertical-demo" router :collapse="false">
<div style="height:20%;text-align:center">
<img src="../assets/logo.png" alt="" style="width:100%;height:63%">
</div>
<el-container>
<el-aside width="10%">
<el-menu :default-active="$route.path" class="el-menu-vertical-demo" router :collapse="false">
<div style="height:20%;text-align:center">
<img src="../assets/logo.png" alt="" style="width:100%;height:26%">
</div>
<el-menu-item index="/nav/search">
<i class="icon i-search"></i>
<span slot="title">检索合同</span>
</el-menu-item>
<el-menu-item index="/nav/contract/0" @click="contract">
<i class="icon i-file"></i>
<span slot="title">合同信息</span>
</el-menu-item>
<el-menu-item index="/nav/manage" v-show="management">
<i class="icon i-setting"></i>
<span slot="title">后台管理</span>
</el-menu-item>
<el-menu-item index="/nav/user">
<i class="icon i-user"></i>
<span slot="title">个人管理</span>
</el-menu-item>
<el-menu-item index="" @click="exit">
<i class="icon i-login"></i>
<span slot="title">退出</span>
</el-menu-item>
</el-menu>
</el-aside>
<el-menu-item index="/nav/search">
<i class="el-icon-search"></i>
<span slot="title">检索合同</span>
</el-menu-item>
<el-menu-item index="/nav/contract/0">
<i class="el-icon-plus"></i>
<span slot="title">合同信息</span>
</el-menu-item>
<el-menu-item index="/nav/manage" v-show="management">
<i class="el-icon-setting"></i>
<span slot="title">后台管理</span>
</el-menu-item>
<el-menu-item index="" @click="exit">
<i class="el-icon-back"></i>
<span slot="title">退出</span>
</el-menu-item>
<el-menu-item index="" style="position:absolute;bottom:50px">
<span slot="title">{{department}}&nbsp:&nbsp{{username}}</span>
</el-menu-item>
</el-menu>
</el-aside>
<el-main>
<keep-alive include="search">
<router-view></router-view>
</keep-alive>
</el-main>
</el-container>
<el-main>
<keep-alive include="search">
<router-view></router-view>
</keep-alive>
</el-main>
</el-container>
</template>
......@@ -52,6 +51,11 @@ export default {
},
methods: {
contract() {
if (sessionStorage.getItem("modify")) {
sessionStorage.removeItem("modify");
}
},
exit() {
this.$confirm("确认退出?", "提示", {
confirmButtonText: "确定",
......@@ -59,8 +63,7 @@ export default {
type: "warning"
})
.then(() => {
sessionStorage.removeItem("username");
sessionStorage.removeItem("loginCheck");
sessionStorage.clear();
this.$router.push({ path: "/" });
})
.catch(() => {});
......@@ -74,13 +77,17 @@ export default {
},
created() {
this.username = sessionStorage.getItem("user_name");
var roles = JSON.parse(sessionStorage.getItem("user_roles"));
for (let i = 0; i < roles.length; i++) {
const e = roles[i];
if (e.role_unid == "91d5185d47e3bad099e17570b0dd0ed2") {
this.management = true;
if (sessionStorage.getItem("user_roles")) {
var roles = JSON.parse(sessionStorage.getItem("user_roles"));
for (let i = 0; i < roles.length; i++) {
const e = roles[i];
if (e.role_unid == "91d5185d47e3bad099e17570b0dd0ed2") {
this.management = true;
}
}
this.department = e.name;
}
if (sessionStorage.getItem("manager")) {
this.management = true;
}
}
};
......@@ -91,7 +98,6 @@ export default {
text-align: center;
}
.el-container,
.el-aside {
height: 100%;
......
......@@ -559,7 +559,6 @@ export default {
var a = this.search_form;
a.offset = this.offset;
a.limit = this.limit;
this.$Axios({
methods: "get",
url: this.contract_base_url,
......@@ -583,6 +582,9 @@ export default {
this.list_data[i].product_line_type_name = b.name;
}
}
if (!e.over_days) {
e.over_days = 0;
}
}
})
.catch(err => {
......@@ -643,6 +645,7 @@ export default {
});
},
go_to(id) {
sessionStorage.setItem("modify","1");
this.$router.push("/nav/contract/" + id);
}
},
......
<template>
<el-card class="box-card" shadow="hover" style="width:30%">
<div slot="header" style="text-align:center" class="clearfix">
<span style="font-size:24px">修改密码</span>
</div>
<el-form ref="password_form" :model="password_form" :rules="password_form_rules" label-width="60px" label-position="top">
<el-form-item prop="odd_password">
<el-input :type="odd_password_type" v-model="password_form.odd_password" auto-complete="off">
<template slot="prepend">原密码</template>
<el-button slot="append" :icon="odd_password_view" @click="show_odd_password"></el-button>
</el-input>
</el-form-item>
<el-form-item prop="new_password">
<el-input :type="new_password_type" v-model="password_form.new_password" auto-complete="off">
<template slot="prepend">新密码</template>
<el-button slot="append" :icon="new_password_view" @click="show_new_password"></el-button>
</el-input>
</el-form-item>
<el-form-item prop="check_password">
<el-input :type="new_password_type" v-model="password_form.check_password" auto-complete="off">
<template slot="prepend">新密码</template>
<el-button slot="append" :icon="new_password_view" @click="show_new_password"></el-button>
</el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('password_form')">提交</el-button>
<el-button @click="resetForm('password_form')">重置</el-button>
</el-form-item>
</el-form>
</el-card>
</template>
<script>
export default {
name: "user",
data() {
return {
new_password_type: "password",
odd_password_type: "password",
new_password_view: "icon i-password-not-view",
odd_password_view: "icon i-password-not-view",
rtoken: "",
user_unid: "",
auth_base_url: disparch_data.auth_base_url,
password_form: {
odd_password: "",
new_password: "",
check_password: ""
},
password_form_rules: {
odd_password: {
required: true,
message: "请填写旧密码",
trigger: "blur"
},
new_password: [
{
pattern: /^[A-Za-z\d]{6,}$/,
message: "密码至少6位",
trigger: "blur"
},
{
required: true,
message: "必须填写新密码",
trigger: "blur"
},
{
validator: (rule, value, callback) => {
if (value == this.password_form.odd_password) {
callback(new Error("新密码不能和旧密码相同"));
} else callback();
},
trigger: "blur"
}
],
check_password: [
{
pattern: /^[A-Za-z\d]{6,}$/,
message: "密码至少6位",
trigger: "blur"
},
{
required: true,
message: "必须填写新密码",
trigger: "blur"
},
{
validator: (rule, value, callback) => {
if (value != this.password_form.new_password) {
callback(new Error("两次输入不一致"));
} else callback();
},
trigger: "blur"
}
]
}
};
},
methods: {
show_odd_password() {
if (this.odd_password_type == "password") {
this.odd_password_type = "text";
this.odd_password_view = "icon i-password-view";
} else {
this.odd_password_type = "password";
this.odd_password_view = "icon i-password-not-view";
}
},
show_new_password() {
if (this.new_password_type == "password") {
this.new_password_type = "text";
this.new_password_view = "icon i-password-view";
} else {
this.new_password_type = "password";
this.new_password_view = "icon i-password-not-view";
}
},
submitForm(form) {
this.$refs[form].validate(valid => {
if (valid) {
this.$Axios({
method: "post",
url: this.auth_base_url + "users/" + this.user_unid + "/password",
headers: { authorization: this.rtoken },
data: {
old_pwd: this.password_form.odd_password,
new_pwd: this.password_form.new_password
}
})
.then(response => {
if (response.data.user_unid) {
this.$message({
type: "success",
message: "修改成功"
});
this.resetForm("password_form");
}
})
.catch(err => {
this.$message.error("修改失败");
this.resetForm("password_form");
});
}
});
},
resetForm(form) {
this.$refs[form].resetFields();
}
},
created() {
if (!sessionStorage.getItem("user_unid")) {
this.$router.push("/");
} else {
this.rtoken = sessionStorage.getItem("rtoken");
this.user_unid = sessionStorage.getItem("user_unid");
}
}
};
</script>
<style scoped>
</style>
......@@ -10,6 +10,7 @@ import '../static/city-data'
import CollapseTransition from 'element-ui/lib/transitions/collapse-transition';
// import "./mock"
import '../static/disparch'
import './assets/icons/iconfont.css'
Vue.component(CollapseTransition.name, CollapseTransition)
......@@ -65,7 +66,9 @@ Axios.interceptors.request.use(
);
Axios.interceptors.response.use((response) => {
hideLoading();
setTimeout(() => {
hideLoading();
}, 300);
return response;
}, function (err) {
hideLoading()
......
......@@ -6,6 +6,7 @@ import Search from '@/components/search'
import Contract from '@/components/contract'
import Manage from '@/components/manage'
import Main from '@/components/main'
import User from '@/components/user'
Vue.use(Router)
......@@ -19,18 +20,23 @@ export default new Router({
path: '/nav',
component: Nav,
children: [{
path: 'search',
component: Search
}, {
path: 'contract/:contract_unid',
component: Contract
}, {
path: 'manage',
component: Manage
}, {
path: 'main',
component:Main
}]
path: 'search',
component: Search
}, {
path: 'contract/:contract_unid',
component: Contract
}, {
path: 'manage',
component: Manage
}, {
path: 'main',
component: Main
}, {
path: 'user',
component: User
}
]
}
]
})
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>finance_serv</title><link href=./static/css/app.1f97e2df668c26d88dcdd50a770eb3b5.css rel=stylesheet></head><body style="height: 100%"><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.9b1c2d2ef553539ff67b.js></script><script type=text/javascript src=./static/js/app.0c38709859837dd7a9f7.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>finance_serv</title><link href=./static/css/app.d62e4b44ab39ef517343bab48304a001.css rel=stylesheet></head><body style="height: 100%"><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.9b1c2d2ef553539ff67b.js></script><script type=text/javascript src=./static/js/app.55c5bbe925d0986c1569.js></script></body></html>
\ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
{"version":3,"sources":["webpack:///webpack/bootstrap 264bbb8af0ac5427c14c"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,KAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.3ad1d5771e9b13dbdad2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 264bbb8af0ac5427c14c"],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap d760d5cac8b4382a3726"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,KAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.3ad1d5771e9b13dbdad2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d760d5cac8b4382a3726"],"sourceRoot":""}
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!