<!doctype html>
|
<html>
|
<head>
|
<meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
|
<title>折让计算</title>
|
<script src="../../../jsnew/elementDefault.js?v=20220425"></script>
|
<script src="../../../jsnew/vue/vue.js"></script>
|
<script src="../../../jsnew/vue/element-ui/element-ui_15/index.js"></script>
|
<script src="../../../jsnew/myelement.js?v=20220425"></script>
|
<script src="../../../jsnew/page.js?v=20220425"></script>
|
<script src="../../../js/vue/axios/dist/axios.min.js"></script>
|
<script src="../../../js/common.js"></script>
|
<!-- <script src="../../../setting.js"></script> -->
|
|
<link href="../../../jsnew/vue/element-ui/element-ui_15/theme-chalk/index.css" rel="stylesheet">
|
<link href="../../../jsnew/myelement.css?v=20220426" rel="stylesheet">
|
<link href="../../../jsnew/theme.css?v=20220426" rel="stylesheet">
|
<link href="../../../css/iconfont.css" rel="stylesheet">
|
<link href="../../../jsnew/page.css?v=20220425" rel="stylesheet">
|
<link href="//at.alicdn.com/t/font_2374495_13ltsxm2eor.css" rel="stylesheet">
|
</head>
|
<!-- 1,审批中的还可以编辑时间 2,计算完成后关掉页面再进来还可以计算 3,开始计算后点击政策明细tab被初始化了-->
|
<body style="margin: 0px;">
|
<div v-cloak id="vbody">
|
<div id="page_root">
|
<div ref="popup_body" style="padding: 0 20px;">
|
<div class="el-dialog__header">
|
<div class="dialog-title">
|
<i class="iconfont icon-customermanagement"></i>
|
<span> {{title}}</span>
|
</div>
|
</div>
|
<div :style="{height: t_height +'px', 'overflow-y': 'auto'}">
|
<div style="float: right; margin-right: 0px; right: 15px;"><!-- position: absolute; -->
|
<el-button-group style="margin-left: 3px; margin-top: 3px; margin-right: 10px;">
|
<!-- <el-button v-if="!isapproval" :disbaled="reCal" type="primary" @click="reCalculate">重 算</el-button> -->
|
<el-button v-if="!isapproval && !isbrowse && !codeAddClick && !codeApprovalDone" type="primary" @click="addPolicy" >新增政策</el-button>
|
<el-button size="small" v-if="isapproval" type="success" @click="approvalOp(true)">批 准</el-button>
|
<el-button size="small" v-if="isapproval" type="danger" @click="approvalOp(false)">拒 绝</el-button>
|
<el-button size="small" v-if="isapproval || isbrowse" type="default" @click="closeDialog">取 消</el-button>
|
<el-button size="small" v-if="codeAddClick || codeApprovalDone" type="default" @click="closeDialog">取 消</el-button>
|
</el-button-group>
|
</div>
|
|
<div style=" text-align: left; padding: 5px 30px 0px 0px;"><!-- margin-top: 30px; -->
|
<h-form
|
ref="form1"
|
:form-attr="formAttr"
|
:table-fields="formFields_info"
|
:form-data="formData_info"
|
:table-field-click="selectTabObj.formfieldClick"
|
>
|
</h-form>
|
</div>
|
|
<div class="topbar-line" id="tabAreaId">
|
<div style="display: flex; margin-bottom: 3px;">
|
<div style="width: 100%;">
|
<el-tabs v-model="activeTabName" @tab-click="handleClick">
|
<el-tab-pane v-for="(tab, k) in tabs" :label="tab.name" :name="tab.code" :key="k"></el-tab-pane>
|
</el-tabs>
|
</div>
|
</div>
|
|
<!-- <div class="query-bar" v-show="showFilter">
|
<h-form-filter v-if="selectTabObj.filterFields" ref="form1"
|
:form-attr="filterAttr"
|
:table-fields="selectTabObj.filterFields"
|
:form-data="selectTabObj.filterObj"
|
:table-field-click="selectTabObj.filterfieldClick"
|
|
v-on:on-query="onQuery"
|
v-on:on-init-query="onInitFilter"
|
v-on:on-edit-query="onEditFilter"
|
v-on:order-fields="orderFilterFields"
|
|
>
|
</h-form-filter>
|
</div> -->
|
</div>
|
|
<div class="h_dialog__body">
|
<h-table
|
v-if="isRefresh && selectTabObj.tableFields"
|
ref="table1"
|
:table-fields="selectTabObj.tableFields"
|
:table-data="selectTabObj.tableData"
|
:is-edit-table-data="selectTabObj.isEditTableData"
|
:is-within-edit-table-data="selectTabObj.code=='policy'"
|
:edit-table-button="selectTabObj.editTableButton"
|
:pagesize="selectTabObj.pagesize"
|
:pagenum="selectTabObj.pagenum"
|
:total="selectTabObj.total"
|
:table-height="selectTabObj.tableHeight-80"
|
:table-field-click="selectTabObj.tablefieldClick"
|
:is-show-index="false"
|
:tableloading="tableloading"
|
:isdraggableorder="true"
|
|
v-on:get-data="getData"
|
v-on:edit-data="editData"
|
v-on:del-data="delData"
|
v-on:order-fields="orderTableFields"
|
>
|
</h-table>
|
</div>
|
|
<div v-if="showApprovalInfo" style="border-top: 15px">
|
<!-- <iframe :src="'../../approval/ApprovalList_page.html?flow_id=' + flow_id" style="width: 100%; height: 100%; border: 0px;"></iframe> -->
|
<div style="width: 100%; height: 100%; border: 0px;">
|
<div class="topbar">
|
<span>审批记录</span>
|
|
<div style="float: right; margin-right: 20px;">
|
<el-button-group>
|
<!-- <el-button :disabled="isexport_pdf" @click="" :loading="export_loading">导出</el-button> -->
|
<el-button @click="onShowApproval">查看流程图</el-button>
|
<!-- <el-button type="default" @click="closeDialog">关 闭</el-button> -->
|
</el-button-group>
|
</div>
|
</div>
|
<div class="versionNo">
|
<h-table
|
v-if="isRefresh"
|
ref="table3"
|
:table-fields="tableFields3"
|
:table-data="tableData3"
|
:table-height="selectTabObj.tableHeight-200"
|
:isdraggableorder="false"
|
:is-pagination="false"
|
:table-field-click="selectTabObj.tablefieldClick"
|
>
|
</h-table>
|
</div>
|
</div>
|
</div>
|
<el-dialog :title="approvalTitle" :close-on-click-modal="false" :visible.sync="reasonvisible" height="50%">
|
<el-input
|
type="textarea"
|
:autosize="{ minRows: 2, maxRows: 10}"
|
placeholder="请输入原因"
|
v-model="approveremark">
|
</el-input>
|
|
<h-form
|
ref="form3"
|
:form-attr="formAttr3"
|
:table-fields="formFields3"
|
:form-data="formData3"
|
:table-field-click="selectTabObj.formfieldClick"
|
>
|
</h-form>
|
|
<div slot="footer" class="dialog-footer" >
|
<el-button type="default" @click="reasonvisible = false">取 消</el-button>
|
<el-button type="primary" :loading="false" @click="saveReason">确 定</el-button>
|
</div>
|
</el-dialog>
|
<el-dialog title="附件列表" :close-on-click-modal="false" :visible.sync="showFileList" width="30%" height="10%">
|
<div class="versionNo">
|
<h-table
|
v-if="isRefresh"
|
ref="table1"
|
:table-fields="tableFields4"
|
:table-data="tableData4"
|
:table-height="250"
|
:is-pagination="false"
|
:table-field-click="selectTabObj.tablefieldClick"
|
>
|
</h-table>
|
</div>
|
</el-dialog>
|
</div>
|
<div class="el-dialog__footer" v-if="showButtonGroup">
|
<el-button size="small" v-if="!isbrowse" type="default" @click="closeDialog">取 消</el-button>
|
<el-button size="small" v-if="!isbrowse" :loading="btnLoading" type="primary" @click="saveRowTable">保 存</el-button>
|
<el-button size="small" v-if="(calculate && !isbrowse) && !istaskid" :loading="btnLoading" type="success" @click="startCalculate">开始计算</el-button>
|
<el-button size="small" v-if="(endCal && !isbrowse) || (!isbrowse && istaskid)" :loading="btnLoading" type="success" @click="startCalculate">重 算</el-button>
|
<el-button size="small" v-if="(endCal && !isbrowse) || (!isbrowse && istaskid)" :loading="btnLoading" @click="submit">提 交</el-button>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<script type="text/javascript">
|
function initVue() {
|
new TabTableVue({
|
el: "#vbody",
|
data: {
|
title: "政策补算",
|
dataname: "",
|
//Tab项设置
|
tabs_d: [],
|
filterAttr: {
|
labelwidth: "120px",
|
},
|
formAttr: {
|
istitle: false,
|
title: "表单名称",
|
columnnumber: 3,
|
labelwidth: "100px",
|
labelposition: "left",//"left",// right//top
|
size: "mini",
|
border: "10px solid #c6c6c600"
|
},
|
formAttr3: {
|
istitle: false,
|
title: "表单名称",
|
columnnumber: 2,
|
labelwidth: "140px",
|
labelposition: "left",//"left",// right//top
|
size: "mini",
|
border: "3px solid #c6c6c600"
|
},
|
|
formFields: [],
|
formData: {},
|
default_formFields_info: [
|
{isshow: "T",field: "code",name: "流程编号",width: "150", type: "span", required: true},
|
{isshow: "T",field: "creator_name",name: "申请人",width: "150", type: "span", required: true},
|
{isshow: "T",field: "creator_depart_name",name: "申请部门",width: "150", type: "span", required: true},
|
{isshow: "T", field: "head_remark", name: "备注", width: "150", type:"textarea", required: true, colspan: 2},
|
{isshow: "T",field: "amt",name: "总金额", type: "span", formatter: "formatter_money"},
|
],
|
formFields_info: [],
|
formData_info: {},
|
formData_back: {},
|
|
//审批相关
|
default_tableFields3: [
|
{isshow: "T", field: "node_name", name: "当前节点", width: "150", type:"span", required: true},
|
{isshow: "T", field: "end_time", name: "申请/审批时间", width: "100", type:"span", formatter: "formatter_date", required: true, isminwidth: true,},
|
{isshow: "T", field: "pass", name: "审批情况", width: "150", type:"span", required: true, isminwidth: true,},
|
{isshow: "T", field: "reason", name: "原因", width: "150", type: "span", required: true, isminwidth: true,},
|
{isshow: "T", field: "user_name", name: "申请/审批人", width: "150", type:"span", required: true, isminwidth: true,},
|
{isshow: "T", field: "viewFile", name: "附件", width: "200", type:"span", required: true, isminwidth: true,},
|
],
|
tableFields3: [],
|
tableFields4: [
|
{isshow: "T", field: "attachment_name", name: "附件", width: "200", type:"span", required: true, isminwidth: true,},
|
],
|
tableData3: [],
|
tableData4: [],
|
|
formFields3: [],
|
formData3: {},
|
default_formFields3: [
|
{isshow: "T", field: "files2", name: "附件", type: "uploadfilelist"},
|
],
|
approvalTitle: '通过原因',
|
|
d_tabs: {
|
//Policy: true
|
},
|
tabs: [],
|
tabsobj: {},
|
|
state: "",
|
isedit: false,
|
isrefuseedit: false,
|
undertake: false,
|
operate: false,
|
showBackBtn: false,
|
isapproval: false,
|
reasonvisible: false,
|
showFileList: false,
|
showApprovalInfo: false,
|
onlyRead: false,
|
|
approveremark: "",
|
|
plan_id: "",
|
plan_name: "",
|
|
popupFormData: {},
|
export_loading: false,
|
|
dataRequest: [
|
{
|
name: "md_province",
|
url: "rootjemin/data/getEntitySet",
|
paramsobj: {dataname: "md_division", filter: "level = '1'"},
|
isnotoption: false, //true:不是选项
|
}
|
],
|
showSave: false,
|
buttons: {},
|
tabMapButton:{
|
page_id: {},
|
},
|
|
selectedrows: [],
|
showFilter: false,
|
filterBtnText: "使用筛选条件",
|
btnLoading: false,
|
calculate: true,//开始计算
|
endCal: false,//是否结束计算
|
reCal: true,//重算
|
iscommit: false,//是否提交
|
|
editTableButton: {
|
del: {
|
isshow: true,
|
txt: "删除"
|
}
|
},
|
|
dataname_zc: "",
|
another_field: [
|
{isshow: "T", field: "modify_type", name: "来源", type: "span", width: "150"},
|
{isshow: "T", field: "cal_end_date", name: "计算结束时间", type: "date", formatter: "formatter_date", width: "150"},
|
{isshow: "T", field: "cal_start_date", name: "计算开始时间", type: "date", formatter: "formatter_date", width: "150"},
|
],
|
tableData_save: [],
|
newformData: {},
|
add_: false,
|
remark: 1,
|
t_height: null,
|
isbrowse: false,
|
star: false,
|
istaskid: false,
|
fee_agm: false,
|
params_zc: {},
|
not_list: ["id", "idx","creator_id","type","creator_name","create_time","update_time","task_id" ,"his_task_id"],
|
codeApprovalDone: false,// 标识审批已办tab的code点击进入详情
|
codeAddClick: false,//标识申请时点击code进入详情
|
showButtonGroup:false,
|
},
|
created() {
|
let me = this
|
|
this.getButtonsByPage("A10-49");
|
this.popupParames = clone(Root.popupParames);
|
this.title = this.popupParames.title || this.popupParames.text;
|
if (this.popupParames.data) {
|
this.formData = clone(this.popupParames.data);
|
this.formData_info = clone(this.popupParames.data);
|
|
if (this.formData.state_name) {
|
this.state = clone(this.formData.state_name);
|
if (this.state && this.state == "已反馈") {
|
this.onlyRead = true
|
}
|
}
|
if (this.formData.plan_id) {
|
this.getPageInfo(this.formData.plan_id, this.formData.task_id ? this.formData.task_id : "" , this.remark)
|
}
|
}
|
|
if (this.popupParames.delta) {
|
if (this.popupParames.delta.plan_id) {
|
this.getPageInfo(this.popupParames.delta.plan_id)
|
|
this.plan_id = this.popupParames.delta.plan_id
|
this.plan_name = this.popupParames.delta.plan_name
|
}
|
if (this.popupParames.delta.undertake) {
|
this.undertake = true
|
}
|
if (this.popupParames.delta.operate) {
|
this.operate = true
|
}
|
if (this.popupParames.delta.codeApprovalDone) {
|
this.codeApprovalDone = true
|
this.formAttr.disabled = true;
|
}
|
if (this.popupParames.delta.codeAddClick) {
|
this.codeAddClick = true
|
this.formAttr.disabled = true;
|
}
|
}
|
|
if (this.popupParames.sceneCode) {
|
if (this.popupParames.sceneCode == "approval") {//审批
|
this.formAttr.disabled = true;
|
this.isapproval = true;
|
this.onlyRead = true
|
// this.getPageInfo(this.formData.plan_id, this.formData.task_id, this.remark)
|
}
|
else {
|
this.newformData = {
|
biz_date: createDate(),
|
creator_code: window.top.vue.userinfo.employee.code,
|
creator_name: window.top.vue.userinfo.employee.name,
|
creator_depart_name: window.top.vue.userinfo.employee.hierarchyNodesStr || "虚拟部门",
|
status: 'input',
|
}
|
}
|
|
if (this.popupParames.sceneCode == "add") {//新增
|
if (this.newformData) {
|
let formData_ = clone(this.formData);
|
|
for (var k in this.newformData) {
|
formData_[k] = this.newformData[k];
|
}
|
this.formData = formData_;
|
this.formData_info = formData_;
|
}
|
this.isedit = true;
|
this.showButtonGroup = true
|
|
}
|
else if (this.popupParames.sceneCode == "browse") {//只读
|
this.formAttr.disabled = true;
|
if (this.popupParames.data['status'] == "open" || this.popupParames.data['status'] == "working" || this.popupParames.data['status'] == "close") {
|
this.isbrowse = true; // 标识审批中和审批完成状态的点击查看详情
|
}
|
else {
|
this.showButtonGroup = true
|
}
|
if (this.popupParames.data['task_id']) {
|
this.istaskid = true; // 标识计算后保存再进入详情,让重算和提交出现
|
}
|
// this.getPageInfo(this.formData.plan_id, this.formData.task_id, this.remark+1)
|
}
|
else if (this.popupParames.sceneCode == "edit") {//编辑
|
this.isedit = true;
|
}
|
else if (this.popupParames.sceneCode == "refuseedit") {//拒绝后的编辑
|
this.isrefuseedit = true;
|
}
|
else if (this.popupParames.sceneCode == "change") {
|
this.formAttr.disabled = true;
|
}
|
}
|
|
if (!this.isedit) {
|
document.getElementById('tabAreaId').style.marginTop = "10px"
|
}
|
|
},
|
|
mounted() {
|
var me = this;
|
me.t_height = document.documentElement.clientHeight*1 - 91;
|
},
|
computed: {
|
formDataDate() {
|
return this.formData.calculate_date;
|
}
|
},
|
watch: {
|
formDataDate: function (newVal, oldVal) {
|
this.popupFormData = {}
|
this.filterTxt = "1<>1"
|
this.onQuery()
|
},
|
deep:true
|
},
|
methods:{
|
getButtonsByPage(pageid) {
|
var me = this;
|
var resource_type = "button";
|
|
var roleCode = Root.role.id;
|
var roleid_str = "";
|
roleCode.map(r=>{
|
if (!roleid_str) {
|
roleid_str = r;
|
}
|
else {
|
roleid_str += ";" + r;
|
}
|
});
|
|
var roleid_ = roleid_str.replace(/;/g,"','");
|
//按键
|
var params = {
|
dataname: "buttonByPage",//buttonByPage/buttonByPanel
|
isClientMode: false,
|
filter: "resource_page.id='" + pageid +
|
"' and EXISTS( SELECT 1 from resource_role r where r.type='" + resource_type +
|
"' and r.role_id in ('" + roleid_ + "') and r.resource_id = t.id)"
|
//userId: this.userId
|
}
|
Server.call("root/data/getEntitySet", params, function(result) {
|
console.log(result);
|
if (result && result.data.entityset) {
|
result.data.entityset.map(e=>{
|
if (!me.tabMapButton[e.page_id]) {
|
me.tabMapButton[e.page_id] = {};
|
}
|
me.tabMapButton[e.page_id][e.id_name]=e;
|
});
|
me.getButtonByTabName(pageid);
|
|
me.$forceUpdate();
|
}
|
});
|
},
|
getButtonByTabName(tab_name) {
|
var me = this;
|
me.buttons = {};
|
if (me.tabMapButton[tab_name]) {
|
me.buttons = me.tabMapButton[tab_name];
|
}
|
if (me.buttons.save) {
|
me.showSave = true
|
}
|
},
|
fileUpload() {
|
document.getElementById("btn_file").click()
|
},
|
getFile(event) {
|
var me = this;
|
//this.fullscreenLoading = true;
|
var file = event.target.files;
|
var forms = new FormData();
|
|
if(file.length <= 0) {
|
//this.fullscreenLoading = false;
|
}
|
for (var i = 0; i < file.length; i++) {
|
// 上传类型判断
|
var FileName = file[i].name;
|
var idx = FileName.lastIndexOf(".");
|
if (idx != -1) {
|
var ext = FileName.substr(idx + 1).toUpperCase();
|
ext = ext.toLowerCase();
|
if (ext == 'xlsx') {
|
let formData = new FormData()
|
formData.append("file", file[i]);
|
me.export_loading = true
|
uploadAxios.post(window.top.RootSetting.url_jemin + 'io/loadData?ioname=' + "load_" + me.tabs[0].dataname + '&token=' + Root.getToken(), formData).then(result => {
|
if(result.data.success) {
|
me.onQuery()
|
}
|
if (result.data.messages && result.data.messages.list && result.data.messages.list.length > 0){
|
let str = ''
|
result.data.messages.list.map(e => {
|
if (!str) str += "<div style='max-height:250px; width: auto; overflow: auto; line-height: 16px; letter-spacing: 1px;'>" + decodeURI(e.message)
|
else {
|
str += "</br></br> " + decodeURI(e.message)
|
}
|
})
|
|
if(result.data.success) {
|
Root.message({
|
dangerouslyUseHTMLString: true,
|
type: 'success',
|
message: str
|
});
|
}
|
else {
|
me.$alert(str, '提示', {
|
dangerouslyUseHTMLString: true
|
});
|
}
|
}
|
//me.fullscreenLoading = false;
|
}).catch(error => {
|
me.$message({
|
showClose: true,
|
message: ':请求出现错误:' + error,
|
type: 'error'
|
});
|
//me.fullscreenLoading = false;
|
});
|
} else {
|
Root.message({
|
type: 'info',
|
message: '格式不正确'
|
});
|
//me.fullscreenLoading = false;
|
}
|
}
|
}
|
|
event.target.value = null
|
},
|
exportList() {
|
exportList(this.tabs[0].dataname, this.getFilterData())
|
},
|
|
// 新增政策明细
|
addPolicy() {
|
var me = this;
|
let policy_name = ""
|
|
if (this.formData.policy_type == 'syzc') {
|
this.dataname_zc = "agm_record_syzc"
|
policy_name = "商业政策"
|
}
|
else if (this.formData.policy_type == 'ecyj') {
|
this.dataname_zc = "agm_record_ecyj"
|
policy_name = "二次议价"
|
}
|
else if (this.formData.policy_type == 'qtfy') {
|
this.dataname_zc = "agm_record_qtfy"
|
policy_name = "前台费用"
|
}
|
|
let tableData_save_ = clone(this.tableData_save)
|
let idd = ""
|
let idlist = ""
|
for (var i = 0; i < tableData_save_.length; i++) {
|
idd = tableData_save_[i].id;
|
|
if (idlist == "") {
|
idlist = idd;
|
}
|
else {
|
idlist += "','" + idd;
|
}
|
|
}
|
//过滤
|
let filter_ = "type = '" + this.formData.policy_type + "' and id not in ('" + idlist + "')" ;
|
if(this.formData.plicy_sub_type) {
|
filter_ += "and trans_type = '" + this.formData.plicy_sub_type + "'"
|
}
|
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "1200px",
|
height: "700px",
|
icon: "icon-product",
|
text: "请选择" +policy_name+ "明细数据",
|
id: "popup_can_modify_policy",//totab: true时需设置,用于判断是否已打开此页面
|
url: "../tradeDiscount/discount/popup_can_modify_policy.html",
|
dataname: "getCanModifyRecord",
|
filter: filter_,
|
data: {},
|
delta: {dataname_zc: me.dataname_zc},
|
sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(data, callback) {
|
let tableData_ = clone(me.selectTabObj.tableData)
|
data.map(e => {
|
e.modify_type = "add-approve"
|
e.direction = "1"
|
tableData_.push(e);
|
})
|
me.selectTabObj.tableData = tableData_
|
me.tableData_save = clone(tableData_)
|
me.queryAfter()
|
me.selectTabObj.tableData = clone(me.tableData_save)
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
//开始计算
|
startCalculate() {
|
let me = this;
|
let tableData_save_save= clone(this.tableData_save);
|
let formData_save = clone(this.formData);
|
let entity = {}
|
let flag = true
|
tableData_save_save.map(e => {
|
if (!e.cal_start_date || !e.cal_end_date) {
|
flag = false
|
}
|
})
|
if (this.selectTabObj.dataname == "agm_modify_record" && tableData_save_save.length == 0) {
|
Root.message({
|
type: 'warning',
|
message: '请先添加政策明细数据'
|
});
|
}
|
else if (!flag) {
|
Root.message({
|
type: 'warning',
|
message: '请填写计算开始时间和计算结束时间'
|
});
|
}
|
else {
|
tableData_save_save.map(s => {
|
if (s.parent_id && s.id) {
|
s.parent_id = s.id
|
}
|
if (s.modify_type && s.modify_type == "红冲") {
|
s.modify_type = "red"
|
}
|
else if (s.modify_type && s.modify_type == "重算补录") {
|
s.modify_type = "reCal"
|
}
|
else if (s.modify_type && s.modify_type == "政策补录导入") {
|
s.modify_type = "add-load"
|
}
|
else if (s.modify_type && s.modify_type == "政策补录") {
|
s.modify_type = "add-approve"
|
}
|
else if (s.modify_type && s.modify_type == "政策变更前") {
|
s.modify_type = "modify-pre"
|
}
|
else if (s.modify_type && s.modify_type == "政策作废") {
|
s.modify_type = "close"
|
}
|
else if (s.modify_type && s.modify_type == "政策变更后") {
|
s.modify_type = "modify-after"
|
}
|
else if (s.modify_type && s.modify_type == "政策取消") {
|
s.modify_type = "del"
|
}
|
})
|
for (var r in formData_save) {
|
if (r == 'head_remark'&& formData_save[r]) {
|
formData_save.head_remark = formData_save[r]
|
}
|
}
|
let param = {
|
dataName: 'pkg_agm_modify',
|
data: {
|
agm_modify_apply: formData_save,
|
agm_modify_detail: tableData_save_save,
|
},
|
}
|
Server.call("rootjemin/data/saveEntity", param, function(result) {
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '保存成功'
|
});
|
let param_ = {
|
id: me.formData.id,
|
}
|
Server.call("rootjemin/fee/submitRedPolicy", param_, function(result) {
|
if (result.success) {
|
let param_task = {
|
dataname: "agm_modify_apply",
|
id: me.formData.id
|
}
|
Server.call("rootjemin/data/getEntity", param_task, function(result_task) {
|
if (result_task.success && result_task.data && result_task.data['agm_modify_apply']) {
|
me.btnLoading = false
|
let task_id = result_task.data['agm_modify_apply'].task_id || "";
|
if (task_id) {
|
me.remark += 1;
|
me.formData.from_new = "notnew"
|
me.getPageInfo(me.formData.plan_id, task_id, me.reamrk)
|
me.calculate = false
|
me.endCal = true
|
}
|
}
|
})
|
|
}
|
})
|
}
|
});
|
}
|
},
|
|
// 提交
|
submit() {
|
this.iscommit = true;
|
this.saveRowTable();
|
},
|
|
//保存
|
saveRowTable() {
|
let me = this;
|
let formData_save = clone(this.formData)
|
let tableData_save_save = clone(this.tableData_save);
|
tableData_save_save.map(s => {
|
if (s.parent_id && s.id) {
|
s.parent_id = s.id
|
}
|
if (s.modify_type && s.modify_type == "红冲") {
|
s.modify_type = "red"
|
}
|
else if (s.modify_type && s.modify_type == "重算补录") {
|
s.modify_type = "reCal"
|
}
|
else if (s.modify_type && s.modify_type == "政策补录导入") {
|
s.modify_type = "add-load"
|
}
|
else if (s.modify_type && s.modify_type == "政策补录") {
|
s.modify_type = "add-approve"
|
}
|
else if (s.modify_type && s.modify_type == "政策变更前") {
|
s.modify_type = "modify-pre"
|
}
|
else if (s.modify_type && s.modify_type == "政策作废") {
|
s.modify_type = "close"
|
}
|
else if (s.modify_type && s.modify_type == "政策变更后") {
|
s.modify_type = "modify-after"
|
}
|
else if (s.modify_type && s.modify_type == "政策取消") {
|
s.modify_type = "del"
|
}
|
})
|
for (var r in formData_save) {
|
if (r == 'head_remark'&& formData_save[r]) {
|
formData_save.head_remark = formData_save[r]
|
}
|
}
|
let param = {
|
dataName: 'pkg_agm_modify',
|
data: {
|
agm_modify_apply: formData_save,
|
agm_modify_detail: tableData_save_save,
|
},
|
}
|
Server.call("rootjemin/data/saveEntity", param, function(result) {
|
if(!me.iscommit) {
|
me.btnLoading = false
|
}
|
if (result.success) {
|
if(me.iscommit){
|
me.iscommit = false;
|
me.doSubmit(param.data.agm_modify_apply.id);
|
}
|
else {
|
Root.message({
|
type: 'success',
|
message: '保存成功'
|
});
|
me.saveAfter();
|
}
|
}
|
});
|
},
|
|
doSubmit(id) {
|
let me = this;
|
let pa = {
|
dataName: "agm_modify_apply",
|
id: id,
|
flow_id: this.formData.flow_id || "",
|
business_type: "recordModify"
|
}
|
Server.call("rootjemin/data/Commit", pa, function(result) {
|
me.btnLoading = false
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '提交成功'
|
});
|
try {
|
window.top.vue.setMenuBadgeByMenuid('A1046', 'recordModify'); //第一个参数:补算审批的page_id
|
} catch (error) {
|
console.error("error=>",error);
|
}
|
me.saveAfter();
|
}
|
}, function(result) {
|
me.btnLoading = false
|
if (result.messages && result.messages.list && result.messages.list.length > 0){
|
let str = ''
|
result.messages.list.map(e => {
|
if (!str) str += "<div style='max-height:250px; width: auto; overflow: auto; line-height: 16px; letter-spacing: 1px; color: #e10c0c;'>" + e.message
|
else {
|
str += "</br></br> " + e.message
|
}
|
})
|
|
me.$alert(str, '提示', {
|
dangerouslyUseHTMLString: true
|
});
|
|
// Root.message({
|
// dangerouslyUseHTMLString: true,
|
// type: 'error',
|
// message: str
|
// });
|
}
|
});
|
},
|
|
getPageInfo(plan_id, task_id, remark) {
|
let me = this
|
let filterTxt_ = ""
|
let param = {
|
dataName: "v_fee_book_info",
|
filter: "planid = '" + plan_id + "'"
|
}
|
Server.call("rootjemin/data/getEntitySet", param, function(result) {
|
if (result.success) {
|
if (result.data.entityset) {
|
if (remark == 1 && !me.isapproval) {
|
let list0 = {code: "policy", name: "补算政策明细", dataname: "agm_modify_record", filterTxt: me.formData.policy_sub_type ? "in_approve = 'F' and type = '"+me.formData.policy_type+"' and flow_type = '"+me.formData.policy_sub_type+"'" : "in_approve = 'F' and type = '"+me.formData.policy_type+"'", orderby: "update_time desc",
|
tableData: [],
|
tableFields: [],
|
filterFields: [],
|
dataurl: "rootjemin/data/getEntitySet"}
|
//审批时点进详情页只看后面的tab
|
if (1) {
|
me.tabs_d.push(list0)
|
me.d_tabs['policy'] = true
|
}
|
|
}
|
if (task_id) {
|
result.data.entityset.map(s => {
|
let list = {code: "matched", name: "已匹配", dataname: s.plan_object, filterTxt: "task_id = '"+ task_id+"'", orderby: "update_time desc",
|
tableData: [],
|
tableFields: [],
|
filterFields: [],
|
dataurl: "rootjemin/data/getEntitySet"}
|
let list1 = {code: s.book_code, name: s.band_name, dataname: s.un_linked_data_object, filterTxt: "task_id = '"+ task_id+"'", orderby: "update_time desc",
|
tableData: [],
|
tableFields: [],
|
filterFields: [],
|
dataurl: "rootjemin/data/getEntitySet"}
|
|
if ((me.tabs_d.length == 1 && me.tabs_d[0].code == "policy") || me.isapproval) {
|
me.tabs_d.push(list)
|
me.d_tabs['matched'] = true
|
}
|
if ((me.tabs_d.length == 2 && me.tabs_d[1].code == "matched") || me.isapproval) {
|
me.tabs_d.push(list1)
|
me.d_tabs[s.book_code] = true
|
}
|
})
|
}
|
|
me.ctabs_r = me.d_tabs;
|
|
var tabsarr = [];
|
me.tabs_d.map(e=>{
|
if(me.ctabs_r[e.code]){
|
tabsarr.push(e)
|
}
|
})
|
me.tabs = tabsarr;
|
|
if(me.tabs.length>0){
|
me.activeTabName = me.tabs[0].code;
|
}
|
|
|
if (me.dataRequest && me.dataRequest.length) {
|
var result = {};
|
me.loadRequestData(me.dataRequest, result, function(data) {
|
me.dataRequestObj = data;
|
//预加载数据后给哪些字段设置options或formatterjson
|
|
//初始化Tabs
|
me.initTabsPage(function() {
|
//获取数据
|
me.initData();
|
});
|
});
|
}
|
else {
|
//初始化Tabs
|
me.initTabsPage(function() {
|
//获取数据
|
me.initData();
|
});
|
}
|
|
me.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
|
hideLoading();
|
});
|
}
|
}
|
});
|
},
|
|
saveAfter() {
|
var me = this;
|
if(this.popupParames.callback) {
|
let obj = {
|
//row: this.formData
|
}
|
this.popupParames.callback(obj, function() {
|
me.closeDialog();
|
});
|
}
|
else {
|
me.closeDialog();
|
}
|
},
|
|
editData(scope) {
|
let me = this
|
let row = scope.row
|
|
let param = {
|
dataName: me.selectTabObj.dataname,
|
data: {
|
id: row.id,
|
task_id: this.formData.id,
|
_d_total_amt: row._d_total_amt || 0,
|
_diff_amt: row._diff_amt || 0,
|
_d_disocunt_total_amt: row._d_disocunt_total_amt || 0,
|
_d_compliance_deduction: row._d_compliance_deduction || 0,
|
_d_deduction_amt: row._d_deduction_amt || 0,
|
_d_discount_actual: row._d_discount_actual || 0,
|
_dc_diff: row._dc_diff || 0,
|
_scan_diff: row._scan_diff || 0,
|
_actual_amount: row._actual_amount || 0,
|
check_emp_list: []
|
}
|
}
|
|
if (row.check_emp_list) {
|
param.data.check_emp_list = row.check_emp_list
|
}
|
|
Server.call("rootjemin/data/SaveResult", param, function(result) {
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '保存成功'
|
})
|
}
|
});
|
},
|
|
onhandleClick() {
|
this.initData();
|
},
|
|
onInitFilter() {
|
//清空
|
this.selectTabObj.filterObj = {};
|
this.selectTabObj.selectedrow = {};
|
this.initData();
|
},
|
|
onQuery() {
|
let me = this
|
if (me.popupFormData && me.popupFormData.id) {
|
me.filterTxt = "task_id = '" + me.popupFormData.id + "'"
|
}
|
me.export_loading = false
|
this.initData();
|
},
|
|
initData() {
|
var me = this;
|
let length_agm = this.selectTabObj.dataname.split('_').length
|
|
if (length_agm != 1 && this.selectTabObj.dataname.split('_')[length_agm-1] == "agm") {
|
me.fee_agm = true
|
}
|
if (this.formData.policy_type == 'syzc') {
|
this.dataname_zc = "agm_record_syzc"
|
}
|
else if (this.formData.policy_type =='ecyj') {
|
this.dataname_zc = "agm_record_ecyj"
|
}
|
else if (this.formData.policy_type == 'qtfy') {
|
this.dataname_zc = "agm_record_qtfy"
|
}
|
|
this.params_zc = {
|
dataname: this.dataname_zc
|
}
|
|
this.doQueryByTab(function(result, callback) {//查询后的回调,用于获取字段的
|
if (me.selectTabObj.dataname == "agm_modify_record" && ("new" != me.formData.from_new)) {
|
let params = {
|
dataname: "pkg_agm_modify",
|
id: me.formData.id,
|
}
|
Server.call("rootjemin/data/getEntity", params, function(result_){
|
if (result_.success && result_.data && result_.data['agm_modify_detail']) {
|
let tableData_ = result_.data['agm_modify_detail'];
|
// me.selectTabObj.tableData = tableData_
|
me.tableData_save = clone(tableData_)
|
me.queryAfter();
|
me.selectTabObj.tableData = clone(me.tableData_save)
|
}
|
})
|
}
|
if (result.success && me.selectTabObj.dataname == "agm_modify_record") {// 拿政策的字段
|
|
Server.call("rootjemin/history/getTableMeta", me.params_zc, function(result_zc){
|
var metas = clone(result_zc.meta[me.dataname_zc].fields);
|
var filterFields_ = [];
|
var tableFields_ = [];
|
|
metas.map(f=>{
|
f.isshow = "T";
|
f.type = "span"
|
if (f.isfilter) {
|
filterFields_.push(clone(f));
|
}
|
else {
|
var filter_f = clone(f);
|
filter_f.isshow = "F";
|
filterFields_.push(filter_f);
|
}
|
if (f.field == "code" || f.field == "status") {
|
f.isshow = "F"
|
}
|
tableFields_.push(clone(f));
|
})
|
|
me.another_field.map(e => {
|
if (me.isbrowse || me.codeAddClick || me.codeApprovalDone) {
|
e.type = "span"
|
tableFields_.unshift(e)
|
}
|
else {
|
tableFields_.unshift(e)
|
}
|
|
})
|
|
if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) {
|
me.selectTabObj.filterFields = clone(filterFields_);
|
me.selectTabObj.tableFields = clone(tableFields_);
|
|
me.formFields = clone(me.default_formFields)
|
me.formFields_info = clone(me.default_formFields_info)
|
me.tableFields3 = clone(me.default_tableFields3);
|
me.formFields3 = clone(me.default_formFields3);
|
|
//字段数组转字段obj
|
me.fieldsToFieldsObj();
|
|
//设置字段事件
|
me.tableFieldClick();
|
}
|
|
|
if (me.formData.status != "working" && me.formData.status != "open") {
|
me.selectTabObj.editTableButton = me.editTableButton
|
me.selectTabObj.isEditTableData = true
|
}
|
else {
|
me.selectTabObj.isEditTableData = false
|
}
|
|
})
|
me.tableData_save = clone(me.selectTabObj.tableData);
|
me.queryAfter();
|
me.selectTabObj.tableData = clone(me.tableData_save)
|
}
|
else if(result.success && me.fee_agm) {
|
Server.call("rootjemin/history/getTableMeta", me.params_zc, function(result_zc){
|
var metas = clone(result_zc.meta[me.dataname_zc].fields);
|
var filterFields_ = [];
|
var tableFields_ = [];
|
|
metas.map(f=>{
|
f.isshow = "T";
|
f.type = "span"
|
if (f.isfilter) {
|
filterFields_.push(clone(f));
|
}
|
else {
|
var filter_f = clone(f);
|
filter_f.isshow = "F";
|
filterFields_.push(filter_f);
|
}
|
if (f.field == "code" || f.field == "status") {
|
f.isshow = "F"
|
}
|
if (me.not_list.includes(f.field)){
|
tableFields_.push(clone(f));
|
}
|
else{
|
f.field = '_' + f.field
|
tableFields_.push(clone(f));
|
}
|
})
|
|
if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) {
|
me.selectTabObj.filterFields = clone(filterFields_);
|
me.selectTabObj.tableFields = clone(tableFields_);
|
|
me.formFields = clone(me.default_formFields)
|
me.formFields_info = clone(me.default_formFields_info)
|
me.tableFields3 = clone(me.default_tableFields3);
|
me.formFields3 = clone(me.default_formFields3);
|
|
//字段数组转字段obj
|
me.fieldsToFieldsObj();
|
|
//设置字段事件
|
me.tableFieldClick();
|
}
|
|
})
|
|
}
|
else { //
|
if (result.meta && result.meta[me.selectTabObj.dataname] && result.meta[me.selectTabObj.dataname].fields) {
|
var metas = clone(result.meta[me.selectTabObj.dataname].fields);
|
var filterFields_ = [];
|
var tableFields_ = [];
|
|
metas.map(f=>{
|
f.isshow = "T";
|
|
if (f.isfilter) {
|
if (f.field == '_province_name' || f.field == '_seller_province_name') {
|
f.isfilterable = true
|
me.dataRequestObj.md_province.data.entityset.map(e => {
|
e.value = e.name
|
e.code = e.name
|
})
|
f.options = me.dataRequestObj.md_province.data.entityset
|
}
|
if (f.field == '_seller_province_code') {
|
f.isfilterable = true
|
me.dataRequestObj.md_province.data.entityset.map(e => {
|
e.value = e.name
|
e.code = e.code
|
})
|
f.options = me.dataRequestObj.md_province.data.entityset
|
}
|
if (f.field == '_month') {
|
let options = [
|
{value: "1", code: "1"},
|
{value: "2", code: "2"},
|
{value: "3", code: "3"},
|
{value: "4", code: "4"},
|
{value: "5", code: "5"},
|
{value: "6", code: "6"},
|
{value: "7", code: "7"},
|
{value: "8", code: "8"},
|
{value: "9", code: "9"},
|
{value: "10", code: "10"},
|
{value: "11", code: "11"},
|
{value: "12", code: "12"}
|
]
|
f.options = options
|
}
|
|
filterFields_.push(clone(f));
|
}
|
else {
|
var filter_f = clone(f);
|
filter_f.isshow = "F";
|
filterFields_.push(filter_f);
|
}
|
tableFields_.push(clone(f));
|
})
|
if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) {
|
me.selectTabObj.filterFields = clone(filterFields_);
|
me.selectTabObj.tableFields = clone(tableFields_);
|
|
me.formFields = clone(me.default_formFields)
|
me.formFields_info = clone(me.default_formFields_info)
|
me.tableFields3 = clone(me.default_tableFields3);
|
me.formFields3 = clone(me.default_formFields3);
|
|
//字段数组转字段obj
|
me.fieldsToFieldsObj();
|
|
//设置字段事件
|
me.tableFieldClick();
|
}
|
}
|
}
|
|
if (me.formData.flow_id) {
|
me.showApprovalInfo = true
|
me.getApprovalHisInfo(me.formData.flow_id || "")
|
}
|
|
if (callback) {
|
callback();
|
}
|
});
|
|
},
|
|
queryAfter() {
|
let me = this
|
if (me.tableData_save.length > 0) {
|
let tableData = clone(me.tableData_save)
|
tableData.map(s => {
|
if (s.freeze && s.freeze == 'T') s.freeze = '是'
|
else s.freeze = '否'
|
|
if (s.has_sign) s.has_sign = '是'
|
else s.has_sign = '否'
|
|
if (s.modify_type && s.modify_type == "red") {
|
s.modify_type = "红冲"
|
}
|
else if (s.modify_type && s.modify_type == "reCal") {
|
s.modify_type = "重算补录"
|
}
|
else if (s.modify_type && s.modify_type == "add-load") {
|
s.modify_type = "政策补录导入"
|
}
|
else if (s.modify_type && s.modify_type == "add-approve") {
|
s.modify_type = "政策补录"
|
}
|
else if (s.modify_type && s.modify_type == "modify-pre") {
|
s.modify_type = "政策变更前"
|
}
|
else if (s.modify_type && s.modify_type == "close") {
|
s.modify_type = "政策作废"
|
}
|
else if (s.modify_type && s.modify_type == "modify-after") {
|
s.modify_type = "政策变更后"
|
}
|
else if (s.modify_type && s.modify_type == "del") {
|
s.modify_type = "政策取消"
|
}
|
})
|
// me.selectTabObj.tableData = tableData
|
me.tableData_save = tableData
|
}
|
},
|
|
tableFieldClick() {
|
var me = this;
|
var tablefieldClick = {};
|
var formfieldClick = {};
|
//表格字段事件设置
|
tablefieldClick = {
|
cal_start_date: {
|
input: {
|
onchange: function(obj) {
|
let tableData_ = clone(me.selectTabObj.tableData)
|
// tableData_.map((e,index) => {
|
// if(e.field == "cal_start_date" && index == obj.$index) {
|
// e = clone(obj.row)
|
// }
|
// })
|
// me.selectTabObj.tableData = tableData_;
|
// me.tableData_save = clone(me.selectTabObj.tableData);
|
|
tableData_.map((e,index) => {
|
if(e.field == "cal_start_date" && index == obj.$index) {
|
me.$set(e, 'cal_start_date', obj.row['cal_strat_date'])
|
}
|
});
|
me.selectTabObj.tableData = tableData_;
|
me.tableData_save = clone(me.selectTabObj.tableData);
|
}
|
}
|
},
|
cal_end_date: {
|
input: {
|
onchange: function(obj) {
|
let tableData_ = clone(me.selectTabObj.tableData)
|
|
tableData_.map((e,index) => {
|
if(e.field == "cal_end_date" && index == obj.$index) {
|
me.$set(e, 'cal_end_date', obj.row['cal_end_date'])
|
}
|
});
|
me.selectTabObj.tableData = tableData_;
|
me.tableData_save = clone(me.selectTabObj.tableData);
|
}
|
}
|
},
|
viewFile: {
|
val: {
|
onclick: function(obj) {
|
me.showFileList = true
|
me.getFileList(obj.row.attachment)
|
},
|
}
|
},
|
attachment_name: {
|
val: {
|
onclick: function(obj) {
|
me.showFileImgByFileId({file_id: obj.row.attachment, file_name: obj.row.attachment_name}, true);
|
},
|
}
|
},
|
};
|
|
formfieldClick = {
|
head_remark: {
|
input: {
|
onchange: function(obj) {
|
me.$set(me.formData, "head_remark", obj.data.head_remark);
|
}
|
}
|
},
|
attachment_name: {
|
buttonarray: {
|
onclick: function(obj) {
|
var filenamefield = obj.obj.field;
|
var fileidfield = "attachment_name";
|
if(obj.buttonobj && obj.buttonobj.code == "showfilebyfile"){
|
me.showFileImgByFileId(obj.buttonobj.fileobj);
|
}else if (obj.buttonobj && obj.buttonobj.code == "uploadlist"){
|
me.onPopupByUploadFile(filenamefield, fileidfield, me.dataname);
|
}else if (obj.buttonobj && obj.buttonobj.code == "delfilebyfile"){
|
me.deleteByFileId(filenamefield, obj.buttonobj.fileobj);
|
}
|
}
|
}
|
},
|
files2: {
|
buttonarray: {
|
onclick: function(obj) {
|
var filenamefield = obj.obj.field;
|
var fileidfield = "files2";
|
if(obj.buttonobj && obj.buttonobj.code == "showfilebyfile"){
|
me.showFileImgByFileId(obj.buttonobj.fileobj, true);
|
}else if (obj.buttonobj && obj.buttonobj.code == "uploadlist"){
|
me.onPopupByUploadFile(filenamefield, fileidfield, me.dataname, true);
|
}else if (obj.buttonobj && obj.buttonobj.code == "delfilebyfile"){
|
me.deleteByFileId(filenamefield, obj.buttonobj.fileobj, true);
|
}
|
}
|
}
|
},
|
}
|
|
this.selectTabObj.formfieldClick = formfieldClick;
|
this.selectTabObj.tablefieldClick = tablefieldClick;
|
},
|
|
getFileList(parentFileId) {
|
let me = this
|
|
let param = {
|
dataName: "sys_file_mapping",
|
filter: "parent_id = '" + parentFileId + "'"
|
}
|
Server.call("rootjemin/data/getEntitySet", param, function(result) {
|
if (result.success) {
|
let fileList = result.data.entityset || []
|
fileList.map(e => {
|
e.attachment_name = e.file_name
|
e.attachment = e.file_id
|
})
|
|
me.tableData4 = fileList
|
}
|
});
|
},
|
getApprovalHisInfo(flowId) {
|
let me = this
|
|
if (!flowId) {
|
return
|
}
|
|
let param = {
|
flowId: flowId
|
}
|
|
Server.call("jeminact/root/order/getHistoryTask", param, function(result) {
|
if (result.success) {
|
let tableData = []
|
tableData = result.data.entityset
|
tableData.map(s => {
|
s.pass = !s.pass && s.pass !== 0? '' : s.pass == '1'? '同意' : '拒绝'
|
s.user_name = s.user_name? s.user_name : '已完成'
|
|
s.viewFile = s.attachment? "查看附件" : ''
|
})
|
me.tableData3 = tableData
|
}
|
});
|
},
|
onShowApproval() {
|
var me = this;
|
let param = {
|
isClientMode: false,
|
flowId: this.formData.flow_id
|
}
|
|
var config = {
|
hide_close: true,
|
width: "85vw",
|
height: "95vh",
|
url: "../approval_new/Approval_flowid_new.html",
|
data: {},
|
delta: {
|
flow_id: this.formData.flow_id,
|
title: ''
|
},
|
};
|
|
this.doPopupByPublic(config);
|
},
|
|
approvalOp(op) {
|
this.reasonvisible = true
|
this.approveremark = ""
|
this.formData3.files2 = null
|
if (op) {
|
this.approvalTitle = '通过原因'
|
this.pass = true
|
}
|
else {
|
this.approvalTitle = '拒绝原因'
|
this.pass = false
|
}
|
},
|
|
saveReason() {
|
let me = this
|
|
if (!this.pass && !this.approveremark) {
|
Root.message({
|
type: 'warning',
|
message: '请填写拒绝原因'
|
})
|
|
return
|
}
|
|
if (this.formData3.files2 && this.formData3.files2.length > 0) {
|
let sys_file_mapping = []
|
let parent_id = uuid_short()
|
this.formData3.files2.map(e => {
|
let list = {
|
parent_id: parent_id,
|
type: "fee_task",
|
file_id: e.id,
|
file_name: e.file_name
|
}
|
sys_file_mapping.push(list)
|
})
|
let param = {
|
dataName: 'sys_file_mapping',
|
data: {
|
sys_file_mapping: sys_file_mapping
|
},
|
}
|
|
Server.call("rootjemin/data/saveEntity", param, function(result) {
|
if (result.success) {
|
me.doSaveReason(parent_id)
|
}
|
});
|
}
|
else {
|
me.doSaveReason()
|
}
|
},
|
|
doSaveReason(parent_id) {
|
let me = this
|
|
let param = {
|
businessId: this.formData.id,
|
flowId: this.formData.flow_id,
|
variableMap: {
|
dataName: "agm_modify_apply", //me.tabs[0].dataname
|
reason: this.approveremark,
|
flowId: this.formData.flow_id,
|
attachment: parent_id?parent_id : ""
|
},
|
pass: this.pass
|
}
|
Server.call("jeminact/rootact/act/deal/" + this.formData.flow_id, param, function(result) {
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '审批成功'
|
})
|
window.top.vue.setMenuBadgeByMenuid('A1046', 'recordModify');
|
me.saveAfter()
|
}
|
else {
|
Root.message({
|
type: 'error',
|
message: result.error
|
})
|
}
|
});
|
},
|
|
onPopupByUploadFile(filenamefield, fileidfield,dataname, isApprovalReason) {
|
var me = this;
|
let url = isApprovalReason? "../tool_new/popup_uploadFile_new.html" : "../tool/popup_uploadFile.html"
|
var analysistype_ = "";
|
var formData_ = isApprovalReason? clone(me.formData3) : clone(me.formData2);
|
var delta_ = {filetypelist: []}//".png", ".jpg", ".pdf"
|
var config = {
|
totab: false,
|
width: "500px",
|
icon: "icon-product",
|
text: "附件上传",
|
id: "popupByUploadFile",
|
url: url,
|
data: {
|
dataName: dataname,
|
fileidfieldName: fileidfield,
|
id: me.formData.id,
|
fileNamefieldName: filenamefield,
|
// max_size: "100MB",
|
},
|
delta: delta_,
|
callback: function(obj, callback) {
|
me.$message({
|
showClose: true,
|
message: '上传成功!',
|
type: 'success'
|
});
|
|
var file_ = {
|
id: obj.row[0].id,
|
file_name: decodeURI(obj.row[0].name)
|
}
|
if (!formData_[filenamefield]) {
|
formData_[filenamefield] = []
|
}
|
formData_[filenamefield].push(file_);
|
|
if (isApprovalReason) {
|
me.formData3 = formData_;
|
}
|
else {
|
me.formData2 = formData_;
|
}
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
this.doPopupByPublic(config);
|
},
|
|
deleteByFileId(filenamefield, fileobj, isApprovalReason){
|
var me = this;
|
Root.confirm('确定删除附件【' + fileobj.file_name + '】吗?', '删除提示', {
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
if (isApprovalReason) {
|
me.formData3[filenamefield].remove(fileobj);
|
}
|
else {
|
me.formData2[filenamefield].remove(fileobj);
|
}
|
Root.message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
}).catch(() => {
|
|
});
|
},
|
|
showFileImgByFileId(fileobj, isApprovalReason) {
|
let me = this;
|
var file_id = fileobj.file_id || fileobj.id;
|
var file_name = fileobj.file_name;
|
|
this.zzimg = {};
|
this.zzimgList = [];
|
this.file_txt = false;
|
if(file_id) {
|
var fileid = file_id;
|
let fileName = clone(file_name);
|
let index1 = fileName.lastIndexOf(".");
|
let index2 = fileName.length;
|
let suffix = fileName.substring(index1, index2).toLowerCase(); //后缀名
|
if (suffix == ".png" || suffix == ".jpg" || suffix == ".pdf") {
|
var row = {
|
fileid: fileid,
|
filename: fileName
|
}
|
|
var config = {
|
totab: false,
|
width: "1200px",
|
height: 800,
|
icon: "icon-product",
|
text: "附件预览",
|
id: "pdf_" + fileid,
|
url: "../tool/popup_file_pdf.html",
|
data: row,
|
delta: {},
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
this.doPopupByPublic(config);
|
|
}
|
else {//只可下载,不可预览
|
if (isApprovalReason) {
|
handleDownloadNew(fileid);
|
}
|
else {
|
handleDownload(fileid);
|
}
|
}
|
}
|
},
|
|
// filterShow() {
|
// this.showFilter = this.showFilter? false : true
|
// //this.filterBtnText = this.showFilter? "隐藏筛选条件" : "使用筛选条件"
|
// this.tableDataAfter()
|
// },
|
|
delData(scope) {
|
let me = this;
|
let row = scope.row;
|
let index_ = scope.$index;
|
|
Root.confirm('确定删除吗?', '删除提示', {
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
me.selectTabObj.tableData.remove(row);
|
me.tableData_save = clone(me.selectTabObj.tableData);
|
}).catch(() => {
|
Root.message({
|
type: 'info',
|
message: '已取消删除'
|
});
|
});
|
},
|
|
state_click(row){
|
|
},
|
|
endData(){
|
var me = this;
|
var row = me.selectTabObj.selectedrow;
|
|
var config = {
|
totab: true, //true: 以Tab导航的方式打开
|
width: "900px",
|
height: "900px",
|
icon: "icon-product",
|
text: "二次议价终止",
|
id: "terminal_policy_info",//totab: true时需设置,用于判断是否已打开此页面
|
url: "../agreement/policy/terminal_policy_info.html",
|
data: row,
|
delta: {},
|
sceneCode: "end",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
onAddData() {
|
var me = this;
|
|
var config = {
|
totab: true, //true: 以Tab导航的方式打开
|
width: "900px",
|
height: "900px",
|
icon: "icon-product",
|
text: "二次议价新增",
|
id: "terminal_policy" + "add",//totab: true时需设置,用于判断是否已打开此页面
|
url: "../agreement/policy/terminal_policy_info.html",
|
data: {},
|
delta: {},
|
sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(obj, callback) {
|
me.onQuery();
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
showInfo(obj) {
|
var me = this;
|
|
var config = {
|
totab: true, //true: 以Tab导航的方式打开
|
width: "900px",
|
height: "900px",
|
icon: "icon-product",
|
text: "商业政策信息查看",
|
id: "commercial_policy_info" + "browse" + obj.row.id,//totab: true时需设置,用于判断是否已打开此页面
|
url: "../agreement/policy/commercial_policy_info.html",
|
data: obj.row,
|
delta: {},
|
sceneCode: "browse",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
|
me.doPopupByPublic(config);
|
},
|
|
onClickRowCard(row) {
|
this.selectTabObj.selectedrow = clone(row);
|
this.$forceUpdate();
|
|
},
|
selectionChange(obj){
|
var me = this;
|
// me.selectedrows = obj;
|
},
|
saveShoppingcart(list) {
|
var me = this;
|
// me.selectedrows = list;
|
},
|
}
|
});
|
};
|
initVue();
|
</script>
|
|
<style>
|
/* 在vue.js中 v-cloak 这个指令是防止页面加载时出现 vuejs 的变量名而设计的 */
|
[v-cloak] {
|
display: none !important;
|
}
|
.el-tabs__nav-scroll {
|
overflow: hidden;
|
position: relative;
|
padding-left: 20px;
|
}
|
|
.h_form_filter {
|
padding-top: 1px;
|
}
|
|
.h_table_card_title{
|
padding: 0px;
|
margin: -10px 0px;
|
}
|
|
/* .el-button--mini {
|
color: #FFF;
|
background-color: #2984e2;
|
border-color: #409EFF;
|
} */
|
|
.state {
|
text-decoration: underline;
|
cursor: pointer;
|
}
|
.h_table_card:hover {
|
cursor: pointer;
|
}
|
.h_select_card {
|
border: 2px solid rgb(72, 172, 211);
|
}
|
|
/* .el-card__body {
|
padding: 5px;
|
} */
|
|
.button-card {
|
width: 80px;
|
margin-bottom: 5px;
|
}
|
|
.el-card {
|
border-radius: 8px;
|
}
|
|
.el-tabs--top {
|
background-color: #F5F7FA;
|
}
|
|
/* .el-table--scrollable-y .el-table__body-wrapper {
|
overflow-y: auto;
|
height: auto !important;
|
}
|
.h_table .el-table {
|
border-left: 1px solid #EBEEF5;
|
border-right: 1px solid #EBEEF5;
|
height: auto !important;
|
} */
|
/* .el-button+.el-button {
|
margin-left: 0px;
|
} */
|
/* .el-table__header-wrapper{
|
position: relative;
|
width: 100%;
|
z-index: 999;
|
}
|
// 监听到滚动条开始滚动后的样式
|
.box-active{
|
position: fixed;
|
top: 0;
|
} */
|
</style>
|
</body>
|
</html>
|