<template>
|
<div v-loading="formLoading" v-if="formShow">
|
<div style="margin-bottom: 10px; border-bottom: 1px solid #f6f6f6">
|
<el-button type="primary" @click="submitForm" :disabled="subDisabled"
|
>保 存</el-button
|
>
|
<el-button type="primary" @click="close">退 出</el-button>
|
<el-button
|
type="primary"
|
@click="set_CheckBill(0, form)"
|
:disabled="CheckBillDisabled"
|
>审 核</el-button
|
>
|
</div>
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
<el-tabs v-model="activeName" type="card">
|
<el-tab-pane label="基本信息" name="first">
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="职员代码" prop="HNumber">
|
<el-input v-model="form.HNumber" placeholder="请输入职员代码" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="职员名称" prop="HName">
|
<el-input
|
v-model="form.HName"
|
@change="HNameChange"
|
placeholder="请输入职员名称"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="部门" prop="HDeptName">
|
<el-input v-model="form.HDeptName" placeholder="请选择部门" disabled>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openDataDialog(1)"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="工种" prop="HWorkTypeName">
|
<el-input v-model="form.HWorkTypeName" placeholder="请选择工种" disabled>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openDataDialog(2)"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="核算方式" prop="HCTPrjName">
|
<el-input v-model="form.HCTPrjName" placeholder="请选择核算方式" disabled>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openDataDialog(3)"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="职员系数" prop="HEmpRate">
|
<el-input v-model="form.HEmpRate" placeholder="输入职员系数"> </el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="岗位" prop="HPostName">
|
<el-input v-model="form.HPostName" placeholder="请选择岗位" disabled>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openDataDialog(4)"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="职务" prop="HDutyName">
|
<el-input v-model="form.HDutyName" placeholder="请选择职务" disabled>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openDataDialog(5)"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="班组" prop="HGroupName">
|
<el-input v-model="form.HGroupName" placeholder="请选择班组" disabled>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openDataDialog(6)"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="14">
|
<el-form-item label="备注" prop="HUSEORGID">
|
<el-input
|
type="text"
|
v-model="this.form.HRemark"
|
placeholder="请输入备注"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-tabs value="sub_first" type="card">
|
<el-tab-pane label="岗位信息" name="sub_first">
|
<el-row>
|
<el-col :span="2">
|
<el-button type="primary" @click="AddALine">增加一行</el-button>
|
</el-col>
|
<el-col :span="2">
|
<el-button type="primary" @click="CopyALine">复制一行</el-button>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-table
|
:data="PostDataCache"
|
ref="HPostData"
|
max-height="750"
|
border
|
:row-style="rowStyle"
|
@row-click="handleRowClick"
|
>
|
<el-table-column type="selection" width="55"> </el-table-column>
|
<el-table-column
|
label="职员名称"
|
prop="HEmpName"
|
align="left"
|
width="120"
|
/>
|
<el-table-column
|
label="岗位名称"
|
prop="HPostName"
|
align="left"
|
width="120"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model:value="scope.row.HPostName"
|
@keyup.native="HPostKeyUpHandler(scope.$index, $event)"
|
></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column label="备注" prop="HRemark" align="left" width="200">
|
<template slot-scope="scope">
|
<el-input
|
v-model:value="scope.row.HRemark"
|
@blur="tableHRemarkBlur(scope.$index, scope.row)"
|
></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" prop="操作" align="left" width="120">
|
<template slot-scope="scope">
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-delete"
|
@click="uploadPostDelete(scope.row, scope.$index)"
|
>删除</el-button
|
>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-row>
|
</el-tab-pane>
|
</el-tabs>
|
</el-tab-pane>
|
<el-tab-pane label="人事信息" name="second">
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="政治面貌" prop="HGovStatus">
|
<el-select v-model="form.HGovStatus">
|
<el-option
|
v-for="item in HGovStatusList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="学历" prop="HStopEmp">
|
<el-select v-model="form.HKnowLev">
|
<el-option
|
v-for="item in HKnowLevList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="婚姻状况" prop="HMarr">
|
<el-select v-model="form.HMarr">
|
<el-option
|
v-for="item in HMarrList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="档案编号" prop="HArchivesNo">
|
<el-input type="text" v-model="form.HArchivesNo"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="职称" prop="HProTitleID">
|
<el-input type="text" v-model="form.HProTitleID"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="薪资等级" prop="HSalaryLev">
|
<el-input type="text" v-model="form.HSalaryLev"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="毕业学校" prop="HGradSchool">
|
<el-input type="text" v-model="form.HGradSchool"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="毕业时间" prop="HGradDate">
|
<el-date-picker
|
v-model="form.HGradDate"
|
type="date"
|
placeholder="选择毕业时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="宿舍" prop="HDormName">
|
<el-input type="text" disabled v-model="form.HDormName">
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openDataDialog(8)"
|
></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="外语水平" prop="HEngLev">
|
<el-select v-model="form.HEngLev">
|
<el-option
|
v-for="item in HEngLevList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="计算机水平" prop="HCompLev">
|
<el-select v-model="form.HCompLev">
|
<el-option
|
v-for="item in HCompLevList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="专业" prop="HSpec">
|
<el-input type="text" v-model="form.HSpec"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="15">
|
<el-form-item label="现在地址" prop="HNowAdd">
|
<el-input type="text" v-model="form.HNowAdd"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="电子邮箱" prop="HEmail">
|
<el-input type="email" v-model="form.HEmail"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="15">
|
<el-form-item label="家庭地址" prop="HHomeAdd">
|
<el-input type="text" v-model="form.HHomeAdd"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="邮政编码" prop="HPostalCode">
|
<el-input type="text" v-model="form.HPostalCode"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="15">
|
<el-form-item label="原公司" prop="HOldCompany">
|
<el-input type="text" v-model="form.HOldCompany"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="联系电话" prop="HLinkPhone">
|
<el-input type="text" v-model="form.HLinkPhone"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="手机号码" prop="HMobilePhone">
|
<el-input type="text" v-model="form.HMobilePhone"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="用工类型" prop="HWorkType">
|
<el-select v-model="form.HWorkType">
|
<el-option
|
v-for="item in HWorkTypeList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="进厂日期" prop="HInComDate">
|
<el-date-picker
|
v-model="form.HInComDate"
|
type="date"
|
placeholder="选择进厂日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="转正日期" prop="HRelDate">
|
<el-date-picker
|
v-model="form.HRelDate"
|
type="date"
|
placeholder="选择转正日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="保险证编号" prop="HInsuranceNo">
|
<el-input type="text" v-model="form.HInsuranceNo"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="参保" prop="HInsuranceStatus">
|
<el-select v-model="form.HInsuranceStatus">
|
<el-option
|
v-for="item in [
|
{
|
label: '是',
|
value: 'true',
|
},
|
{
|
label: '否',
|
value: 'false',
|
},
|
]"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="参保日期" prop="HInsuranceDate">
|
<el-date-picker
|
v-model="form.HInsuranceDate"
|
type="date"
|
placeholder="选择参保日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="合同到期日期" prop="HContractEDate">
|
<el-date-picker
|
v-model="form.HCheckTime"
|
type="date"
|
placeholder="选择合同到期日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="合同开始日期" prop="HContractBDate">
|
<el-date-picker
|
v-model="form.HContractBDate"
|
type="date"
|
placeholder="选择合同开始日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="合同期限" prop="HContractYear">
|
<el-input type="text" v-model="form.HContractYear"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="离职日期" prop="HDimissionDate">
|
<el-date-picker
|
v-model="form.HDimissionDate"
|
type="date"
|
placeholder="选择离职日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="暂住证到期日" prop="HStayCardEDate">
|
<el-date-picker
|
v-model="form.HStayCardEDate"
|
type="date"
|
placeholder="选择暂住证到期日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="14">
|
<el-form-item label="离职原因" prop="HDimissionReason">
|
<el-input type="text" v-model="form.HDimissionReason"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="传真号码" prop="HFax">
|
<el-input type="text" v-model="form.HFax"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="签约" prop="HSignStatus">
|
<el-select v-model="form.HSignStatus" placeholder="是否签约">
|
<el-option
|
v-for="item in [
|
{
|
label: '是',
|
value: 'true',
|
},
|
{
|
label: '否',
|
value: 'false',
|
},
|
]"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="性别" prop="HSex">
|
<el-select v-model="form.HSex" placeholder="请选择性别">
|
<el-option
|
v-for="item in [
|
{
|
label: '男',
|
value: '男',
|
},
|
{
|
label: '女',
|
value: '女',
|
},
|
]"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="出生年月" prop="HBirthDay">
|
<el-date-picker
|
v-model="form.HBirthDay"
|
type="month"
|
placeholder="选择出生年月"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="年龄" prop="HAge">
|
<el-input type="number" v-model="form.HAge"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="籍贯" prop="HBlighty">
|
<el-input type="number" v-model="form.HBlighty"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="民族" prop="HNation">
|
<el-input type="text" v-model="form.HNation"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="户籍类别" prop="HBlightyType">
|
<el-select v-model="form.HBlightyType" placeholder="请选择户籍类型">
|
<el-option
|
v-for="item in [
|
{
|
value: '本地',
|
label: '本地',
|
},
|
{
|
value: '外地',
|
label: '外地',
|
},
|
]"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
<el-tab-pane label="其他信息" name="third">
|
<div class="maintitle">其他资料</div>
|
<el-row>
|
<el-col :span="16">
|
<el-form-item label="身份证" prop="HIDCard">
|
<el-input type="text" v-model="form.HIDCard"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="不打卡" prop="HMakeTime">
|
<el-checkbox v-model="form.HNoBrushFlag">是否打卡</el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="禁用标志" prop="HStopflag">
|
<el-checkbox v-model="form.HStopflag">禁用标志</el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="调休标志" prop="HOverType">
|
<el-checkbox v-model="form.HOverType">是否调休</el-checkbox>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="工资类型" prop="HEmpType">
|
<el-select v-model="form.HEmpType" placeholder="请选择工资类型">
|
<el-option
|
v-for="item in HEmpTypeList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="轮休调休标志" prop="checkboxHShiftFlag">
|
<el-checkbox v-model="form.checkboxHShiftFlag">是否轮休调休</el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="停发工资" prop="checkboxHStopwagesFlag">
|
<el-checkbox v-model="form.checkboxHStopwagesFlag">是否停发</el-checkbox>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="银行账户" prop="HBankAccount">
|
<el-input type="text" v-model="form.HBankAccount"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="保险补贴" prop="HInsuranceSubsidy">
|
<el-input type="text" v-model="form.HInsuranceSubsidy"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="其他扣款3" prop="HOtherDeduct3">
|
<el-input type="text" v-model="form.HOtherDeduct3"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="医疗保险" prop="HMedicare">
|
<el-input type="text" v-model="form.HMedicare"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="养老保险" prop="HInsurance">
|
<el-input type="text" v-model="form.HInsurance"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="失业保险" prop="HDrydock">
|
<el-input type="text" v-model="form.HDrydock"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<div class="maintitle">其他资料</div>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="基本工资" prop="HBasePay">
|
<el-input type="text" v-model="form.HBasePay"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="职务考核工资" prop="HExamLevPostMoney">
|
<el-input type="text" v-model="form.HExamLevPostMoney"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="带班系数" prop="HExamRate">
|
<el-input type="text" v-model="form.HExamRate"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="支付类型" prop="HPayType">
|
<el-select v-model="form.HPayType" placeholder="请选择支付类型">
|
<el-option
|
v-for="item in [
|
{
|
label: '现金',
|
value: '现金',
|
},
|
{
|
label: '银行卡',
|
value: '银行卡',
|
},
|
]"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="最高工资" prop="HHighestPay">
|
<el-input type="text" v-model="form.HHighestPay"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="超额比率" prop="HOverPayRate">
|
<el-input type="text" v-model="form.HOverPayRate"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="剩余工资" prop="HLeftMoneyRate">
|
<el-input type="text" v-model="form.HLeftMoneyRate"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
<el-tab-pane label="附件信息" name="forth">
|
<el-row>
|
<el-upload
|
class="upload-employee"
|
ref="upload"
|
action=""
|
:on-preview="handlePreview"
|
:on-remove="handleRemove"
|
:file-list="fileList"
|
:auto-upload="false"
|
:show-file-list="false"
|
style="display: inline-block; margin-left: 10px"
|
:on-change="fileChangeHandler"
|
>
|
<el-button
|
slot="trigger"
|
size="small"
|
type="primary"
|
@click.capture="handleBeforeUpload"
|
>上传文件</el-button
|
>
|
</el-upload>
|
</el-row>
|
<el-row>
|
<el-table :data="fileListPreUpload" ref="tableData" max-height="750" border>
|
<el-table-column type="index" label="序号" width="55" align="left" />
|
<el-table-column label="文件名" prop="fileName" align="left" width="120" />
|
<el-table-column label="图片" prop="url" align="left" width="120">
|
<template slot-scope="scope">
|
<el-image
|
:src="scope.row.url || ''"
|
fit="cover"
|
style="width: 100px; height: 80px"
|
:preview-src-list="[scope.row.url] || []"
|
fallback="图片加载失败"
|
></el-image>
|
</template>
|
</el-table-column>
|
<el-table-column label="大小" prop="size" align="left" width="120" />
|
<el-table-column label="状态" prop="fileStatus" align="left" width="120" />
|
<el-table-column label="操作" prop="操作" align="left" width="120">
|
<template slot-scope="scope">
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-upload"
|
@click="uploadDataUpload(scope.row, scope.$index)"
|
v-if="scope.row.fileStatus != '已上传'"
|
>上传</el-button
|
>
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-download"
|
@click="downloadDataUpload(scope.row, scope.$index)"
|
v-if="scope.row.fileStatus == '已上传'"
|
>下载</el-button
|
>
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-delete"
|
@click="uploadDataDelete(scope.row, scope.$index)"
|
>删除</el-button
|
>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-row>
|
</el-tab-pane>
|
</el-tabs>
|
</el-form>
|
<!-- 部门弹窗 -->
|
<el-dialog
|
:title="dialogTitle"
|
:visible.sync="openData"
|
width="1280px"
|
append-to-body
|
>
|
<Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="deptShow" />
|
<GyWorkType
|
@deptEmitDb="dbEmitData"
|
@deptEmit="emitData"
|
v-if="workTypeShow"
|
:openType="2"
|
/>
|
<GyClassTimePrj
|
@deptEmitDb="dbEmitData"
|
@deptEmit="emitData"
|
v-if="classTimePrjShow"
|
:openType="2"
|
/>
|
<GyPost @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="postShow" />
|
<GyDuty @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="dutyShow" />
|
<GyGroup @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="groupShow" />
|
<GyPost @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="post2Show" />
|
<GyDorm @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="dormShow" />
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="deptClickSub">确 定</el-button>
|
<el-button @click="deptClose">取 消</el-button>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import axios from "axios";
|
import Dept from "@/views/component/dept";
|
import Warehouse from "@/views/component/warehouse";
|
import Material from "@/views/component/material";
|
import RowSettings from "@/views/component/rowSettings";
|
import GyWorkCenter from "@/views/component/gyWorkCenter";
|
import moment from "moment";
|
import GyWorkType from "@/views/component/gyWorkType";
|
import GyClassTimePrj from "@/views/component/gyClassTimePrj";
|
import GyPost from "@/views/component/gyPost";
|
import GyDuty from "@/views/component/gyDuty";
|
import GyGroup from "@/views/component/gyGroup";
|
import GyDorm from "@/views/component/gyDorm";
|
import dayjs from "dayjs";
|
|
export default {
|
name: "SellOutBill",
|
components: {
|
Dept,
|
Warehouse,
|
Material,
|
RowSettings,
|
GyWorkCenter,
|
GyWorkType,
|
GyClassTimePrj,
|
GyPost,
|
GyDuty,
|
GyGroup,
|
GyDorm,
|
},
|
props: {
|
OperationType: { type: Number },
|
linterid: { type: Number },
|
HSouceBillType: { type: String },
|
copyType: { type: Number },
|
HOrgID: { type: Number },
|
},
|
data() {
|
return {
|
formShow: false,
|
temp: undefined,
|
formLoading: true,
|
zzSelDis: false,
|
rowHideShow: false,
|
openRowHide: false,
|
workCenterShow: false,
|
workTypeShow: false,
|
classTimePrjShow: false,
|
postShow: false,
|
post2Show: false,
|
postIndex: 0,
|
postMode: 1, // 1 表示 主表更新,2表示子表更新
|
dutyShow: false,
|
groupShow: false,
|
sWhere: "",
|
sTime: "",
|
eTime: "",
|
zbIndex: null,
|
dialogTypeNum: null, //部门弹窗1,仓库弹窗2
|
deptShow: false, //部门数据组件
|
warehouseShow: false, //仓库数据组件
|
materialShow: false, //物料数据组件
|
dormShow: false, // 宿舍基础资料
|
deptform: {}, //弹窗选中数据
|
openData: false, //数据弹窗
|
dialogTitle: "",
|
zuzhiId: 0,
|
organizationList: [], //组织列表
|
subDisabled: false, //编辑页面保存按钮是否禁用(true禁用,false可用)
|
CheckBillDisabled: true,
|
// OperationType: this.$route.query.OperationType,//保存类型(新增1修改3)
|
HInterID: null,
|
baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/",
|
user: "admin",
|
currentRow: [],
|
lastSelectedRowIndex: null, // 用于记录上次点击的行索引
|
lastSelectedRow: null, // 上一次选中的行
|
selectedRow: null, // 当前选中的行
|
rowForm: {},
|
checkedSysZb: [],
|
editData: [], //子表
|
editBtData: [], //子表表头
|
activeName: "first",
|
searchOpen: false,
|
// 弹出层标题
|
title: "",
|
// 是否显示弹出层
|
open: false,
|
// 显示搜索条件
|
showSearch: true,
|
// 选中数组
|
ids: [],
|
// 非单个禁用
|
single: true,
|
// 非多个禁用
|
multiple: true,
|
// 表单参数
|
form: {},
|
// 表单校验
|
rules: {
|
HNumber: [{ required: true, message: "职员代码不能为空", trigger: "blur" }],
|
HName: [{ required: true, message: "职员名称不能为空", trigger: "blur" }],
|
HDeptName: [{ required: true, message: "部门不能为空", trigger: "blur" }],
|
},
|
|
HGovStatusList: [
|
{ label: "群众", value: "群众" },
|
{ label: "团员", value: "团员" },
|
{ label: "党员", value: "党员" },
|
{ label: "其他党派", value: "其他党派" },
|
],
|
|
HKnowLevList: [
|
{ label: "小学", value: "小学" },
|
{ label: "初中", value: "初中" },
|
{ label: "高中", value: "高中" },
|
{ label: "大专", value: "大专" },
|
{ label: "本科", value: "本科" },
|
{ label: "研究生", value: "研究生" },
|
{ label: "硕士", value: "硕士" },
|
{ label: "博士", value: "博士" },
|
{ label: "博士后", value: "博士后" },
|
],
|
|
HMarrList: [
|
{ label: "已婚", value: "已婚" },
|
{ label: "未婚", value: "未婚" },
|
{ label: "离异", value: "离异" },
|
],
|
|
HEngLevList: [
|
{ label: "无", value: "无" },
|
{ label: "一般", value: "一般" },
|
{ label: "熟悉", value: "熟悉" },
|
{ label: "精通", value: "精通" },
|
],
|
|
HCompLevList: [
|
{ label: "无", value: "无" },
|
{ label: "一般", value: "一般" },
|
{ label: "熟悉", value: "熟悉" },
|
{ label: "精通", value: "精通" },
|
],
|
|
HWorkTypeList: [
|
{ label: "临时工", value: "临时工" },
|
{ label: "合同工", value: "合同工" },
|
{ label: "顶岗工", value: "顶岗工" },
|
{ label: "其他", value: "其他" },
|
],
|
|
HEmpTypeList: [
|
{ label: "固定工资", value: "固定工资" },
|
{ label: "浮动工资", value: "浮动工资" },
|
{ label: "系数工资", value: "系数工资" },
|
{ label: "月度工资", value: "月度工资" },
|
],
|
// 上传文件列表
|
fileList: [],
|
|
// 上传文件 展示列表
|
fileListPreUpload: [],
|
|
// 岗位信息缓存
|
PostDataCache: [],
|
};
|
},
|
created() {
|
this.reset();
|
this.fetchData();
|
},
|
activated() {
|
this.reset();
|
this.fetchData();
|
},
|
mounted() {
|
console.log(this.row);
|
console.log(this.OperationType);
|
console.log(this.HOrgID);
|
},
|
methods: {
|
getFile() {
|
axios
|
.get(`${this.baseURL}/Gy_Employee_Filelist?HBillNO=${this.form.HNumber}`)
|
.then((res) => {
|
let { Message, data, count } = res.data;
|
if (count == 1) {
|
console.log(data);
|
for (let i = 0; i < data.length; i++) {
|
this.fileListPreUpload.push({
|
fileName: data[i].HFileName,
|
size: `${(data[i].HFileSize / 1024).toFixed(2)}KB`,
|
url: `${this.baseURL}${data[i].url}`,
|
fileStatus: "已上传",
|
raw: {},
|
});
|
}
|
} else {
|
this.$modal.msgError(`文件列表读取失败: ${Message}`);
|
}
|
})
|
.catch((err) => {
|
this.$modal.msgError(`文件列表读取失败: ${err}`);
|
});
|
},
|
handleBeforeUpload(e) {
|
if (!this.form.HNumber) {
|
// 1. 阻止默认行为(阻止打开文件选择窗口)
|
e.preventDefault();
|
// 2. 阻止事件传播(防止触发其他可能的事件处理器)
|
e.stopPropagation();
|
this.$modal.msgError("职员代码未填写,不可上传文件");
|
}
|
},
|
tableHRemarkBlur(rowindex, content) {
|
console.log(content);
|
// this.PostDataCache[rowindex].HRemark = content.HRemark;
|
},
|
HPostKeyUpHandler(rowindex, e) {
|
this.showReset();
|
if (e.key == "F7") {
|
this.dialogTitle = "岗位";
|
this.post2Show = true;
|
this.openData = true;
|
this.postIndex = rowindex;
|
this.postMode = 2;
|
}
|
},
|
uploadPostDelete(row, index) {
|
console.log(row, index);
|
if (this.PostDataCache.length == 1) {
|
this.$modal.msgError("首行无法删除!");
|
return;
|
}
|
this.PostDataCache.splice(index, 1);
|
},
|
handleRemove() {},
|
handlePreview() {},
|
fileChangeHandler(file, fileList) {
|
this.fileList = fileList;
|
|
const rawFile = file.raw;
|
console.log(rawFile);
|
// 仅处理图片文件
|
if (rawFile && rawFile.type.startsWith("image/")) {
|
const reader = new FileReader(); // 初始化 FileReader
|
|
// 读取完成后生成预览 URL
|
reader.onload = (e) => {
|
this.fileListPreUpload.push({
|
fileName: file.name,
|
size: `${(file.size / 1024).toFixed(2)}KB`,
|
url: e.target.result,
|
fileStatus: "未上传",
|
raw: file.raw,
|
});
|
|
console.log(this.fileListPreUpload);
|
};
|
|
// 以 DataURL 格式读取文件
|
reader.readAsDataURL(rawFile);
|
}
|
},
|
// 多选框选中数据
|
handleSelectionChange(selection) {
|
console.log(selection);
|
},
|
fetchData() {
|
//登录用户信息
|
axios
|
.get(
|
"http://47.96.97.237/API/Web/GetUser?UserName=001&PassWord=123456&HOrgName=100038"
|
)
|
.then((response) => {
|
let data = response.data.data[0];
|
this.zuzhiId = data.HUSEORGID; //根据登录用户获取默认的组织ID
|
this.user = data.Czymc;
|
axios
|
.get(this.baseURL + "/Web/GetOrganizations", {})
|
.then((response) => {
|
if (response.data.count == 1) {
|
this.organizationList = response.data.data; //组织列表
|
this.getdata();
|
}
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
AddALine() {
|
this.PostDataCache.push({
|
HEmpID: this.form.HInterID,
|
HEmpName: this.form.HName,
|
HPostID: 0,
|
HPostName: "",
|
HRemark: "",
|
});
|
},
|
CopyALine(e) {
|
if (this.selectedRow) {
|
this.PostDataCache.push({
|
HEmpID: this.selectedRow.HEmpID || 0,
|
HEmpName: this.selectedRow.HEmpName || "",
|
HPostID: this.selectedRow.PostID || 0,
|
HPostName: this.selectedRow.HPostName || "",
|
HRemark: this.selectedRow.HRemark || "",
|
});
|
}
|
},
|
HNameChange() {
|
for (const key in this.PostDataCache) {
|
console.log(key);
|
this.PostDataCache[key].HEmpName = this.form.HName;
|
}
|
},
|
getSubData() {
|
axios
|
.get(this.baseURL + "/Gy_Employee/listSub", {
|
params: {
|
sWhere: ` and HEmpID = ${this.form.HItemID}`,
|
user: this.user,
|
},
|
})
|
.then((response) => {
|
console.log(response);
|
let result = response.data;
|
if (result.code == 1) {
|
// 说明验证成功了
|
this.PostDataCache = result.data;
|
}
|
this.$nextTick(() => {
|
this.formShow = true;
|
this.formLoading = false;
|
});
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
getdata() {
|
this.reset();
|
console.log(this.OperationType);
|
if (this.OperationType != 1) {
|
this.zzSelDis = true;
|
axios
|
.get(this.baseURL + "/GetGy_EmployeeDetail", {
|
params: {
|
HID: this.linterid,
|
},
|
})
|
.then((response) => {
|
console.log(response);
|
let result = response.data;
|
if (result.code == 1) {
|
// 说明验证成功了,
|
var data = result.data.h_v_Edit_IF_EmployeeList[0];
|
console.log(data);
|
this.form = {
|
...{
|
HNumber: data.职员代码,
|
HItemID: this.OperationType == 2 ? 0 : data.HItemID,
|
HName: data.职员名称,
|
HHelpCode: data.助记代码,
|
HGroupID: data.HGroupID,
|
HGroupName: data.班组名称,
|
HGroupNumber: data.班组代码,
|
HEndFlag: data.明细标记 == "true" ? true : false,
|
HNoBrushFlag: data.是否打卡 == "true" ? true : false,
|
HOverType: data.是否调休 == "true" ? true : false,
|
HShiftFlag: data.是否轮班调休 == "true" ? true : false,
|
HStopwagesFlag: data.是否停发 == "true" ? true : false,
|
HInsuranceStatus: data.是否参保,
|
HDeptID: data.部门ID,
|
HDeptName: data.部门名称,
|
HDutyID: data.职务ID,
|
HDutyName: data.职务名称,
|
HDutyNumber: data.职务代码,
|
HDormID: data.宿舍ID,
|
HDormName: data.宿舍名称,
|
HDormNumber: data.宿舍代码,
|
HWorkTypeID: data.工种ID,
|
HWorkTypeName: data.工种名称,
|
HWorkTypeNumber: data.工种代码,
|
HCTPrjID: data.核算方式ID,
|
HCTPrjName: data.核算方式名称,
|
HCTPrjNumber: data.核算方式代码,
|
HPostID: data.岗位ID,
|
HPostName: data.岗位名称,
|
HPostNumber: data.岗位代码,
|
HSex: data.性别,
|
HBirthDay: dayjs(data.出生年月).format("YYYY-MM-DD"),
|
HAge: data.年龄,
|
HBlighty: data.籍贯,
|
HNation: data.民族,
|
HBlightyType: data.户籍类别,
|
HGovStatus: data.政治面貌,
|
HKnowLev: data.学历,
|
HMarr: data.婚姻状况,
|
HArchivesNo: data.档案编号,
|
HProTitleID: data.职称,
|
HSalaryLev: data.薪资等级,
|
HGradSchool: data.毕业学校,
|
HGradDate: dayjs(data.毕业时间).format("YYYY-MM-DD"),
|
HEngLev: data.外语水平,
|
HCompLev: data.计算机水平,
|
HSpec: data.专业,
|
HNowAdd: data.现住地址,
|
HEmail: data.电子邮箱,
|
HHomeAdd: data.家庭地址,
|
HPostalCode: data.邮政编码,
|
HOldCompany: data.原公司,
|
HLinkPhone: data.联系电话,
|
HMobilePhone: data.手机号,
|
HWorkType: data.用工类型,
|
HInComDate: dayjs(data.进厂日期).format("YYYY-MM-DD"),
|
HRelDate: dayjs(data.转正日期).format("YYYY-MM-DD"),
|
HInsuranceNo: data.保险证编号,
|
HContractBDate: dayjs(data.合同开始日期).format("YYYY-MM-DD"),
|
HContractEDate: dayjs(data.合同到期日期).format("YYYY-MM-DD"),
|
HContractYear: data.合同期限,
|
HInsuranceDate: dayjs(data.参保日期).format("YYYY-MM-DD"),
|
HDimissionDate: dayjs(data.离职日期).format("YYYY-MM-DD"),
|
HStayCardEDate: dayjs(data.暂住证到期日).format("YYYY-MM-DD"),
|
HEmpRate: data.职员系数,
|
HBSTDeptID: data.贝士达部门,
|
HRemark: data.备注,
|
HDimissionReason: data.离职原因,
|
linteridCard: data.身份证,
|
HEmpType: data.工资类型,
|
HBankAccount: data.银行账户,
|
HInsuranceSubsidy: data.保险补贴,
|
HOtherDeduct3: data.其他扣款3,
|
HMedicare: data.医疗保险,
|
HInsurance: data.养老保险,
|
HDrydock: data.失业保险,
|
HBasePay: data.基本工资,
|
HExamLevPostMoney: data.职务考核工资,
|
HExamRate: data.考核系数,
|
HPayType: data.支付类型,
|
HLeftMoneyRate: data.剩余工资,
|
HHighestPay: data.最高工资,
|
HOverPayRate: data.超额比率,
|
HStopflag: data.禁用标记,
|
HRemark: data.备注,
|
HIDCard: data.身份证 || "",
|
HFax: data.传真号码 || "",
|
},
|
};
|
|
if (this.OperationType == 3) {
|
// 编辑时获取文件列表
|
this.$nextTick(() => {
|
this.getFile();
|
});
|
}
|
}
|
this.$nextTick(() => {
|
this.getSubData();
|
this.formShow = true;
|
this.formLoading = false;
|
});
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
} else if (this.OperationType == 1) {
|
let date = new Date();
|
this.form.HMakeTime = moment(date).format("YYYY-MM-DDTHH:mm:ss");
|
this.PostDataCache.push({
|
HEmpID: 0,
|
HEmpName: "",
|
HPostID: 0,
|
HPostName: "",
|
HRemark: "",
|
});
|
this.$nextTick(() => {
|
this.formShow = true;
|
this.formLoading = false;
|
});
|
}
|
},
|
handleRowHide() {
|
this.rowHideShow = true;
|
this.openRowHide = true;
|
},
|
rowSetClose(val) {
|
this.rowHideShow = false;
|
this.openRowHide = val;
|
},
|
organizationChange(val) {
|
// let options=undefined
|
// this.form=this.organizationList.find(option => option.ID === val)?.Name || '';
|
},
|
//部门弹窗赋值
|
dbEmitData(deptRow, num) {
|
// num=1部门 num=2出库仓库
|
console.log(num, deptRow);
|
if (num == 1) {
|
this.form.HDeptName = deptRow.部门名称;
|
this.form.HDeptID = deptRow.HItemID;
|
this.openData = false;
|
} else if (num == "post" && this.postMode == 1) {
|
this.form.HPostID = deptRow.HItemID;
|
this.form.HPostName = deptRow.岗位名称;
|
this.form.HPostNumber = deptRow.岗位代码;
|
this.openData = false;
|
} else if (num == "post" && this.postMode == 2) {
|
Object.assign(this.PostDataCache[this.postIndex], {
|
HPostID: deptRow.HItemID,
|
HPostName: deptRow.岗位名称,
|
HPostNumber: deptRow.岗位代码,
|
});
|
this.openData = false;
|
this.postMode = 0;
|
this.postIndex = 0;
|
} else if (num == "workType") {
|
Object.assign(this.form, {
|
HWorkTypeID: deptRow.HItemID,
|
HWorkTypeName: deptRow.工种名称,
|
HWorkTypeNumber: deptRow.工种代码,
|
});
|
this.openData = false;
|
} else if (num == "CTPrj") {
|
// 核算方式
|
Object.assign(this.form, {
|
HCTPrjID: deptRow.HItemID,
|
HCTPrjName: deptRow.核算方式名称,
|
HCTPrjNumber: deptRow.核算方式代码,
|
});
|
this.openData = false;
|
} else if (num == "Duty") {
|
// 核算方式
|
Object.assign(this.form, {
|
HDutyID: deptRow.hitemid,
|
HDutyName: deptRow.职务,
|
HDutyNumber: deptRow.组织架构代码,
|
});
|
this.openData = false;
|
} else if (num == "Group") {
|
// 班组
|
Object.assign(this.form, {
|
HGroupID: deptRow.HItemID,
|
HGroupName: deptRow.班组名称,
|
HGroupNumber: deptRow.班组代码,
|
});
|
this.openData = false;
|
} else if (num == "Dorm") {
|
// 宿舍
|
Object.assign(this.form, {
|
HDormID: deptRow.HItemID,
|
HDormName: deptRow.HName,
|
HDormNumber: deptRow.HNumber,
|
});
|
this.openData = false;
|
}
|
},
|
emitData(deptRow, num) {
|
this.dialogTypeNum = num;
|
this.deptform = deptRow;
|
},
|
deptClickSub() {
|
this.dbEmitData(this.deptform, this.dialogTypeNum);
|
this.deptform = {};
|
},
|
deptClose() {
|
this.deptform = {};
|
this.openData = false;
|
},
|
|
//点击行
|
handleRowClick(row, column, event) {
|
console.log(row);
|
this.lastSelectedRow = this.selectedRow; // 记录上一次选中的行
|
this.selectedRow = row; // 记录当前选中的行
|
this.lastSelectedRowIndex = this.PostDataCache.indexOf(row);
|
this.$refs.HPostData.toggleRowSelection(this.lastSelectedRow);
|
this.$refs.HPostData.toggleRowSelection(row);
|
},
|
//选中行高亮样式
|
rowStyle({ row, rowIndex }) {
|
if (this.ids.includes(row.HItemID)) {
|
return { background: "#ecf5ff" };
|
}
|
},
|
|
//新增编辑表单初始化
|
reset() {
|
this.form = {
|
HNumber: "",
|
HItemID: "0",
|
HName: "",
|
HDeptName: "",
|
HDeptID: "0",
|
HDepNumber: "",
|
HWorkTypeName: "",
|
HWorkTypeID: "0",
|
HWorkTypeNumber: "",
|
HCTPrjName: "",
|
HCTPrjID: "0",
|
HEmpRate: "0",
|
HPostName: "",
|
HPostID: "0",
|
HPostNumber: "",
|
HDutyName: "",
|
HDutyID: "0",
|
HDutyNumber: "",
|
HGroupName: "",
|
HGroupID: "0",
|
HGroupNumber: "",
|
HRemark: "",
|
HGovStatus: "群众",
|
HKnowLev: "小学",
|
HMarr: "未婚",
|
HArchivesNo: "",
|
HProTitleID: "",
|
HSalaryLev: "",
|
HGradSchool: "",
|
HGradDate: "",
|
HDormName: "",
|
HDormID: "0",
|
HDormNumber: "",
|
HEngLev: "无",
|
HCompLev: "无",
|
HSpec: "",
|
HNowAdd: "",
|
HEmail: "",
|
HHomeAdd: "",
|
HPostalCode: "",
|
HOldCompany: "",
|
HLinkPhone: "",
|
HMobilePhone: "",
|
HWorkType: "临时工",
|
HInComDate: "",
|
HRelDate: "",
|
HInsuranceNo: "",
|
HInsuranceStatus: "true",
|
HInsuranceDate: "",
|
HContractEDate: "",
|
HContractBDate: "",
|
HContractYear: "0",
|
HDimissionDate: "",
|
HStayCardEDate: "",
|
HDimissionReason: "",
|
HFax: "",
|
HSignStatus: "true",
|
HSex: "男",
|
HBirthDay: "",
|
HAge: "0",
|
HBlighty: "",
|
HNation: "",
|
HBlightyType: "本地",
|
HIDCard: "",
|
checkboxHNoBrushFlag: false,
|
HNoBrushFlag: false,
|
checkboxHStopflag: false,
|
HStopflag: false,
|
checkboxHOverType: false,
|
HOverType: false,
|
HEmpType: "固定工资",
|
checkboxHShiftFlag: false,
|
HShiftFlag: false,
|
checkboxHStopwagesFlag: false,
|
HStopwagesFlag: false,
|
HBankAccount: "",
|
HInsuranceSubsidy: "0",
|
HOtherDeduct3: "0",
|
HMedicare: "0",
|
HInsurance: "0",
|
HDrydock: "0",
|
HBasePay: "0",
|
HExamLevPostMoney: "0",
|
HExamRate: "0",
|
HPayType: "现金",
|
HHighestPay: "0",
|
HOverPayRate: "0",
|
HLeftMoneyRate: "0",
|
file: "",
|
};
|
this.editData = [];
|
this.editBtData = [];
|
this.ids = [];
|
this.formShow = false;
|
this.subDisabled = false;
|
this.formLoading = true;
|
this.CheckBillDisabled = true;
|
this.activeName = "first";
|
this.resetForm("form");
|
},
|
//退出
|
close() {
|
this.reset();
|
this.formShow = false;
|
// console.log()
|
this.$emit("editCloseGy", 0);
|
},
|
// 编辑提交保存
|
submitForm() {
|
this.$refs["form"].validate((valid) => {
|
if (valid) {
|
let fhck = false;
|
this.$nextTick(() => {
|
if (!fhck) {
|
console.log(4);
|
this.form.HUSEORGID = this.form.HCREATEORGID = this.HOrgID;
|
var sMainStr = JSON.stringify(this.form);
|
var sSubStr = JSON.stringify(this.PostDataCache);
|
// var sSubStr = JSON.stringify(this.editData);
|
var sMainSub = sMainStr + ";" + this.user + ";" + sSubStr;
|
axios({
|
method: "post",
|
url: this.baseURL + "/Gy_Employee/ModifyByID",
|
data: {
|
oMain: sMainSub,
|
},
|
})
|
.then((response) => {
|
console.log(response);
|
if (response.data.count == 1) {
|
this.subDisabled = true; //设置保存按钮不可用
|
this.CheckBillDisabled = false;
|
this.$modal.msgSuccess(response.data.Message);
|
} else {
|
this.$modal.msgError(response.data.Message);
|
this.CheckBillDisabled = false;
|
this.subDisabled = false; //设置保存按钮可用
|
}
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
});
|
}
|
});
|
},
|
|
/** 删除按钮操作 */
|
handleDelete() {
|
this.$modal
|
.confirm("确认要删除吗,删除后不能恢复")
|
.then(() => {
|
if (this.rowForm.状态 == "创建") {
|
axios
|
.get(this.baseURL + "/Kf_SellOutBill/DeltetSellOutBill", {
|
params: { HInterID: this.rowForm.hmainid.toString(), user: this.user },
|
})
|
.then((response) => {
|
if (response.data.count == 1) {
|
this.$modal.msgSuccess("删除成功");
|
} else {
|
this.$modal.msgError("错误:" + result.code + result.Message);
|
}
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
} else {
|
this.$modal.msgError("此条数据不是创建状态,无法删除!");
|
}
|
})
|
.catch(() => {});
|
},
|
// 反审核/审核数据
|
set_CheckBill(num, form) {
|
var InterID = form.HItemID || form.HInterID;
|
//逻辑审核方法
|
axios
|
.get(this.baseURL + "/Gy_Source/AuditGy_Source", {
|
params: { HInterID: InterID, IsAudit: num, CurUserName: this.user },
|
})
|
.then((response) => {
|
let result = response.data;
|
if (result.code == 1) {
|
this.$modal.msgSuccess("操作成功");
|
this.CheckBillDisabled = true;
|
} else {
|
this.$modal.msgError("错误:" + result.code + result.Message);
|
}
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
showReset() {
|
this.deptShow = false;
|
this.warehouseShow = false;
|
this.materialShow = false;
|
this.workCenterShow = false;
|
this.workTypeShow = false;
|
this.postShow = false;
|
this.post2Show = false;
|
this.classTimePrjShow = false;
|
this.dutyShow = false;
|
this.groupShow = false;
|
this.dormShow = false;
|
},
|
// 打开数据列表弹窗
|
openDataDialog(num, row) {
|
if (row) {
|
this.zbIndex = row.index - 1;
|
}
|
this.showReset();
|
if (num == 1) {
|
this.dialogTitle = "部门列表";
|
this.deptShow = true;
|
this.openData = true;
|
} else if (num == 2) {
|
this.dialogTitle = "工种列表";
|
this.workTypeShow = true;
|
this.openData = true;
|
} else if (num == 3) {
|
this.dialogTitle = "核算方式列表";
|
this.classTimePrjShow = true;
|
this.openData = true;
|
} else if (num == 4) {
|
this.dialogTitle = "岗位";
|
this.postShow = true;
|
this.openData = true;
|
this.postMode = 1;
|
} else if (num == 5) {
|
this.dialogTitle = "职务";
|
this.dutyShow = true;
|
this.openData = true;
|
} else if (num == 6) {
|
this.dialogTitle = "班组";
|
this.groupShow = true;
|
this.openData = true;
|
} else if (num == 7) {
|
this.dialogTitle = "岗位";
|
this.post2Show = true;
|
this.openData = true;
|
} else if (num == 8) {
|
this.dialogTitle = "宿舍";
|
this.dormShow = true;
|
this.openData = true;
|
}
|
},
|
async fileToBlob(file, newMimeType) {
|
return new Promise((resolve) => {
|
// 创建 FileReader 读取 File 内容
|
const reader = new FileReader();
|
|
// 以 ArrayBuffer 形式读取文件(二进制原始数据)
|
reader.readAsArrayBuffer(file);
|
|
reader.onload = (e) => {
|
// 用读取到的二进制数据创建新 Blob
|
const blob = new Blob(
|
[e.target.result], // 二进制数据
|
{ type: newMimeType || file.type } // 可指定新的 MIME 类型
|
);
|
resolve(blob);
|
};
|
});
|
},
|
uploadDataDelete(row, index) {
|
console.log(row, index);
|
this.fileList.splice(index, 1);
|
this.fileListPreUpload.splice(index, 1);
|
},
|
downloadDataUpload(row, index) {
|
console.log(row, index);
|
window.open(row.url, "_self");
|
},
|
async uploadDataUpload(row, index) {
|
console.log(row.raw instanceof File);
|
console.log(row.raw);
|
try {
|
let blob = await this.fileToBlob(row.raw);
|
console.log(blob);
|
const formData = new FormData();
|
formData.append("file", blob, row.fileName);
|
formData.append("HBillNo", this.form.HNumber);
|
formData.append("HRemark", ""); // 空值
|
formData.append("HUserName", this.user);
|
|
axios({
|
method: "post",
|
url: this.baseURL + "/Gy_Employee_UploadFile", // 注意修正了URL中的双斜杠
|
data: formData,
|
headers: {
|
"Content-Type": "multipart/form-data", // 不需要手动设置
|
Accept: "application/json",
|
},
|
})
|
.then((res) => {
|
console.log(res);
|
if (res.data.count == 1) {
|
this.fileListPreUpload[index].fileStatus = "已上传";
|
this.$modal.msgSuccess(res.data.Message);
|
} else {
|
this.$modal.msgError(res.data.Message);
|
}
|
})
|
.catch((err) => {
|
this.$modal.msgError(`接口请求失败: ${err}`);
|
});
|
} catch (err) {
|
this.$modal.msgError(`${err}`);
|
}
|
},
|
},
|
};
|
</script>
|
<style>
|
.xsckdBox .el-date-editor.el-input {
|
width: 100%;
|
}
|
|
.maintitle {
|
font-size: 16px;
|
box-sizing: border-box;
|
padding-left: 1em;
|
padding-bottom: 0.5em;
|
}
|
</style>
|