1910 lines
64 KiB
Vue
1910 lines
64 KiB
Vue
<template>
|
||
<div style="background-color: #eeeeee;min-height: 100vh;">
|
||
<div v-if="!approvalShow" style="display: flex;padding: 4% 4% 4% 4%;">
|
||
<button type="button" class="btn" style="background-color: #FF0000;color: white;" size="mini">新增
|
||
</button>
|
||
<button disabled type="button" class="btn" style="color: #d9d9d9;" size="mini">修改
|
||
</button>
|
||
</div>
|
||
<div v-if="approvalShow" style="display: flex;padding: 4% 4% 4% 4%;">
|
||
<button disabled style="color: #d9d9d9;" type="button" class="btn" size="mini">新增
|
||
</button>
|
||
<button type="button" class="btn" style="background-color: #FF0000;color: white;" size="mini">
|
||
修改
|
||
</button>
|
||
</div>
|
||
<div style="padding: 0 0 10% 4%;width: 92%">
|
||
<div style="background-color: white;border-radius: 10px;padding: 5% 5% 5% 5%;min-height: 78vh">
|
||
<div v-if="approval === 1" class="sqxs"><span style="background-color:red;padding: 4px 4px 4px 4px;"
|
||
size="mini">已申请修改</span></div>
|
||
|
||
<div style="font-size: 12px;width: 80%;margin-left: 10%;margin-top: 8%;background-color: #aaaaaa;padding: 1%">
|
||
<span>注意事项:</span><br>
|
||
<span>1.请对内容认真填写</span><br>
|
||
<span>2.本部分录入的用户基本信息,除此功能外,不用做其他用途</span>
|
||
</div>
|
||
<!-- 一、职位状态-->
|
||
<div v-if="!approvalShow" style="text-align: left;padding: 4% 0 1% 2%;font: bold 14px 新宋体">一、职位状态</div>
|
||
<div v-else style="text-align: left;padding: 4% 0 1% 2%;font: bold 14px 新宋体">一、职位状态修改</div>
|
||
<div style="width: 80%;padding-left: 10%;font-size: 12px">
|
||
<div class="showDiv"></div>
|
||
<div style="display: flex" @click="showPicker(1)">
|
||
<div style="width: 85%">
|
||
<input disabled placeholder="请选择" style="padding-left: 8%;text-align: left" v-model="zzzt"></input>
|
||
</div>
|
||
<div class="arrowOpen"></div>
|
||
</div>
|
||
<mpvue-picker v-if="isZWShow" ref="mpvuePickerZZZT"
|
||
:pickerValueArray="pickerValueArrayZZZT"
|
||
:pickerValueDefault='pickerValueDefaultZZZT'
|
||
@onConfirm="pickerConfirmZZZT"></mpvue-picker>
|
||
|
||
<div class="showDiv"></div>
|
||
</div>
|
||
|
||
<!-- 基本信息-->
|
||
<div style="text-align: left;padding: 10% 0 1% 2%;display: flex"><span style="font:bold 14px 新宋体;">二、基本信息</span>
|
||
<button v-if="approvalShow" style="background-color: #D9D9D9;margin-top: -2%;margin-right: 10%" size="mini"
|
||
@click="changeState(1)">修改
|
||
</button>
|
||
</div>
|
||
<div style="font-size: 12px">
|
||
<button v-if="files.length > 0" size="mini" style="margin-left: 32vh;background-color: #50ffb2"
|
||
@click.stop="chooseImage(1)">上传本人照片
|
||
</button>
|
||
<div style="display: flex;font-size: 12px">
|
||
<div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 15%;padding-top: 1%">1.姓名<span style="color: red">*</span>:</span>
|
||
<input style="width: 85%;" :disabled="xg" placeholder=" " v-model="dataForm.name" required></input>
|
||
<!-- <span style="width: 15%;padding-top: 1%" @click="showPicker(2)">2.性别<span style="color: red">*</span>:</span>-->
|
||
<!-- <input style="width: 35%;" placeholder=" " disabled v-model="sex" @click="showPicker(2)" required></input>-->
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 15%;padding-top: 1%">2.电话:</span>
|
||
<input style="width: 85%;" :disabled="xg" placeholder=" " v-model="dataForm.phone"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 20%;padding-top: 1%">3.现住址:</span>
|
||
<input style="width: 80%;" :disabled="xg" placeholder=" " v-model="dataForm.addr"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 24%;padding-top: 1%" @change="bindYearChange($event,1)">4.出生年月:</span>
|
||
<picker style="width: 26%;" mode="date" :value="dataForm.birthday" fields="month"
|
||
@change="bindYearChange($event,1)">
|
||
<view class="picker">
|
||
<input disabled placeholder=" " v-model="dataForm.birthday"></input>
|
||
</view>
|
||
</picker>
|
||
<span style="width: 15%;padding-top: 1%">5.年龄:</span>
|
||
<input style="width: 35%;" :disabled="xg" placeholder=" " v-model="dataForm.age"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 24%;padding-top: 1%">6.身高(cm):</span>
|
||
<input style="width: 26%;" :disabled="xg" placeholder=" " v-model="dataForm.height"></input>
|
||
<span style="width: 24%;padding-top: 1%">7.体重(kg):</span>
|
||
<input style="width: 26%;" :disabled="xg" placeholder=" " v-model="dataForm.weight"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 24%;padding-top: 1%">8.文化程度:</span>
|
||
<input style="width: 26%;" :disabled="xg" placeholder=" " v-model="dataForm.education"></input>
|
||
<span style="width: 18%;padding-top: 1%">9.户籍:</span>
|
||
<input style="width: 32%;" :disabled="xg" placeholder=" " v-model="dataForm.register"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style=" width: 18%;padding-top: 1%" @click="showPicker(3)">10.职位<span style="color: red">*</span>:</span>
|
||
<input required style="width: 32%;" placeholder=" " disabled v-model="wz" @click="showPicker(3)"></input>
|
||
<span style="width: 18%;padding-top: 1%" @click="showPicker(4)">11.岗位<span style="color: red">*</span>:</span>
|
||
<input required style="width: 32%;" placeholder=" " disabled v-model="zw" @click="showPicker(4)"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<!-- <span style="width: 18%;padding-top: 1%" @click="showPicker(5)">13.工种:</span>-->
|
||
<!-- <input required style="width: 32%;" disabled placeholder=" " v-model="gz" @click="showPicker(5)"></input>-->
|
||
<span style="width: 15%;padding-top: 1%" @click="showPicker(2)">12.性别<span style="color: red">*</span>:</span>
|
||
<input style="width: 35%;" placeholder=" " disabled v-model="sex" @click="showPicker(2)" required></input>
|
||
<span style="width: 30%;padding-top: 1%">13.成本折算系数<span style="color: red">*</span>:</span>
|
||
<input required style="width: 20%;" :disabled="xg" placeholder=" " v-model="dataForm.cbzsxs"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 28%;padding-top: 1%">14.应急联系人:</span>
|
||
<input style="width: 22%;" :disabled="xg" placeholder=" " v-model="dataForm.urgentName"></input>
|
||
<span style="width: 28%;padding-top: 1%">15.与本人关系:</span>
|
||
<input style="width: 22%;" :disabled="xg" placeholder=" " v-model="dataForm.urgentRelation"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 28%;padding-top: 1%" @click="showPicker(6)">16.是否保险:</span>
|
||
<input required style="width: 22%;" placeholder=" " disabled v-model="bx" @click="showPicker(6)"></input>
|
||
<span style="width: 18%;padding-top: 1%">17.排序:</span>
|
||
<input style="width: 22%;" :disabled="xg" placeholder=" " type="text" pattern=[0-9]* v-model.number="dataForm.orderNum"></input>
|
||
</div>
|
||
<div class="jbDiv" style="height: 3.5vh;">
|
||
<span style="width: 30%;padding-top: 1%">18.应急联系电话:</span>
|
||
<input style="width: 26%;" :disabled="xg" placeholder=" " v-model="dataForm.urgentPhone"></input>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div v-if="approvalShow">
|
||
<div>
|
||
<div style="text-align: left;padding: 10% 0 1% 2%;font:bold 14px 新宋体">三、出勤记录</div>
|
||
<div style="overflow: auto;">
|
||
<div style="width: 600px;font-size: 12px;" class="TBclass">
|
||
<!-- <table style="font-size: 12px;" class="TBclass">-->
|
||
<tr style="display: flex;font-weight: bold;border: 2px solid #FF0000;">
|
||
<th class="tableCQXH" style="width: 10%;">序号</th>
|
||
<th class="tableCQTd" style="width: 15%;">年月</th>
|
||
<th class="tableCQTd" style="width: 10%;">状态</th>
|
||
<th class="tableCQTd" style="width: 10%;">修正</th>
|
||
<th class="tableCQTd" style="width: 10%;">出勤</th>
|
||
<th class="tableCQBZ" style="width: 45%;">备注</th>
|
||
</tr>
|
||
<tr v-for="(item, index) in dataCQList" :key="index" style="display: flex;margin-top: 0%;border-left: 2px solid #FF0000;border-right: 2px solid #FF0000;">
|
||
<td class="tableCQXH" style="width: 10%;">{{index+1}}</td>
|
||
<td class="tableCQTd" style="width: 15%;">
|
||
<input disabled placeholder=" " v-model="item.dateDay"></input>
|
||
</td>
|
||
<td class="tableCQTd" style="width: 10%;">
|
||
{{item.statusDay ? item.statusDay : 0}}
|
||
</td>
|
||
<td class="tableCQTd" style="width: 10%;">
|
||
<input disabled v-model="item.fixDay"></input>
|
||
</td>
|
||
<td class="tableCQTd" style="width: 10%;">
|
||
{{item.outWorkDay ? item.outWorkDay : 0}}
|
||
</td>
|
||
<td class="tableCQBZ" style="width: 45%;">
|
||
<input disabled v-model="item.remark"></input>
|
||
</td>
|
||
</tr>
|
||
</div>
|
||
</div>
|
||
<div style="border-bottom: 2px solid #FF0000"></div>
|
||
<view class="paging" style="display: flex;justify-content: space-between;align-items: center;">
|
||
<view class="page_btn" >
|
||
<button type="button" v-if="frontPage" size="mini" style="width: 100%;height: 100%;background-color: #FF0000;color: white" @click="clickFront">上一页</button>
|
||
</view>
|
||
<view class="page_num">第{{thisPages}}页 共{{pages}}页</view>
|
||
<view class="page_btn">
|
||
<button type="button" v-if="nextPage" size="mini" style="width: 100%;height: 100%;background-color: #FF0000;color: white" @click="clickNext">下一页</button>
|
||
</view>
|
||
</view>
|
||
</div>
|
||
<div style="padding-top: 0%">
|
||
<div style="text-align: left;padding: 10% 0 1% 2%;font:bold 14px 新宋体">四、工资账目与保险
|
||
</div>
|
||
<!-- <div v-if="dataForm.status === 0" style="text-align: left;padding: 10% 0 1% 2%;font:bold 14px 新宋体">四、工资账目与保险-->
|
||
<!-- </div>-->
|
||
<!-- <div v-else-if="dataForm.status === 1" style="text-align: left;padding: 10% 0 1% 2%;font:bold 14px 新宋体">-->
|
||
<!-- 三、工资账目与保险-->
|
||
<!-- </div>-->
|
||
<button class="btnAdd" type="button" style="margin-top: -10%;" size="mini"
|
||
@click="tranPageAdd()">新增
|
||
</button>
|
||
|
||
<div v-if="gzList.length !== 0">
|
||
<div v-for="(item,index) in gzList" :key="index" style="font-size: 12px;border-top: 2px solid #ff0000;">
|
||
<!-- 横线-->
|
||
<div v-if="item.approval === 1" class="sqxs" style="padding-top: 10px;"><span style="background-color:#FF0000;padding: 4px 4px 4px 4px;" size="mini">已申请修改</span></div>
|
||
<div style="display: flex;">
|
||
<div style="display: flex;padding-top: 5%">
|
||
<span style="padding-top: 8%">一、{{ item.year }}年</span>
|
||
<button class="btnAddChange" type="button" size="mini"
|
||
@click="tranPageChange(item.id)">修改
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<div style="font-size: 12px;margin-top: 6%">
|
||
<span style="width: 45%;">二、入职时间:{{ item.startTime ? item.startTime : ' ' }}</span>
|
||
<br/>
|
||
<span style="width: 45%;"> 离职时间:{{
|
||
item.endTime ? item.endTime : ' '
|
||
}}</span>
|
||
</div>
|
||
<div style="font-size: 12px;margin-top: 6%">
|
||
<span style="width: 80%;">三、保险购买情况:</span>
|
||
<div style="padding-left: 5%;">
|
||
<div v-html="bxgmqk">
|
||
{{cutbx(item.insurance)}}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div style="font-size: 12px;margin-top: 6%">
|
||
<span style="width: 50%;">四、工资账目</span>
|
||
</div>
|
||
<div style="font-size: 12px;margin-top: 2%">
|
||
<div style="margin-top: 2%">1.借款明细:
|
||
<div style="padding-left: 5%;">
|
||
<div v-html="jkxxInfo">
|
||
{{cutjk(item.borrowingDetails)}}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div style="margin-top: 2%">2.工资标准计算方式:
|
||
<div style="padding-left: 5%;">
|
||
<div v-html="gzbzjsfs">
|
||
{{cutgzbz(item.gzjsfs)}}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div style="margin-top: 2%">3.工资结清及时间节点:
|
||
<div style="padding-left: 5%;">
|
||
<div v-html="gzjqjsjjd">
|
||
{{cutjq(item.gzjqjsjjd)}}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div style="margin-top: 2%">4.备注:
|
||
<div style="padding-left: 5%;">
|
||
<div v-html="gzzmbz">
|
||
{{cutbz(item.remark)}}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div v-else-if="gzList.length === 0" style="text-align: center">
|
||
<div style="margin: 10% 0;text-align: center">暂无数据</div>
|
||
</div>
|
||
<div style="border-bottom: 2px solid #ff0000;text-align: center"></div>
|
||
</div>
|
||
</div>
|
||
<div style="padding: 10% 0 10% 0;display: flex">
|
||
<button v-if="!approvalShow" class="cbtn" type="button"
|
||
@click="dataFormSubmit()">提交
|
||
</button>
|
||
<button v-if="approvalShow" class="cbtn" type="button"
|
||
@click="dataFormApproval()">提交
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<mpvue-picker v-if="isShow" ref="mpvuePickerWZ"
|
||
:pickerValueArray="pickerValueArrayWZ"
|
||
:pickerValueDefault='pickerValueDefaultWZ'
|
||
@onConfirm="pickerConfirmWZ"></mpvue-picker>
|
||
<mpvue-picker v-if="isShow" ref="mpvuePickerZW"
|
||
:pickerValueArray="pickerValueArrayZW"
|
||
:pickerValueDefault='pickerValueDefaultZW'
|
||
@onConfirm="pickerConfirmZW"></mpvue-picker>
|
||
<mpvue-picker v-if="isShow" ref="mpvuePickerSex"
|
||
:pickerValueArray="pickerValueArraySex"
|
||
:pickerValueDefault='pickerValueDefaultSex'
|
||
@onConfirm="pickerConfirmSex"></mpvue-picker>
|
||
<mpvue-picker v-if="isShow" ref="mpvuePickerGZ"
|
||
:pickerValueArray="pickerValueArrayGZ"
|
||
:pickerValueDefault='pickerValueDefaultGZ'
|
||
@onConfirm="pickerConfirmGZ"></mpvue-picker>
|
||
<mpvue-picker v-if="isShow" ref="mpvuePickerBX"
|
||
:pickerValueArray="pickerValueArrayBX"
|
||
:pickerValueDefault='pickerValueDefaultBX'
|
||
@onConfirm="pickerConfirmBX"></mpvue-picker>
|
||
</div>
|
||
|
||
</template>
|
||
|
||
<script>
|
||
import mpvuePicker from 'mpvue-picker'
|
||
import uploadImage from '@/components/upload-image'
|
||
|
||
export default {
|
||
components: {
|
||
mpvuePicker,
|
||
uploadImage
|
||
},
|
||
data() {
|
||
|
||
return {
|
||
yzFlag: 0,
|
||
id: "",
|
||
name: "",
|
||
sex: "",
|
||
bxgmqk: "",
|
||
jkxxInfo: "",
|
||
gzbzjsfs: "",
|
||
gzjqjsjjd: "",
|
||
gzzmbz: "",
|
||
xg: false,
|
||
fileList: [],
|
||
urls: [],
|
||
systemTime: '',//获得当前时间
|
||
files: [],//证件照
|
||
filesPositive: [],//身份证正面图片
|
||
filesBack: [],//身份证反面图片
|
||
bankImage: [],//银行卡照片
|
||
isShow: true,
|
||
isZWShow: true,
|
||
isSFZShow: true,
|
||
dictList: [],
|
||
gzList: [],
|
||
pickerValueDefault: [0],
|
||
pickerValueArray: [],
|
||
pickerValueDefaultBX: [0],
|
||
pickerValueArrayBX: [],
|
||
pickerValueDefaultZZZT: [0],
|
||
pickerValueArrayZZZT: [],
|
||
pickerValueDefaultWZ: [0],//职位
|
||
pickerValueArrayWZ: [],
|
||
pickerValueDefaultZW: [0],//岗位
|
||
pickerValueArrayZW: [],
|
||
pickerValueDefaultGZ: [0],//工种
|
||
pickerValueArrayGZ: [],
|
||
zwList: [], // 所有职位list
|
||
pickerValueDefaultSex: [0],//性别
|
||
pickerValueArraySex: [],
|
||
zzzt: "在职",
|
||
wz: "",
|
||
zw: "",
|
||
gz: '',//工种
|
||
bx: "否",
|
||
approvalShow: false,//申请按钮显示控制
|
||
oldListWorker: [],//所有的员工列表包含已离职
|
||
// 分页
|
||
frontPage: false,//上一页 存在true,不存在false
|
||
nextPage: false,//下一页 存在true,不存在false
|
||
pages: 0,//所有页
|
||
thisPages: 1,//当前页
|
||
rows: 10,//每页条数
|
||
total: 0,//总条数
|
||
|
||
//表单接收数据
|
||
dataForm: {
|
||
userId: "",
|
||
name: '',
|
||
sex: '',
|
||
birthday: '',
|
||
register: '',
|
||
card: '',
|
||
phone: '',
|
||
addr: '',
|
||
education: '',
|
||
height: '',
|
||
weight: '',
|
||
urgentName: '',
|
||
urgentRelation: '',
|
||
urgentPhone: '',
|
||
typeId: '',
|
||
typeName: '',
|
||
workDay: '',
|
||
positionId: '',
|
||
workId: '',
|
||
jobId: '',//工种id
|
||
status: '0',
|
||
cbzsxs: '',
|
||
image: '',
|
||
imageFront: '',
|
||
imageBack: '',
|
||
bankImage: '',
|
||
bankName: '',
|
||
bankCard: '',
|
||
bankRelation: '',
|
||
balance: '',
|
||
settleTime: '',
|
||
orderNum: '',
|
||
isFp: '',
|
||
isSafe: ''
|
||
},
|
||
//原始数据
|
||
dataOldForm: {
|
||
userId: "",
|
||
name: '',
|
||
sex: '',
|
||
birthday: '',
|
||
register: '',
|
||
card: '',
|
||
phone: '',
|
||
addr: '',
|
||
education: '',
|
||
height: '',
|
||
weight: '',
|
||
urgentName: '',
|
||
urgentRelation: '',
|
||
urgentPhone: '',
|
||
typeId: '',
|
||
typeName: '',
|
||
workDay: '',
|
||
positionId: '',
|
||
workId: '',
|
||
cbzsxs: '',
|
||
status: '0',
|
||
image: '',
|
||
imageFront: '',
|
||
imageBack: '',
|
||
bankImage: '',
|
||
bankName: '',
|
||
bankCard: '',
|
||
bankRelation: '',
|
||
balance: '',
|
||
settleTime: '',
|
||
orderNum: '',
|
||
isSafe: '',
|
||
isFp: '',
|
||
},
|
||
approval: '',
|
||
|
||
//出勤记录实体
|
||
dataCQList: [],
|
||
dataFroMCQ1: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ2: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ3: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ4: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ5: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ6: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ7: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ8: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ9: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ10: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ11: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataFroMCQ12: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ1: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ2: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ3: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ4: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ5: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ6: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ7: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ8: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ9: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ10: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ11: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
dataOldFroMCQ12: {
|
||
id: '',
|
||
dateDay: '',
|
||
workDay: '',
|
||
remark: '',
|
||
approval: '',
|
||
statusDay: '',
|
||
outWorkDay: '',
|
||
salaried: '',
|
||
fixDay: '',
|
||
},
|
||
|
||
}
|
||
},
|
||
|
||
methods: {
|
||
jumpTo(url) {
|
||
console.log(url);
|
||
wx.navigateTo({
|
||
url: url
|
||
})
|
||
},
|
||
//修改工资账目
|
||
tranPageChange(id) {
|
||
this.jumpTo('/pages/pageworker/businessworker/addEdit/workerGzzm/main?title=' + this.title + '&&id=' + id);
|
||
},
|
||
//新增工资账目
|
||
tranPageAdd() {
|
||
this.jumpTo('/pages/pageworker/businessworker/addEdit/workerGzzm/main?title=' + this.title + '&&userId=' + this.id);
|
||
},
|
||
/********************************** 文件上传 ***************************************/
|
||
chooseImage(num) {
|
||
var that = this;
|
||
let tempFilePaths;
|
||
let photoName;
|
||
let flag;
|
||
wx.chooseImage({
|
||
count: 1, // 最多可以选择的图片张数,默认9
|
||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||
success: function (res) {
|
||
// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
|
||
if (num === 1) {//本人照片
|
||
that.files = []//只上传一张图,选择图后清空原图
|
||
that.files = that.files.concat(res.tempFilePaths)
|
||
photoName = "auth_pics";
|
||
flag = 0;
|
||
tempFilePaths = that.files[0]
|
||
//console.log(res.tempFiles[0].size / 1024);
|
||
} else if (num === 2) {//身份证正面
|
||
that.filesPositive = []
|
||
that.filesPositive = that.filesPositive.concat(res.tempFilePaths)
|
||
photoName = "auth_picsjson1";
|
||
tempFilePaths = that.filesPositive[0];
|
||
flag = 1;
|
||
} else if (num === 3) {//身份证反面
|
||
that.filesBack = []
|
||
that.filesBack = that.filesBack.concat(res.tempFilePaths)
|
||
photoName = "auth_picsjson2";
|
||
tempFilePaths = that.filesBack[0]
|
||
flag = 2;
|
||
} else if (num === 4) {//银行卡照片
|
||
that.bankImage = []
|
||
that.bankImage = that.bankImage.concat(res.tempFilePaths)
|
||
photoName = "auth_picsjson2";
|
||
tempFilePaths = that.bankImage[0]
|
||
flag = 3;
|
||
}
|
||
wx.showToast({
|
||
icon: "loading",
|
||
title: "正在上传"
|
||
});
|
||
//console.log(tempFilePaths);
|
||
if (flag === 0) {
|
||
wx.uploadFile({
|
||
url: that.$http.adornUrl("/sys/oss/upload"),
|
||
filePath: tempFilePaths,
|
||
name: "file",
|
||
header: {"Content-Type": "multipart/form-data", "token": wx.getStorageSync('token')},
|
||
formData:
|
||
{
|
||
categoryType: 'photo',
|
||
},
|
||
success: function (res) {
|
||
if (res.statusCode !== 200) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '上传失败',
|
||
showCancel: false
|
||
})
|
||
return;
|
||
} else {
|
||
that.dataForm.image = JSON.parse(res.data).data;
|
||
}
|
||
},
|
||
fail: function (e) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '上传失败',
|
||
showCancel: false
|
||
})
|
||
},
|
||
complete: function () {
|
||
wx.hideToast(); //隐藏Toast
|
||
}
|
||
})
|
||
} else if (flag === 1) {
|
||
wx.uploadFile({
|
||
url: that.$http.adornUrl("/sys/oss/upload"),
|
||
filePath: tempFilePaths,
|
||
name: "file",
|
||
header: {"Content-Type": "multipart/form-data", "token": wx.getStorageSync('token')},
|
||
formData:
|
||
{
|
||
categoryType: 'card',
|
||
},
|
||
success: function (res) {
|
||
if (res.statusCode !== 200) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '上传失败',
|
||
showCancel: false
|
||
})
|
||
return;
|
||
} else {
|
||
that.dataForm.imageFront = JSON.parse(res.data).data;
|
||
}
|
||
},
|
||
fail: function (e) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '上传失败',
|
||
showCancel: false
|
||
})
|
||
},
|
||
complete: function () {
|
||
wx.hideToast(); //隐藏Toast
|
||
}
|
||
})
|
||
} else if (flag === 2) {
|
||
wx.uploadFile({
|
||
url: that.$http.adornUrl("/sys/oss/upload"),
|
||
filePath: tempFilePaths,
|
||
name: "file",
|
||
header: {"Content-Type": "multipart/form-data", "token": wx.getStorageSync('token')},
|
||
formData:
|
||
{
|
||
categoryType: 'card',
|
||
},
|
||
success: function (res) {
|
||
if (res.statusCode !== 200) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '上传失败',
|
||
showCancel: false
|
||
})
|
||
return;
|
||
} else {
|
||
that.dataForm.imageBack = JSON.parse(res.data).data;
|
||
}
|
||
},
|
||
fail: function (e) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '上传失败',
|
||
showCancel: false
|
||
})
|
||
},
|
||
complete: function () {
|
||
wx.hideToast(); //隐藏Toast
|
||
}
|
||
})
|
||
} else if (flag === 3) {
|
||
wx.uploadFile({
|
||
url: that.$http.adornUrl("/sys/oss/upload"),
|
||
filePath: tempFilePaths,
|
||
name: "file",
|
||
header: {"Content-Type": "multipart/form-data", "token": wx.getStorageSync('token')},
|
||
formData:
|
||
{
|
||
categoryType: 'BankCard',
|
||
},
|
||
success: function (res) {
|
||
if (res.statusCode !== 200) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '上传失败',
|
||
showCancel: false
|
||
})
|
||
return;
|
||
} else {
|
||
that.dataForm.bankImage = JSON.parse(res.data).data;
|
||
}
|
||
},
|
||
fail: function (e) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '上传失败',
|
||
showCancel: false
|
||
})
|
||
},
|
||
complete: function () {
|
||
wx.hideToast(); //隐藏Toast
|
||
}
|
||
})
|
||
}
|
||
}
|
||
|
||
})
|
||
},
|
||
//不能全屏预览
|
||
predivImage(e, num) {
|
||
let urlsImg;
|
||
if (num === 1) {
|
||
urlsImg = this.files
|
||
} else if (num === 2) {
|
||
urlsImg = this.filesPositive
|
||
} else if (num === 3) {
|
||
urlsImg = this.filesBack
|
||
} else if (num === 4) {
|
||
urlsImg = this.bankImage
|
||
}
|
||
if (urlsImg) {
|
||
wx.previewImage({
|
||
current: e.currentTarget.id, // 当前显示图片的http链接
|
||
urls: urlsImg // 需要预览的图片http链接列表
|
||
})
|
||
}
|
||
},
|
||
/********************************** 文件上传 ***************************************/
|
||
|
||
showPicker(selectNum) {
|
||
if (selectNum === 1) {//职位状态
|
||
this.$refs.mpvuePickerZZZT.show();
|
||
} else if (selectNum === 2) {//性别
|
||
this.$refs.mpvuePickerSex.show();
|
||
} else if (selectNum === 3) {//职位
|
||
this.$refs.mpvuePickerWZ.show();
|
||
} else if (selectNum === 4) {//岗位
|
||
this.pickerValueArrayZW = []
|
||
this.pickerValueDefaultZW = []//职位
|
||
if(this.dataForm.positionId !== undefined){
|
||
this.zwList.forEach((item) => {
|
||
if (item.relevanceId === this.dataForm.positionId){
|
||
if(this.dataForm.workId !== item.dictId) {
|
||
this.pickerValueArrayZW.push({label: item.name, value: item.dictId})
|
||
}
|
||
}
|
||
})
|
||
} else {
|
||
this.zwList.forEach((item) => {
|
||
if(this.dataForm.workId !== item.dictId) {
|
||
this.pickerValueArrayZW.push({label: item.name, value: item.dictId})
|
||
}
|
||
})
|
||
}
|
||
this.$refs.mpvuePickerZW.show();
|
||
} else if (selectNum === 5){//工种
|
||
this.$refs.mpvuePickerGZ.show();
|
||
}else if (selectNum === 6){//工种
|
||
this.$refs.mpvuePickerBX.show();
|
||
}
|
||
},
|
||
|
||
pickerConfirmZZZT(e) {
|
||
//console.log(e.label === "在职");
|
||
this.zzzt = e.label;
|
||
if (e.label === "在职") {
|
||
this.dataForm.status = 0;
|
||
} else if (e.label === "离职") {
|
||
this.dataForm.status = 1;
|
||
}
|
||
this.$forceUpdate();
|
||
},
|
||
|
||
pickerConfirmBX(e) {
|
||
this.bx = e.label;
|
||
this.dataForm.isSafe = e.value[0];
|
||
this.$forceUpdate();
|
||
},
|
||
|
||
pickerConfirmSex(e) {
|
||
this.sex = "";
|
||
this.sex = e.label;
|
||
///console.log(e);
|
||
if (e.label === "男") {
|
||
this.dataForm.sex = 1;
|
||
} else if (e.label === "女") {
|
||
this.dataForm.sex = 0;
|
||
}
|
||
this.$forceUpdate();
|
||
},
|
||
|
||
pickerConfirmWZ(e) {
|
||
if (this.dataForm.positionId !== e.value[0]) { // 职位职位挂钩 职位被改变 岗位应该清零
|
||
this.dataForm.workId = ''
|
||
this.zw = ''
|
||
}
|
||
this.dataForm.positionId = e.value[0]
|
||
this.wz = e.label;
|
||
if (this.wz === "现场施工2" || this.wz === "外部人员") {
|
||
this.isFp = 0
|
||
} else {
|
||
this.isFp = 1
|
||
}
|
||
this.$forceUpdate();
|
||
},
|
||
|
||
pickerConfirmZW(e) {
|
||
this.dataForm.workId = e.value[0]
|
||
this.zw = e.label;
|
||
this.$forceUpdate();
|
||
},
|
||
|
||
pickerConfirmGZ(e) {
|
||
this.dataForm.jobId = e.value[0]
|
||
this.gz = e.label;
|
||
this.$forceUpdate();
|
||
},
|
||
|
||
bindYearChange: function (e, num) {
|
||
//console.log(e.mp.detail.value);
|
||
|
||
if (num === 1) { // 生日
|
||
this.dataForm.birthday = e.mp.detail.value;
|
||
} else if (num !== 1) {
|
||
// 出勤记录信息
|
||
this.judgmentDate(e.mp.detail.value)
|
||
if (this.yzFlag === 0) {
|
||
// 判断是不是本年度的工资出勤
|
||
console.log(typeof e.mp.detail.value.substring(0, 4));
|
||
console.log(typeof new Date().getFullYear().toString());
|
||
if(e.mp.detail.value.substring(0, 4) !== new Date().getFullYear().toString()){
|
||
wx.showToast({
|
||
title: '请填写当前年度日期',
|
||
icon: 'none',
|
||
duration: 4000//持续的时间
|
||
})
|
||
} else{
|
||
if (num === 11) {
|
||
this.dataFroMCQ1.dateDay = e.mp.detail.value;
|
||
} else if (num === 12) {
|
||
this.dataFroMCQ2.dateDay = e.mp.detail.value;
|
||
} else if (num === 13) {
|
||
this.dataFroMCQ3.dateDay = e.mp.detail.value;
|
||
} else if (num === 14) {
|
||
this.dataFroMCQ4.dateDay = e.mp.detail.value;
|
||
} else if (num === 15) {
|
||
this.dataFroMCQ5.dateDay = e.mp.detail.value;
|
||
} else if (num === 16) {
|
||
this.dataFroMCQ6.dateDay = e.mp.detail.value;
|
||
} else if (num === 17) {
|
||
this.dataFroMCQ7.dateDay = e.mp.detail.value;
|
||
} else if (num === 18) {
|
||
this.dataFroMCQ8.dateDay = e.mp.detail.value;
|
||
} else if (num === 19) {
|
||
this.dataFroMCQ9.dateDay = e.mp.detail.value;
|
||
} else if (num === 110) {
|
||
this.dataFroMCQ10.dateDay = e.mp.detail.value;
|
||
} else if (num === 111) {
|
||
this.dataFroMCQ11.dateDay = e.mp.detail.value;
|
||
} else if (num === 112) {
|
||
this.dataFroMCQ12.dateDay = e.mp.detail.value;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
this.$forceUpdate();
|
||
},
|
||
|
||
//判断选中的日期是否在页面和数据库中存在
|
||
judgmentDate(date) {
|
||
console.log(date === this.dataFroMCQ11.dateDay || date === this.dataFroMCQ2.dateDay || date === this.dataFroMCQ3.dateDay || date === this.dataFroMCQ4.dateDay || date === this.dataFroMCQ5.dateDay || date === this.dataFroMCQ6.dateDay
|
||
|| date === this.dataFroMCQ7.dateDay || date === this.dataFroMCQ8.dateDay || date === this.dataFroMCQ9.dateDay || date === this.dataFroMCQ10.dateDay || date === this.dataFroMCQ11.dateDay || date === this.dataFroMCQ12.dateDay);
|
||
if (date === this.dataFroMCQ1.dateDay || date === this.dataFroMCQ2.dateDay || date === this.dataFroMCQ3.dateDay || date === this.dataFroMCQ4.dateDay || date === this.dataFroMCQ5.dateDay || date === this.dataFroMCQ6.dateDay
|
||
|| date === this.dataFroMCQ7.dateDay || date === this.dataFroMCQ8.dateDay || date === this.dataFroMCQ9.dateDay || date === this.dataFroMCQ10.dateDay || date === this.dataFroMCQ11.dateDay || date === this.dataFroMCQ12.dateDay) {
|
||
wx.showModal({
|
||
title: '提示',
|
||
content: '此时间已经存在,请重新选择',
|
||
success: function (res) {
|
||
if (res.confirm) {//这里是点击了确定以后
|
||
} else {//这里是点击了取消以后
|
||
}
|
||
}
|
||
})
|
||
return this.yzFlag = 1;
|
||
} else {
|
||
return this.yzFlag = 0;
|
||
}
|
||
},
|
||
|
||
closePage() {
|
||
wx.navigateBack({
|
||
delta: 1
|
||
})
|
||
},
|
||
|
||
dataFormSubmit() {
|
||
if (this.dataForm.name === undefined || this.dataForm.sex === undefined || this.dataForm.positionId === undefined || this.dataForm.workId === undefined || this.dataForm.cbzsxs === undefined) {
|
||
wx.showToast({
|
||
title: '姓名、性别、职位、岗位、成本折算系数中存在未填写部分,请填写后在进行提交',
|
||
icon: 'none',
|
||
duration: 4000//持续的时间
|
||
})
|
||
}else{
|
||
if(this.dataForm.orderNum !== undefined && isNaN(this.dataForm.orderNum)){
|
||
wx.showToast({
|
||
title: '在排序中,请输入存数字',
|
||
icon: 'none',
|
||
duration: 4000//持续的时间
|
||
})
|
||
}
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworker/findCnByName'),
|
||
method: 'post',
|
||
params: this.$http.adornParams({
|
||
'name': this.dataForm.name,
|
||
"id": this.id,
|
||
})
|
||
}).then(({data}) => {
|
||
if (data && data.code === 0) {
|
||
if(data.data>0){
|
||
wx.showToast({
|
||
title: '员工【' + this.dataForm.name + '】姓名已存在,请修改后在进行保存',
|
||
icon: 'none',
|
||
duration: 2000//持续的时间
|
||
})
|
||
}else{
|
||
if (this.wz === "现场施工2" || this.wz === "外部人员") {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworker/save'),
|
||
method: 'post',
|
||
body: this.$http.adornData({
|
||
"name": this.dataForm.name,
|
||
"sex": this.dataForm.sex,
|
||
"age": this.dataForm.age,
|
||
"birthday": this.dataForm.birthday,
|
||
"register": this.dataForm.register,
|
||
"card": this.dataForm.card,
|
||
"phone": this.dataForm.phone,
|
||
"addr": this.dataForm.addr,
|
||
"education": this.dataForm.education,
|
||
"height": this.dataForm.height,
|
||
"weight": this.dataForm.weight,
|
||
"urgentName": this.dataForm.urgentName,
|
||
"urgentRelation": this.dataForm.urgentRelation,
|
||
"urgentPhone": this.dataForm.urgentPhone,
|
||
"typeId": this.dataForm.typeId,
|
||
"typeName": this.dataForm.typeName,
|
||
"workDay": this.dataForm.workDay,
|
||
"positionId": this.dataForm.positionId,
|
||
"workId": this.dataForm.workId,
|
||
"jobId": this.dataForm.jobId,
|
||
"cbzsxs": this.dataForm.cbzsxs,
|
||
"status": this.dataForm.status,
|
||
"image": this.dataForm.image,
|
||
"imageFront": this.dataForm.imageFront,
|
||
"imageBack": this.dataForm.imageBack,
|
||
"bankImage": this.dataForm.bankImage,
|
||
"bankName": this.dataForm.bankName,
|
||
"bankCard": this.dataForm.bankCard,
|
||
"bankRelation": this.dataForm.bankRelation,
|
||
"balance": this.dataForm.balance,
|
||
"settleTime": this.dataForm.settleTime,
|
||
"isSafe": this.dataForm.isSafe,
|
||
"approval": 0,
|
||
"isFp": 0,
|
||
"orderNum": this.dataForm.orderNum
|
||
})
|
||
}).then(({data}) => {
|
||
if (data && data.code === 0) {
|
||
this.closePage()
|
||
} else {
|
||
}
|
||
})
|
||
} else {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworker/save'),
|
||
method: 'post',
|
||
body: this.$http.adornData({
|
||
"name": this.dataForm.name,
|
||
"sex": this.dataForm.sex,
|
||
"age": this.dataForm.age,
|
||
"birthday": this.dataForm.birthday,
|
||
"register": this.dataForm.register,
|
||
"card": this.dataForm.card,
|
||
"phone": this.dataForm.phone,
|
||
"addr": this.dataForm.addr,
|
||
"education": this.dataForm.education,
|
||
"height": this.dataForm.height,
|
||
"weight": this.dataForm.weight,
|
||
"urgentName": this.dataForm.urgentName,
|
||
"urgentRelation": this.dataForm.urgentRelation,
|
||
"urgentPhone": this.dataForm.urgentPhone,
|
||
"typeId": this.dataForm.typeId,
|
||
"jobId": this.dataForm.jobId,
|
||
"typeName": this.dataForm.typeName,
|
||
"workDay": this.dataForm.workDay,
|
||
"positionId": this.dataForm.positionId,
|
||
"workId": this.dataForm.workId,
|
||
"cbzsxs": this.dataForm.cbzsxs,
|
||
"status": this.dataForm.status,
|
||
"image": this.dataForm.image,
|
||
"imageFront": this.dataForm.imageFront,
|
||
"imageBack": this.dataForm.imageBack,
|
||
"bankImage": this.dataForm.bankImage,
|
||
"bankName": this.dataForm.bankName,
|
||
"bankCard": this.dataForm.bankCard,
|
||
"bankRelation": this.dataForm.bankRelation,
|
||
"balance": this.dataForm.balance,
|
||
"settleTime": this.dataForm.settleTime,
|
||
"isSafe": this.dataForm.isSafe,
|
||
"approval": 0,
|
||
"isFp": 1,
|
||
"orderNum": this.dataForm.orderNum
|
||
})
|
||
}).then(({data}) => {
|
||
if (data && data.code === 0) {
|
||
this.closePage()
|
||
} else {
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}
|
||
})
|
||
}
|
||
},
|
||
dataFormApproval() {
|
||
if (this.dataForm.name === undefined || this.dataForm.sex === undefined || this.dataForm.positionId === undefined || this.dataForm.workId === undefined || this.dataForm.cbzsxs === undefined) {
|
||
wx.showToast({
|
||
title: '姓名、性别、职位、岗位、成本折算系数中存在未填写部分,请填写后在进行提交',
|
||
icon: 'none',
|
||
duration: 4000//持续的时间
|
||
})
|
||
}else {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworker/findCnByName'),
|
||
method: 'post',
|
||
params: this.$http.adornParams({
|
||
'name': this.dataForm.name,
|
||
"id": this.id,
|
||
})
|
||
}).then(({data}) => {
|
||
if (data && data.code === 0) {
|
||
if(data.data>0){
|
||
wx.showToast({
|
||
title: '员工【' + this.dataForm.name + '】姓名已存在,请修改后在进行保存',
|
||
icon: 'none',
|
||
duration: 2000//持续的时间
|
||
})
|
||
}else{
|
||
if (this.wz === "现场施工2" || this.wz === "外部人员") {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworker/save'),
|
||
method: 'post',
|
||
body: this.$http.adornData({
|
||
"userId": this.dataForm.userId,
|
||
"name": this.dataForm.name,
|
||
"sex": this.dataForm.sex,
|
||
"age": this.dataForm.age,
|
||
"birthday": this.dataForm.birthday,
|
||
"register": this.dataForm.register,
|
||
"card": this.dataForm.card,
|
||
"phone": this.dataForm.phone,
|
||
"addr": this.dataForm.addr,
|
||
"education": this.dataForm.education,
|
||
"height": this.dataForm.height,
|
||
"weight": this.dataForm.weight,
|
||
"urgentName": this.dataForm.urgentName,
|
||
"urgentRelation": this.dataForm.urgentRelation,
|
||
"urgentPhone": this.dataForm.urgentPhone,
|
||
"typeId": this.dataForm.typeId,
|
||
"typeName": this.dataForm.typeName,
|
||
"workDay": this.dataForm.workDay,
|
||
"positionId": this.dataForm.positionId,
|
||
"workId": this.dataForm.workId,
|
||
"jobId": this.dataForm.jobId,
|
||
"cbzsxs": this.dataForm.cbzsxs,
|
||
"status": this.dataForm.status,
|
||
"image": this.dataForm.image,
|
||
"imageFront": this.dataForm.imageFront,
|
||
"imageBack": this.dataForm.imageBack,
|
||
"bankImage": this.dataForm.bankImage,
|
||
"bankName": this.dataForm.bankName,
|
||
"bankCard": this.dataForm.bankCard,
|
||
"bankRelation": this.dataForm.bankRelation,
|
||
"balance": this.dataForm.balance,
|
||
"settleTime": this.dataForm.settleTime,
|
||
"isSafe": this.dataForm.isSafe,
|
||
"approval": 0,
|
||
"isFp": 0,
|
||
"orderNum": this.dataForm.orderNum
|
||
})
|
||
}).then(({data}) => {
|
||
if (data && data.code === 0) {
|
||
this.closePage()
|
||
} else {
|
||
}
|
||
})
|
||
} else {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworker/save'),
|
||
method: 'post',
|
||
body: this.$http.adornData({
|
||
"userId": this.dataForm.userId,
|
||
"name": this.dataForm.name,
|
||
"sex": this.dataForm.sex,
|
||
"age": this.dataForm.age,
|
||
"birthday": this.dataForm.birthday,
|
||
"register": this.dataForm.register,
|
||
"card": this.dataForm.card,
|
||
"phone": this.dataForm.phone,
|
||
"addr": this.dataForm.addr,
|
||
"education": this.dataForm.education,
|
||
"height": this.dataForm.height,
|
||
"weight": this.dataForm.weight,
|
||
"urgentName": this.dataForm.urgentName,
|
||
"urgentRelation": this.dataForm.urgentRelation,
|
||
"urgentPhone": this.dataForm.urgentPhone,
|
||
"typeId": this.dataForm.typeId,
|
||
"jobId": this.dataForm.jobId,
|
||
"typeName": this.dataForm.typeName,
|
||
"workDay": this.dataForm.workDay,
|
||
"positionId": this.dataForm.positionId,
|
||
"workId": this.dataForm.workId,
|
||
"cbzsxs": this.dataForm.cbzsxs,
|
||
"status": this.dataForm.status,
|
||
"image": this.dataForm.image,
|
||
"imageFront": this.dataForm.imageFront,
|
||
"imageBack": this.dataForm.imageBack,
|
||
"bankImage": this.dataForm.bankImage,
|
||
"bankName": this.dataForm.bankName,
|
||
"bankCard": this.dataForm.bankCard,
|
||
"bankRelation": this.dataForm.bankRelation,
|
||
"balance": this.dataForm.balance,
|
||
"settleTime": this.dataForm.settleTime,
|
||
"isSafe": this.dataForm.isSafe,
|
||
"approval": 0,
|
||
"isFp": 1,
|
||
"orderNum": this.dataForm.orderNum
|
||
})
|
||
}).then(({data}) => {
|
||
if (data && data.code === 0) {
|
||
this.closePage()
|
||
} else {
|
||
}
|
||
})
|
||
}
|
||
|
||
// }
|
||
}
|
||
}
|
||
})
|
||
}
|
||
},
|
||
//点击修改控制input能不能输入
|
||
changeState(num) {
|
||
if (num === 1) {
|
||
this.xg = false;
|
||
this.isShow = true;
|
||
} else if (num === 2) {
|
||
this.isSFZShow = true;
|
||
}
|
||
},
|
||
cutbx(cellValue){
|
||
let ret = "无";
|
||
if(cellValue!=null) {
|
||
ret = cellValue.replaceAll(/\n/g, '<br/>')
|
||
}
|
||
this.bxgmqk = ret;
|
||
},
|
||
cutjk(cellValue){
|
||
let ret = "无";
|
||
if(cellValue!=null) {
|
||
ret = cellValue.replaceAll(/\n/g, '<br/>')
|
||
}
|
||
this.jkxxInfo = ret;
|
||
},
|
||
cutgzbz(cellValue){
|
||
let ret = "无";
|
||
if(cellValue!=null) {
|
||
ret = cellValue.replaceAll(/\n/g, '<br/>')
|
||
}
|
||
this.gzbzjsfs = ret;
|
||
},
|
||
cutjq(cellValue){
|
||
let ret = "无";
|
||
if(cellValue!=null) {
|
||
ret = cellValue.replaceAll(/\n/g, '<br/>')
|
||
}
|
||
this.gzjqjsjjd = ret;
|
||
},
|
||
cutbz(cellValue){
|
||
let ret = "无";
|
||
if(cellValue!=null) {
|
||
ret = cellValue.replaceAll(/\n/g, '<br/>')
|
||
}
|
||
this.gzzmbz = ret;
|
||
},
|
||
//点击下一页
|
||
clickNext() {
|
||
this.thisPages = this.thisPages + 1;
|
||
this.searchCq();
|
||
},
|
||
//点击上一页
|
||
clickFront() {
|
||
this.thisPages = this.thisPages - 1;
|
||
this.searchCq();
|
||
},
|
||
//出勤记录
|
||
searchCq(){
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworkercq/list'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'userId': this.id,
|
||
"page": this.thisPages,
|
||
"limit": this.rows,
|
||
})
|
||
}).then(({data}) => {
|
||
if (data && data.code === 0) {
|
||
this.dataCQList = data.page.list;
|
||
this.total = data.page.totalCount;
|
||
this.pages = data.page.totalPage;
|
||
if(this.pages > 1){
|
||
this.frontPage = true
|
||
this.nextPage = true
|
||
}else{
|
||
this.frontPage = false
|
||
this.nextPage = false
|
||
}
|
||
if(data.page.currPage === data.page.totalPage){
|
||
this.nextPage = false
|
||
}
|
||
if(data.page.currPage === 1){
|
||
this.frontPage = false
|
||
}
|
||
}
|
||
})
|
||
},
|
||
//账目与保险
|
||
searchZmbx(){
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworkersalary/list'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'userId': this.id,
|
||
})
|
||
}).then((data) => {
|
||
//console.log(data.data);
|
||
if (data && data.data.code === 0) {
|
||
this.gzList = data.data.page.list
|
||
}
|
||
console.log(this.gzList);
|
||
|
||
this.$forceUpdate();
|
||
})
|
||
}
|
||
},
|
||
onLoad(params) {
|
||
this.id = '';
|
||
this.sex = '';
|
||
this.gz = '';
|
||
this.yzFlag = 0;
|
||
this.xg = false;
|
||
this.systemTime = "";
|
||
this.isShow = true
|
||
this.isZWShow = true
|
||
this.isSFZShow = true
|
||
this.dictList = []
|
||
this.files = [];//证件照
|
||
this.filesPositive = [];//身份证正面图片
|
||
this.filesBack = [];//身份证反面图片
|
||
this.bankImage = [];//银行卡照片
|
||
this.gzList = [];
|
||
this.pickerValueArray = []
|
||
this.pickerValueDefaultBX = [0]
|
||
this.pickerValueArrayBX = []
|
||
this.pickerValueDefaultZZZT = [0]
|
||
this.pickerValueArrayZZZT = []
|
||
this.pickerValueDefault = [0]
|
||
this.pickerValueDefaultWZ = [0]
|
||
this.pickerValueArrayWZ = []
|
||
this.pickerValueDefaultZW = [0]
|
||
this.pickerValueArrayZW = []
|
||
this.pickerValueDefaultGZ = [0]
|
||
this.pickerValueArrayGZ = []
|
||
this.zwList = []
|
||
this.pickerValueDefaultSex = [0]
|
||
this.pickerValueArraySex = []
|
||
this.dataForm = {}
|
||
this.dataOldForm = {};
|
||
this.dataFroMCQ1 = {};
|
||
this.dataFroMCQ2 = {};
|
||
this.dataFroMCQ3 = {};
|
||
this.dataFroMCQ4 = {};
|
||
this.dataFroMCQ5 = {};
|
||
this.dataFroMCQ6 = {};
|
||
this.dataFroMCQ7 = {};
|
||
this.dataFroMCQ8 = {};
|
||
this.dataFroMCQ9 = {};
|
||
this.dataFroMCQ10 = {};
|
||
this.dataFroMCQ11 = {};
|
||
this.dataFroMCQ12 = {};
|
||
this.dataOldFroMCQ1 = {};
|
||
this.dataOldFroMCQ2 = {};
|
||
this.dataOldFroMCQ3 = {};
|
||
this.dataOldFroMCQ4 = {};
|
||
this.dataOldFroMCQ5 = {};
|
||
this.dataOldFroMCQ6 = {};
|
||
this.dataOldFroMCQ7 = {};
|
||
this.dataOldFroMCQ8 = {};
|
||
this.dataOldFroMCQ9 = {};
|
||
this.dataOldFroMCQ10 = {};
|
||
this.dataOldFroMCQ11 = {};
|
||
this.dataOldFroMCQ12 = {};
|
||
this.approvalShow = false;
|
||
this.approval = "";
|
||
this.wz = "";
|
||
this.zw = "";
|
||
this.zzzt = "在职";
|
||
this.isSafe = "否"
|
||
this.flag = 0;
|
||
this.title = "人员管理-新增";
|
||
this.dataForm.status = 0;//默认人员添加是在职状态
|
||
|
||
// 分页
|
||
this.frontPage = false;//上一页 存在true,不存在false
|
||
this.nextPage = false;//下一页 存在true,不存在false
|
||
this.pages = 0;//所有页
|
||
this.thisPages = 1;//当前页
|
||
this.rows = 10;//每页条数
|
||
this.total = 0;//总条数
|
||
|
||
this.title = params.title;
|
||
wx.setNavigationBarTitle({
|
||
title: params.title
|
||
})
|
||
|
||
this.pickerValueArrayBX = [{value:0,label:'否'},{value:1,label:'是'}];//是否保险
|
||
|
||
//获取字典信息
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessdict/list'),
|
||
method: 'get'
|
||
}).then(({data}) => {
|
||
//console.log(data);
|
||
if (data && data.code === 0) {
|
||
data.data.forEach((item) => {
|
||
if (item.dictCode === "position") {
|
||
item.children.forEach((itemChildren) => {
|
||
this.pickerValueArrayZZZT.push({value: itemChildren.dictId, label: itemChildren.name})
|
||
})
|
||
} else if (item.dictCode === "type_position") {
|
||
item.children.forEach((itemChildren) => {
|
||
this.pickerValueArrayWZ.push({value: itemChildren.dictId, label: itemChildren.name})
|
||
})
|
||
} else if (item.dictCode === "type_zw") {
|
||
this.zwList = item.children
|
||
} else if (item.dictCode === "sex") {
|
||
item.children.forEach((itemChildren) => {
|
||
this.pickerValueArraySex.push({value: itemChildren.dictId, label: itemChildren.name})
|
||
})
|
||
} else if (item.dictCode === "jobs") {
|
||
item.children.forEach((itemChildren) => {
|
||
this.pickerValueArrayGZ.push({value: itemChildren.dictId, label: itemChildren.name})
|
||
})
|
||
}
|
||
})
|
||
if (params.id) {
|
||
this.approvalShow = true;
|
||
this.xg = true;
|
||
this.isShow = false;
|
||
this.isSFZShow = false;
|
||
this.id = params.id;
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/business/businessworker/info/' + params.id),
|
||
method: 'get'
|
||
}).then(({data}) => {
|
||
const res = data.data;
|
||
if (data && data.code === 0) {
|
||
this.dataForm = {
|
||
...res
|
||
};
|
||
this.dataOldForm = {
|
||
...res
|
||
}
|
||
//数据处理模块
|
||
if (this.dataForm.status === 0) {
|
||
this.zzzt = "在职"
|
||
} else if (this.dataForm.status === 1) {
|
||
this.zzzt = "离职"
|
||
}
|
||
this.bx = this.dataForm.isSafe === 1?"是":"否"
|
||
this.sex = (this.dataForm.sex === 0 ? '女' : '男');
|
||
this.pickerValueArrayWZ.forEach((itemChange) => {
|
||
if (itemChange.value === this.dataForm.positionId) {
|
||
this.wz = itemChange.label;
|
||
}
|
||
});
|
||
this.zwList.forEach((itemChange) => {
|
||
if (itemChange.dictId === this.dataForm.workId) {
|
||
this.zw = itemChange.name;
|
||
}
|
||
})
|
||
this.pickerValueArrayGZ.forEach((itemChange) => {
|
||
if (itemChange.value === this.dataForm.jobId) {
|
||
this.gz = itemChange.label;
|
||
}
|
||
})
|
||
//--------------------------------------------- 分割线 ------------------------------------------------------
|
||
this.approval = res.approval;
|
||
//console.log(this.approval);
|
||
//人像照
|
||
if (this.dataForm.image !== null && this.dataForm.image !== "") {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/sys/oss/list' + "?filePath=" + this.dataForm.image),
|
||
method: 'get',
|
||
}).then(({data}) => {
|
||
this.files.push(data.replace(/[\r\n]/g, ""));
|
||
})
|
||
}
|
||
//身份证正面
|
||
if (this.dataForm.imageFront !== null && this.dataForm.imageFront !== "") {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/sys/oss/list' + "?filePath=" + this.dataForm.imageFront),
|
||
method: 'get',
|
||
}).then(({data}) => {
|
||
this.filesPositive.push(data.replace(/[\r\n]/g, ""));
|
||
})
|
||
}
|
||
//身份证背面
|
||
if (this.dataForm.imageBack !== null && this.dataForm.imageBack !== "") {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/sys/oss/list' + "?filePath=" + this.dataForm.imageBack),
|
||
method: 'get',
|
||
}).then(({data}) => {
|
||
this.filesBack.push(data.replace(/[\r\n]/g, ""));
|
||
})
|
||
}
|
||
//银行卡照片
|
||
if (this.dataForm.bankImage !== null && this.dataForm.bankImage !== "") {
|
||
this.$http.request({
|
||
url: this.$http.adornUrl('/sys/oss/list' + "?filePath=" + this.dataForm.bankImage),
|
||
method: 'get',
|
||
}).then(({data}) => {
|
||
this.bankImage.push(data.replace(/[\r\n]/g, ""));
|
||
})
|
||
}
|
||
}
|
||
});
|
||
//获取关联的出勤记录信息
|
||
this.searchCq();
|
||
}
|
||
} else {
|
||
this.closePage()
|
||
}
|
||
})
|
||
|
||
//在职离职 都包含的员工信息 验证此人是否存在
|
||
// this.$http.request({
|
||
// url: this.$http.adornUrl('/business/businessworker/selectAllContainsDeparturePage'),
|
||
// method: 'get'
|
||
// }).then((data) => {
|
||
// console.log(data);
|
||
// if (data && data.data.code === 0) {
|
||
// this.oldListWorker = data.data.page.list
|
||
// } else {
|
||
// this.closePage();
|
||
// }
|
||
// // console.log(this.oldListWorker);
|
||
// })
|
||
//获取当前年月
|
||
let nowDate = new Date()
|
||
let date = {
|
||
year: nowDate.getFullYear(),
|
||
month: nowDate.getMonth() + 1,
|
||
/*date: nowDate.getDate() + '-' + date.month + '-' + date.date*/
|
||
}
|
||
//console.log(date.month === 9);
|
||
//console.log(date.year-1);
|
||
if (date.month === 1 || date.month === 2) {
|
||
this.systemTime = date.year - 1;
|
||
} else {
|
||
this.systemTime = date.year
|
||
}
|
||
},
|
||
|
||
onUnload() {
|
||
this.isShow = false;
|
||
this.isZWShow = false;
|
||
},
|
||
onShow(){
|
||
//获取账目与保险
|
||
setTimeout(this.searchZmbx,'200');
|
||
}
|
||
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.plan_selection .box {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
z-index: 99;
|
||
width: 100%;
|
||
height: 10px;
|
||
background: #fff;
|
||
|
||
}
|
||
|
||
.plan_Range label {
|
||
border-bottom: none !important;
|
||
}
|
||
|
||
.upload > div {
|
||
width: 166px;
|
||
height: 143px;
|
||
border-radius: 5px;
|
||
overflow: hidden;
|
||
position: relative;
|
||
}
|
||
|
||
.upload_img {
|
||
width: 100%;
|
||
height: 27vh;
|
||
border: 1px solid black;
|
||
}
|
||
|
||
.upload_text {
|
||
height: 33px;
|
||
width: 43.5vh;
|
||
line-height: 33px;
|
||
text-align: center;
|
||
background: #FF0000;
|
||
color: #fff;
|
||
}
|
||
|
||
.btn {
|
||
text-align: center;
|
||
border-radius: 8px;
|
||
width: 36%;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.btnAdd {
|
||
background-color: #D9D9D9;
|
||
text-align: center;
|
||
border-radius: 5px;
|
||
font-size: 12px;
|
||
margin-right: 4%;
|
||
float: right;
|
||
}
|
||
|
||
.btnAddChange {
|
||
background-color: #D9D9D9;
|
||
text-align: center;
|
||
border-radius: 5px;
|
||
font-size: 12px;
|
||
margin-right: -148%;
|
||
float: right;
|
||
}
|
||
|
||
/* 横线 */
|
||
.showDiv {
|
||
border-bottom: 1px solid black;
|
||
text-align: center;
|
||
}
|
||
|
||
/* 小箭头 */
|
||
.arrowOpen {
|
||
/* 设置透明背景色 */
|
||
border: 6px solid transparent;
|
||
border-top-color: black;
|
||
margin-top: 3%;
|
||
margin-left: 2%;
|
||
}
|
||
|
||
/*表格框*/
|
||
.tableClass {
|
||
border: 1px solid black;
|
||
border-top: 0;
|
||
text-align: center;
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.tableClass1 {
|
||
border: 1px solid black;
|
||
border-bottom: 0;
|
||
text-align: center;
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.sc {
|
||
border: 2px solid black;
|
||
text-align: center;
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.tableClassTd {
|
||
width: 20vh;
|
||
min-height: 6vh;
|
||
border: 1px solid black;
|
||
border-top: 0;
|
||
text-align: center;
|
||
/*垂直水平居中*/
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-around;
|
||
flex-direction: column;
|
||
/*垂直水平居中*/
|
||
}
|
||
|
||
/*出勤专享*/
|
||
.tableCQTd {
|
||
width: 25vh;
|
||
min-height: 20px;
|
||
border-top: 0;
|
||
text-align: center;
|
||
/*垂直水平居中*/
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-around;
|
||
flex-direction: column;
|
||
/*垂直水平居中*/
|
||
}
|
||
|
||
.tableCQXH {
|
||
width: 8vh;
|
||
min-height: 20px;
|
||
border-top: 0;
|
||
text-align: center;
|
||
/*垂直水平居中*/
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-around;
|
||
flex-direction: column;
|
||
/*垂直水平居中*/
|
||
}
|
||
|
||
.tableCQBZ {
|
||
width: 42vh;
|
||
min-height: 20px;
|
||
border-top: 0;
|
||
text-align: center;
|
||
/*垂直水平居中*/
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-around;
|
||
flex-direction: column;
|
||
/*垂直水平居中*/
|
||
}
|
||
|
||
/*出勤专享*/
|
||
|
||
.cbtn {
|
||
width: 25%;
|
||
margin-top: 4%;
|
||
background-color: #FF0000;
|
||
color: #ffffff;
|
||
height: 5vh;
|
||
border-radius: 5px;
|
||
font-size: 14px;
|
||
display: flex;
|
||
text-align: center;
|
||
justify-content: center;
|
||
align-items: center;
|
||
}
|
||
|
||
.sqxs {
|
||
margin: 0 0 0 70%;
|
||
color: white;
|
||
background-color: white;
|
||
height: 4vh;
|
||
justify-content: center;
|
||
}
|
||
|
||
/** 基本信息div 部分 **/
|
||
.jbDiv {
|
||
display: flex;
|
||
border-bottom: 2px solid #efeded;
|
||
}
|
||
|
||
.jbDiv > div{
|
||
border-right: 2px solid #efeded;
|
||
}
|
||
|
||
.TBclass > tr > th {
|
||
border: 1px solid #efeded;
|
||
}
|
||
|
||
.TBclass > tr > td{
|
||
border: 1px solid #efeded;
|
||
}
|
||
|
||
/** 基本信息div 部分 **/
|
||
|
||
.paging{
|
||
width: 100%;
|
||
height: 80rpx;
|
||
font-size: 32rpx;
|
||
font-family: "PingFangSC";
|
||
color: #c79b4a;
|
||
line-height: 36rpx;
|
||
text-align: center;
|
||
}
|
||
|
||
.paging .page_btn{
|
||
width: 140rpx;
|
||
height: 60rpx;
|
||
font-size: 32rpx;
|
||
font-family: "PingFangSC";
|
||
color: #c79b4a;
|
||
}
|
||
|
||
.page_num{
|
||
font-size: 24rpx;
|
||
font-family: "PingFangSC";
|
||
/*color: #c79b4a;*/
|
||
color: #000;
|
||
/*margin: auto 10%;*/
|
||
}
|
||
|
||
</style>
|