cyl/dev
wangxia 4 years ago
parent 8d3d65f276
commit 89471afc90

@ -11,6 +11,8 @@
"ant-design-vue": "^1.7.8",
"axios": "^0.25.0",
"core-js": "^3.6.5",
"jquery": "^3.6.0",
"moment": "^2.29.1",
"vue": "^2.6.11",
"vue-router": "3.0",
"vuex": "^3.4.0"

@ -1,9 +1,12 @@
<template>
<div id="app">
<router-view v-if="isRouterViewshow" />
</div>
<a-config-provider :locale="locale">
<div id="app">
<router-view v-if="isRouterViewshow" />
</div>
</a-config-provider>
</template>
<script>
import zhCn from "ant-design-vue/lib/locale-provider/zh_CN";
export default {
provide() {
return {
@ -13,6 +16,7 @@ export default {
data() {
return {
isRouterViewshow: true,
locale: zhCn,
};
},
methods: {
@ -33,7 +37,10 @@ export default {
-moz-osx-font-smoothing: grayscale;
// text-align: center;
// color: #2c3e50;
// width: 100vw;
// overflow-x: overlay;
height: 100%;
width: 100vw;
}
#nav {

@ -35,3 +35,11 @@ export function getCityApi(id) {
method: "get",
});
}
// 录单报名
export function recordBillApi(data) {
return request({
url: "/yishoudan/user/apply/order/addByAgency",
method: "post",
params: data,
});
}

@ -257,7 +257,7 @@
.markdown strong,
.markdown b {
font-weight: 400;
font-weight: 600;
}
.markdown>table {
@ -272,7 +272,7 @@
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 400;
font-weight: 600;
}
.markdown>table th,
@ -526,8 +526,8 @@ pre[class*="language-"] {
}
.token.important,
.token.normal {
font-weight: normal;
.token.bold {
font-weight: bold;
}
.token.italic {

@ -54,6 +54,12 @@
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe736;</span>
<div class="name">日历</div>
<div class="code-name">&amp;#xe736;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe71d;</span>
<div class="name">顶部logo</div>
@ -312,9 +318,9 @@
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.woff2?t=1645598161030') format('woff2'),
url('iconfont.woff?t=1645598161030') format('woff'),
url('iconfont.ttf?t=1645598161030') format('truetype');
src: url('iconfont.woff2?t=1646901898259') format('woff2'),
url('iconfont.woff?t=1646901898259') format('woff'),
url('iconfont.ttf?t=1646901898259') format('truetype');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@ -340,6 +346,15 @@
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-rili"></span>
<div class="name">
日历
</div>
<div class="code-name">.icon-rili
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dingbulogo"></span>
<div class="name">
@ -727,6 +742,14 @@
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-rili"></use>
</svg>
<div class="name">日历</div>
<div class="code-name">#icon-rili</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dingbulogo"></use>

@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 3135652 */
src: url('iconfont.woff2?t=1645598161030') format('woff2'),
url('iconfont.woff?t=1645598161030') format('woff'),
url('iconfont.ttf?t=1645598161030') format('truetype');
src: url('iconfont.woff2?t=1646901898259') format('woff2'),
url('iconfont.woff?t=1646901898259') format('woff'),
url('iconfont.ttf?t=1646901898259') format('truetype');
}
.iconfont {
@ -13,6 +13,10 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-rili:before {
content: "\e736";
}
.icon-dingbulogo:before {
content: "\e71d";
}

File diff suppressed because one or more lines are too long

@ -5,6 +5,13 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "28168018",
"name": "日历",
"font_class": "rili",
"unicode": "e736",
"unicode_decimal": 59190
},
{
"icon_id": "27782732",
"name": "顶部logo",

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -26,7 +26,7 @@
: false
"
>{{ item.returnFee }}</i
><i v-else> -</i> /</span
><i v-else> -</i>{{ item.servetype }}</span
>
</div>
<div class="jobname">
@ -240,10 +240,10 @@ export default {
.jobtag {
margin-top: 12px;
text-align: left;
span:first-child {
color: #ff6a00;
background: rgba(254, 97, 0, 0.1);
}
// span:first-child {
// color: #ff6a00;
// background: rgba(254, 97, 0, 0.1);
// }
span {
margin-right: 12px;
font-size: 14px;

@ -0,0 +1,141 @@
<template>
<div class="recordsuccess-container">
<!-- 面包屑 -->
<a-breadcrumb class="w">
<a-breadcrumb-item href="">
<router-link to="/main"><a-icon type="home" /></router-link>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<router-link to="/list">
<span>一手职位</span>
</router-link>
</a-breadcrumb-item>
<!-- <a-breadcrumb-item href="" v-if="!islist"> -->
<a-breadcrumb-item>
<router-link :to="'/detail/' + firminfo.id">
<!-- <span @click="$router.back(-1)"></span> -->
<span>企业详情</span>
</router-link>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<span>报名成功</span>
</a-breadcrumb-item>
</a-breadcrumb>
<div class="content w">
<div>
<div><img src="../../../assets/success.png" alt="" /></div>
<div>报名成功</div>
</div>
<div class="upline">
<div>
<a-button
type="primary"
@click="onClose"
:style="{
color: '#666',
backgroundColor: '#fafafa',
borderColor: '#ddd',
boxShadow: 'none',
textShadow: 'none',
}"
>
返回
</a-button>
<a-button
style="
color: #fff;
background-color: #ff6a00;
border-color: #ff6a00;
"
@click="handleOk"
>
我的工单
</a-button>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
//
name: "",
//
components: {},
//
props: {},
//
data() {
return {
firminfo: {},
};
},
//
computed: {},
//
watch: {},
//
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {
this.firminfo = JSON.parse(sessionStorage.getItem("CURRENT_FIRM"));
console.log(this.firminfo);
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/
mounted() {},
//
methods: {
onClose() {
this.$router.push("/detail/" + this.firminfo.id);
},
handleOk() {
this.$router.push("/userinfo/usercenter/mybill");
},
},
};
</script>
<style scoped lang="less">
.recordsuccess-container {
.content {
overflow: hidden;
margin-top: 16px;
height: 450px;
background-color: #fff;
> div {
// position: absolute;
text-align: center;
margin: 100px auto 110px;
font-size: 24px;
}
img {
width: 72px;
height: 72px;
margin-bottom: 20px;
}
.upline {
position: relative !important;
box-shadow: none;
// transform: translateX(-10px);
margin-top: -12px;
> div {
// margin-left: 251px;
display: flex;
justify-content: center;
}
button:first-child {
margin-right: 20px;
}
button::after {
display: none;
}
}
}
}
</style>

@ -0,0 +1,428 @@
<template>
<div class="recordcomponent">
<a-form-model
ref="ruleForm"
:model="form"
:rules="rules"
:colon="false"
:wrapperCol="{ span: 19 }"
:labelCol="{ span: 4 }"
>
<a-form-model-item ref="proxy" label="代理" prop="">
<a-input
:value="
proxyinfo.userName !== '' ? proxyinfo.userName : proxyinfo.tel
"
:disabled="true"
/>
</a-form-model-item>
<a-form-model-item ref="name" label="姓名" prop="name">
<a-input
v-model="form.username"
placeholder="请输入老乡姓名"
class="special-input"
/>
</a-form-model-item>
<a-form-model-item ref="gender" label="性别" prop="gender">
<a-radio-group
v-model="form.gender"
defaultValue="nan"
class="radiobox"
>
<a-radio value="nan"> </a-radio>
<a-radio value="nv"> </a-radio>
</a-radio-group>
</a-form-model-item>
<!-- :offset="2" -->
<a-form-model-item ref="tel" label="年龄" prop="tel">
<a-input
v-model="form.age"
placeholder="请输入年龄"
class="special-input"
/>
</a-form-model-item>
<a-form-model-item ref="peoplecard" label="民族" prop="peoplecard">
<a-select
v-model="form.nation"
placeholder="请选择民族"
class="special-input"
>
<a-select-option
v-for="item in nationlist"
:key="item.id"
:value="item.id"
>{{ item.name }}</a-select-option
>
</a-select>
</a-form-model-item>
<a-form-model-item ref="peoplecard" label="身份证号" prop="peoplecard">
<a-input v-model="form.peoplecard" placeholder="请输入老乡身份证号" />
</a-form-model-item>
<a-form-model-item ref="peoplecard" label="家庭住址" prop="peoplecard">
<a-input v-model="form.address" placeholder="请输入家庭住址" />
</a-form-model-item>
<a-form-model-item ref="username" label="面试时间" prop="username">
<a-date-picker
:showToday="false"
format="YYYY-MM-DD HH:mm"
:disabledDate="interviewTimeDisabledDate"
:disabledTime="interviewTimeDisabledDateTime"
:locale="locale"
:showTime="{
hideDisabledOptions: true,
defaultValue: moment('12:00', 'HH:mm'),
format: 'HH:mm',
}"
v-decorator="[
'interviewTime',
{ rules: [{ required: true, message: '请选择面试时间' }] },
]"
placeholder="请选择面试时间"
style="width: 100%"
/>
</a-form-model-item>
<a-form-model-item ref="username" label="报名企业" prop="username">
<a-input :value="firminfo.aliasName" :disabled="true" />
</a-form-model-item>
<a-form-model-item ref="username" label="岗位" prop="username">
<a-input :value="firminfo.jobName" :disabled="true" />
</a-form-model-item>
<!-- <a-form-model-item ref="username" label="模式" prop="username">
<a-select v-model="form.pattern" placeholder="请选择民族">
<a-select-option :value="apply.id">{{ apply.id }}</a-select-option>
</a-select>
</a-form-model-item> -->
<a-form-model-item ref="username" label="政策" prop="username">
<a-input
v-model="form.policy"
style="min-height: 150px; max-height: 200px"
type="textarea"
/>
</a-form-model-item>
</a-form-model>
<div class="upline">
<div>
<a-button
type="primary"
@click="onClose"
:style="{
color: '#666',
backgroundColor: '#fafafa',
borderColor: '#ddd',
boxShadow: 'none',
textShadow: 'none',
}"
>
取消
</a-button>
<a-button
style="
margin-left: 10px;
color: #fff;
background-color: #ff6a00;
border-color: #ff6a00;
"
@click="handleOk"
>
提交
</a-button>
</div>
</div>
</div>
</template>
<script>
import moment from "moment";
import { nationlist } from "../../../utils/datalist";
import { recordBillApi } from "@/api/job";
export default {
//
name: "",
//
components: {},
//
props: {
visible: {
require: true,
},
firminfo: {
require: true,
},
},
//
data() {
return {
form: {
//
name: "",
peoplecard: "",
gender: "", //
nation: undefined, //
location: "", //
firm: "", //
post: "", //
pattern: "", //
policy: "", //
proxy: "", //
facedate: "", //
},
rules: {
//
name: [{ required: true, message: "请输入姓名", trigger: "submit" }],
// tel: [{ required: true, message: "", trigger: "submit" }],
},
proxyinfo: JSON.parse(sessionStorage.getItem("LOGIN_DATA")),
nationlist: nationlist,
moment: this.$moment,
locale: {
lang: {
locale: "zh_CN",
placeholder: "请选择面试时间",
today: "今天",
yearFormat: "YYYY",
dateFormat: "M/D/YYYY",
dayFormat: "D",
dateTimeFormat: "M/D/YYYY HH:mm:ss",
monthFormat: "MMMM",
timeSelect: "选择时间",
ok: "确认",
monthBeforeYear: false,
},
},
};
},
//
computed: {},
//
watch: {},
//
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/
mounted() {},
//
methods: {
onClose() {
// this.visible = false;
this.$emit("update:visible", false);
this.form = {
//
name: "",
peoplecard: "",
gender: "", //
nation: undefined, //
location: "", //
firm: "", //
post: "", //
pattern: "", //
policy: "", //
proxy: "", //
facedate: "", //
};
},
handleOk() {
this.$refs.ruleForm.validate(async (ispass, no) => {
console.log(ispass);
if (ispass) {
// this.confirmLoading = true;
// console.log(this.form);
// setTimeout(() => {
// this.confirmLoading = false;
// this.form = {
// //
// name: "",
// tel: "",
// peoplecard: "",
// username: "",
// };
// this.visible = false;
// }, 2000);
let { data } = await recordBillApi(this.form);
console.log(data);
} else {
console.log(123);
}
console.log(no);
});
},
//
handleCancel() {
this.visible = false;
this.form = {
//
name: "",
peoplecard: "",
gender: "",
nation: undefined,
location: "",
firm: "",
post: "",
pattern: "",
policy: "",
proxy: "",
facedate: "",
};
},
interviewTimeDisabledDate(current) {
// Can not select days before today and today
return (
current < moment().startOf("day") || current > moment().add(100, "days")
);
},
interviewTimeDisabledDateTime() {
return {
disabledHours: () => [0, 1, 2, 3, 4, 5, 6, 22, 23],
disabledMinutes: () =>
this.range(0, 60)
.splice(1, 29)
.concat(this.range(0, 60).splice(31, 59)),
disabledSeconds: () => this.range(1, 60),
};
},
range(start, end) {
const result = [];
for (let i = start; i < end; i++) {
result.push(i);
}
return result;
},
},
};
</script>
<style scoped lang="less">
.recordcomponent {
padding-top: 10px;
/deep/ .ant-form-item {
// margin-bottom: 0;
// display: flex;
// justify-content: start;
// align-items: flex-start;
margin-top: -16px;
.radiobox {
height: 40px;
display: flex;
align-items: center;
}
.ant-form-item-label > label {
color: #4d575e;
}
.ant-form-item-label {
line-height: 40px;
// margin-right: 8px;
.ant-form-item-no-colon {
font-size: 14px !important;
// text-shadow: 0px 0px 1px black;
}
}
.ant-calendar-picker-container-content {
width: 323px !important;
}
.ant-select-selection__rendered {
font-size: 14px;
}
.ant-input {
// width: 430px;
height: 32px;
font-size: 14px;
// border: none;
border: 1px solid #dddddd;
box-shadow: none !important;
&::placeholder {
color: #cdcdcd;
}
// background-color: #f6f6f6;
}
.ant-select-selection__rendered,
.ant-select-selection--single,
.ant-select {
height: 32px;
// border: none;
// border: 1px solid #dddddd;
line-height: 32px;
box-shadow: none !important;
border-color: #d9d9d9;
.ant-select-selection__placeholder {
line-height: 18px;
color: #cdcdcd;
}
/deep/ .ant-form-item-children {
line-height: 40px;
// display: flex !important;
}
&:hover {
border-color: #d9d9d9;
}
// &:focus {
// border-color: #d9d9d9;
// }
// &:active {
// border-color: #d9d9d9;
// }
}
}
// /deep/ .ant-calendar-picker {
// border-color: #d9d9d9 !important;
// &:hover {
// border-color: #d9d9d9 !important;
// }
// }
.upline {
position: absolute;
width: 100%;
height: 48px;
// margin-bottom: 20px;
// margin-left: 410px;
bottom: 0;
right: 0;
background-color: #fff;
box-shadow: 1px -5px 20px rgb(241, 241, 241);
> div {
// display: inline-block;
margin: 8px 35px 8px 20px;
display: flex;
justify-content: end;
// float: right;
// bottom: 0;
// right: 0;
}
}
/deep/ .ant-radio-wrapper {
margin-right: 16px;
span:last-child {
padding: 0 2px;
}
}
/deep/ .ant-radio-checked {
.ant-radio-input:focus {
box-shadow: none;
}
.ant-radio-inner {
border-color: #ff6a00;
box-shadow: none;
&::after {
background-color: #ff6a00 !important;
}
}
}
/deep/ .ant-radio {
border-color: #d9d9d9;
box-shadow: none;
&:after {
display: none;
}
&:hover .ant-radio-inner {
border-color: #ff6a00 !important;
box-shadow: none;
}
}
}
</style>

@ -0,0 +1,619 @@
<template>
<div style="display: inline-block">
<!-- <span @click="showPicker">{{ getLangText(label.datetimePicker) }}</span> -->
<div class="date-picker-bg" v-show="isShow" @click="closePicker"></div>
<div class="date-picker" v-show="isShow" style="width: 350px">
<div class="picker-top">
<span class="picker-arrow" @click="preYear">&lsaquo;&lsaquo;</span>
<span class="picker-arrow" @click="preMonth">&lsaquo;</span>
<span class="date-text"
>{{ year }}-{{ month > 9 ? month : "0" + month }}</span
>
<span class="picker-arrow" @click="nextMonth">&rsaquo;</span>
<span class="picker-arrow" @click="nextYear">&rsaquo;&rsaquo;</span>
</div>
<div class="picker-content1 picker-content">
<table>
<thead>
<tr>
<th v-for="(item, idx) in weekList" :key="'week' + idx">
{{ getLangText(item) }}
</th>
</tr>
</thead>
<div class="contain"></div>
<tbody>
<tr v-for="idx in weekNum" :key="'weekNum' + idx">
<td
v-for="m in 7"
:key="'monthDay' + idx + '_' + m"
:class="[
new Date(monthList[idx - 1][m - 1]).getMonth() + 1 == month
? ''
: 'gray',
selectDate == monthList[idx - 1][m - 1] ? 'active' : '',
new Date(monthList[idx - 1][m - 1]).getTime() < currentDate
? 'bggray'
: '',
]"
@click="onSelectDate(monthList[idx - 1][m - 1])"
>
<div>{{ new Date(monthList[idx - 1][m - 1]).getDate() }}</div>
</td>
</tr>
</tbody>
</table>
<ul class="hour-list">
<li
v-for="(n, index) in hourList"
:key="'hourList' + index"
@click="onSelectHour(n, index)"
:class="[index == clicktime ? 'active' : '']"
>
{{ n }}:<span v-if="index % 2 === 0">00</span><span v-else>30</span>
</li>
</ul>
<!-- <ul class="minutes-list">
<li
v-for="n in [1, 31]"
:key="'hourList' + n"
@click="onSelectMinute(n - 1)"
:class="[selectMinute == n - 1 ? 'active' : '']"
@dblclick="onConfirmHour(n - 1)"
>
{{ n - 1 }}:00
</li>
</ul> -->
</div>
<div class="picker-footer">
<button @click="closePicker">{{ getLangText(label.close) }}</button>
<button @click="setNow">{{ getLangText(label.ok) }}</button>
<!-- <button @click="confirmPicker">{{getLangText(label.ok)}}</button> -->
</div>
</div>
</div>
</template>
<script>
Date.prototype.format = function (fmt) {
//author: meizz
var o = {
"M+": this.getMonth() + 1, //
"d+": this.getDate(), //
"h+": this.getHours(), //
"m+": this.getMinutes(), //
"s+": this.getSeconds(), //
"q+": Math.floor((this.getMonth() + 3) / 3), //
S: this.getMilliseconds(), //
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(
RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length)
);
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)
);
return fmt;
};
export default {
name: "DateTimePicker",
props: {
langType: {
type: String,
default: window.localStorage.getItem("langType"),
},
datetime: {
type: String,
default: new Date().format("yyyy-MM-dd hh:00"),
},
isShow: {
type: Boolean,
default: true,
},
},
data: () => ({
label: {
ok: { zh: "确定", en: "OK" },
close: { zh: "关闭", en: "close" },
today: { zh: "确定", en: "now" },
datetimePicker: { zh: "日期时间选择", en: "datetimePicker" },
},
clicktime: null,
weekList: [
{ zh: "日", en: "Sun" },
{ zh: "一", en: "Mon" },
{ zh: "二", en: "Tue" },
{ zh: "三", en: "Wed" },
{ zh: "四", en: "Thu" },
{ zh: "五", en: "Fir" },
{ zh: "六", en: "Sat" },
],
hourList: [
8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17,
17, 18, 18,
],
year: new Date().getFullYear(),
month: new Date().getMonth() + 1,
day: new Date().getDate(),
currentDate: new Date(new Date().format("yyyy-MM-dd 00:00")).getTime(),
startDay: 0,
endDay: 0,
weekNum: 0,
selectDate: new Date(new Date().format("yyyy-MM-dd 00:00")).getTime(),
monthList: [],
selectHour:
new Date().getHours() > 8 && new Date().getHours() < 18
? new Date().getHours()
: "8",
selectMinute:
new Date().getMinutes() >= 0 && new Date().getMinutes() < 30 ? "0" : "30",
}),
created() {
console.log(this.selectDate);
console.log(this.selectMinute);
},
watch: {
year() {
this.getMonthDay();
},
month() {
this.getMonthDay();
},
isShow() {
if (this.isShow) {
// console.log(this.selectHour);
let ind =
(this.selectHour - 8) * 2 + (this.selectMinute === "0" ? 0 : 1);
this.onSelectHour(this.selectHour, ind);
this.$emit(
"update:datetime",
new Date(
this.selectDate +
this.selectHour * 3600000 +
this.selectMinute * 60000
).format("yyyy-MM-dd hh:mm")
);
}
},
},
methods: {
getLangText(item) {
if (item) {
if (this.langType == "en") {
if (item.en && item.en.length > 1) {
return item.en.substring(0, 1).toUpperCase() + item.en.substring(1);
} else if (item.en && item.en.length == 1) {
return item.en.toUpperCase();
} else {
return "--";
}
} else {
return item.zh ? item.zh : "--";
}
} else {
return "--";
}
},
preYear() {
this.year = this.year - 1;
},
nextYear() {
this.year = this.year + 1;
},
nextMonth() {
if (this.month == 12) {
this.year = this.year + 1;
this.month = 1;
} else {
this.month++;
}
},
preMonth() {
if (this.month == 1) {
this.year = this.year - 1;
this.month = 12;
} else {
this.month--;
}
},
showPicker() {
this.$emit("update:is-show", true);
var time = new Date(this.datetime).getTime();
this.year = new Date(time).getFullYear();
this.month = new Date(time).getMonth() + 1;
this.day = new Date(time).getDate();
this.selectDate = new Date(
new Date(time).format("yyyy-MM-dd 00:00")
).getTime();
this.selectHour = new Date(time).getHours();
},
onConfirmDate(time) {
this.onSelectDate(time);
this.confirmPicker();
},
onConfirmHour(n) {
this.onSelectHour(n);
this.confirmPicker();
},
closePicker() {
this.$emit("update:is-show", false);
},
setNow() {
// this.year = new Date().getFullYear();
// this.month = new Date().getMonth() + 1;
// this.day = new Date().getDate();
// this.selectDate = new Date(
// new Date().format("yyyy-MM-dd 00:00")
// ).getTime();
// this.selectHour = new Date().getHours();
// this.selectMinute =
// new Date().getMinutes() > 0 && new Date().getMinutes() <= 30
// ? "0"
// : "30";
this.$emit("update:is-show", false);
},
confirmPicker() {
// console.log(this.selectMinute);
// this.$emit(
// "update:datetime",
// new Date(
// this.selectDate +
// this.selectHour * 3600000 +
// this.selectMinute * 60000
// ).format("yyyy-MM-dd hh:mm")
// );
// this.$emit(
// "pickerresult",
// new Date(this.selectDate + this.selectHour * 3600000).format(
// "yyyy-MM-dd hh:00"
// )
// );
this.closePicker();
},
getMonthDay() {
var monthFirst = new Date(this.year + "-" + this.month + "-01 00:00");
var w = monthFirst.getDay();
this.startDay = monthFirst.getTime() - w * 24 * 3600 * 1000;
if (this.month == 12) {
this.endDay = new Date(this.year + 1 + "-01-01 00:00").getTime() - 1000;
} else {
this.endDay =
new Date(this.year + "-" + (this.month + 1) + "-01 00:00").getTime() -
1000;
}
var monthDay = (this.endDay + 1000 - this.startDay) / (24 * 3600 * 1000);
this.weekNum = Math.ceil(monthDay / 7);
this.monthList = [];
for (var i = 0; i < this.weekNum; i++) {
var item = [];
for (var j = 0; j < 7; j++) {
item.push(
this.startDay + i * 24 * 3600 * 1000 * 7 + j * 24 * 3600 * 1000
);
}
this.monthList.push(item);
}
},
onSelectHour(n, index) {
// console.log(n);
this.selectHour = n;
this.clicktime = index;
if (index % 2 === 0) {
this.selectMinute = "0";
} else {
this.selectMinute = "30";
}
this.$emit(
"update:datetime",
new Date(
this.selectDate +
this.selectHour * 3600000 +
this.selectMinute * 60000
).format("yyyy-MM-dd hh:mm")
);
},
onSelectMinute(n) {
this.selectMinute = n;
console.log(this.selectMinute);
this.$emit(
"update:datetime",
new Date(
this.selectDate +
this.selectHour * 3600000 +
this.selectMinute * 60000
).format("yyyy-MM-dd hh:mm")
);
},
onSelectDate(time) {
console.log(time);
if (time < this.currentDate) {
return;
} else {
this.selectDate = time;
}
this.year = new Date(time).getFullYear();
this.month = new Date(time).getMonth() + 1;
this.day = new Date(time).getDate();
// console.log(this.year, "--------", this.month, "--------", this.day);
this.$emit(
"update:datetime",
new Date(time + this.selectHour * 3600000).format("yyyy-MM-dd hh:00")
);
},
},
mounted() {
this.getMonthDay();
},
};
</script>
<style lang="less">
.date-picker-bg {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 5;
}
.date-picker {
background-color: white;
position: absolute;
top: 28px;
left: 0;
display: block;
padding: 4px;
z-index: 6;
// border: solid 1px gainsboro;
border-radius: 8px;
box-shadow: 2px 2px 8px #ddd;
.picker-top {
display: flex;
flex-direction: row;
align-items: center;
height: 30px;
line-height: 30px;
.picker-arrow {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 20px;
line-height: 20px;
width: 30px;
height: 30px;
color: #8a8a8a;
cursor: pointer;
.iconfont {
color: #8a8a8a;
}
.iconfont:active,
.iconfont:hover {
color: #388dea;
}
}
.date-text {
flex: 1;
font-weight: bold;
display: inline-block;
text-align: center;
font-size: 14px;
}
}
.picker-content {
display: block;
border-top: solid 1px #eee;
border-bottom: solid 1px #eee;
height: 200px;
table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
font-size: 12px;
line-height: 20px !important;
.contain {
height: 2px;
}
thead {
padding-bottom: 5px;
tr {
margin-bottom: 5px;
background-color: #fff4e3;
color: rgba(77, 87, 94);
th {
text-align: center;
font-weight: 600;
font-size: 14px;
line-height: 26px;
}
}
}
tbody {
margin-top: 10px;
tr {
td {
// height: 50px;
box-sizing: border-box;
color: rgba(77, 87, 94);
// font-weight: 600;
padding: 0 4px;
font-size: 14px;
cursor: pointer;
// border-radius: 4px;
div {
border: 1px solid transparent;
position: relative;
width: 30px;
height: 25px;
line-height: 23px;
border-radius: 4px;
text-align: center;
margin: 0 2px;
z-index: 99;
box-sizing: border-box;
}
}
td.gray {
font-weight: 400;
color: rgba(138, 138, 138, 0.7);
}
td.bggray {
position: relative;
cursor: default;
&::after {
content: "";
position: absolute;
display: block;
width: 100%;
height: 26px;
background-color: #f5f5f5;
top: 50%;
transform: translateY(-50%);
left: 0;
z-index: 9;
}
}
td:not(.bggray):hover {
div {
border: 1px solid #ff6a00;
color: #ff6a00;
}
}
td.active {
div {
background: #ff6a00;
color: white !important;
font-weight: bold;
}
}
}
}
}
}
.picker-content1:extend(.picker-content all) {
// &: extend ;
display: flex;
flex-direction: row;
table {
width: calc(100% - 40px);
border-right: 1px solid #eee;
}
.hour-list,
.minutes-list {
display: inline-block;
list-style: none;
padding: 0 2px 0 5px;
margin: 0;
height: 100%;
overflow-x: hidden;
width: 80px;
font-size: 12px;
overflow-y: auto;
&::-webkit-scrollbar {
/*滚动条整体样式*/
width: 0px !important; /*高宽分别对应横竖滚动条的尺寸*/
height: 4px;
}
&::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 5px;
// -webkit-box-shadow: inset 0 0 5px rgba(126, 126, 126, 0.06);
background: #ddd !important;
}
// &::-webkit-scrollbar-track {
// /**/
// -webkit-box-shadow: inset 0 0 5px rgba(112, 112, 112, 0.06);
// border-radius: 0;
// background: rgba(0, 0, 0, 0.1);
// }
li {
padding: 0;
margin: 0;
// color: #4d575e;
color: rgba(77, 87, 94, 0.8);
font-weight: 600;
display: flex;
line-height: 13px;
font-size: 13px;
justify-content: center;
align-items: center;
padding: 0 4px;
height: 26px;
cursor: pointer;
}
// li:not(:last-child) {
// border-bottom: solid 1px gainsboro;
// }
li.active {
color: white;
background: #ff6a00;
}
}
.minutes-list {
width: 60px;
}
.hour-list::-webkit-scrollbar {
background: transparent;
height: 8px;
width: 8px;
border: none;
}
.hour-list::-webkit-scrollbar-thumb {
background: lightgray;
border-radius: 5px;
}
// end
}
.picker-footer {
display: block;
line-height: 42px;
text-align: right;
white-space: nowrap;
button {
outline: none;
border: solid 1px gainsboro;
border-radius: 2px;
text-align: center;
padding-left: 1px;
color: #8a8a8a;
height: 24px;
width: 50px;
line-height: 20px;
font-size: 12px;
margin-right: 12px;
background-color: #f3f3f3;
&:first-child {
background-color: #fff;
&:active,
&:hover {
border-color: #eee;
background-color: #eee;
}
}
&:last-child {
background-color: #ff6a00;
border-color: #ff6a00;
color: #fff;
&:active,
&:hover {
border-color: #ff6a00;
background-color: #ff832a;
}
}
}
}
}
</style>

