flat: 暂存, 删除qq地图

This commit is contained in:
Apcallover
2024-05-17 14:51:26 +08:00
parent 5e0154261c
commit 42534ac881
20 changed files with 939 additions and 880 deletions

View File

@@ -9,7 +9,7 @@
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta http-equiv="X-UA-Compatible" content="chrome=1"/>
<link rel="stylesheet" href="<%= BASE_URL %>cdn/element-ui/2.12.0/theme-chalk/index.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/animate/3.5.2/animate.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/1.0.0/index.css">
@@ -51,7 +51,7 @@
padding: 1em 0;
}
.avue-home__footer>a {
.avue-home__footer > a {
font-size: 12px;
color: #ABABAB;
text-decoration: none;
@@ -77,38 +77,38 @@
</head>
<body>
<noscript>
<strong>
请启用浏览器的 JavaScript 然后继续。
</strong>
</noscript>
<div id="app">
<div class="avue-home">
<div class="avue-home__main">
<!-- <img class="avue-home__loading" src="/manage/svg/loading-spin.svg" alt="loading"> -->
<div class="avue-home__title">
正在加载,请耐心等待...
</div>
</div>
<div class="avue-home__footer">
<noscript>
<strong>
请启用浏览器的 JavaScript 然后继续。
</strong>
</noscript>
<div id="app">
<div class="avue-home">
<div class="avue-home__main">
<!-- <img class="avue-home__loading" src="/manage/svg/loading-spin.svg" alt="loading"> -->
<div class="avue-home__title">
正在加载,请耐心等待...
</div>
</div>
<div class="avue-home__footer">
</div>
</div>
<script src="<%= BASE_URL %>cdn/tinymce5.6.2/tinymce.min.js"></script>
<!-- built files will be auto injected -->
<script src="<%= BASE_URL %>util/aes.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/vue/2.6.10/vue.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/vuex/3.1.1/vuex.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/vue-router/3.0.1/vue-router.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/axios/1.0.0/axios.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/element-ui/2.12.0/index.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script>
<script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script>
</div>
<script src="<%= BASE_URL %>cdn/tinymce5.6.2/tinymce.min.js"></script>
<!-- built files will be auto injected -->
<script src="<%= BASE_URL %>util/aes.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/vue/2.6.10/vue.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/vuex/3.1.1/vuex.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/vue-router/3.0.1/vue-router.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/axios/1.0.0/axios.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/element-ui/2.12.0/index.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script>
<script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script>
<!-- <script src="//map.qq.com/api/js?v=2.exp&key=FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI"></script>-->
<!-- <script src="//3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>-->
<script defer src="//map.qq.com/api/js?v=2.exp&key=FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI"></script>
<script defer src="<%= BASE_URL %>resource/geolocation.min.js"></script>
<!-- <script defer src="//map.qq.com/api/js?v=2.exp&key=FW3BZ-6JTK6-GCUS5-MZCRR-3GPR5-HJFEI"></script>-->
<script defer src="<%= BASE_URL %>resource/geolocation.min.js"></script>
</body>
</html>

View File

@@ -35,16 +35,16 @@
></super-map-view>
</template>
<template slot="companyAddressForm" slot-scope="{ disabled }">
<select-map
ref="selectMap"
@addAddress="addAddress"
@addressDel="addressDel"
:isCanEdit="!disabled"
:lng="obj.lon"
:lat="obj.lat"
:address="form.companyAddress"
:type="type"
></select-map>
<!-- <select-map-->
<!-- ref="selectMap"-->
<!-- @addAddress="addAddress"-->
<!-- @addressDel="addressDel"-->
<!-- :isCanEdit="!disabled"-->
<!-- :lng="obj.lon"-->
<!-- :lat="obj.lat"-->
<!-- :address="form.companyAddress"-->
<!-- :type="type"-->
<!-- ></select-map>-->
</template>
<template slot="authUrlIdImgForm">
<el-image style="width: 100px; height: 100px" :src="form.authUrlId" :preview-src-list="[form.authUrlId]">
@@ -150,7 +150,6 @@ import {check18IdCardNo} from "@/util/validate";
import {moneyFormat} from "@/util/money";
import companyRecord from "./companyRecord";
import {companyStatus} from "@/const/company";
import SelectMap from "@/components/map/selectLocation";
const accept = [
"image/png",
@@ -169,7 +168,7 @@ function getPath(path) {
}
export default {
components: {addAccount, companyConfig, companyCheck, companyRecord, SelectMap},
components: {addAccount, companyConfig, companyCheck, companyRecord},
name: "manage_compan_companyList",
data() {
const validateTradeId = (rule, value, callback) => {

View File

@@ -17,25 +17,25 @@
@on-load="onLoad"
@selection-change="selectionChange"
>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{row.belongYear}}-{{row.belongMonth}}</span>
</template>
<template slot="durationContract" slot-scope="{row}">
<span>{{format(row.stime)}}{{format(row.etime)}}</span>
</template>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{ moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{ moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{ moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{ row.belongYear }}-{{ row.belongMonth }}</span>
</template>
<template slot="durationContract" slot-scope="{row}">
<span>{{ format(row.stime) }}{{ format(row.etime) }}</span>
</template>
<!--自定义按钮-->
<!-- <template slot="menuLeft">
<el-button @click="excelBox = true" size="small" type="primary"
@@ -45,110 +45,112 @@
<!--自定义操作栏-->
<div slot="menu" slot-scope="{row}">
<el-button type="text" size="mini" @click.stop="calibration(row)"
>查看</el-button
>查看
</el-button
>
<el-button type="text" size="mini" @click="downloadContract(row)"
>下载</el-button
>
>下载
</el-button
>
</div>
<template slot="menuLeft">
<el-button type="primary" size="mini" @click="mutiDown"
>批量下载</el-button
>
>批量下载
</el-button
>
</template>
</avue-crud>
<!-- 查看详情dialog -->
<!-- <check ref="check" v-show="false"></check> -->
<!-- <check ref="check" v-show="false"></check> -->
<!-- /查看详情dialog -->
<el-dialog
title="上传"
:visible.sync="calibrationDialog"
width="300px"
:modal="false"
class="calibrationForm excelBox">
<el-form :model="form" :rules="rules">
title="上传"
:visible.sync="calibrationDialog"
width="300px"
:modal="false"
class="calibrationForm excelBox">
<el-form :model="form" :rules="rules">
<el-form-item label="" :label-width="0">
<p>{{form.companyName}}</p>
<el-form-item label="" :label-width="0">
<p>{{ form.companyName }}</p>
</el-form-item>
<el-form-item label="" prop="authUrlId">
<el-upload
:show-file-list="false"
:on-progress="
</el-form-item>
<el-form-item label="" prop="authUrlId">
<el-upload
:show-file-list="false"
:on-progress="
() => {
uploading = true;
}
"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
:http-request="httpRequest"
>
<div v-loading="uploading">
<img
class="companyInfo-upload-image"
:src="form.authUrlId || imageUrl"
/>
</div>
<!-- <div class="companyInfo-upload-tip" slot="tip">
请上传营业执照
</div> -->
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="calibrationDialog = false">取 消</el-button>
<el-button type="primary" @click="drawbackClick">确 定</el-button>
</div>
</el-dialog>
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
:http-request="httpRequest"
>
<div v-loading="uploading">
<img
class="companyInfo-upload-image"
:src="form.authUrlId || imageUrl"
/>
</div>
<!-- <div class="companyInfo-upload-tip" slot="tip">
请上传营业执照
</div> -->
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="calibrationDialog = false">取 消</el-button>
<el-button type="primary" @click="drawbackClick">确 定</el-button>
</div>
</el-dialog>
<!-- /查看合同dialog -->
<el-dialog
title="查看合同"
:visible.sync="viewLetterDialog"
width="50%"
:modal="false"
class="view-letter-dialog"
>
<el-form :model="viewLetterForm" :rules="rules">
<el-form-item label="" prop="authUrlId" >
<div v-loading="uploading">
<img style="width: 100%;"
<!-- /查看合同dialog -->
<el-dialog
title="查看合同"
:visible.sync="viewLetterDialog"
width="50%"
:modal="false"
class="view-letter-dialog"
>
<el-form :model="viewLetterForm" :rules="rules">
<el-form-item label="" prop="authUrlId">
<div v-loading="uploading">
<img style="width: 100%;"
:src="'data:image/png;base64,'+viewLetterForm.imgStr"
/>
</div>
</el-form-item>
<el-form-item label="" prop="" >
<el-button type="primary" @click="handelDownloadLetter">
下载合同
</el-button>
/>
</div>
</el-form-item>
<el-form-item label="" prop="">
<el-button type="primary" @click="handelDownloadLetter">
下载合同
</el-button>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
</div>
</el-dialog>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
</div>
</el-dialog>
</div>
</template>
<script>
import {excelImportOrder} from "@/api/manage/agentpay";//api
import {tenantList,downLetter,mutiDownPdf} from "@/api/manage/econtract";//api
import {signSealImg,downloadEsignature,signSeal,signSeals} from "@/api/manage/esignature";//api
import {tenantList, downLetter, mutiDownPdf} from "@/api/manage/econtract";//api
import {signSealImg, downloadEsignature, signSeal, signSeals} from "@/api/manage/esignature";//api
//import Check from "../Dialog/IncomeTaxCheck";//查看详情
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { moneyFormat } from "@/util/money";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {moneyFormat} from "@/util/money";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
import { excelAccept } from "@/common/accept";
import {excelAccept} from "@/common/accept";
import httpRequest from "./httpRequest";
const accept = ["image/png", "image/jpeg", "image/svg+xml", "image/gif"];
export default {
components: {
SelectMap,
saveButton,
// Check
},
@@ -162,45 +164,45 @@ export default {
},
},
data() {
let taxReal=(rule, value, callback)=>{
let reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
let taxReal = (rule, value, callback) => {
let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
let reg1 = new RegExp("/[a-z]/i;");
if(reg.test(value)){
if (reg.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else{
callback(new Error('只能输入数字!'))
} else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
} else {
this.btnClickFlag = true;
callback()
}
}
return {
downLetterId:'',//下载合同id
viewLetterDialog:false,
calibrationDialog:false,
downLetterId: '',//下载合同id
viewLetterDialog: false,
calibrationDialog: false,
excelBox: false,
excelForm: {},
imageUrl: "/img/scimg.png",
imgFile:'',
btnClickFlag:false,
imgFile: '',
btnClickFlag: false,
formLabelWidth: '120px',
form:{
num:30,
form: {
num: 30,
},
viewLetterForm:{imgStr:''},
viewLetterForm: {imgStr: ''},
rules: {
taxReal: [
{ validator: taxReal , trigger: ['blur', 'change'] },
],
taxReal: [
{validator: taxReal, trigger: ['blur', 'change']},
],
},
formSubmit:{
id:111,
taxReal:111,
formSubmit: {
id: 111,
taxReal: 111,
},
ceNum:0,
taxReal:0,
ceNum: 0,
taxReal: 0,
// status: 1,
selectionList: [],
viewDrawer: false,
@@ -218,13 +220,13 @@ export default {
},
data: [],
obj: {},
missionNo:'',
leibie:'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
missionNo: '',
leibie: 'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
};
},
created() {},
watch: {
created() {
},
watch: {},
computed: {
...mapGetters(["permission"]),
// ids () {
@@ -241,7 +243,7 @@ export default {
});
return ids;
},
wageRealTotal () {
wageRealTotal() {
let wageRealTotal = 0;
this.selectionList.forEach(ele => {
wageRealTotal += ele.wageReal;
@@ -288,23 +290,23 @@ export default {
searchShow: false,
border: true,
index: true,
esignatureId:'',
esignatureId: '',
imageUrl: "/img/license.png",
indexLabel: "序号",
selection: true,
selection: true,
dialogType: "drawer",
dialogWidth: "60%",
delBtnText: "取消",
dialogClickModal: false,
column: [
{
width:"180px",
width: "180px",
label: "合同编号",
prop: "contractNo",
display: false,
},
{
width:"180px",
width: "180px",
label: "岗位编号",
prop: "servicesNo",
display: false,
@@ -322,22 +324,22 @@ export default {
{
label: "员工签署日期",
prop: "createTime",
type:"date",
format:"yyyy-MM-dd",
type: "date",
format: "yyyy-MM-dd",
display: false,
},
{
label: "企业签署日期",
prop: "submitTime",
type:"date",
format:"yyyy-MM-dd",
type: "date",
format: "yyyy-MM-dd",
display: false,
},
{
width:"180px",
width: "180px",
label: "合同有效期",
prop: "durationContract",
slot:"true",
slot: "true",
display: false,
}
],
@@ -346,16 +348,16 @@ export default {
},
methods: {
//批量签发
batchIssue(){
batchIssue() {
let fd = new FormData();
fd.append('ids',this.ids.join(","));
fd.append('ids', this.ids.join(","));
signSeals(fd)
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
});
},
/**上传图片**/
handleAvatarSuccess(res, file) {
@@ -367,23 +369,23 @@ export default {
const isJPG = accept.includes(file.type);
this.imgFile = file;
let fd = new FormData();
fd.append('file',file);
fd.append('id',this.form.id);
fd.append('file', file);
fd.append('id', this.form.id);
if (!isJPG) {
this.$message.error("图片格式不正确!");
}
signSealImg(fd)
.then(() => {
})
.catch(() => {
.then(() => {
})
.catch(() => {
});
});
return isJPG;
},
/**上传图片*/
httpRequest,
moneyFormat,
//下载建行客户端工资发放模板
//下载建行客户端工资发放模板
uploadAfter(res, done) {
this.onLoad(this.page, this.params);
done();
@@ -405,24 +407,24 @@ export default {
// }
// },
//单挑数据发起校准确定按钮
drawbackClick(){
drawbackClick() {
let fd = new FormData();
fd.append('id',this.form.id);
fd.append('id', this.form.id);
signSeal(fd)
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
this.calibrationDialog = false;
});
this.calibrationDialog = false;
},
taxRealChaneg(){
taxRealChaneg() {
this.form.taxReal = this.taxReal;
this.formSubmit.taxReal = this.taxReal*100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal ;
this.formSubmit.taxReal = this.taxReal * 100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal;
},
selectionChange (list) {
selectionChange(list) {
this.selectionList = list;
},
format(date) {
@@ -431,10 +433,10 @@ export default {
}
},
//下载合同
downloadContract(row){
downloadContract(row) {
window.open(downLetter(row.id))
},
calibration(row){
calibration(row) {
window.open(row.contractSecondUrl)
},
//查看详情
@@ -442,7 +444,7 @@ export default {
// this.$refs.check.openDialog(row);
// },
//下载申请表
downloadEsignature(row){
downloadEsignature(row) {
window.open(downloadEsignature(row.id))
},
currentChange(currentPage) {
@@ -456,7 +458,7 @@ export default {
this.onLoad(this.page, this.query);
},
/*下载合同*/
handelDownloadLetter(){
handelDownloadLetter() {
window.open(downLetter(this.downLetterId));
},
/*加载数据*/
@@ -478,20 +480,19 @@ export default {
backIndex() {
this.$emit("refresh");
},
mutiDown(){
mutiDown() {
// //mutiDownPdf(this.ids.join(','))
// mutiDownPdf(this.ids.join(',')).then(res=>{
// window.open(res)
// // console.log(res.data,'muti down')
// })
if(this.selectionList.length==0){
if (this.selectionList.length == 0) {
this.$message.error('至少选择一条数据')
}
else{
} else {
window.open(mutiDownPdf(this.ids.join(',')));
}
}
}
},
};
@@ -501,10 +502,12 @@ export default {
height: 160px;
width: 160px;
}
.el-col,
.el-form-item {
margin-bottom: 0px;
}
.map {
width: 100%;
height: 300px;
@@ -514,27 +517,34 @@ export default {
.slotForm {
font-size: 12px;
}
.calibrationForm .el-form{
.calibrationForm .el-form {
padding-bottom: 0 !important;
}
.calibrationForm .el-dialog--center .el-dialog__body{
.calibrationForm .el-dialog--center .el-dialog__body {
padding: 0 10px !important;
}
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner{
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner {
padding: 0 !important;
height:30px !important;
height: 30px !important;
line-height: 30px !important;
}
.excelBox .el-dialog__body{
padding: 0 10px!important;
.excelBox .el-dialog__body {
padding: 0 10px !important;
}
.excelBox .el-form-item__content{
margin-left: 0 !important;
text-align: center;
.excelBox .el-form-item__content {
margin-left: 0 !important;
text-align: center;
}
.excelBox .el-dialog{
width:360px !important;
.excelBox .el-dialog {
width: 360px !important;
}
/* .contentIndex-table .avue-crud{
margin-top: -40px;
} */

View File

@@ -17,26 +17,27 @@
@on-load="onLoad"
@selection-change="selectionChange"
>
<template slot="menuLeft">
<el-button @click="batchIssue" size="small" :disabled="ids.length === 0" type="primary"
>批量重新签发</el-button>
<template slot="menuLeft">
<el-button @click="batchIssue" size="small" :disabled="ids.length === 0" type="primary"
>批量重新签发
</el-button>
</template>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{ moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{ moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{ moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{ row.belongYear }}-{{ row.belongMonth }}</span>
</template>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{row.belongYear}}-{{row.belongMonth}}</span>
</template>
<!--自定义按钮-->
<!-- <template slot="menuLeft">
<el-button @click="excelBox = true" size="small" type="primary"
@@ -49,7 +50,8 @@
>下载申请表</el-button
> -->
<el-button type="text" size="mini" @click.stop="calibration(row)"
>重新签发</el-button
>重新签发
</el-button
>
</div>
</avue-crud>
@@ -57,65 +59,64 @@
<check ref="check" v-show="false"></check>
<!-- /查看详情dialog -->
<el-dialog
title="上传"
:visible.sync="calibrationDialog"
width="300px"
:modal="false"
class="calibrationForm excelBox">
<el-form :model="form" :rules="rules">
title="上传"
:visible.sync="calibrationDialog"
width="300px"
:modal="false"
class="calibrationForm excelBox">
<el-form :model="form" :rules="rules">
<el-form-item label="" :label-width="0">
<p>{{form.companyName}}</p>
</el-form-item>
<el-form-item label="" prop="authUrlId">
<el-upload
:show-file-list="false"
:on-progress="
<el-form-item label="" :label-width="0">
<p>{{ form.companyName }}</p>
</el-form-item>
<el-form-item label="" prop="authUrlId">
<el-upload
:show-file-list="false"
:on-progress="
() => {
uploading = true;
}
"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
:http-request="httpRequest"
>
<div v-loading="uploading">
<img
class="companyInfo-upload-image"
:src="form.authUrlId || imageUrl"
/>
</div>
<!-- <div class="companyInfo-upload-tip" slot="tip">
请上传营业执照
</div> -->
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="calibrationDialog = false">取 消</el-button>
<el-button type="primary" @click="drawbackClick">确 定</el-button>
</div>
</el-dialog>
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
:http-request="httpRequest"
>
<div v-loading="uploading">
<img
class="companyInfo-upload-image"
:src="form.authUrlId || imageUrl"
/>
</div>
<!-- <div class="companyInfo-upload-tip" slot="tip">
请上传营业执照
</div> -->
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="calibrationDialog = false">取 消</el-button>
<el-button type="primary" @click="drawbackClick">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {excelImportOrder} from "@/api/manage/agentpay";//api
import {esignatureStatus,signSealImg,downloadEsignature,signSeal,signSeals} from "@/api/manage/esignature";//api
import {esignatureStatus, signSealImg, downloadEsignature, signSeal, signSeals} from "@/api/manage/esignature";//api
import Check from "../Dialog/IncomeTaxCheck";//查看详情
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { moneyFormat } from "@/util/money";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {moneyFormat} from "@/util/money";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
import { excelAccept } from "@/common/accept";
import {excelAccept} from "@/common/accept";
import httpRequest from "../httpRequest";
const accept = ["image/png", "image/jpeg", "image/svg+xml", "image/gif"];
export default {
components: {
SelectMap,
saveButton,
Check
},
@@ -129,42 +130,42 @@ export default {
},
},
data() {
let taxReal=(rule, value, callback)=>{
let reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
let taxReal = (rule, value, callback) => {
let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
let reg1 = new RegExp("/[a-z]/i;");
if(reg.test(value)){
if (reg.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else{
callback(new Error('只能输入数字!'))
} else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
} else {
this.btnClickFlag = true;
callback()
}
}
return {
calibrationDialog:false,
calibrationDialog: false,
excelBox: false,
excelForm: {},
imageUrl: "/img/scimg.png",
imgFile:'',
btnClickFlag:false,
imgFile: '',
btnClickFlag: false,
formLabelWidth: '120px',
form:{
num:30,
form: {
num: 30,
},
rules: {
taxReal: [
{ validator: taxReal , trigger: ['blur', 'change'] },
],
taxReal: [
{validator: taxReal, trigger: ['blur', 'change']},
],
},
formSubmit:{
id:111,
taxReal:111,
formSubmit: {
id: 111,
taxReal: 111,
},
ceNum:0,
taxReal:0,
ceNum: 0,
taxReal: 0,
status: 1,
selectionList: [],
viewDrawer: false,
@@ -182,13 +183,13 @@ export default {
},
data: [],
obj: {},
missionNo:'',
leibie:'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
missionNo: '',
leibie: 'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
};
},
created() {},
watch: {
created() {
},
watch: {},
computed: {
...mapGetters(["permission"]),
// ids () {
@@ -205,7 +206,7 @@ export default {
});
return ids;
},
wageRealTotal () {
wageRealTotal() {
let wageRealTotal = 0;
this.selectionList.forEach(ele => {
wageRealTotal += ele.wageReal;
@@ -252,7 +253,7 @@ export default {
searchShow: false,
border: true,
index: true,
esignatureId:'',
esignatureId: '',
imageUrl: "/img/license.png",
indexLabel: "序号",
selection: true,
@@ -286,16 +287,16 @@ export default {
},
methods: {
//批量签发
batchIssue(){
batchIssue() {
let fd = new FormData();
fd.append('ids',this.ids.join(","));
fd.append('ids', this.ids.join(","));
signSeals(fd)
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
},
/**上传图片**/
handleAvatarSuccess(res, file) {
@@ -307,23 +308,23 @@ export default {
const isJPG = accept.includes(file.type);
this.imgFile = file;
let fd = new FormData();
fd.append('file',file);
fd.append('id',this.form.id);
fd.append('file', file);
fd.append('id', this.form.id);
if (!isJPG) {
this.$message.error("图片格式不正确!");
}
signSealImg(fd)
.then(() => {
})
.catch(() => {
});
.then(() => {
})
.catch(() => {
});
return isJPG;
},
/**上传图片*/
httpRequest,
moneyFormat,
//下载建行客户端工资发放模板
//下载建行客户端工资发放模板
uploadAfter(res, done) {
this.onLoad(this.page, this.params);
done();
@@ -345,24 +346,24 @@ export default {
// }
// },
//单挑数据发起校准确定按钮
drawbackClick(){
drawbackClick() {
let fd = new FormData();
fd.append('id',this.form.id);
fd.append('id', this.form.id);
signSeal(fd)
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
this.calibrationDialog = false;
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
this.calibrationDialog = false;
},
taxRealChaneg(){
taxRealChaneg() {
this.form.taxReal = this.taxReal;
this.formSubmit.taxReal = this.taxReal*100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal ;
this.formSubmit.taxReal = this.taxReal * 100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal;
},
selectionChange (list) {
selectionChange(list) {
this.selectionList = list;
},
format(date) {
@@ -371,12 +372,12 @@ export default {
}
},
//发起校准
calibration(row){
calibration(row) {
this.form = row;
this.calibrationDialog = true;
},
//下载申请表
downloadEsignature(row){
downloadEsignature(row) {
window.open(downloadEsignature(row.id))
},
currentChange(currentPage) {
@@ -407,7 +408,7 @@ export default {
backIndex() {
this.$emit("refresh");
},
},
};
</script>
@@ -416,10 +417,12 @@ export default {
height: 160px;
width: 160px;
}
.el-col,
.el-form-item {
margin-bottom: 0px;
}
.map {
width: 100%;
height: 300px;
@@ -429,25 +432,31 @@ export default {
.slotForm {
font-size: 12px;
}
.calibrationForm .el-form{
.calibrationForm .el-form {
padding-bottom: 0 !important;
}
.calibrationForm .el-dialog--center .el-dialog__body{
.calibrationForm .el-dialog--center .el-dialog__body {
padding: 0 10px !important;
}
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner{
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner {
padding: 0 !important;
height:30px !important;
height: 30px !important;
line-height: 30px !important;
}
.excelBox .el-dialog__body{
padding: 0 10px!important;
.excelBox .el-dialog__body {
padding: 0 10px !important;
}
.excelBox .el-form-item__content{
margin-left: 0 !important;
text-align: center;
.excelBox .el-form-item__content {
margin-left: 0 !important;
text-align: center;
}
.excelBox .el-dialog{
width:360px !important;
.excelBox .el-dialog {
width: 360px !important;
}
</style>
</style>

View File

@@ -17,26 +17,27 @@
@on-load="onLoad"
@selection-change="selectionChange"
>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{row.belongYear}}-{{row.belongMonth}}</span>
</template>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{ moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{ moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{ moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{ row.belongYear }}-{{ row.belongMonth }}</span>
</template>
<!--自定义操作栏-->
<div slot="menu" slot-scope="{row}">
<el-button type="text" size="mini" @click.stop="checkClick(row)"
>查看</el-button
>查看
</el-button
>
</div>
</avue-crud>
@@ -44,46 +45,45 @@
<check ref="check" v-show="false"></check>
<!-- /查看详情dialog -->
<el-dialog
title="查看"
:visible.sync="calibrationDialog"
width="300px"
:modal="false"
class="calibrationForm excelBox checkForm">
<el-form :model="form" :rules="rules">
<el-form-item label="公章:" prop="authUrlId" >
<div v-loading="uploading">
<img
class="companyInfo-upload-image"
:src="'data:image/png;base64,'+form.imgStr"
/>
</div>
<!-- <div class="companyInfo-upload-tip" slot="tip">
请上传营业执照
</div> -->
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
</div>
</el-dialog>
title="查看"
:visible.sync="calibrationDialog"
width="300px"
:modal="false"
class="calibrationForm excelBox checkForm">
<el-form :model="form" :rules="rules">
<el-form-item label="公章:" prop="authUrlId">
<div v-loading="uploading">
<img
class="companyInfo-upload-image"
:src="'data:image/png;base64,'+form.imgStr"
/>
</div>
<!-- <div class="companyInfo-upload-tip" slot="tip">
请上传营业执照
</div> -->
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
</div>
</el-dialog>
</div>
</template>
<script>
import {excelImportOrder} from "@/api/manage/agentpay";//api
import {esignatureStatus,signSealImg,signSeal,detailsImg} from "@/api/manage/esignature";//api
import {esignatureStatus, signSealImg, signSeal, detailsImg} from "@/api/manage/esignature";//api
import Check from "../Dialog/IncomeTaxCheck";//查看详情
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { moneyFormat } from "@/util/money";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {moneyFormat} from "@/util/money";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
import { excelAccept } from "@/common/accept";
import {excelAccept} from "@/common/accept";
import httpRequest from "../httpRequest";
const accept = ["image/png", "image/jpeg", "image/svg+xml", "image/gif"];
export default {
components: {
SelectMap,
saveButton,
Check
},
@@ -97,42 +97,42 @@ export default {
},
},
data() {
let taxReal=(rule, value, callback)=>{
let reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
let taxReal = (rule, value, callback) => {
let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
let reg1 = new RegExp("/[a-z]/i;");
if(reg.test(value)){
if (reg.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else{
callback(new Error('只能输入数字!'))
} else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
} else {
this.btnClickFlag = true;
callback()
}
}
return {
calibrationDialog:false,
calibrationDialog: false,
excelBox: false,
excelForm: {},
imageUrl: "/img/scimg.png",
imgFile:'',
btnClickFlag:false,
imgFile: '',
btnClickFlag: false,
formLabelWidth: '120px',
form:{
num:30,
form: {
num: 30,
},
rules: {
taxReal: [
{ validator: taxReal , trigger: ['blur', 'change'] },
],
taxReal: [
{validator: taxReal, trigger: ['blur', 'change']},
],
},
formSubmit:{
id:111,
taxReal:111,
formSubmit: {
id: 111,
taxReal: 111,
},
ceNum:0,
taxReal:0,
ceNum: 0,
taxReal: 0,
status: 1,
selectionList: [],
viewDrawer: false,
@@ -150,23 +150,23 @@ export default {
},
data: [],
obj: {},
missionNo:'',
leibie:'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
missionNo: '',
leibie: 'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
};
},
created() {},
watch: {
created() {
},
watch: {},
computed: {
...mapGetters(["permission"]),
ids () {
ids() {
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.id);
});
return ids.join(",");
},
wageRealTotal () {
wageRealTotal() {
let wageRealTotal = 0;
this.selectionList.forEach(ele => {
wageRealTotal += ele.wageReal;
@@ -213,7 +213,7 @@ export default {
searchShow: false,
border: true,
index: true,
esignatureId:'',
esignatureId: '',
imageUrl: "/img/license.png",
dialogType: "drawer",
dialogWidth: "60%",
@@ -284,23 +284,23 @@ export default {
const isJPG = accept.includes(file.type);
this.imgFile = file;
let fd = new FormData();
fd.append('file',file);
fd.append('id',this.form.id);
fd.append('file', file);
fd.append('id', this.form.id);
if (!isJPG) {
this.$message.error("图片格式不正确!");
}
signSealImg(fd)
.then(() => {
})
.catch(() => {
});
.then(() => {
})
.catch(() => {
});
return isJPG;
},
/**上传图片*/
httpRequest,
moneyFormat,
//下载建行客户端工资发放模板
//下载建行客户端工资发放模板
uploadAfter(res, done) {
this.onLoad(this.page, this.params);
done();
@@ -314,23 +314,23 @@ export default {
}
},
//单挑数据发起校准确定按钮
drawbackClick(){
drawbackClick() {
let fd = new FormData();
fd.append('id',this.form.id);
fd.append('id', this.form.id);
signSeal(fd)
.then(() => {
})
.catch(() => {
});
this.calibrationDialog = false;
.then(() => {
})
.catch(() => {
});
this.calibrationDialog = false;
},
taxRealChaneg(){
taxRealChaneg() {
this.form.taxReal = this.taxReal;
this.formSubmit.taxReal = this.taxReal*100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal ;
this.formSubmit.taxReal = this.taxReal * 100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal;
},
selectionChange (list) {
selectionChange(list) {
this.selectionList = list;
},
format(date) {
@@ -338,16 +338,16 @@ export default {
return dateFormat(new Date(date), "yyyy/MM/dd");
}
},
checkClick (row){
checkClick(row) {
this.form = row;
detailsImg(row.id).then((res) => {
this.form.imgStr = res.data.data;
this.calibrationDialog = true;
})
.catch(() => {
});
.catch(() => {
});
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
@@ -377,7 +377,7 @@ export default {
backIndex() {
this.$emit("refresh");
},
},
};
</script>
@@ -386,14 +386,17 @@ export default {
font-size: 18px;
margin-left: 20px;
}
.companyInfo-upload-image {
height: 160px;
width: 160px;
}
.el-col,
.el-form-item {
margin-bottom: 0px;
}
.map {
width: 100%;
height: 300px;
@@ -403,24 +406,30 @@ export default {
.slotForm {
font-size: 12px;
}
.calibrationForm .el-form{
.calibrationForm .el-form {
padding-bottom: 0 !important;
}
.calibrationForm .el-dialog--center .el-dialog__body{
.calibrationForm .el-dialog--center .el-dialog__body {
padding: 0 10px !important;
}
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner{
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner {
padding: 0 !important;
height:30px !important;
height: 30px !important;
line-height: 30px !important;
}
.excelBox .el-dialog__body{
padding: 0 10px!important;
.excelBox .el-dialog__body {
padding: 0 10px !important;
}
.excelBox .el-form-item__content{
margin-left: 0 !important;
.excelBox .el-form-item__content {
margin-left: 0 !important;
}
.excelBox .el-dialog{
width:360px !important;
.excelBox .el-dialog {
width: 360px !important;
}
</style>
</style>

View File

@@ -17,22 +17,22 @@
@on-load="onLoad"
@selection-change="selectionChange"
>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{row.belongYear}}-{{row.belongMonth}}</span>
</template>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{ moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{ moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{ moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{ row.belongYear }}-{{ row.belongMonth }}</span>
</template>
<!--自定义按钮-->
<!-- <template slot="menuLeft">
<el-button @click="excelBox = true" size="small" type="primary"
@@ -42,10 +42,12 @@
<!--自定义操作栏-->
<div slot="menu" slot-scope="{row}">
<el-button type="text" size="mini" @click="downloadEsignature(row)"
>下载申请表</el-button
>下载申请表
</el-button
>
<el-button type="text" size="mini" @click.stop="calibration(row)"
>签发</el-button
>签发
</el-button
>
</div>
</avue-crud>
@@ -53,65 +55,64 @@
<check ref="check" v-show="false"></check>
<!-- /查看详情dialog -->
<el-dialog
title="上传"
:visible.sync="calibrationDialog"
width="300px"
:modal="false"
class="calibrationForm excelBox">
<el-form :model="form" :rules="rules">
title="上传"
:visible.sync="calibrationDialog"
width="300px"
:modal="false"
class="calibrationForm excelBox">
<el-form :model="form" :rules="rules">
<el-form-item label="" :label-width="0">
<p>{{form.companyName}}</p>
</el-form-item>
<el-form-item label="" prop="authUrlId">
<el-upload
:show-file-list="false"
:on-progress="
<el-form-item label="" :label-width="0">
<p>{{ form.companyName }}</p>
</el-form-item>
<el-form-item label="" prop="authUrlId">
<el-upload
:show-file-list="false"
:on-progress="
() => {
uploading = true;
}
"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
:http-request="httpRequest"
>
<div v-loading="uploading">
<img
class="companyInfo-upload-image"
:src="form.authUrlId || imageUrl"
/>
</div>
<!-- <div class="companyInfo-upload-tip" slot="tip">
请上传营业执照
</div> -->
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="calibrationDialog = false">取 消</el-button>
<el-button type="primary" @click="drawbackClick">确 定</el-button>
</div>
</el-dialog>
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
:http-request="httpRequest"
>
<div v-loading="uploading">
<img
class="companyInfo-upload-image"
:src="form.authUrlId || imageUrl"
/>
</div>
<!-- <div class="companyInfo-upload-tip" slot="tip">
请上传营业执照
</div> -->
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="calibrationDialog = false">取 消</el-button>
<el-button type="primary" @click="drawbackClick">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {excelImportOrder} from "@/api/manage/agentpay";//api
import {esignatureStatus,signSealImg,downloadEsignature,signSeal} from "@/api/manage/esignature";//api
import {esignatureStatus, signSealImg, downloadEsignature, signSeal} from "@/api/manage/esignature";//api
import Check from "../Dialog/IncomeTaxCheck";//查看详情
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { moneyFormat } from "@/util/money";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {moneyFormat} from "@/util/money";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
import { excelAccept } from "@/common/accept";
import {excelAccept} from "@/common/accept";
import httpRequest from "../httpRequest";
const accept = ["image/png", "image/jpeg", "image/svg+xml", "image/gif"];
export default {
components: {
SelectMap,
saveButton,
Check
},
@@ -125,42 +126,42 @@ export default {
},
},
data() {
let taxReal=(rule, value, callback)=>{
let reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
let taxReal = (rule, value, callback) => {
let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
let reg1 = new RegExp("/[a-z]/i;");
if(reg.test(value)){
if (reg.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else{
callback(new Error('只能输入数字!'))
} else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
} else {
this.btnClickFlag = true;
callback()
}
}
return {
calibrationDialog:false,
calibrationDialog: false,
excelBox: false,
excelForm: {},
imageUrl: "/img/scimg.png",
imgFile:'',
btnClickFlag:false,
imgFile: '',
btnClickFlag: false,
formLabelWidth: '120px',
form:{
num:30,
form: {
num: 30,
},
rules: {
taxReal: [
{ validator: taxReal , trigger: ['blur', 'change'] },
],
taxReal: [
{validator: taxReal, trigger: ['blur', 'change']},
],
},
formSubmit:{
id:111,
taxReal:111,
formSubmit: {
id: 111,
taxReal: 111,
},
ceNum:0,
taxReal:0,
ceNum: 0,
taxReal: 0,
status: 1,
selectionList: [],
viewDrawer: false,
@@ -178,23 +179,23 @@ export default {
},
data: [],
obj: {},
missionNo:'',
leibie:'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
missionNo: '',
leibie: 'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
};
},
created() {},
watch: {
created() {
},
watch: {},
computed: {
...mapGetters(["permission"]),
ids () {
ids() {
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.id);
});
return ids.join(",");
},
wageRealTotal () {
wageRealTotal() {
let wageRealTotal = 0;
this.selectionList.forEach(ele => {
wageRealTotal += ele.wageReal;
@@ -241,7 +242,7 @@ export default {
searchShow: false,
border: true,
index: true,
esignatureId:'',
esignatureId: '',
imageUrl: "/img/license.png",
indexLabel: "序号",
// selection: true,
@@ -277,24 +278,24 @@ export default {
const isJPG = accept.includes(file.type);
this.imgFile = file;
let fd = new FormData();
fd.append('file',file);
fd.append('id',this.form.id);
fd.append('file', file);
fd.append('id', this.form.id);
if (!isJPG) {
this.$message.error("图片格式不正确!");
}
signSealImg(fd)
.then((res) => {
console.log(res);
})
.catch(() => {
});
.then((res) => {
console.log(res);
})
.catch(() => {
});
return isJPG;
},
/**上传图片*/
httpRequest,
moneyFormat,
//下载建行客户端工资发放模板
//下载建行客户端工资发放模板
uploadAfter(res, done) {
this.onLoad(this.page, this.params);
done();
@@ -316,24 +317,24 @@ export default {
// }
// },
//单挑数据发起校准确定按钮
drawbackClick(){
drawbackClick() {
let fd = new FormData();
fd.append('id',this.form.id);
fd.append('id', this.form.id);
signSeal(fd)
.then((res) => {
console.log(res);
})
.catch(() => {
});
this.calibrationDialog = false;
.then((res) => {
console.log(res);
})
.catch(() => {
});
this.calibrationDialog = false;
},
taxRealChaneg(){
taxRealChaneg() {
this.form.taxReal = this.taxReal;
this.formSubmit.taxReal = this.taxReal*100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal ;
this.formSubmit.taxReal = this.taxReal * 100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal;
},
selectionChange (list) {
selectionChange(list) {
this.selectionList = list;
},
format(date) {
@@ -342,10 +343,10 @@ export default {
}
},
//发起校准
calibration(row){
this.imageUrl="/img/scimg.png";
calibration(row) {
this.imageUrl = "/img/scimg.png";
this.form = row;
console.log(this.form,'form')
console.log(this.form, 'form')
// this.ceNum = row.taxTotal - row.taxReal
// this.taxReal = 0;
@@ -356,7 +357,7 @@ export default {
// this.$refs.check.openDialog(row);
// },
//下载申请表
downloadEsignature(row){
downloadEsignature(row) {
console.log(row);
window.open(downloadEsignature(row.id))
},
@@ -389,7 +390,7 @@ export default {
backIndex() {
this.$emit("refresh");
},
},
};
</script>
@@ -398,10 +399,12 @@ export default {
height: 160px;
width: 160px;
}
.el-col,
.el-form-item {
margin-bottom: 0px;
}
.map {
width: 100%;
height: 300px;
@@ -411,25 +414,31 @@ export default {
.slotForm {
font-size: 12px;
}
.calibrationForm .el-form{
.calibrationForm .el-form {
padding-bottom: 0 !important;
}
.calibrationForm .el-dialog--center .el-dialog__body{
.calibrationForm .el-dialog--center .el-dialog__body {
padding: 0 10px !important;
}
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner{
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner {
padding: 0 !important;
height:30px !important;
height: 30px !important;
line-height: 30px !important;
}
.excelBox .el-dialog__body{
padding: 0 10px!important;
.excelBox .el-dialog__body {
padding: 0 10px !important;
}
.excelBox .el-form-item__content{
margin-left: 0 !important;
text-align: center;
.excelBox .el-form-item__content {
margin-left: 0 !important;
text-align: center;
}
.excelBox .el-dialog{
width:360px !important;
.excelBox .el-dialog {
width: 360px !important;
}
</style>
</style>

View File

@@ -17,22 +17,22 @@
@on-load="onLoad"
@selection-change="selectionChange"
>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{row.belongYear}}-{{row.belongMonth}}</span>
</template>
<!-- 应发工资 -->
<template slot="wage" slot-scope="{ row }">
<span>{{ moneyFormat(row.wage) }}</span>
</template>
<!-- 个税 wageReal-->
<template slot="tax" slot-scope="{ row }">
<span>{{ moneyFormat(row.taxTotal) }}</span>
</template>
<!-- 实发工资-->
<template slot="wageReal" slot-scope="{row }">
<span>{{ moneyFormat(row.wageReal) }}</span>
</template>
<!-- 归属月 -->
<template slot="belongMonth" slot-scope="{row }">
<span>{{ row.belongYear }}-{{ row.belongMonth }}</span>
</template>
<!--自定义按钮-->
<!-- <template slot="menuLeft">
<el-button @click="excelBox = true" size="small" type="primary"
@@ -45,7 +45,8 @@
>下载申请表</el-button
> -->
<el-button type="text" size="mini" @click.stop="calibration(row)"
>查看</el-button
>查看
</el-button
>
</div>
</avue-crud>
@@ -53,38 +54,45 @@
<check ref="check" v-show="false"></check>
<!-- /查看详情dialog -->
<el-dialog
title=""
:visible.sync="dialogVisible"
width="35%"
:modal=false
:before-close="handleClose">
<div>
<img class="" :src="'data:image/png;base64,'+imgStr" width="100%"/>
</div>
<span slot="footer" class="dialog-footer">
title=""
:visible.sync="dialogVisible"
width="35%"
:modal=false
:before-close="handleClose">
<div>
<img class="" :src="'data:image/png;base64,'+imgStr" width="100%"/>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="downLoadContract">下载合同</el-button>
</span>
</el-dialog>
</el-dialog>
</div>
</template>
<script>
import {excelImportOrder} from "@/api/manage/agentpay";//apitenantList
import {managerList,signSealImg,downloadEsignature,signSeal,signSeals,viewContractImg,contractDownload} from "@/api/manage/esignature";//api
import {
managerList,
signSealImg,
downloadEsignature,
signSeal,
signSeals,
viewContractImg,
contractDownload
} from "@/api/manage/esignature";//api
import Check from "../Dialog/IncomeTaxCheck";//查看详情
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { moneyFormat } from "@/util/money";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {moneyFormat} from "@/util/money";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
import { excelAccept } from "@/common/accept";
import {excelAccept} from "@/common/accept";
import httpRequest from "../httpRequest";
const accept = ["image/png", "image/jpeg", "image/svg+xml", "image/gif"];
export default {
components: {
SelectMap,
saveButton,
Check
},
@@ -98,45 +106,45 @@ export default {
},
},
data() {
let taxReal=(rule, value, callback)=>{
let reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
let taxReal = (rule, value, callback) => {
let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
let reg1 = new RegExp("/[a-z]/i;");
if(reg.test(value)){
if (reg.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
}else{
callback(new Error('只能输入数字!'))
} else if (reg1.test(value)) {
this.btnClickFlag = false;
callback(new Error('只能输入数字!'))
} else {
this.btnClickFlag = true;
callback()
}
}
return {
calibrationDialog:false,
contractId:'',
calibrationDialog: false,
contractId: '',
excelBox: false,
dialogVisible: false,
imgStr:'',
imgStr: '',
excelForm: {},
imageUrl: "/img/scimg.png",
imgFile:'',
btnClickFlag:false,
imgFile: '',
btnClickFlag: false,
formLabelWidth: '120px',
form:{
num:30,
form: {
num: 30,
},
rules: {
taxReal: [
{ validator: taxReal , trigger: ['blur', 'change'] },
],
taxReal: [
{validator: taxReal, trigger: ['blur', 'change']},
],
},
formSubmit:{
id:111,
taxReal:111,
formSubmit: {
id: 111,
taxReal: 111,
},
ceNum:0,
taxReal:0,
ceNum: 0,
taxReal: 0,
// status: 1,
selectionList: [],
viewDrawer: false,
@@ -154,13 +162,13 @@ export default {
},
data: [],
obj: {},
missionNo:'',
leibie:'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
missionNo: '',
leibie: 'wait',//查询类别(必填,取值范围:=all 代表返回所有,=wait 待确定,=ing 发放中,=success 发放成功,fail=失败pause 暂不发放;)
};
},
created() {},
watch: {
created() {
},
watch: {},
computed: {
...mapGetters(["permission"]),
ids() {
@@ -170,7 +178,7 @@ export default {
});
return ids;
},
wageRealTotal () {
wageRealTotal() {
let wageRealTotal = 0;
this.selectionList.forEach(ele => {
wageRealTotal += ele.wageReal;
@@ -217,7 +225,7 @@ export default {
searchShow: false,
border: true,
index: true,
esignatureId:'',
esignatureId: '',
imageUrl: "/img/license.png",
indexLabel: "序号",
// selection: true,
@@ -266,24 +274,25 @@ export default {
},
methods: {
//批量签发
batchIssue(){
batchIssue() {
let fd = new FormData();
fd.append('ids',this.ids.join(","));
fd.append('ids', this.ids.join(","));
signSeals(fd)
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(()=> {
done();
})
.catch(() => {});
},
this.$confirm('确认关闭?')
.then(() => {
done();
})
.catch(() => {
});
},
/**上传图片**/
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
@@ -294,23 +303,23 @@ export default {
const isJPG = accept.includes(file.type);
this.imgFile = file;
let fd = new FormData();
fd.append('file',file);
fd.append('id',this.form.id);
fd.append('file', file);
fd.append('id', this.form.id);
if (!isJPG) {
this.$message.error("图片格式不正确!");
}
signSealImg(fd)
.then(() => {
})
.catch(() => {
});
.then(() => {
})
.catch(() => {
});
return isJPG;
},
/**上传图片*/
httpRequest,
moneyFormat,
//下载建行客户端工资发放模板
//下载建行客户端工资发放模板
uploadAfter(res, done) {
this.onLoad(this.page, this.params);
done();
@@ -324,24 +333,24 @@ export default {
}
},
//单挑数据发起校准确定按钮
drawbackClick(){
drawbackClick() {
let fd = new FormData();
fd.append('id',this.form.id);
fd.append('id', this.form.id);
signSeal(fd)
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
this.calibrationDialog = false;
.then(() => {
this.onLoad(this.page, this.params);
})
.catch(() => {
});
this.calibrationDialog = false;
},
taxRealChaneg(){
taxRealChaneg() {
this.form.taxReal = this.taxReal;
this.formSubmit.taxReal = this.taxReal*100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal ;
this.formSubmit.taxReal = this.taxReal * 100;
this.ceNum = this.form.taxTotal - this.formSubmit.taxReal;
},
selectionChange (list) {
selectionChange(list) {
this.selectionList = list;
},
format(date) {
@@ -350,24 +359,24 @@ export default {
}
},
//查看
calibration(row){
calibration(row) {
this.form = row;
this.contractId = row.id;
viewContractImg(row.id).then((res) => {
this.imgStr = res.data.data;
this.dialogVisible = true;
})
.catch(() => {
});
.catch(() => {
});
//contractDetailsImg()
},
//下载合同
downLoadContract(){
downLoadContract() {
window.open(contractDownload(this.contractId))
},
//下载申请表
downloadEsignature(row){
downloadEsignature(row) {
window.open(downloadEsignature(row.id))
},
currentChange(currentPage) {
@@ -398,7 +407,7 @@ export default {
backIndex() {
this.$emit("refresh");
},
},
};
</script>
@@ -407,10 +416,12 @@ export default {
height: 160px;
width: 160px;
}
.el-col,
.el-form-item {
margin-bottom: 0px;
}
.map {
width: 100%;
height: 300px;
@@ -420,25 +431,31 @@ export default {
.slotForm {
font-size: 12px;
}
.calibrationForm .el-form{
.calibrationForm .el-form {
padding-bottom: 0 !important;
}
.calibrationForm .el-dialog--center .el-dialog__body{
.calibrationForm .el-dialog--center .el-dialog__body {
padding: 0 10px !important;
}
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner{
.calibrationForm .el-dialog--center .el-dialog__body .el-input__inner {
padding: 0 !important;
height:30px !important;
height: 30px !important;
line-height: 30px !important;
}
.excelBox .el-dialog__body{
padding: 0 10px!important;
.excelBox .el-dialog__body {
padding: 0 10px !important;
}
.excelBox .el-form-item__content{
margin-left: 0 !important;
text-align: center;
.excelBox .el-form-item__content {
margin-left: 0 !important;
text-align: center;
}
.excelBox .el-dialog{
width:360px !important;
.excelBox .el-dialog {
width: 360px !important;
}
</style>
</style>

View File

@@ -130,7 +130,6 @@
import {add, detail, update, tradeListAdd, workListAdd, getMounthDays, getDictionary} from "@/api/tenant/mission";
import {getTrade, getWork, getWorkTypes} from "@/api/tenant/common";
import SkillSelect from "../Dialog/Skill";
import SelectMap from "@/components/map/selectLocation";
import {isvalidatemobile} from "@/util/validate";
import {mapGetters} from "vuex";
import {
@@ -195,7 +194,6 @@ export default {
},
components: {
SkillSelect,
SelectMap,
},
created() {
this.$store.dispatch("InitArea");

View File

@@ -1,8 +1,9 @@
<template>
<div>
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="obj" @row-del="rowDel"
@row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen" :page.sync="page"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
@row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen" :page.sync="page"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
@on-load="onLoad">
<!--自定义列-->
<template slot="missionTitle" slot-scope="{ row }">
<el-tooltip effect="dark" :content="row.missionTitle" placement="top">
@@ -44,15 +45,18 @@
v-show="vaildData(permission.tenant_mission_view,false)"
>查看</el-button>-->
<el-button icon="el-icon-check" :size="size" :type="type" @click="rowCopy(row, 'copy')"
v-show="vaildData(permission.tenant_mission_add, false)">复制</el-button>
v-show="vaildData(permission.tenant_mission_add, false)">复制
</el-button>
<el-button icon="el-icon-delete" :size="size" :type="type" @click="$refs.crud.rowDel(row)"
v-show="vaildData(permission.tenant_mission_delete, false)">删除</el-button>
v-show="vaildData(permission.tenant_mission_delete, false)">删除
</el-button>
</div>
<!--/自定义操作栏-->
<!--自定义按钮-->
<template slot="menuLeft">
<el-button type="warning" plain icon="el-icon-plus" size="small" @click="rowCopy('', 'add')"
v-show="vaildData(permission.tenant_mission_add, false)">发布任务</el-button>
v-show="vaildData(permission.tenant_mission_add, false)">发布任务
</el-button>
</template>
<!--/自定义按钮-->
</avue-crud>
@@ -64,13 +68,12 @@
</template>
<script>
import { getExpiredList, remove, detail } from "@/api/tenant/mission";
import {getExpiredList, remove, detail} from "@/api/tenant/mission";
import CopyMission from "../Dialog/CopyMission";
import SkillSelect from "../Dialog/Skill";
import missionView from "./missionView.vue";
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
export default {
@@ -135,11 +138,11 @@ export default {
components: {
CopyMission,
SkillSelect,
SelectMap,
missionView,
saveButton,
},
created() { },
created() {
},
computed: {
...mapGetters(["permission"]),
option() {
@@ -240,8 +243,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要删除此任务吗? "),
h("p", { style: "color: red" }, "一旦删除则无法找回"),
h("p", {style: "font-size: 16px"}, "您确定要删除此任务吗? "),
h("p", {style: "color: red"}, "一旦删除则无法找回"),
]),
{
type: "warning",

View File

@@ -25,17 +25,17 @@
</el-tooltip>
</template>
<template slot="takeOnCount" slot-scope="{ row }">
<div style="color: #409eff;cursor: pointer;" @click="employmentNum(row)">
<div style="color: #409eff;cursor: pointer;" @click="employmentNum(row)">
<b>{{ row.takeOnCount }}</b>
</div>
</template>
<!-- 开始日期 -->
<template slot="stime" slot-scope="{row}">
<span>{{format(row.stime)}}</span>
<span>{{ format(row.stime) }}</span>
</template>
<!-- 完成日期 -->
<template slot="etime" slot-scope="{row}">
<span>{{format(row.etime)}}</span>
<span>{{ format(row.etime) }}</span>
</template>
<template slot="toPayEnd" slot-scope="{ row }">
<div v-if="row.toPayEnd < 0" style="color: #f56c6c">
@@ -70,7 +70,8 @@
size="small"
@click="rowCopy('', 'add')"
v-show="vaildData(permission.tenant_mission_add, false)"
>发布任务</save-button>
>发布任务
</save-button>
</template>
<!--/自定义按钮-->
<!--自定义操作栏-->
@@ -80,7 +81,8 @@
:type="type"
@click="appraise(row)"
v-show="vaildData(permission.tenant_mission_appraise,false)"
>评价</el-button>
>评价
</el-button>
<!-- <el-button
icon="el-icon-view"
:size="size"
@@ -94,7 +96,8 @@
:type="type"
@click="rowCopy(row, 'copy')"
v-show="vaildData(permission.tenant_mission_add, false)"
>复制</el-button>
>复制
</el-button>
</div>
<!--/自定义操作栏-->
</avue-crud>
@@ -115,21 +118,20 @@
</template>
<script>
import { getList, detail, getWagePerson } from "@/api/tenant/mission";
import {getList, detail, getWagePerson} from "@/api/tenant/mission";
import CopyMission from "../Dialog/CopyMission";
import Appraise from "../Dialog/Appraise";
import Employ from "../Dialog/Employ";
import SkillSelect from "../Dialog/Skill";
import missionView from "./missionView.vue";
import employmentNum from "../Dialog/EmployNumber";
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
export default {
filters: {
ellipsis (value) {
ellipsis(value) {
if (!value) return "";
if (value.length > 15) {
return value.slice(0, 14) + "...";
@@ -137,7 +139,7 @@ export default {
return value;
},
},
data () {
data() {
return {
viewDrawer: false,
view: {},
@@ -160,15 +162,15 @@ export default {
Appraise,
Employ,
SkillSelect,
SelectMap,
missionView,
saveButton,
employmentNum
},
created () { },
created() {
},
computed: {
...mapGetters(["permission"]),
option () {
option() {
return {
height: "auto",
calcHeight: 40,
@@ -307,46 +309,46 @@ export default {
},
watch: {},
methods: {
format (date) {
format(date) {
if (date) {
return dateFormat(new Date(date), "yyyy/MM/dd");
}
},
// 录用人数
employmentNum(row){
employmentNum(row) {
this.$refs.employmentNumber.openDialog(row, 2);//查看已录用人员
},
/*查看*/
rowView (row) {
rowView(row) {
detail(row.missionNo).then((res) => {
this.viewDrawer = true;
this.view = res;
});
},
/*打开录用人员*/
employ (row, state) {
employ(row, state) {
this.$refs.employ.openDialog(row, state);
},
/*打开复制*/
rowCopy (row, type) {
rowCopy(row, type) {
this.$refs.copy.onLoad(row, type);
},
/*打开评价*/
appraise (row) {
appraise(row) {
this.$refs.appraise.openDialog(row);
},
currentChange (currentPage) {
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange (pageSize) {
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
/*刷新本页 带搜索参数*/
refreshChange () {
refreshChange() {
this.onLoad(this.page, this.query);
},
/*加载数据*/
onLoad (page, params = {}) {
onLoad(page, params = {}) {
this.loading = true;
getList(
page.currentPage,
@@ -368,7 +370,7 @@ export default {
});
},
/*返回首页*/
backIndex () {
backIndex() {
this.$emit("refresh");
},
},

View File

@@ -26,11 +26,11 @@
</template>
<!-- 开始日期 -->
<template slot="stime" slot-scope="{row}">
<span>{{format(row.stime)}}</span>
<span>{{ format(row.stime) }}</span>
</template>
<!-- 完成日期 -->
<template slot="etime" slot-scope="{row}">
<span>{{format(row.etime)}}</span>
<span>{{ format(row.etime) }}</span>
</template>
<template slot="takeOnCount" slot-scope="{ row }">
<div style="color: #409eff; cursor: pointer;" @click="employmentNum(row)">
@@ -59,7 +59,8 @@
size="small"
@click="rowCopy('', 'add')"
v-show="vaildData(permission.tenant_mission_add, false)"
>发布任务</save-button
>发布任务
</save-button
>
</template>
<!--/自定义按钮-->
@@ -70,7 +71,8 @@
:type="type"
@click="rowComplete(row)"
v-show="vaildData(permission.tenant_mission_finish, false)"
>完成任务</save-button
>完成任务
</save-button
>
<el-button
icon="el-icon-view"
@@ -78,7 +80,8 @@
:type="type"
@click="rowView(row)"
v-show="vaildData(permission.tenant_mission_view, false)"
>查看</el-button
>查看
</el-button
>
<save-button
icon="el-icon-check"
@@ -86,7 +89,8 @@
:type="type"
@click="rowCopy(row, 'copy')"
v-show="vaildData(permission.tenant_mission_add, false)"
>复制</save-button
>复制
</save-button
>
</div>
<!--/自定义操作栏-->
@@ -97,7 +101,7 @@
<!--录用人员dialog-->
<Employ ref="employ" :status="status" v-show="false"></Employ>
<!-- 录用人数 -->
<employment-num
<employment-num
ref="employmentNum"
:status="1"
v-show="false"
@@ -110,21 +114,18 @@
</template>
<script>
import { getList, complete, detail } from "@/api/tenant/mission";
import {getList, complete, detail} from "@/api/tenant/mission";
import CopyMission from "../Dialog/CopyMission";
import SkillSelect from "../Dialog/Skill";
import Employ from "../Dialog/Employ";
import missionView from "./missionView.vue";
import SelectMap from "@/components/map/selectLocation";
import employmentNum from "../Dialog/EmployNumber";
import { mapGetters } from "vuex";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
export default {
comments: {
},
comments: {},
filters: {
ellipsis(value) {
if (!value) return "";
@@ -156,12 +157,12 @@ export default {
CopyMission,
SkillSelect,
Employ,
SelectMap,
missionView,
saveButton,
employmentNum
},
created() {},
created() {
},
computed: {
...mapGetters(["permission"]),
option() {
@@ -300,7 +301,7 @@ export default {
}
},
// 录用人数
employmentNum(row){
employmentNum(row) {
this.$refs.employmentNum.openDialog(row, 2);//查看已录用人员
},
/*查看*/
@@ -323,7 +324,7 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定此任务已经完成吗? "),
h("p", {style: "font-size: 16px"}, "您确定此任务已经完成吗? "),
]),
{
type: "warning",

View File

@@ -113,7 +113,6 @@ import Recommend from "../Dialog/Recommend";
import Contrast from "../Dialog/Contrast"
import SkillSelect from "../Dialog/Skill";
import missionView from "./missionView.vue";
import SelectMap from "@/components/map/selectLocation";
import {isExcel} from "@/util/validate";
import {excelAccept} from "@/common/accept";
import {mapGetters} from "vuex";
@@ -132,7 +131,6 @@ export default {
Employ,
Recommend,
SkillSelect,
SelectMap,
missionView,
saveButton,
Contrast,

View File

@@ -168,7 +168,6 @@
import {add, detail, update, tradeListAdd, getMounthDays, getDictionary} from "@/api/tenant/postzp";
import {getTrade, getWork, getSkillList, getWorkTypes} from "@/api/tenant/common";
import SkillSelect from "../Dialog/Skill";
import SelectMap from "@/components/map/selectLocation";
import {isvalidatemobile} from "@/util/validate";
import {mapGetters} from "vuex";
import {
@@ -236,7 +235,6 @@ export default {
},
components: {
SkillSelect,
SelectMap,
},
created() {
this.$store.dispatch("InitArea");

View File

@@ -26,11 +26,11 @@
</template>
<!-- 开始日期 -->
<template slot="stime" slot-scope="{row}">
<span>{{format(row.stime)}}</span>
<span>{{ format(row.stime) }}</span>
</template>
<!-- 完成日期 -->
<template slot="etime" slot-scope="{row}">
<span>{{format(row.etime)}}</span>
<span>{{ format(row.etime) }}</span>
</template>
<template slot="signUpCount" slot-scope="{ row }">
<div style="color: #409eff">
@@ -62,14 +62,16 @@
:type="type"
@click="rowCopy(row, 'copy')"
v-show="vaildData(permission.tenant_mission_add, false)"
>复制</el-button>
>复制
</el-button>
<el-button
icon="el-icon-delete"
:size="size"
:type="type"
@click="$refs.crud.rowDel(row)"
v-show="vaildData(permission.tenant_mission_delete, false)"
>删除</el-button>
>删除
</el-button>
</div>
<!--/自定义操作栏-->
<!--自定义按钮-->
@@ -81,7 +83,8 @@
size="small"
@click="rowCopy('', 'add')"
v-show="vaildData(permission.tenant_mission_add, false)"
>发布岗位</el-button>
>发布岗位
</el-button>
</template>
<!--/自定义按钮-->
</avue-crud>
@@ -93,19 +96,18 @@
</template>
<script>
import { getExpiredList, remove, detail } from "@/api/tenant/postzp";
import {getExpiredList, remove, detail} from "@/api/tenant/postzp";
import CopyMission from "../Dialog/CopyMission";
import SkillSelect from "../Dialog/Skill";
import missionView from "./missionView.vue";
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
export default {
comments: {},
filters: {
ellipsis (value) {
ellipsis(value) {
if (!value) return "";
if (value.length > 15) {
return value.slice(0, 14) + "...";
@@ -113,7 +115,7 @@ export default {
return value;
},
},
data () {
data() {
return {
viewDrawer: false,
view: {},
@@ -164,14 +166,14 @@ export default {
components: {
CopyMission,
SkillSelect,
SelectMap,
missionView,
saveButton,
},
created () { },
created() {
},
computed: {
...mapGetters(["permission"]),
option () {
option() {
return {
height: "auto",
calcHeight: 40,
@@ -210,14 +212,14 @@ export default {
prop: "stime",
display: false,
width: 130,
slot:true
slot: true
},
{
label: "完成时间",
prop: "etime",
display: false,
width: 130,
slot:true
slot: true
},
// {
// label: "岗位时间",
@@ -248,32 +250,32 @@ export default {
},
},
methods: {
format (date) {
format(date) {
if (date) {
return dateFormat(new Date(date), "yyyy/MM/dd");
}
},
/*查看*/
rowView (row) {
rowView(row) {
detail(row.missionNo).then((res) => {
this.viewDrawer = true;
this.view = res;
});
},
/*打开新建 复制*/
rowCopy (row, type) {
rowCopy(row, type) {
this.$refs.copy.onLoad(row, type);
this.$nextTick(()=>{
this.$nextTick(() => {
this.$refs.copy.resetFields();//等弹窗里的form表单的dom渲染完在执行this.$refs.staffForm.resetFields(),去除验证
})
},
/*删除岗位*/
rowDel (row) {
rowDel(row) {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要删除此岗位吗? "),
h("p", { style: "color: red" }, "一旦删除则无法找回"),
h("p", {style: "font-size: 16px"}, "您确定要删除此岗位吗? "),
h("p", {style: "color: red"}, "一旦删除则无法找回"),
]),
{
type: "warning",
@@ -321,18 +323,18 @@ export default {
// });
});
},
currentChange (currentPage) {
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange (pageSize) {
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
/*刷新本页 带搜索参数*/
refreshChange () {
refreshChange() {
this.onLoad(this.page, this.query);
},
/*加载数据*/
onLoad (page, params = {}) {
onLoad(page, params = {}) {
this.loading = true;
getExpiredList(
page.currentPage,
@@ -346,7 +348,7 @@ export default {
});
},
/*返回首页*/
backIndex () {
backIndex() {
this.$emit("refresh");
},
},

View File

@@ -25,17 +25,17 @@
</el-tooltip>
</template>
<template slot="takeOnCount" slot-scope="{ row }">
<div style="color: #409eff;cursor: pointer;" @click="employmentNum(row)">
<div style="color: #409eff;cursor: pointer;" @click="employmentNum(row)">
<b>{{ row.takeOnCount }}</b>
</div>
</template>
<!-- 开始日期 -->
<template slot="stime" slot-scope="{row}">
<span>{{format(row.stime)}}</span>
<span>{{ format(row.stime) }}</span>
</template>
<!-- 完成日期 -->
<template slot="etime" slot-scope="{row}">
<span>{{format(row.etime)}}</span>
<span>{{ format(row.etime) }}</span>
</template>
<template slot="toPayEnd" slot-scope="{ row }">
<div v-if="row.toPayEnd < 0" style="color: #f56c6c">
@@ -70,7 +70,8 @@
size="small"
@click="rowCopy('', 'add')"
v-show="vaildData(permission.tenant_mission_add, false)"
>发布岗位</save-button>
>发布岗位
</save-button>
</template>
<!--/自定义按钮-->
<!--自定义操作栏-->
@@ -80,7 +81,8 @@
:type="type"
@click="appraise(row)"
v-show="vaildData(permission.tenant_mission_appraise,false)"
>评价</el-button>
>评价
</el-button>
<!-- <el-button
icon="el-icon-view"
:size="size"
@@ -94,7 +96,8 @@
:type="type"
@click="rowCopy(row, 'copy')"
v-show="vaildData(permission.tenant_mission_add, false)"
>复制</el-button>
>复制
</el-button>
</div>
<!--/自定义操作栏-->
</avue-crud>
@@ -115,21 +118,20 @@
</template>
<script>
import { getList, detail, getWagePerson } from "@/api/tenant/postzp";
import {getList, detail, getWagePerson} from "@/api/tenant/postzp";
import CopyMission from "../Dialog/CopyMission";
import Appraise from "../Dialog/Appraise";
import Employ from "../Dialog/Employ";
import SkillSelect from "../Dialog/Skill";
import missionView from "./missionView.vue";
import employmentNum from "../Dialog/EmployNumber";
import SelectMap from "@/components/map/selectLocation";
import { mapGetters } from "vuex";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
export default {
filters: {
ellipsis (value) {
ellipsis(value) {
if (!value) return "";
if (value.length > 15) {
return value.slice(0, 14) + "...";
@@ -137,7 +139,7 @@ export default {
return value;
},
},
data () {
data() {
return {
viewDrawer: false,
view: {},
@@ -160,15 +162,15 @@ export default {
Appraise,
Employ,
SkillSelect,
SelectMap,
missionView,
saveButton,
employmentNum
},
created () { },
created() {
},
computed: {
...mapGetters(["permission"]),
option () {
option() {
return {
height: "auto",
calcHeight: 40,
@@ -215,14 +217,14 @@ export default {
prop: "stime",
display: false,
width: 130,
slot:true
slot: true
},
{
label: "完成日期",
prop: "etime",
display: false,
width: 130,
slot:true
slot: true
},
{
label: "录用人数",
@@ -259,46 +261,46 @@ export default {
},
watch: {},
methods: {
format (date) {
format(date) {
if (date) {
return dateFormat(new Date(date), "yyyy/MM/dd");
}
},
// 录用人数
employmentNum(row){
employmentNum(row) {
this.$refs.employmentNumber.openDialog(row, 2);//查看已录用人员
},
/*查看*/
rowView (row) {
rowView(row) {
detail(row.id).then((res) => {
this.viewDrawer = true;
this.view = res;
});
},
/*打开录用人员*/
employ (row, state) {
employ(row, state) {
this.$refs.employ.openDialog(row, state);
},
/*打开复制*/
rowCopy (row, type) {
rowCopy(row, type) {
this.$refs.copy.onLoad(row, type);
},
/*打开评价*/
appraise (row) {
appraise(row) {
this.$refs.appraise.openDialog(row);
},
currentChange (currentPage) {
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange (pageSize) {
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
/*刷新本页 带搜索参数*/
refreshChange () {
refreshChange() {
this.onLoad(this.page, this.query);
},
/*加载数据*/
onLoad (page, params = {}) {
onLoad(page, params = {}) {
this.loading = true;
getList(
page.currentPage,
@@ -320,7 +322,7 @@ export default {
});
},
/*返回首页*/
backIndex () {
backIndex() {
this.$emit("refresh");
},
},
@@ -331,4 +333,4 @@ export default {
.el-form-item {
margin-bottom: 0px;
}
</style>
</style>

View File

@@ -26,11 +26,11 @@
</template>
<!-- 开始日期 -->
<template slot="stime" slot-scope="{row}">
<span>{{format(row.stime)}}</span>
<span>{{ format(row.stime) }}</span>
</template>
<!-- 完成日期 -->
<template slot="etime" slot-scope="{row}">
<span>{{format(row.etime)}}</span>
<span>{{ format(row.etime) }}</span>
</template>
<template slot="takeOnCount" slot-scope="{ row }">
<div style="color: #409eff; cursor: pointer;" @click="employmentNum(row)">
@@ -59,7 +59,8 @@
size="small"
@click="rowCopy('', 'add')"
v-show="vaildData(permission.tenant_mission_add, false)"
>发布岗位</save-button
>发布岗位
</save-button
>
</template>
<!--/自定义按钮-->
@@ -70,7 +71,8 @@
:type="type"
@click="rowComplete(row)"
v-show="vaildData(permission.tenant_mission_finish, false)"
>完成岗位</save-button
>完成岗位
</save-button
>
<el-button
icon="el-icon-view"
@@ -78,7 +80,8 @@
:type="type"
@click="rowView(row)"
v-show="vaildData(permission.tenant_mission_view, false)"
>查看</el-button
>查看
</el-button
>
<save-button
icon="el-icon-check"
@@ -86,7 +89,8 @@
:type="type"
@click="rowCopy(row, 'copy')"
v-show="vaildData(permission.tenant_mission_add, false)"
>复制</save-button
>复制
</save-button
>
</div>
<!--/自定义操作栏-->
@@ -97,7 +101,7 @@
<!--录用人员dialog-->
<Employ ref="employ" :status="status" v-show="false"></Employ>
<!-- 录用人数 -->
<employment-num
<employment-num
ref="employmentNum"
:status="1"
v-show="false"
@@ -110,21 +114,18 @@
</template>
<script>
import { getList, complete, detail } from "@/api/tenant/postzp";
import {getList, complete, detail} from "@/api/tenant/postzp";
import CopyMission from "../Dialog/CopyMission";
import SkillSelect from "../Dialog/Skill";
import Employ from "../Dialog/Employ";
import missionView from "./missionView.vue";
import SelectMap from "@/components/map/selectLocation";
import employmentNum from "../Dialog/EmployNumber";
import { mapGetters } from "vuex";
import { dateFormat } from "@/util/date";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import saveButton from "./saveButton";
export default {
comments: {
},
comments: {},
filters: {
ellipsis(value) {
if (!value) return "";
@@ -156,12 +157,12 @@ export default {
CopyMission,
SkillSelect,
Employ,
SelectMap,
missionView,
saveButton,
employmentNum
},
created() {},
created() {
},
computed: {
...mapGetters(["permission"]),
option() {
@@ -244,7 +245,7 @@ export default {
}
},
// 录用人数
employmentNum(row){
employmentNum(row) {
this.$refs.employmentNum.openDialog(row, 2);//查看已录用人员
},
/*查看*/
@@ -267,7 +268,7 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定此岗位已经完成吗? "),
h("p", {style: "font-size: 16px"}, "您确定此岗位已经完成吗? "),
]),
{
type: "warning",
@@ -351,4 +352,4 @@ export default {
.el-form-item {
margin-bottom: 0px;
}
</style>
</style>

View File

@@ -1,17 +1,20 @@
<template>
<div>
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="obj" @row-del="rowDel"
@row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen" :page.sync="page"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
@row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen" :page.sync="page"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
@on-load="onLoad">
<!--自定义按钮-->
<template slot="menuLeft">
<save-button type="warning" plain icon="el-icon-plus" size="small" @click="rowCopy('', 'add')"
v-show="vaildData(permission.tenant_works_add, false)">发布岗位</save-button>
<el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"
v-show="vaildData(permission.tenant_works_add, false)">批量导入</el-button>
v-show="vaildData(permission.tenant_works_add, false)">发布岗位
</save-button>
<el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"
v-show="vaildData(permission.tenant_works_add, false)">批量导入
</el-button>
</template>
<template slot="wage"slot-scope="{ row }">
<div>{{row.wage}}{{wageUnitCategoryStateEnum[row.wageUnitCategory]}}</div>
<template slot="wage" slot-scope="{ row }">
<div>{{ row.wage }}{{ wageUnitCategoryStateEnum[row.wageUnitCategory] }}</div>
</template>
<!--/自定义按钮-->
<!--自定义列-->
@@ -58,12 +61,15 @@
<!-- <el-button type="text" size="mini" @click="recommend(row)">重点人群推送</el-button> -->
<el-button type="text" size="mini" @click="employ(row, 1)">申请录用</el-button>
<el-button icon="el-icon-view" :size="size" :type="type" @click.stop="rowView(row)"
v-show="vaildData(permission.tenant_mission_view, false)">查看</el-button>
v-show="vaildData(permission.tenant_mission_view, false)">查看
</el-button>
<!-- <save-button icon="el-icon-check" :size="size" :type="type" @click="rowCopy(row, 'copy')">复制</save-button> -->
<el-button icon="el-icon-edit" :size="size" :type="type" @click="rowCopy(row, 'edit')" :disabled="false"
v-show="vaildData(permission.tenant_mission_edit, false)">编辑</el-button>
v-show="vaildData(permission.tenant_mission_edit, false)">编辑
</el-button>
<el-button icon="el-icon-delete" :size="size" :type="type" @click="$refs.crud.rowDel(row)" :disabled="false"
v-show="vaildData(permission.tenant_mission_cancel, false)" v-if="row.reviewState !== 8">取消</el-button>
v-show="vaildData(permission.tenant_mission_cancel, false)" v-if="row.reviewState !== 8">取消
</el-button>
<!-- <el-button type="text" size="mini" @click="contrast(row)"
>比对人才库</el-button> -->
</div>
@@ -87,8 +93,9 @@
<!--批量导入-->
<el-dialog title="导入" append-to-body :visible.sync="excelBox" :close-on-click-modal="false" width="555px">
<avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter" :upload-before="beforeAvatarUpload"
:upload-error="uploadError">
<avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"
:upload-before="beforeAvatarUpload"
:upload-error="uploadError">
<template slot="excelTemplate">
<el-button type="primary" @click="handleTemplate()" :loading="templateLoading">
点击下载
@@ -102,7 +109,7 @@
</template>
<script>
import { getList, cancel, detail ,upload} from "@/api/tenant/postzp";
import {getList, cancel, detail, upload} from "@/api/tenant/postzp";
import CopyMission from "../Dialog/CopyMission";
import Employ from "../Dialog/Employ";
import employmentNum from "../Dialog/EmployNumber";
@@ -110,14 +117,14 @@ import Recommend from "../Dialog/Recommend";
import Contrast from "../Dialog/Contrast"
import SkillSelect from "../Dialog/Skill";
import missionView from "./missionView.vue";
import SelectMap from "@/components/map/selectLocation";
import { isExcel } from "@/util/validate";
import { excelAccept } from "@/common/accept";
import { mapGetters } from "vuex";
import { dateFormat } from "@/util/date";
import { getTemplate } from "@/api/resource/template";
import {isExcel} from "@/util/validate";
import {excelAccept} from "@/common/accept";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import {getTemplate} from "@/api/resource/template";
import saveButton from "./saveButton";
import {dataSourcesEnum, educationState, missionState, recruitStatus, wageUnitCategoryState} from "@/common/dic";
const wageUnitCategoryStateEnum = {}
wageUnitCategoryState.map((item) => {
wageUnitCategoryStateEnum[item.value] = item.label
@@ -128,7 +135,6 @@ export default {
Employ,
Recommend,
SkillSelect,
SelectMap,
missionView,
saveButton,
Contrast,
@@ -147,7 +153,7 @@ export default {
return {
wageUnitCategoryStateEnum,
excelBox: false,
excelForm: { isCovered: 1 },
excelForm: {isCovered: 1},
excelOption: {
submitBtn: false,
emptyBtn: false,
@@ -194,7 +200,8 @@ export default {
missionNo: '',
};
},
created() { },
created() {
},
watch: {},
computed: {
...mapGetters(["permission"]),
@@ -263,14 +270,14 @@ export default {
prop: "ageDesc",
search: false,
display: false,
},{
}, {
label: "学历要求",
prop: "education",
type: "select",
dicData: educationState,
search: false,
display: false,
},{
}, {
label: "经验要求",
prop: "experienceDesc",
search: false,
@@ -409,8 +416,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要取消此岗位吗? "),
h("p", { style: "color: red" }, "一旦取消则岗位失效"),
h("p", {style: "font-size: 16px"}, "您确定要取消此岗位吗? "),
h("p", {style: "color: red"}, "一旦取消则岗位失效"),
]),
{
type: "warning",
@@ -504,13 +511,13 @@ export default {
const arr = [];
const data = res.data.data;
data.error &&
data.error.errorList.forEach((item) => {
arr.push(`${item.name} ${item.remarks}`);
});
data.error.errorList.forEach((item) => {
arr.push(`${item.name} ${item.remarks}`);
});
data.auth &&
data.auth.authList.forEach((item) => {
arr.push(`${item.name} ${item.remarks}`);
});
data.auth.authList.forEach((item) => {
arr.push(`${item.name} ${item.remarks}`);
});
this.$refs.ied.show(arr);
}
this.refreshChange();

View File

@@ -227,7 +227,6 @@
</template>
<script>
import SelectMap from "@/components/map/selectLocation";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import {
@@ -246,7 +245,6 @@ function getDic(arr) {
}
export default {
components: {SelectMap},
props: {model: Object},
data() {
return {

View File

@@ -233,7 +233,6 @@
</template>
<script>
import SelectMap from "@/components/map/selectLocation";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import {
@@ -251,7 +250,6 @@ function getDic(arr) {
}
export default {
components: {SelectMap},
props: {model: Object},
data() {
return {

View File

@@ -210,7 +210,6 @@
</template>
<script>
import SelectMap from "@/components/map/selectLocation";
import {mapGetters} from "vuex";
import {dateFormat} from "@/util/date";
import {
@@ -228,7 +227,6 @@ function getDic(arr) {
}
export default {
components: {SelectMap},
props: {model: Object},
data() {
return {