@ -1,6 +1,6 @@
<template>
<div class="detail-container">
<a-modal
<!-- <a-modal
title="报名"
:visible="visible"
class="modal"
@ -89,7 +89,20 @@
</a-select>
</a-form-model-item>
</a-form-model>
</a-modal>
</a-modal> -->
<a-drawer
title="报名"
placement="right"
:closable="true"
:maskClosable="false"
:visible="visible"
labelAlign="right"
width="480"
@close="onClose"
>
<recordbill :visible.sync="visible" :firminfo="jobDetail"></recordbill>
</a-drawer>
<!-- 面包屑 -->
<a-breadcrumb class="w">
<a-breadcrumb-item href="">
@ -142,7 +155,7 @@
<img v-else src="../../../static/img/nopicture.png" alt="" />
</div>
<div class="jobinfobox">
<div class="jobname">{{ jobDetail.aliasName }}</div>
<div class="jobname">{{ jobDetail.jobName }}</div>
<div class="jobinfo">
<span>{{ jobDetail.district }}</span>
<span>{{ jobDetail.gender }}</span>
@ -171,11 +184,40 @@
>/</template
>
</div>
<div class="billbutton">
<!-- <div class="billbutton">
<span>服务费 <i>1.5</i>/小时</span>
<button @click="showmodal"></button>
<a-dropdown class="dropdown" :trigger="['click']">
<a
class="ant-dropdown-link"
@click="(e) => e.preventDefault()"
>
报名
</a>
<a-menu slot="overlay">
<a-menu-item @click="showmodal"> </a-menu-item>
<a-menu-item @click="torecord"> </a-menu-item>
</a-menu>
</a-dropdown>
</div> -->
</div>
</div>
<div class="subsetright">
<div class="topbox">
<div>服务费</div>
<div>
<span
v-if="
jobDetail.returnFee &&
jobDetail.returnFee !== -1 &&
jobDetail.returnFee !== null
? true
: false
"
>{{ jobDetail.returnFee }}</span
><i v-else>--</i><span>{{ jobDetail.servetype }}</span>
</div>
</div>
<button class="dropdown bottombox1" @click="torecord"></button>
</div>
</div>
<div class="proxy">
@ -226,6 +268,8 @@
import { getJobDetailApi } from "../../api/job";
import { disposeJobListData } from "../../utils/commonUtil";
import recommend from "../../components/FirstJob/components/recommend.vue";
import { nationlist } from "../../utils/datalist";
import recordbill from "@/components/FirstJob/components/recordbill.vue";
export default {
//
@ -233,6 +277,7 @@ export default {
//
components: {
recommend,
recordbill,
},
//
props: {},
@ -245,240 +290,7 @@ export default {
id: this.$route.params.id,
visible: false, //
confirmLoading: false, // loading
nationlist: [
{
id: "01",
name: "汉族",
},
{
id: "02",
name: "蒙古族",
},
{
id: "03",
name: "回族",
},
{
id: "04",
name: "藏族",
},
{
id: "05",
name: "维吾尔族",
},
{
id: "06",
name: "苗族",
},
{
id: "07",
name: "彝族",
},
{
id: "08",
name: "壮族",
},
{
id: "09",
name: "布依族",
},
{
id: "10",
name: "朝鲜族",
},
{
id: "11",
name: "满族",
},
{
id: "12",
name: "侗族",
},
{
id: "13",
name: "瑶族",
},
{
id: "14",
name: "白族",
},
{
id: "15",
name: "土家族",
},
{
id: "16",
name: "哈尼族",
},
{
id: "17",
name: "哈萨克族",
},
{
id: "18",
name: "傣族",
},
{
id: "19",
name: "黎族",
},
{
id: "20",
name: "傈僳族",
},
{
id: "21",
name: "佤族",
},
{
id: "22",
name: "畲族",
},
{
id: "23",
name: "高山族",
},
{
id: "24",
name: "拉祜族",
},
{
id: "25",
name: "水族",
},
{
id: "26",
name: "东乡族",
},
{
id: "27",
name: "纳西族",
},
{
id: "28",
name: "景颇族",
},
{
id: "29",
name: "柯尔克孜族",
},
{
id: "30",
name: "土族",
},
{
id: "31",
name: "达斡尔族",
},
{
id: "32",
name: "仫佬族",
},
{
id: "33",
name: "羌族",
},
{
id: "34",
name: "布朗族",
},
{
id: "35",
name: "撒拉族",
},
{
id: "36",
name: "毛难族",
},
{
id: "37",
name: "仡佬族",
},
{
id: "38",
name: "锡伯族",
},
{
id: "39",
name: "阿昌族",
},
{
id: "40",
name: "普米族",
},
{
id: "41",
name: "塔吉克族",
},
{
id: "42",
name: "怒族",
},
{
id: "43",
name: "乌孜别克族",
},
{
id: "44",
name: "俄罗斯族",
},
{
id: "45",
name: "鄂温克族",
},
{
id: "46",
name: "崩龙族",
},
{
id: "47",
name: "保安族",
},
{
id: "48",
name: "裕固族",
},
{
id: "49",
name: "京族",
},
{
id: "50",
name: "塔塔尔族",
},
{
id: "51",
name: "独龙族",
},
{
id: "52",
name: "鄂伦春族",
},
{
id: "53",
name: "赫哲族",
},
{
id: "54",
name: "门巴族",
},
{
id: "55",
name: "珞巴族",
},
{
id: "56",
name: "基诺族",
},
{
id: "57",
name: "其他",
},
{
id: "58",
name: "外国血统中国人士",
},
],
nationlist,
form: {
//
name: "",
@ -493,11 +305,13 @@ export default {
proxy: "",
facedate: "",
},
rules: {
//
name: [{ required: true, message: "请输入姓名", trigger: "submit" }],
// tel: [{ required: true, message: "", trigger: "submit" }],
},
storeJob: {},
// rules: {
// //
// name: [{ required: true, message: "", trigger: "submit" }],
// // tel: [{ required: true, message: "", trigger: "submit" }],
// },
apply: {},
};
},
//
@ -512,6 +326,7 @@ export default {
beforeCreate() {},
created() {
// console.log(this.$router.matcher.match());
console.log(this.$route.params); // params
this.getJobDetail();
// Object.defineProperties("window.opener", "sessionStorage", {
// LOGIN_DATA: {},
@ -578,85 +393,137 @@ export default {
});
},
//
// showmodal() {
// this.visible = true;
// console.log(this.id);
// },
showmodal() {
this.visible = true;
console.log(this.id);
// this.apply = item;
// console.log(this.apply);
// console.log(id);
},
onClose() {
this.visible = false;
this.form = {
//
name: "",
peoplecard: "",
gender: "", //
nation: "", //
location: "", //
firm: "", //
post: "", //
pattern: "", //
policy: "", //
proxy: "", //
facedate: "", //
};
},
torecord(item) {
//
console.log(item);
// let userinfo = JSON.stringify(item);
this.$router.push({ name: "recordbill", params: this.jobDetail });
},
},
};
</script>
<style scoped lang="less">
.ant-breadcrumb {
.ant-breadcrumb-link {
a:hover {
color: #ff6a00;
}
}
}
.detail-container {
overflow: hidden;
// border-top: 1px solid #eeefef;
background-color: #f6f6f6;
}
//
/deep/ .ant-modal {
top: 30px !important;
/deep/ .ant-form {
// overflow: auto;
margin-bottom: 50px;
}
.modal {
.ant-form-item {
// margin-bottom: 0;
margin-top: -8px;
/deep/ .ant-form-item-label {
line-height: 22px;
}
.ant-input {
// width: 430px;
height: 40px;
// border: none;
border: 1px solid #dddddd;
box-shadow: none !important;
// background-color: #f6f6f6;
}
}
/deep/ .ant-modal-footer {
padding: 10px 24px;
.ant-btn {
&:hover {
color: #ff6a00;
border-color: #ff6a00;
}
}
.ant-btn.ant-btn-primary {
background-color: #ff6a00 !important;
border: none;
line-height: 32px;
margin-left: 12px;
color: #fff;
box-shadow: none;
&:hover {
background-color: #ff8025 !important;
}
}
//
/deep/ .ant-drawer-wrapper-body {
// overflow: none;
// position: relative;
&::-webkit-scrollbar {
/*滚动条整体样式*/
width: 0px; /*高宽分别对应横竖滚动条的尺寸*/
height: 4px;
}
/deep/ .ant-modal-header {
.ant-modal-title {
font-size: 20px;
// font-weight: normal;
.ant-drawer-header {
position: absolute;
width: 100%;
background-color: #fff;
padding: 12px 24px;
z-index: 999;
.ant-drawer-close {
height: 48px;
width: 48px;
line-height: 48px;
}
}
/deep/ .ant-modal-body {
padding: 24px 24px 8px 24px;
overflow: auto;
height: 630px;
max-height: 630px !important;
.ant-drawer-body {
overflow-y: auto;
margin-top: 47px;
}
}
// /deep/ .ant-modal {
// top: 30px !important;
// }
// .modal {
// .ant-form-item {
// margin-top: -8px;
// /deep/ .ant-form-item-label {
// line-height: 22px;
// }
// .ant-input {
// // width: 430px;
// height: 40px;
// // border: none;
// border: 1px solid #dddddd;
// box-shadow: none !important;
// // background-color: #f6f6f6;
// }
// }
// /deep/ .ant-modal-footer {
// padding: 10px 24px;
// .ant-btn {
// &:hover {
// color: #ff6a00;
// border-color: #ff6a00;
// }
// }
// .ant-btn.ant-btn-primary {
// background-color: #ff6a00 !important;
// border: none;
// line-height: 32px;
// margin-left: 12px;
// color: #fff;
// box-shadow: none;
// &:hover {
// background-color: #ff8025 !important;
// }
// }
// }
// /deep/ .ant-modal-header {
// .ant-modal-title {
// font-size: 20px;
// // font-weight: normal;
// }
// }
// /deep/ .ant-modal-body {
// padding: 24px 24px 8px 24px;
// overflow: auto;
// height: 630px;
// max-height: 630px !important;
// }
// }
/deep/ .maincontent {
display: flex;
justify-content: space-between;
margin-top: 16px;
margin-top: 12px;
.maincontentleft {
width: 944px;
margin-right: 16px;
@ -674,9 +541,9 @@ export default {
.subsetleft {
display: flex;
.imgbox {
width: 320px;
// height: 240px;
margin-right: 20px;
width: 177px;
height: 177px;
margin-right: 16px;
overflow: hidden;
position: relative;
// .slick-active {
@ -688,34 +555,34 @@ export default {
// transition: all 0s ease 0s !important;
// }
img {
// position: absolute;
width: 100%;
position: absolute;
// width: 100%;
// height: 100%;
height: 240px;
// top: 50%;
// left: 50%;
height: 100%;
// width: 100%;
top: 50%;
left: 50%;
// left: 0;
// top: 0;
// right: 0;
// bottom: 0;
// margin: auto;
// transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
.ant-carousel {
.slick-slide {
text-align: center;
height: 230px;
height: 177px;
// height: 160px;
// line-height: 160px;
background: #364d79;
// background: #364d79;
overflow: hidden;
}
.custom-slick-arrow {
width: 40px;
height: 40px;
font-size: 40px;
width: 35px;
height: 35px;
font-size: 35px;
margin-top: -20px;
border-radius: 50%;
color: #fff;
@ -807,9 +674,24 @@ export default {
color: #ff6a00;
line-height: 34px;
}
button {
// button {
// width: 160px;
// // padding: 0 16px;
// height: 36px;
// border: none;
// background-color: #ff6a00;
// color: #fff;
// font-weight: normal;
// font-size: 18px;
// border-radius: 4px;
// cursor: pointer;
// &:hover {
// background-color: #ff7614;
// }
// }
.dropdown {
width: 160px;
// padding: 0 16px;
padding: 0 16px;
height: 36px;
border: none;
background-color: #ff6a00;
@ -817,9 +699,13 @@ export default {
font-weight: normal;
font-size: 18px;
border-radius: 4px;
text-align: center;
line-height: 36px;
cursor: pointer;
&:hover {
background-color: #ff7614;
color: #fff;
background-color: rgba(255, 121, 26);
}
}
}
@ -906,6 +792,60 @@ export default {
// }
// }
}
.subsetright {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-end;
.topbox {
width: 116px;
height: 54px;
text-align: center;
overflow: hidden;
background: rgba(255, 106, 0, 0.1);
border-radius: 4px;
color: #ff6a00;
line-height: 30px;
div {
// font-weight: normal;
font-size: 16px;
span:first-of-type {
font-size: 20px;
// font-weight: normal;
}
}
div:first-child {
height: 24px;
background: #ff6a00;
line-height: 21px;
font-size: 14px;
color: #ffffff;
border: 1px solid #ff6a00;
border-radius: 4px 4px 0px 0px;
}
div:last-child {
font-weight: normal;
background-color: #fff4e3;
}
}
.bottombox1 {
width: 116px;
height: 32px;
font-size: 16px;
// border: 1px solid rgba(77, 87, 94, 0.3);
border-radius: 4px;
border: 1px solid #ff6a00;
background-color: #fff;
color: rgba(255, 106, 0, 1);
cursor: pointer;
&:hover {
color: #fff;
background-color: rgba(255, 121, 26);
}
}
}
}
.proxy {
margin-bottom: 16px;

@ -10,117 +10,12 @@
title="报名"
placement="right"
:closable="true"
:maskClosable="false"
:visible="visible"
labelAlign="right"
width="588"
width="480"
@close="onClose"
>
<a-form-model
ref="ruleForm"
:model="form"
:rules="rules"
:colon="false"
:wrapperCol="{ span: 21 }"
:labelCol="{ span: 3 }"
>
<a-form-model-item ref="proxy" label="代理" prop="">
<a-input :placeholder="proxyinfo.userName" :disabled="true" />
</a-form-model-item>
<a-form-model-item ref="username" label="姓名" prop="username">
<a-input
v-model="form.username"
placeholder="请输入老乡姓名"
@blur="
() => {
$refs.name.onFieldBlur();
}
"
/>
</a-form-model-item>
<a-form-model-item ref="gender" label="性别" prop="gender">
<a-select v-model="form.gender" placeholder="请选择性别">
<a-select-option value="man"></a-select-option>
<a-select-option value="woman"></a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item ref="tel" label="年龄" prop="tel">
<a-input
v-model="form.age"
placeholder="请输入年龄"
@blur="
() => {
$refs.tel.onFieldBlur();
}
"
/>
</a-form-model-item>
<a-form-model-item ref="peoplecard" label="民族" prop="peoplecard">
<a-select v-model="form.nation" placeholder="请选择民族">
<a-select-option
v-for="item in nationlist"
:key="item.id"
:value="item.id"
>{{ item.name }}</a-select-option
>
</a-select>
</a-form-model-item>
<a-form-model-item ref="peoplecard" label="身份证号" prop="peoplecard">
<a-input v-model="form.peoplecard" placeholder="请输入老乡身份证号" />
</a-form-model-item>
<a-form-model-item ref="peoplecard" label="家庭住址" prop="peoplecard">
<a-input v-model="form.location" placeholder="请输入家庭住址" />
</a-form-model-item>
<a-form-model-item ref="username" label="面试时间" prop="username">
<a-select v-model="form.facedate" placeholder="请选择民族">
<a-select-option :value="applyid">{{ applyid }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item ref="username" label="报名企业" prop="username">
<a-select v-model="form.firm" placeholder="请选择民族">
<a-select-option :value="applyid">{{ applyid }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item ref="username" label="岗位" prop="username">
<a-select v-model="form.post" placeholder="请选择民族">
<a-select-option :value="applyid">{{ applyid }}</a-select-option>
</a-select>
</a-form-model-item>
<!-- <a-form-model-item ref="username" label="模式" prop="username">
<a-select v-model="form.pattern" placeholder="请选择民族">
<a-select-option :value="applyid">{{ applyid }}</a-select-option>
</a-select>
</a-form-model-item> -->
<a-form-model-item ref="username" label="政策" prop="username">
<a-select v-model="form.policy" placeholder="请选择民族">
<a-select-option :value="applyid">{{ applyid }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item
class="upline"
style="position: absolute; bottom: 0; right: 20px; margin-top: "
>
<a-button
type="primary"
@click="onClose"
style="color: #666; background-color: #fafafa; border-color: #ddd"
>
取消
</a-button>
<a-button
style="
margin-left: 10px;
color: #fff;
background-color: #ff6a00;
border-color: #ff6a00;
"
@click="handleOk"
>
提交
</a-button>
</a-form-model-item>
</a-form-model>
<recordbill :visible.sync="visible" :firminfo="apply"></recordbill>
</a-drawer>
<!-- <a-modal
title="报名"
@ -165,6 +60,11 @@
placeholder="选择城市"
v-model="formvalue.district"
popupClassName="flitercity"
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
id="city"
:popupStyle="{
transform: 'all .1s',
@ -178,6 +78,11 @@
placeholder="工价"
@change="onChange"
popupClassName="monthlypay"
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="formvalue.monthlyPayStr"
id="price"
><i slot="suffixIcon" class="iconfont icon-xiala"></i
@ -190,6 +95,11 @@
placeholder="年龄"
@change="onChange"
popupClassName="agestr"
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="formvalue.ageStr"
id="age"
><i slot="suffixIcon" class="iconfont icon-xiala"></i
@ -298,7 +208,7 @@
:to="'/detail/' + item.id"
rel="opener"
>
<div class="jobname" @click="totop">{{ item.aliasName }}</div>
<div class="jobname" @click="totop">{{ item.jobName }}</div>
</router-link>
<div class="jobinfo">
<span>{{ item.district }}</span>
@ -352,13 +262,15 @@
</div>
<div class="bottombox1">
<router-link
target="_blank"
:to="'/detail/' + item.id"
target="_blank"
rel="opener"
><button>更多</button></router-link
>
<button>更多</button>
</router-link>
<button @click="showmodal(item.id)"></button>
<button @click="torecord(item)"></button>
<!-- <button @click="showmodal(item)" @click="">报名</button> -->
</div>
</div>
</div>
@ -425,6 +337,8 @@ import {
} from "../../api/job";
import { moneyToFixed } from "../../utils/commonUtil";
import recommend from "@/components/FirstJob/components/recommend.vue";
import { nationlist } from "../../utils/datalist";
import recordbill from "@/components/FirstJob/components/recordbill.vue";
export default {
//
inject: ["getJobList", "reload"],
@ -433,6 +347,7 @@ export default {
//
components: {
recommend,
recordbill,
},
//
props: {
@ -462,267 +377,16 @@ export default {
confirmLoading: false, // loading
cityoption: [], //
newFormValue: [],
applyid: "", // id
apply: "", // id
proxyinfo: JSON.parse(sessionStorage.getItem("LOGIN_DATA")),
nationlist: [
{
id: "01",
name: "汉族",
},
{
id: "02",
name: "蒙古族",
},
{
id: "03",
name: "回族",
},
{
id: "04",
name: "藏族",
},
{
id: "05",
name: "维吾尔族",
},
{
id: "06",
name: "苗族",
},
{
id: "07",
name: "彝族",
},
{
id: "08",
name: "壮族",
},
{
id: "09",
name: "布依族",
},
{
id: "10",
name: "朝鲜族",
},
{
id: "11",
name: "满族",
},
{
id: "12",
name: "侗族",
},
{
id: "13",
name: "瑶族",
},
{
id: "14",
name: "白族",
},
{
id: "15",
name: "土家族",
},
{
id: "16",
name: "哈尼族",
},
{
id: "17",
name: "哈萨克族",
},
{
id: "18",
name: "傣族",
},
{
id: "19",
name: "黎族",
},
{
id: "20",
name: "傈僳族",
},
{
id: "21",
name: "佤族",
},
{
id: "22",
name: "畲族",
},
{
id: "23",
name: "高山族",
},
{
id: "24",
name: "拉祜族",
},
{
id: "25",
name: "水族",
},
{
id: "26",
name: "东乡族",
},
{
id: "27",
name: "纳西族",
},
{
id: "28",
name: "景颇族",
},
{
id: "29",
name: "柯尔克孜族",
},
{
id: "30",
name: "土族",
},
{
id: "31",
name: "达斡尔族",
},
{
id: "32",
name: "仫佬族",
},
{
id: "33",
name: "羌族",
},
{
id: "34",
name: "布朗族",
},
{
id: "35",
name: "撒拉族",
},
{
id: "36",
name: "毛难族",
},
{
id: "37",
name: "仡佬族",
},
{
id: "38",
name: "锡伯族",
},
{
id: "39",
name: "阿昌族",
},
{
id: "40",
name: "普米族",
},
{
id: "41",
name: "塔吉克族",
},
{
id: "42",
name: "怒族",
},
{
id: "43",
name: "乌孜别克族",
},
{
id: "44",
name: "俄罗斯族",
},
{
id: "45",
name: "鄂温克族",
},
{
id: "46",
name: "崩龙族",
},
{
id: "47",
name: "保安族",
},
{
id: "48",
name: "裕固族",
},
{
id: "49",
name: "京族",
},
{
id: "50",
name: "塔塔尔族",
},
{
id: "51",
name: "独龙族",
},
{
id: "52",
name: "鄂伦春族",
},
{
id: "53",
name: "赫哲族",
},
{
id: "54",
name: "门巴族",
},
{
id: "55",
name: "珞巴族",
},
{
id: "56",
name: "基诺族",
},
{
id: "57",
name: "其他",
},
{
id: "58",
name: "外国血统中国人士",
},
],
nationlist: nationlist,
dateinfo: {
day: "",
week: "",
date: "",
},
form: {
//
name: "",
peoplecard: "",
gender: "", //
nation: "", //
location: "", //
firm: "", //
post: "", //
pattern: "", //
policy: "", //
proxy: "", //
facedate: "", //
},
rules: {
//
name: [{ required: true, message: "请输入姓名", trigger: "submit" }],
// tel: [{ required: true, message: "", trigger: "submit" }],
},
options: {
//
price: [
@ -883,6 +547,8 @@ export default {
// console.log(scrollTop); // ,
let navigation = document.getElementById("navigation");
let content = document.querySelector(".maincontent");
let filterbox = document.querySelector(".w");
console.log(filterbox);
// console.log(content);
// let left = ("100vw" - "1200px") / 2;
if (scrollTop >= 81) {
@ -891,14 +557,20 @@ export default {
navigation.style.boxShadow = "2px 2px 4px 0px rgba(0,0,0,0.05)";
// navigation.style.left = 0;
content.style.marginTop = "90px";
// navigation.style.backgroundColor = "red";
// console.log(navigation.style);
} else {
navigation.style.position = "relative";
navigation.style.right = "0";
content.style.marginTop = "16px";
navigation.style.boxShadow = "none";
}
},
//
// filterbox() {
// return () => {
// return document.getElementById("filterbox")[0];
// // return document.body;
// };
// },
//
onSearch(e) {
console.log(e);
@ -1073,36 +745,16 @@ export default {
};
},
//
handleOk() {
this.$refs.ruleForm.validate((ispass, no) => {
console.log(ispass);
if (ispass) {
this.confirmLoading = true;
console.log(this.form);
setTimeout(() => {
this.confirmLoading = false;
this.form = {
//
name: "",
tel: "",
peoplecard: "",
username: "",
};
this.visible = false;
}, 2000);
} else {
console.log(123);
}
console.log(no);
});
},
//
showmodal(id) {
showmodal(item) {
this.visible = true;
this.applyid = id;
console.log(id);
this.apply = item;
console.log(this.apply);
// console.log(id);
},
onClose() {
console.log(123);
this.visible = false;
this.form = {
//
@ -1159,76 +811,94 @@ export default {
this.specialvalue.splice(index, 1);
this.getJobList();
},
torecord(item) {
//
console.log(item);
// let userinfo = JSON.stringify(item);
this.$router.push({ name: "recordbill", params: item });
sessionStorage.setItem("CURRENT_FIRM", JSON.stringify(item));
},
// todetail(item) {
// const routeURL = this.$router.resolve({
// name: "Detail",
// query: item.id,
// });
// window.open(routeURL.href, "_blank");
// console.log(item);
// },
},
};
</script>
<style scoped lang="less">
// :focus-visible {
// outline: none;
// }
// .searchbox {
// background-color: #fff;
// // border-bottom: 1px solid #eeefef;
// .w {
// // display: flex;
// // justify-content: space-between;
// overflow: hidden;
// height: 100px;
// span {
// float: left;
// }
// .logo {
// width: 424px;
// height: 49px;
// margin-top: 26px;
// margin-right: 60px;
// background: url("../../assets/logo.png") no-repeat;
// background-size: contain;
// }
// }
// }
.dropdown {
display: inline-block;
width: 100px;
height: 32px;
line-height: 30px;
font-size: 16px;
// border: 1px solid rgba(77, 87, 94, 0.3);
border-radius: 4px;
margin-left: 16px;
border: 1px solid #ff6a00;
background-color: #fff;
color: rgba(255, 106, 0, 1);
text-align: center;
cursor: pointer;
&:hover {
color: #fff;
background-color: rgba(255, 121, 26);
}
}
/deep/ .ant-drawer-content {
box-sizing: border-box;
}
//
/deep/ .ant-modal {
top: 30px !important;
/deep/ .ant-drawer-wrapper-body {
// overflow: none;
// position: relative;
&::-webkit-scrollbar {
/*滚动条整体样式*/
width: 0px; /*高宽分别对应横竖滚动条的尺寸*/
height: 4px;
}
.ant-drawer-header {
position: absolute;
width: 100%;
background-color: #fff;
padding: 12px 24px;
z-index: 999;
.ant-drawer-close {
height: 48px;
width: 48px;
line-height: 48px;
}
}
.ant-drawer-body {
overflow-y: auto;
margin-top: 47px;
}
}
/deep/ .ant-form {
// overflow: auto;
margin-bottom: 50px;
}
/deep/ .ant-form-item {
// margin-bottom: 0;
display: flex;
justify-content: start;
align-items: middle;
margin-top: -8px;
// /deep/ .ant-form-item-label {
// line-height: 22px;
// }
// /deep/ .upline {
// }
&:last-child {
/deep/ .ant-form-item-children {
// display: flex !important;
&::before {
content: "";
display: block;
position: absolute;
height: 1px;
width: 588px;
left: -428px;
top: -20px;
background-color: #d5d5d5;
}
}
}
/deep/ .ant-form-item-children {
display: flex !important;
// &::before {
// content: "";
// display: block;
// position: absolute;
// height: 1px;
// width: 200px;
// left: -100px;
// top: -20px;
// background-color: #000;
// }
.ant-form-item-label {
line-height: 40px;
// font-weight: bold;
}
.ant-input {
// width: 430px;
height: 40px;
@ -1243,9 +913,15 @@ export default {
height: 40px;
// border: none;
// border: 1px solid #dddddd;
line-height: 40px;
box-shadow: none !important;
border-color: #d9d9d9;
/deep/ .ant-form-item-children {
line-height: 40px;
.ant-radio-checked {
}
// display: flex !important;
}
// &:hover {
// border-color: #d9d9d9;
// }
@ -1257,27 +933,27 @@ export default {
// }
}
}
/deep/ .ant-modal-footer {
padding: 10px 24px;
.ant-btn {
box-shadow: none;
&:hover {
color: #ff6a00;
border-color: #ff6a00;
}
}
.ant-btn.ant-btn-primary {
background-color: #ff6a00 !important;
border: none;
line-height: 32px;
margin-left: 12px;
color: #fff;
box-shadow: none;
&:hover {
background-color: #ff8025 !important;
}
}
}
// /deep/ .ant-modal-footer {
// padding: 10px 24px;
// .ant-btn {
// box-shadow: none;
// &:hover {
// color: #ff6a00;
// border-color: #ff6a00;
// }
// }
// .ant-btn.ant-btn-primary {
// background-color: #ff6a00 !important;
// border: none;
// line-height: 32px;
// margin-left: 12px;
// color: #fff;
// box-shadow: none;
// &:hover {
// background-color: #ff8025 !important;
// }
// }
// }
/deep/ .ant-modal-header {
.ant-modal-title {
font-size: 20px;
@ -1285,12 +961,13 @@ export default {
}
}
/deep/ .ant-drawer-body {
overflow: auto;
padding: 20px 16px 8px 16px;
}
/deep/ .navigation {
// margin-top: -1px;
width: 100%;
width: 100vw;
background-color: #fff;
border: 1px solid #f6f6f6;
height: 72px;
@ -1621,7 +1298,7 @@ export default {
.imgbox {
width: 169px;
height: 169px;
margin-right: 20px;
margin-right: 16px;
position: relative;
overflow: hidden;
img {
@ -1658,10 +1335,10 @@ export default {
.jobtag {
margin-top: 14px;
text-align: left;
span:first-child {
color: #ff6a00;
background: rgba(254, 97, 0, 0.1);
}
// span:first-child {
// color: #ff6a00;
// background: rgba(254, 97, 0, 0.1);
// }
span {
margin-right: 8px;
font-size: 16px;
@ -1701,6 +1378,7 @@ export default {
.topbox {
width: 116px;
height: 54px;
overflow: hidden;
text-align: center;
background: rgba(255, 106, 0, 0.1);
border-radius: 4px;
@ -1730,6 +1408,8 @@ export default {
}
}
.bottombox1 {
display: flex;
align-items: center;
button {
width: 100px;
height: 32px;
@ -1750,6 +1430,7 @@ export default {
}
}
}
> button:last-child {
margin-left: 16px;
border: 1px solid #ff6a00;

@ -0,0 +1,969 @@
<template>
<div class="recordBill-container w">
<!-- 面包屑 -->
<a-breadcrumb class="w">
<a-breadcrumb-item href="">
<router-link to="/main"><a-icon type="home" /></router-link>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<router-link to="/list">
<span>一手职位</span>
</router-link>
</a-breadcrumb-item>
<!-- <a-breadcrumb-item href="" v-if="!islist"> -->
<a-breadcrumb-item>
<router-link :to="'/detail/' + firminfo.id">
<!-- <span @click="$router.back(-1)"></span> -->
<span>企业详情</span>
</router-link>
</a-breadcrumb-item>
<a-breadcrumb-item href="">
<span>报名</span>
</a-breadcrumb-item>
</a-breadcrumb>
<div class="content">
<a-form-model ref="ruleForm" :model="form" :colon="true" :rules="rules">
<a-form-model-item
ref="proxy"
label="代理"
prop=""
:wrapperCol="{ span: 18 }"
:labelCol="{ span: 4 }"
style="height: 30px"
>
<!-- <a-input
:value="
proxyinfo.userName !== '' &&
proxyinfo.userName !== null &&
proxyinfo.userName !== undefined
? proxyinfo.userName
: proxyinfo.tel
"
:disabled="true"
/> -->
<div class="pzbox" style="width: 100%">
<span>
{{
proxyinfo.userName !== "" &&
proxyinfo.userName !== null &&
proxyinfo.userName !== undefined
? proxyinfo.userName
: proxyinfo.tel
}}</span
>
<span
:style="{
color: '#ff6a00',
marginLeft: '10px',
cursor: 'pointer',
}"
v-if="isMaster"
>配置</span
>
</div>
</a-form-model-item>
<a-form-model-item
ref="username"
label="报名企业"
prop="username"
:wrapperCol="{ span: 18 }"
:labelCol="{ span: 4 }"
style="height: 30px"
>
<!-- <a-input :value="firminfo.aliasName" :disabled="true" /> -->
<div class="pzbox" style="width: 100%">
<span>{{ firminfo.aliasName }}</span>
<span
:style="{
color: '#ff6a00',
marginLeft: '10px',
cursor: 'pointer',
}"
v-if="isMaster"
>配置</span
>
</div>
</a-form-model-item>
<a-form-model-item
ref="username"
label="岗位"
prop="username"
:wrapperCol="{ span: 18 }"
:labelCol="{ span: 4 }"
style="height: 30px"
>
<!-- <a-input :value="firminfo.jobName" :disabled="true" /> -->
<div class="pzbox" style="width: 100%">
<span>{{ firminfo.jobName }}</span>
<span
:style="{
color: '#ff6a00',
marginLeft: '10px',
cursor: 'pointer',
}"
v-if="isMaster"
>配置</span
>
</div>
</a-form-model-item>
<a-form-model-item
ref="interviewTime"
label="面试时间"
prop="interviewTime"
:wrapperCol="{ span: 18 }"
:labelCol="{ span: 4 }"
>
<timepicker
:isShow.sync="isShow"
:datetime.sync="form.interviewTime"
></timepicker>
<a-input
v-model="form.interviewTime"
placeholder="请选择面试时间"
@input="verify"
@click="getDateinfo"
><i
class="iconfont icon-rili"
slot="suffix"
@click="getDateinfo"
></i
></a-input>
<!-- <a-date-picker
:showToday="false"
format="YYYY-MM-DD HH:mm"
:disabledDate="interviewTimeDisabledDate"
:disabledTime="interviewTimeDisabledDateTime"
:showTime="{
hideDisabledOptions: true,
defaultValue: moment('12:00', 'HH:mm'),
format: 'HH:mm',
}"
v-decorator="[
'interviewTime',
{ rules: [{ required: true, message: '请选择面试时间' }] },
]"
placeholder="请选择面试时间"
style="width: 100%"
@click="isShow = true"
/> -->
</a-form-model-item>
<a-row class="specialbox">
<a-col :span="12">
<a-form-model-item
ref="userName"
label="姓名"
prop="userName"
:wrapperCol="{ span: 15 }"
:labelCol="{ span: 8 }"
>
<a-input
v-model="form.userName"
placeholder="请输入老乡姓名"
class="special-input"
/>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
ref="sex"
label="性别"
prop="sex"
:wrapperCol="{ span: 18 }"
:labelCol="{ span: 5 }"
>
<a-radio-group
v-model="form.sex"
defaultValue="nan"
class="radiobox"
>
<a-radio value="1"> </a-radio>
<a-radio value="2"> </a-radio>
</a-radio-group>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<!-- :offset="2" -->
<a-form-model-item
ref="age"
label="年龄"
prop="age"
:wrapperCol="{ span: 15 }"
:labelCol="{ span: 8 }"
>
<a-input
v-model="form.age"
placeholder="请输入年龄"
class="special-input"
/>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
ref="peoplecard"
label="民族"
prop="peoplecard"
:wrapperCol="{ span: 15 }"
:labelCol="{ span: 5 }"
>
<a-select
v-model="form.nation"
placeholder="请选择民族"
class="special-input"
>
<a-select-option
v-for="item in nationlist"
:key="item.id"
:value="item.name"
>{{ item.name }}</a-select-option
>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="20">
<a-form-model-item
ref="idCard"
label="身份证号"
prop="idCard"
:wrapperCol="{ span: 16 }"
:labelCol="{ span: 5 }"
>
<a-input
v-model="form.idCard"
placeholder="请输入老乡身份证号"
:max-length="18"
/>
</a-form-model-item>
</a-col>
<a-col :span="4" class="idCardUpload"
><a-upload
:customRequest="customRequestFun"
list-type="picture-card"
:file-list="fileList"
@change="handleChange"
@preview="handlePreview"
style="margin-left: -50px"
:beforeUpload="beforeUpload"
:data="dataObj"
>
<div
v-if="fileList.length < 1"
style="
display: flex;
justify-content: center;
align-items: center;
"
>
<a-icon type="upload" />
<div class="ant-upload-text">上传证件</div>
</div>
</a-upload>
<i
class="iconfont icon-guanbi"
v-if="fileList.length !== 0"
@click="fileList = []"
></i
></a-col>
</a-row>
<a-form-model-item
ref="peoplecard"
label="家庭住址"
prop="peoplecard"
:wrapperCol="{ span: 18 }"
:labelCol="{ span: 4 }"
>
<a-input v-model="form.address" placeholder="请输入家庭住址" />
</a-form-model-item>
<!-- <a-form-model-item ref="username" label="模式" prop="username">
<a-select v-model="form.pattern" placeholder="请选择民族">
<a-select-option :value="apply.id">{{ apply.id }}</a-select-option>
</a-select>
</a-form-model-item> -->
<!-- <a-form-model-item
ref="username"
label="政策"
prop="username"
:wrapperCol="{ span: 18 }"
:labelCol="{ span: 4 }"
>
<a-input
v-model="form.policy"
style="min-height: 150px; max-height: 200px"
type="textarea"
/>
</a-form-model-item> -->
</a-form-model>
<div class="upline">
<div>
<a-button
type="primary"
@click="onClose"
:style="{
color: '#666',
backgroundColor: '#fafafa',
borderColor: '#ddd',
boxShadow: 'none',
textShadow: 'none',
}"
>
取消
</a-button>
<a-button
style="
margin-left: 10px;
color: #fff;
background-color: #ff6a00;
border-color: #ff6a00;
"
@click="handleOk"
:loading="confirmLoading"
>
提交
</a-button>
</div>
</div>
</div>
<a-modal
:visible="previewVisible"
:footer="null"
@cancel="previewVisible = false"
>
<img alt="example" style="width: 100%" :src="previewImage" />
</a-modal>
</div>
</template>
<script>
import { nationlist } from "../../utils/datalist";
// import recordbill from "@/components/FirstJob/components/recordbill.vue";
import moment from "moment";
import timepicker from "./components/timepicker.vue";
import { recordBillApi } from "@/api/job";
import request from "@/utils/request";
// import axios from "axios";
import $ from "jquery";
export default {
//
name: "recordBill",
//
components: {
// recordbill,
timepicker,
},
//
props: {},
//
data() {
return {
// facetimedate: "",
previewVisible: false,
previewImage: "",
isMaster: false,
isShow: false,
userinfo: {},
islist: false,
fileList: [],
confirmLoading: false,
dataObj: {
policy: "",
signature: "",
key: "",
ossaccessKeyId: "",
dir: "",
host: "",
// callback:'',
},
rules: {
//
interviewTime: [
{
required: true,
message: "请选择面试时间",
trigger: "blur",
},
],
userName: [
{
required: true,
message: "请输入姓名",
trigger: "blur",
},
{
pattern:
// /^((?![\u3000-\u303F])[\u2E80-\uFE4F]|·)*(?![\u3000-\u303F])[\u2E80-\uFE4F](·)*$/, //
/^(((?![\u3000-\u303F])[\u2E80-\uFE4F]|·)*(?![\u3000-\u303F])[\u2E80-\uFE4F][^·]{1,12})$/, //
message: "请输入正确的姓名",
trigger: "blur",
},
],
sex: [
{
required: true,
message: "请选择性别",
trigger: "change",
},
],
age: [
{
required: true,
message: "请输入年龄",
trigger: "blur",
},
{
pattern: /^\d{2}$/,
message: "请输入正确的年龄",
trigger: "blur",
},
],
idCard: [
// {
// required: true,
// message: "",
// trigger: "blur",
// },
{
min: 18,
max: 18,
message: "请输入正确的身份证号",
trigger: "blur",
},
],
// tel: [{ required: true, message: "", trigger: "submit" }],
},
form: {
//
userName: "",
idCard: "",
sex: "", //
age: "", //
nation: undefined, //
address: "", //
policy: "", //
interviewTime: "", //
idCardImageUrl: "",
},
proxyinfo: {},
nationlist,
firminfo: {},
moment,
};
},
//
computed: {},
//
watch: {
facetimedate() {
console.log(this.facetimedate);
},
},
//
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {
if (JSON.stringify(this.$route.params) == "{}") {
this.firminfo = JSON.parse(sessionStorage.getItem("CURRENT_FIRM"));
} else {
this.firminfo = this.$route.params;
}
console.log();
// this.userinfo = JSON.parse(userinfo);
this.proxyinfo = JSON.parse(sessionStorage.getItem("LOGIN_DATA"));
// sessionStorage.setItem("CURRENT_FIRM", JSON.stringify(userinfo));
console.log(this.firminfo);
// console.log(this.proxyinfo);
// console.dir(document.querySelector(".ant-calendar-picker-input"));
// let picker = document.querySelector(".ant-calendar-picker-input");
// picker.addEventListener(
// "focus",
// function () {
// console.log(document.querySelector(".ant-calendar-selected-day"));
// },
// true
// );
this.setrecordtype();
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/
mounted() {},
//
methods: {
onClose() {
this.form = {
//
userName: "",
idCard: "",
sex: "", //
age: "", //
nation: undefined, //
address: "", //
policy: "", //
interviewTime: "", //
idCardImageUrl: "",
};
this.$router.push("/detail/" + this.firminfo.id);
},
handleOk() {
this.$refs.ruleForm.validate(async (ispass, no) => {
console.log(this.form);
console.log(ispass);
this.confirmLoading = true;
if (ispass) {
console.log(this.form);
const { data } = await recordBillApi({
...this.form,
storeJobId: this.firminfo.id,
});
console.log(data);
if (data.status === 200) {
console.log(data);
// this.$message.success("");
setTimeout(() => {
this.confirmLoading = false;
this.$router.push("/recordsuccess");
}, 1000);
} else {
this.$message.error(data.msg);
}
// setTimeout(() => {
// this.confirmLoading = false;
// this.form = {
// //
// name: "",
// tel: "",
// peoplecard: "",
// username: "",
// };
// this.visible = false;
// }, 2000);
} else {
this.confirmLoading = false;
console.log(123);
}
console.log(no);
});
},
interviewTimeDisabledDate(current) {
// Can not select days before today and today
return (
current < moment().startOf("day") || current > moment().add(100, "days")
);
},
interviewTimeDisabledDateTime() {
return {
disabledHours: () => [0, 1, 2, 3, 4, 5, 6, 22, 23],
disabledMinutes: () =>
this.range(0, 60)
.splice(1, 29)
.concat(this.range(0, 60).splice(31, 59)),
disabledSeconds: () => this.range(1, 60),
};
},
range(start, end) {
const result = [];
for (let i = start; i < end; i++) {
result.push(i);
}
return result;
},
setrecordtype() {
//
let islist = JSON.parse(sessionStorage.getItem("ISLIST"));
this.islist = islist;
},
getDom() {
console.log(1);
},
getDateinfo() {
this.isShow = true;
console.log(this.form.interviewTime);
},
verify() {
if (this.form.interviewTime !== "") {
this.form.interviewTime = "";
}
},
handleChange({ fileList }) {
console.log(fileList);
this.fileList = fileList;
},
// getBase64(file) {
// return new Promise((resolve, reject) => {
// const reader = new FileReader();
// console.log(reader);
// reader.readAsDataURL(file);
// reader.onload = () => resolve(reader.result);
// reader.onerror = (error) => reject(error);
// });
// },
beforeUpload() {
let that = this;
//resolve()
return new Promise((resolve, reject) => {
//resolve()
new Promise((resolve) => {
request({
url: "/oss/policy",
method: "get",
})
.then(({ data }) => {
console.log(data);
// console.log(data.msg);
resolve(data.data);
})
.catch((err) => {
console.log(err);
});
})
.then((response) => {
console.log("响应的数据", response);
that.dataObj.policy = response.data.policy;
that.dataObj.signature = response.data.signature;
that.dataObj.ossaccessKeyId = response.data.accessid;
that.dataObj.key =
response.data.dir + that.getUUID() + "_${filename}";
that.dataObj.dir = response.data.dir;
that.dataObj.host = response.data.host;
console.log("响应的数据222。。。", that.dataObj);
resolve(true);
})
.catch((err) => {
console.log(err);
reject(false);
});
});
},
getUUID() {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
return (
c === "x" ? (Math.random() * 16) | 0 : "r&0x3" | "0x8"
).toString(16);
});
},
customRequestFun(file) {
console.dir(file.onSuccess);
let _self = this;
var formData = new FormData();
//formDataappend
formData.append("key", _self.dataObj.key); //oss
formData.append("OSSAccessKeyId", _self.dataObj.ossaccessKeyId); //accessKeyId
formData.append("policy", _self.dataObj.policy); //policy
formData.append("Signature", _self.dataObj.signature); //
formData.append("success_action_status", "200"); // 204
formData.append("file", file.file); //
file.onProgress();
$.ajax({
type: "post",
url: "http://matripe-cms.oss-cn-beijing.aliyuncs.com",
data: formData,
contentType: false, // Content-Type
processData: false,
success: function (data) {
file.onSuccess();
_self.uploadFileFlag = true;
console.log(data);
var img =
_self.dataObj.host +
"/" +
_self.dataObj.key.replace("${filename}", file.file.name);
_self.form.idCardImageUrl = img;
},
fail: function (err) {
console.log(err);
},
});
},
async handlePreview(file) {
if (!file.url && !file.preview) {
file.preview = await this.getBase64(file.originFileObj);
}
this.previewImage = file.url || file.preview;
this.previewVisible = true;
},
getBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = (error) => reject(error);
});
},
},
};
</script>
<style scoped lang="less">
.recordBill-container {
// height: 100%;
box-sizing: border-box;
.content {
margin-top: 12px;
padding: 30px 0 20px 300px;
position: relative;
background-color: #fff;
text-align: left;
.ant-form {
width: 640px;
}
}
.upline {
position: relative !important;
box-shadow: none;
// transform: translateX(-10px);
margin-top: -12px;
> div {
margin-left: 251px;
display: flex;
justify-content: start;
button {
transition: none;
}
button:first-child {
&:hover {
border-color: #ff6a00 !important;
color: #ff6a00 !important;
}
}
button:last-child {
&:hover {
background-color: #ff7c1f !important;
border-color: #ff7c1f !important;
}
}
// button::after {
// // display: none;
// }
}
}
}
/deep/ .ant-radio-wrapper {
margin-right: 16px;
span:last-child {
padding: 0 2px;
}
}
/deep/ .ant-radio {
border-color: #d9d9d9;
box-shadow: none;
&:after {
display: none;
}
&:hover .ant-radio-inner {
border-color: #ff6a00 !important;
box-shadow: none;
}
}
/deep/ .ant-radio-checked {
.ant-radio-input:focus {
box-shadow: none;
}
.ant-radio-inner {
border-color: #ff6a00;
box-shadow: none;
&::after {
background-color: #ff6a00 !important;
}
}
}
.ant-col {
.ant-form-item {
margin-top: 0;
margin-bottom: 16px !important;
}
}
.idCardUpload {
//
position: relative;
.icon-guanbi {
position: absolute;
top: -3px;
right: 52px;
height: 16px;
width: 16px;
text-align: center;
line-height: 16px;
font-size: 12px;
font-weight: 900;
border-radius: 50%;
background-color: #999;
color: #fff;
z-index: 99;
&::before {
display: inline-block;
transform: scale(0.6);
}
}
}
.specialbox {
margin-top: -8px;
}
/deep/ .ant-upload-picture-card-wrapper {
width: 100px !important;
height: 40px !important;
.ant-upload.ant-upload-select-picture-card,
.ant-upload-list-item,
.ant-upload-list-picture-card-container {
width: 100px !important;
height: 40px !important;
min-width: 100px !important;
min-height: 40px !important;
font-size: 12px;
padding: 0;
border-color: #dddddd !important;
box-sizing: border-box;
.ant-upload {
padding: 0;
}
.ant-upload-list-item-info {
img {
display: block;
border-radius: 2px;
}
}
.ant-upload-select {
background-color: #f5f5f5 !important;
}
.ant-upload-text {
font-size: 12px;
margin: 0 0 0 6px;
}
.ant-upload-list-item-uploading-text {
display: inline-block;
text-align: center !important;
line-height: 0px !important;
width: 100px !important;
height: 40px !important;
// overflow: hidden;
}
.ant-upload-list-item-actions {
> i {
display: none;
}
> a {
text-align: center;
}
}
}
}
/deep/ .ant-form-item {
// margin-bottom: 0;
margin-top: -8px;
.ant-col-5 {
width: 20%;
}
.ant-form-item-label {
// line-height: 22px;
> label {
font-weight: 600;
color: #464646cc;
}
}
.ant-input-affix-wrapper {
&:hover .ant-input {
border-color: #d9d9d9;
}
}
.radiobox {
height: 40px;
display: flex;
align-items: center;
}
.ant-form-item-children {
.pzbox {
// display: flex !important;
color: #4d575e;
span {
display: inline-block;
&:first-child {
min-width: 50px;
}
// &:last-child {
// cursor: pointer;
// margin-left: 10px;
// color: #ff6a00;
// }
}
// &::before {
// content: "";
// display: block;
// position: absolute;
// height: 1px;
// width: 588px;
// left: -428px;
// top: -20px;
// background-color: #d5d5d5;
// }
}
}
.ant-input {
// width: 430px;
height: 40px;
// color: rgba(77, 87, 94, 0.7);
color: #4d575e;
// border: none;
border: 1px solid #dddddd;
box-shadow: none !important;
// background-color: #f6f6f6;
&::placeholder {
color: #cdcdcd;
}
}
.ant-select-selection__rendered,
.ant-select-selection--single,
.ant-select {
height: 40px;
line-height: 40px;
// border: none;
// border: 1px solid #dddddd;
box-shadow: none !important;
border-color: #d9d9d9;
.ant-select-selection__placeholder {
line-height: 17px;
color: #cdcdcd;
}
.ant-select-selection-selected-value {
line-height: 37px;
color: #4d575e;
}
&:hover {
border-color: #d9d9d9;
}
// &:focus {
// border-color: #d9d9d9;
// }
// &:active {
// border-color: #d9d9d9;
// }
}
}
/deep/ .ant-modal-content {
// padding: 0;
.ant-modal-close-x {
width: 32px;
height: 16px;
.anticon-close {
vertical-align: 10px;
margin-top: -10px;
}
}
}
</style>

@ -81,7 +81,7 @@ export default {
left: 50%;
transform: translateX(-50%) translateY(-50%);
color: #fff;
z-index: 99999;
z-index: 99;
transition: all 1.5s;
i {
font-size: 90px;

@ -8,6 +8,11 @@ import "../src/style/index.less";
import "../src/style/userinfo.less"; //用户账号设置和个人中心的样式
import "@/permission"; // permission control
import "./svg";
import moment from "moment";
import "moment/locale/zh-cn";
moment.locale("zh-cn"); //设置语言 或 moment.lang('zh-cn');
Vue.prototype.$moment = moment; //挂载到当前vue实例对象
Vue.config.productionTip = false;
Vue.use(antd);
new Vue({

@ -5,6 +5,13 @@ router.beforeEach(async (to, from, next) => {
// console.log(to);
// console.log(from);
// 路由守卫
console.log(from);
if (from.fullPath === "/list") {
console.log(213);
sessionStorage.setItem("ISLIST", JSON.stringify(true));
} else {
sessionStorage.setItem("ISLIST", JSON.stringify(false));
}
const whiteList = [
// 设置白名单
"/login",

@ -41,6 +41,23 @@ const routes = [
// which is lazy-loaded when the route is visited.
component: () => import("../components/AboutUs/index.vue"),
},
{
path: "/recordbill",
name: "recordbill",
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import("../components/FirstJob/recordBill.vue"),
},
{
path: "/recordsuccess",
name: "recordsuccess",
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () =>
import("../components/FirstJob/components/recordSuccess.vue"),
},
{
path: "/login",
name: "login",

@ -34,7 +34,8 @@ button,
input,
select,
textarea {
font: 12px/1.5 tahoma, arial, \5b8b\4f53;
// font: 12px/1.5 tahoma, arial, \5b8b, \4f53;
font-family: PingFangSC, PingFangSC-Regular;
}
h1,
h2,
@ -101,13 +102,20 @@ table {
border-collapse: collapse;
border-spacing: 0;
}
html {
// width: 100%;
}
:root {
overflow-y: auto;
overflow-x: hidden;
}
body {
padding: 0;
// height: 3080px;
// background-color: #eef1f5;
background-color: #f6f6f6;
font-size: 18px;
// width: 100vw;
// text-align: center;
}
p {
@ -133,178 +141,204 @@ i {
url("../assets/fontfile/iconfont.ttf") format("truetype");
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-rili:before {
content: "\e736";
}
.icon-dingbulogo:before {
content: "\e71d";
content: "\e71d";
}
.icon-weixin1:before {
content: "\e716";
content: "\e716";
}
.icon-gerenzhongxin-mima:before {
content: "\e71c";
content: "\e71c";
}
.icon-bangdingyinhangka:before {
content: "\e71b";
content: "\e71b";
}
.icon-gerenzhongxin:before {
content: "\e719";
content: "\e719";
}
.icon-zhanghaoshezhi:before {
content: "\e71a";
content: "\e71a";
}
.icon-gerenzhongxin-bangdingshouji:before {
content: "\e70c";
content: "\e70c";
}
.icon-shimingrenzheng:before {
content: "\e70d";
content: "\e70d";
}
.icon-gongdan:before {
content: "\e710";
content: "\e710";
}
.icon-yue:before {
content: "\e711";
content: "\e711";
}
.icon-laoxiang:before {
content: "\e715";
content: "\e715";
}
.icon-jifen:before {
content: "\e717";
content: "\e717";
}
.icon-kaquan:before {
content: "\e718";
content: "\e718";
}
.icon-youjiantou:before {
content: "\e68c";
content: "\e68c";
}
.icon-zanwukaquan:before {
content: "\e714";
content: "\e714";
}
.icon-zhengyan:before {
content: "\e712";
content: "\e712";
}
.icon-biyan:before {
content: "\e713";
content: "\e713";
}
.icon-zhongguoyinhang:before {
content: "\e70a";
content: "\e70a";
}
.icon-zhongyuanyinhang:before {
content: "\e70b";
content: "\e70b";
}
.icon-nongyeyinhang:before {
content: "\e70f";
content: "\e70f";
}
.icon-guanbi:before {
content: "\e701";
content: "\e701";
}
.icon-guanbishixin:before {
content: "\e8dc";
content: "\e8dc";
}
.icon-morentouxiang:before {
content: "\e700";
content: "\e700";
}
.icon-touxiang:before {
content: "\e620";
content: "\e620";
}
.icon-xuanzhong:before {
content: "\e6fe";
content: "\e6fe";
}
.icon-weixuanzhong:before {
content: "\e6ff";
content: "\e6ff";
}
.icon-yigezhuanmenfuwudailidepingtai2:before {
content: "\e6fa";
content: "\e6fa";
}
.icon-yigezhuanmenfuwudailidepingtai:before {
content: "\e6f8";
content: "\e6f8";
}
.icon-xiala:before {
content: "\e6f5";
content: "\e6f5";
}
.icon-sousuo:before {
content: "\e608";
content: "\e608";
}
.icon-duanxinyanzheng:before {
content: "\e6f3";
content: "\e6f3";
}
.icon-shouji:before {
content: "\e6f2";
content: "\e6f2";
}
.icon-mima:before {
content: "\e6f1";
content: "\e6f1";
}
.icon-yonghuming:before {
content: "\e6f0";
content: "\e6f0";
}
.icon-shibai:before {
content: "\e6ef";
content: "\e6ef";
}
.icon-chenggong:before {
content: "\e6ee";
content: "\e6ee";
}
.icon-weixin:before {
content: "\e6e9";
content: "\e6e9";
}
.icon-sologan:before {
content: "\e6e1";
content: "\e6e1";
}
.icon-dingwei:before {
content: "\e6df";
content: "\e6df";
}
.icon-yonghu:before {
content: "\e6e0";
content: "\e6e0";
}
// 公用样式类名
.w {
width: 1200px;
margin: 0 auto;
}
// 日期选择框
.ant-calendar-picker-container-content {
margin-top: 3px;
width: 341px !important;
}
.ant-calendar-picker {
border-color: #d9d9d9 !important;
&:hover .ant-calendar-picker-input {
border-color: #d9d9d9 !important;
}
&:focus .ant-calendar-picker-input {
border-color: #d9d9d9 !important;
}
}
// 面包屑样式
.ant-breadcrumb {
.ant-breadcrumb-link {
a:hover {
color: #ff6a00;
}
}
}
// 分页器样式
.pagecontainer {
display: flex;
@ -376,9 +410,11 @@ i {
.ant-cascader-menus.monthlypay,
.ant-cascader-menus.agestr {
// position: fixed !important;
// border-top: 1px solid #000;
width: 100vw;
margin: 0 auto;
top: 152px !important;
top: 70px !important;
-webkit-box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
transition: none !important;
@ -414,7 +450,7 @@ i {
}
.ant-cascader-menus.flitercity {
left: calc((100vw - 1216px) / 2) !important;
top: 152px !important;
top: 70px !important;
border-radius: 0 0 4px 4px !important;
-webkit-box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
@ -545,7 +581,7 @@ p.bottombox {
}
// 面包屑样式
.ant-breadcrumb {
margin-top: 15px;
margin-top: 12px;
.ant-breadcrumb-link {
cursor: default;
}

@ -0,0 +1,511 @@
body,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
pre,
form,
fieldset,
legend,
button,
input,
textarea,
th,
td,
div {
margin: 0;
padding: 0;
font-family: PingFangSC, PingFangSC-Regular;
}
body,
button,
input,
select,
textarea {
font-family: PingFangSC, PingFangSC-Regular;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: 100%;
}
address,
cite,
dfn,
em,
var {
font-style: normal;
}
code,
kbd,
pre,
samp {
font-family: couriernew, courier, monospace;
}
small {
font-size: 12px;
}
ul,
ol {
list-style: none;
}
a {
color: inherit;
text-decoration: none;
}
a:hover {
color: inherit;
text-decoration: none;
}
sup {
vertical-align: text-top;
}
sub {
vertical-align: text-bottom;
}
legend {
color: #000;
}
fieldset,
img {
border: 0;
}
button,
input,
select,
textarea {
font-size: 100%;
}
button {
cursor: pointer;
}
button:focus-visible {
outline: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
:root {
overflow-y: auto;
overflow-x: hidden;
}
body {
padding: 0;
background-color: #f6f6f6;
font-size: 18px;
}
p {
font-size: 18px;
}
i {
font-style: normal;
}
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
@font-face {
font-family: "iconfont";
/* Project id 3135652 */
src: url("../assets/fontfile/iconfont.woff2") format("woff2"), url("../assets/fontfile/iconfont.woff") format("woff"), url("../assets/fontfile/iconfont.ttf") format("truetype");
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-rili:before {
content: "\e736";
}
.icon-dingbulogo:before {
content: "\e71d";
}
.icon-weixin1:before {
content: "\e716";
}
.icon-gerenzhongxin-mima:before {
content: "\e71c";
}
.icon-bangdingyinhangka:before {
content: "\e71b";
}
.icon-gerenzhongxin:before {
content: "\e719";
}
.icon-zhanghaoshezhi:before {
content: "\e71a";
}
.icon-gerenzhongxin-bangdingshouji:before {
content: "\e70c";
}
.icon-shimingrenzheng:before {
content: "\e70d";
}
.icon-gongdan:before {
content: "\e710";
}
.icon-yue:before {
content: "\e711";
}
.icon-laoxiang:before {
content: "\e715";
}
.icon-jifen:before {
content: "\e717";
}
.icon-kaquan:before {
content: "\e718";
}
.icon-youjiantou:before {
content: "\e68c";
}
.icon-zanwukaquan:before {
content: "\e714";
}
.icon-zhengyan:before {
content: "\e712";
}
.icon-biyan:before {
content: "\e713";
}
.icon-zhongguoyinhang:before {
content: "\e70a";
}
.icon-zhongyuanyinhang:before {
content: "\e70b";
}
.icon-nongyeyinhang:before {
content: "\e70f";
}
.icon-guanbi:before {
content: "\e701";
}
.icon-guanbishixin:before {
content: "\e8dc";
}
.icon-morentouxiang:before {
content: "\e700";
}
.icon-touxiang:before {
content: "\e620";
}
.icon-xuanzhong:before {
content: "\e6fe";
}
.icon-weixuanzhong:before {
content: "\e6ff";
}
.icon-yigezhuanmenfuwudailidepingtai2:before {
content: "\e6fa";
}
.icon-yigezhuanmenfuwudailidepingtai:before {
content: "\e6f8";
}
.icon-xiala:before {
content: "\e6f5";
}
.icon-sousuo:before {
content: "\e608";
}
.icon-duanxinyanzheng:before {
content: "\e6f3";
}
.icon-shouji:before {
content: "\e6f2";
}
.icon-mima:before {
content: "\e6f1";
}
.icon-yonghuming:before {
content: "\e6f0";
}
.icon-shibai:before {
content: "\e6ef";
}
.icon-chenggong:before {
content: "\e6ee";
}
.icon-weixin:before {
content: "\e6e9";
}
.icon-sologan:before {
content: "\e6e1";
}
.icon-dingwei:before {
content: "\e6df";
}
.icon-yonghu:before {
content: "\e6e0";
}
.w {
width: 1200px;
margin: 0 auto;
}
.ant-calendar-picker-container-content {
margin-top: 3px;
width: 341px !important;
}
.ant-calendar-picker {
border-color: #d9d9d9 !important;
}
.ant-calendar-picker:hover .ant-calendar-picker-input {
border-color: #d9d9d9 !important;
}
.ant-calendar-picker:focus .ant-calendar-picker-input {
border-color: #d9d9d9 !important;
}
.ant-breadcrumb .ant-breadcrumb-link a:hover {
color: #ff6a00;
}
.pagecontainer {
display: flex;
justify-content: center;
text-align: center;
margin-bottom: 30px;
margin-top: 15px;
}
.pagecontainer .ant-pagination-item-container .ant-pagination-item-link-icon {
color: #ff6a00;
}
.pagecontainer .ant-pagination-options-quick-jumper {
margin-left: 10px;
font-size: 16px;
}
.pagecontainer .ant-pagination-disabled a:hover {
color: #c5c5c5 !important;
}
.pagecontainer .ant-pagination-next:focus .ant-pagination-item-link,
.pagecontainer .ant-pagination-prev:focus .ant-pagination-item-link {
color: #000000a6;
}
.pagecontainer .ant-pagination-next:hover .ant-pagination-item-link,
.pagecontainer .ant-pagination-prev:hover .ant-pagination-item-link {
color: #ff6a00;
}
.pagecontainer input[type="text"] {
box-shadow: none;
border-color: transparent;
}
.pagecontainer input[type="text"]:focus {
border: 1px solid #ff6a00;
}
.pagecontainer input[type="text"]:hover {
border: 1px solid #ff6a00;
}
.pagecontainer .ant-pagination-item {
border: none;
}
.pagecontainer .ant-pagination-item a:hover {
color: #ff6a00;
}
.pagecontainer .ant-pagination-item-active {
background: #ff6a00;
}
.pagecontainer .ant-pagination-item-active a {
color: white;
}
.pagecontainer .ant-pagination-item-active a:hover {
color: white;
}
.pagecontainer .ant-pagination-item-link {
border: none;
}
.ant-cascader-menus.monthlypay,
.ant-cascader-menus.agestr {
width: 100vw;
margin: 0 auto;
top: 70px !important;
-webkit-box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
transition: none !important;
}
.ant-cascader-menus.monthlypay .ant-cascader-menu,
.ant-cascader-menus.agestr .ant-cascader-menu {
height: auto;
width: 100%;
}
.ant-cascader-menus.monthlypay .ant-cascader-menu .ant-cascader-menu-item,
.ant-cascader-menus.agestr .ant-cascader-menu .ant-cascader-menu-item {
width: 100%;
text-align: left;
padding-left: calc(-550vw) !important;
}
.ant-cascader-menus.monthlypay .ant-cascader-menu .ant-cascader-menu-item:hover,
.ant-cascader-menus.agestr .ant-cascader-menu .ant-cascader-menu-item:hover {
background-color: rgba(255, 106, 0, 0.1);
color: #ff6a00;
}
.ant-cascader-menus.slide-up-leave-active {
animation: none !important;
transition: none !important;
}
.ant-cascader-menus.slide-up-enter-active {
animation: none !important;
transition: none !important;
}
.ant-cascader-menus.slide-up-leave {
transition: none !important;
animation: none !important;
}
.ant-cascader-menus.slide-up-enter {
animation: none !important;
transition: none !important;
}
.ant-cascader-menus.flitercity {
left: calc(-558vw) !important;
top: 70px !important;
border-radius: 0 0 4px 4px !important;
-webkit-box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
}
.ant-cascader-menus.flitercity .ant-cascader-menu {
height: 500px;
}
.ant-cascader-menus.flitercity .ant-cascader-menu .ant-cascader-menu-item {
width: 100%;
text-align: left;
}
.ant-cascader-menus.flitercity .ant-cascader-menu .ant-cascader-menu-item:hover {
background-color: rgba(255, 106, 0, 0.1);
color: #ff6a00;
}
.logindropdown {
left: calc(463vw) !important;
}
.logindropdown .loginbox {
width: 180px;
overflow: hidden;
background-color: #fff;
border-radius: 4px;
text-align: center;
box-shadow: 0px 0px 10px rgba(128, 128, 128, 0.4);
padding: 0 16px 16px 16px;
}
.logindropdown .loginbox > div {
padding: 16px;
text-align: center;
font-size: 16px;
font-weight: bold;
border-bottom: 1px solid #eee;
}
.logindropdown .loginbox > a > div {
display: flex;
padding: 16px 0;
font-size: 14px;
justify-content: space-between;
border-bottom: 1px solid #eee;
}
.logindropdown .loginbox > a > div:hover {
color: #ff6a00;
}
.logindropdown .loginbox > a > div span {
line-height: 18px;
}
.logindropdown .loginbox > a > div span i {
font-size: 18px;
margin-right: 5px;
vertical-align: baseline;
}
.logindropdown .loginbox button {
width: 130px;
height: 32px;
margin-top: 24px;
border: 1px solid rgba(77, 87, 94, 0.1);
border-radius: 17px;
color: #ff6a00;
font-size: 14px;
line-height: 32px;
background-color: #fff;
cursor: pointer;
}
.beforeblock {
display: inline-block;
vertical-align: middle;
margin-top: -4px;
width: 4px;
height: 20px;
margin-right: 8px;
background: #ff6a00;
}
h1.bottombox,
p.bottombox {
position: relative;
text-align: center;
margin-top: 12px;
padding-bottom: 12px;
margin-bottom: 16px;
color: rgba(0, 0, 0, 0.85);
}
h1.bottombox::after,
p.bottombox::after {
content: "";
display: block;
position: absolute;
width: 240px;
height: 1px;
bottom: 0;
left: -20px;
background-color: #eeefef;
}
.ant-cascader-menu,
.ant-modal-body {
max-height: 300px !important;
}
.ant-cascader-menu::-webkit-scrollbar,
.ant-modal-body::-webkit-scrollbar {
/*滚动条整体样式*/
width: 7px;
/*高宽分别对应横竖滚动条的尺寸*/
height: 4px;
}
.ant-cascader-menu::-webkit-scrollbar-thumb,
.ant-modal-body::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 5px;
-webkit-box-shadow: inset 0 0 5px rgba(126, 126, 126, 0.06);
background: rgba(0, 0, 0, 0.1);
}
.ant-cascader-menu::-webkit-scrollbar-track,
.ant-modal-body::-webkit-scrollbar-track {
/*滚动条里面轨道*/
-webkit-box-shadow: inset 0 0 5px rgba(112, 112, 112, 0.06);
border-radius: 0;
background: rgba(0, 0, 0, 0.1);
}
.ant-breadcrumb {
margin-top: 12px;
}
.ant-breadcrumb .ant-breadcrumb-link {
cursor: default;
}
@media screen and (max-width: 1910px) {
.loginlogo {
margin: 40px auto !important;
}
}
.ant-spin-dot-item {
background-color: #fda21d;
}
.ant-spin-text {
color: #fda21d;
}

@ -1301,6 +1301,24 @@ export function disposeJobListData(jobList) {
// }
// }
// jobList["monthlyPay"] = monthlyPayStr;
//服务费
// console.log(item);
if (jobList.returnFeeType || jobList.returnFeeType === 0) {
if (jobList.returnFeeType === 0) {
jobList.servetype = "元/小时";
} else if (jobList.returnFeeType === 1) {
jobList.servetype = "元/日";
} else if (jobList.returnFeeType === 2) {
jobList.servetype = "元/月";
} else if (jobList.returnFeeType === 3) {
jobList.servetype = "元/次";
}
// console.log(jobList);
// jobList["returnFee"] = jobList.returnFee / 100;
} else {
jobList.servetype = "元/小时";
}
//地址深圳丨龙岗区丨
var districtStr = "";
if (isNotEmptyCheck(jobList.district)) {

@ -0,0 +1,234 @@
export let nationlist = [
{
id: "01",
name: "汉族",
},
{
id: "02",
name: "蒙古族",
},
{
id: "03",
name: "回族",
},
{
id: "04",
name: "藏族",
},
{
id: "05",
name: "维吾尔族",
},
{
id: "06",
name: "苗族",
},
{
id: "07",
name: "彝族",
},
{
id: "08",
name: "壮族",
},
{
id: "09",
name: "布依族",
},
{
id: "10",
name: "朝鲜族",
},
{
id: "11",
name: "满族",
},
{
id: "12",
name: "侗族",
},
{
id: "13",
name: "瑶族",
},
{
id: "14",
name: "白族",
},
{
id: "15",
name: "土家族",
},
{
id: "16",
name: "哈尼族",
},
{
id: "17",
name: "哈萨克族",
},
{
id: "18",
name: "傣族",
},
{
id: "19",
name: "黎族",
},
{
id: "20",
name: "傈僳族",
},
{
id: "21",
name: "佤族",
},
{
id: "22",
name: "畲族",
},
{
id: "23",
name: "高山族",
},
{
id: "24",
name: "拉祜族",
},
{
id: "25",
name: "水族",
},
{
id: "26",
name: "东乡族",
},
{
id: "27",
name: "纳西族",
},
{
id: "28",
name: "景颇族",
},
{
id: "29",
name: "柯尔克孜族",
},
{
id: "30",
name: "土族",
},
{
id: "31",
name: "达斡尔族",
},
{
id: "32",
name: "仫佬族",
},
{
id: "33",
name: "羌族",
},
{
id: "34",
name: "布朗族",
},
{
id: "35",
name: "撒拉族",
},
{
id: "36",
name: "毛难族",
},
{
id: "37",
name: "仡佬族",
},
{
id: "38",
name: "锡伯族",
},
{
id: "39",
name: "阿昌族",
},
{
id: "40",
name: "普米族",
},
{
id: "41",
name: "塔吉克族",
},
{
id: "42",
name: "怒族",
},
{
id: "43",
name: "乌孜别克族",
},
{
id: "44",
name: "俄罗斯族",
},
{
id: "45",
name: "鄂温克族",
},
{
id: "46",
name: "崩龙族",
},
{
id: "47",
name: "保安族",
},
{
id: "48",
name: "裕固族",
},
{
id: "49",
name: "京族",
},
{
id: "50",
name: "塔塔尔族",
},
{
id: "51",
name: "独龙族",
},
{
id: "52",
name: "鄂伦春族",
},
{
id: "53",
name: "赫哲族",
},
{
id: "54",
name: "门巴族",
},
{
id: "55",
name: "珞巴族",
},
{
id: "56",
name: "基诺族",
},
{
id: "57",
name: "其他",
},
{
id: "58",
name: "外国血统中国人士",
},
];

@ -1,5 +1,6 @@
import axios from "axios";
// const baseURL = "http://1shoudan.com"; // 正式环境线上
const baseURL = "http://1shoudan.com"; // 正式环境线上
console.log(baseURL);
// const baseURL = "https://d.matripe.com.cn"; // 正式环境本地
// const baseURL = "http://bl7.matripe.com.cn:8001"; // 测试环境本地
// const baseURL = "http://nb.renminshitang.com.cn"; // 测试环境线上

@ -43,8 +43,8 @@ module.exports = {
// 地址中有 /api 的时候会触发代理
"/api_prod": {
// target: "http://localhost:8001/",
// target: "http://bl7.matripe.com.cn:8001",
target: "https://d.matripe.com.cn",
target: "http://bl7.matripe.com.cn:8001",
// target: "https://d.matripe.com.cn",
ws: true, // proxy websockets
changeOrigin: true, // 确定是否跨域
pathRewrite: {

16811
yarn.lock

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save