<!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="../../../js/vue/vue.js"></script>
|
<script src="../../../js/vue/element-ui/lib/index.js"></script>
|
<script src="../../../js/myelement.js?v=20220425"></script>
|
<script src="../../../js/vue/page.js?v=20220425"></script>
|
|
<link href="../../../js/vue/element-ui/lib/theme-chalk/index.css" rel="stylesheet">
|
<link href="../../../css/myelement.css?v=20220425" rel="stylesheet">
|
<link href="../../../css/iconfont.css" rel="stylesheet">
|
<link href="../../../css/page.css?v=20220425" rel="stylesheet">
|
<link href="//at.alicdn.com/t/font_2374495_13ltsxm2eor.css" rel="stylesheet">
|
</head>
|
|
<body>
|
<div id="vbody">
|
<div id="page_root">
|
<div class="topbar">
|
<span>{{title}}</span>
|
<!-- 工具栏 -->
|
<div style="float: right; margin-right: 24px;">
|
<el-button-group style="margin-left: 3px;">
|
<!-- <el-button icon="el-icon-refresh" @click="onRefresh">刷新</el-button> -->
|
<!-- <el-button v-if="buttons.append" :disabled="buttons.append.disabled" icon="el-icon-plus" @click="addData">添加</el-button> -->
|
<el-button v-if="buttons.edit" :disabled="buttons.edit.disabled" @click="setEditTableData">{{isEditTableData ? '取消编辑' : '在线编辑'}}</el-button>
|
</el-button-group>
|
<el-button-group style="margin-left: 3px;">
|
<!-- <el-button icon="el-icon-refresh" @click="onRefresh">刷新</el-button> -->
|
<el-button v-if="buttons.edit" :disabled="!(selectedrow.id && selectedrow.status == 'refuse')" @click="deleteFlow">作废</el-button>
|
</el-button-group>
|
<el-button-group style="margin-left: 3px;">
|
<el-button v-if="buttons.submit" :disabled="!(selectedrow.id && (selectedrow.status == 'input' || selectedrow.status == 'refuse' || !selectedrow.status ))" :loading = "isLoading" @click="flow_Submit">提交</el-button>
|
<!-- <el-button v-if="buttons.cancel" :disabled="buttons.cancel.disabled" @click="onCancel()">取消申请</el-button> -->
|
</el-button-group>
|
|
<el-button-group style="margin-left: 3px;">
|
<!-- <el-button v-if="buttons.approve" :disabled="buttons.approve.disabled" @click="onApprove()">审批</el-button> -->
|
<!-- <el-button @click="approvalData('status')">审批</el-button> -->
|
<!-- <el-button @click="onShowApproval()">审批记录</el-button> -->
|
</el-button-group>
|
</div>
|
</div>
|
|
<!-- 查询条件 -->
|
<div class="topbar-line">
|
<div class="query-icon">
|
<i class="iconfont icon-query"></i>
|
</div>
|
<div class="query-bar">
|
<h-form-filter ref="form1"
|
:form-attr="filterAttr"
|
:table-fields="filterFields"
|
:form-data="filterObj"
|
:isbuttonquery="true"
|
|
v-on:on-formchange="onQuery"
|
v-on:show-popup="showFilterPopup"
|
v-on:on-query="onQuery"
|
v-on:on-init-query="onInitFilter"
|
v-on:on-edit-query="onEditFilter"
|
>
|
</h-form-filter>
|
</div>
|
</div>
|
|
<div class="versionNo">
|
<h-table
|
v-if="isRefresh"
|
ref="table1"
|
:tableloading="tableloading"
|
:table-fields="tableFields"
|
:table-data="tableData"
|
:is-edit-table-data="isEditTableData"
|
:pagesize="pagesize"
|
:pagenum="pagenum"
|
:total="total"
|
:table-height="tableHeight"
|
:is-highlight-row="true"
|
v-on:get-data="getData"
|
v-on:edit-data="editData"
|
v-on:del-data="delData"
|
v-on:cell-click="cellClick"
|
v-on:row-click="rowClick"
|
>
|
</h-table>
|
</div>
|
</div>
|
|
<div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 100vh;z-index:9999">
|
<div class="spinner">
|
<div class="cube1"></div>
|
<div class="cube2"></div>
|
</div>
|
</div>
|
</div>
|
|
<script type="text/javascript">
|
var initlized = false;
|
|
new ListVue({
|
el: "#vbody",
|
data: {
|
pageAttr: {
|
heightType: "page"
|
},
|
title: "政策备案",
|
|
dataname: "agreementLine",
|
tabaleFieldsName: "policyReport_",
|
filterFieldsName: "policyReport_",
|
operationtype: "",
|
orderby:"update_time desc,create_time desc,code desc",
|
tableData: [],
|
isLoading:false,
|
isEditTableData:false,
|
|
isRefresh: true,
|
formInline: {},
|
pagesize: 10,
|
pagenum: 1,
|
total: 0,
|
rowTableDialog: false,
|
|
years: "",
|
quarter: "",
|
selectCellField: {},
|
selectCellData: {},
|
|
tableFieldsObj: {}
|
},
|
created() {
|
this.pageCode = "A4-1";
|
this.getResoures();
|
},
|
|
mounted() {
|
this.initData();
|
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
|
hideLoading();
|
});
|
},
|
|
methods:{
|
|
initData() {
|
if (initlized) { return; }
|
initlized = true;
|
this.onQuery();
|
},
|
onServerInitData(data) {
|
var me = this.data;
|
|
me.tableFields = data.tableFields;
|
me.filterFields = data.filterFields;
|
|
|
if(me.filterFields.length > 0) {
|
for(var i=0; i < me.filterFields.length; i++) {
|
let fieldObj_ = me.filterFields[i];
|
|
me.filterFieldsObj[fieldObj_.field] = fieldObj_;
|
}
|
}
|
if(me.tableFields.length > 0) {
|
for(var i=0; i < me.tableFields.length; i++) {
|
let fieldObj_ = me.tableFields[i];
|
|
me.tableFieldsObj[fieldObj_.field] = fieldObj_;
|
}
|
}
|
},
|
endQuery() {
|
if(!this.tableloading) {
|
this.filterFields = this.filterFields.map(e =>{
|
e.disabled = false;
|
})
|
}
|
},
|
doQuery() {
|
let me = this;
|
let filter_ = " 1=1 and create_operate_code = '" + localStorage.emp_code + "'";
|
|
var isdistributor = window.top.isdistributor;
|
var distributorObj = window.top.distributorObj;
|
|
let roleList = window.top.userinfo.user.roleList;
|
let isadmin = false;
|
roleList.map(e=>{
|
if(e.code == 'admin') {
|
isadmin = true;
|
}
|
})
|
if(isadmin) {
|
filter_ = " 1=1";
|
}
|
else if (isdistributor) {
|
filter_ = " customer_code = '" + distributorObj.md_code + "'";
|
}
|
|
this.filterList = [];
|
for(var k in this.filterObj) {
|
let k_val = this.filterObj[k];
|
let fieldObj_ = this.filterFieldsObj[k];
|
|
let type_ = fieldObj_.type;
|
let field_ = fieldObj_.field;
|
let fieldtype_ = "equal";
|
if (fieldObj_.fieldname) {
|
field_ = fieldObj_.fieldname
|
}
|
if (fieldObj_.fieldtype) {
|
fieldtype_ = fieldObj_.fieldtype
|
}
|
if (fieldtype_ == "like" && k_val != "input" ) {
|
filter_ += " and " + field_ + " like '%" + k_val +"%'";
|
}
|
else if (fieldtype_ == "like" && k_val == "input" ) {
|
filter_ += " and " + field_ + " is null";
|
}
|
else {
|
filter_ += " and " + field_ + " = '" + k_val +"'";
|
}
|
}
|
me.tableloading = true;
|
/* me.$nextTick(()=>{
|
me.$refs.form1.$refs.form1.disabled = true
|
}) */
|
let param_ = {
|
isClientMode: false,
|
dataname: this.dataname,
|
filter: filter_,
|
orderby:this.orderby,
|
filterList: this.filterList,
|
page: {
|
no: this.pagenum,
|
pagesize: this.pagesize
|
},
|
//attachmeta: true
|
}
|
Server.call("root/data/getEntitySet", param_, function(result) {
|
console.log(result);
|
me.total = 0;
|
me.tableData = [];
|
if (result && result.data) {
|
me.total = result.data.page.recordcount;
|
var data_ = result.data.entityset;
|
|
me.tableData = data_;
|
}
|
me.tableloading = false;
|
/* me.$nextTick(()=>{
|
me.$refs.form1.$refs.form1.disabled = false
|
}) */
|
me.tableDataAfter();
|
});
|
},
|
onAddData(config) {
|
var me = this;
|
config.combine({
|
totab: true,
|
icon: "icon-product",
|
text: "新增备案",
|
id: "policy_add",
|
url: "../agreement/policy/policy_edit.html",
|
sceneCode: "add",
|
data: {},
|
});
|
return true;
|
},
|
onEditData(config, scope) {
|
var me = this;
|
var row = scope.row;
|
|
//1. empty row
|
if (!row || !row.id) {
|
Root.message({
|
type: 'warning',
|
message: '请选择要编辑的数据'
|
});
|
return false;
|
}
|
if (row.status == "working") {
|
Root.message({
|
type: 'warning',
|
message: '审批中状态不可编辑'
|
});
|
return
|
}
|
if (row.status == "open") {
|
Root.message({
|
type: 'warning',
|
message: '审批完成状态不可编辑'
|
});
|
return
|
}
|
if (row.status == "close") {
|
Root.message({
|
type: 'warning',
|
message: '作废状态不可删除'
|
});
|
return
|
}
|
|
//3. popup
|
config.combine({
|
totab: true,
|
icon: "icon-product",
|
text: "修改备案",
|
id: "policy_edit",
|
url: "../agreement/policy/policy_edit.html",
|
sceneCode: "edit",
|
data: row,
|
delta: me.dataname,
|
|
});
|
|
return true;
|
},
|
deleteFlow() {
|
let row = this.selectedrow;
|
let me = this;
|
if(row.status && row.status == "refuse") {
|
let param_ = {
|
flowId:row.flow_id,
|
businessType:"agreement",
|
pass:false,
|
}
|
Server.call("root/api/dealAct", param_, function(result) {
|
console.log(result);
|
if(result && result.success) {
|
Root.message({
|
type: 'success',
|
message: '作废成功'
|
});
|
|
}
|
me.doQuery();
|
me.isLoading = false;
|
},function(result) {
|
Root.message({
|
type: 'warning',
|
message: result.message
|
});
|
me.doQuery();
|
me.isLoading = false;
|
})
|
}
|
},
|
delData(scope) {
|
let me = this;
|
|
if (this.onDelData) {
|
this.onDelData.call(this, scope);
|
return
|
}
|
|
let row = scope.row;
|
let index_ = scope.$index;
|
let name_ = "该数据";
|
|
if (!this.dataname) {
|
Root.message({
|
type: 'warning',
|
message: '该事件需指定数据对象'
|
});
|
return
|
}
|
if (!row.id) {
|
Root.message({
|
type: 'warning',
|
message: '该事件需存在数据ID'
|
});
|
return
|
}
|
if (row.status == "working") {
|
Root.message({
|
type: 'warning',
|
message: '审批中状态不可删除'
|
});
|
return
|
}
|
if (row.status == "open") {
|
Root.message({
|
type: 'warning',
|
message: '审批完成状态不可删除'
|
});
|
return
|
}
|
if (row.status == "refuse") {
|
Root.message({
|
type: 'warning',
|
message: '待修改状态不可删除'
|
});
|
return
|
}
|
if (row.code) {
|
name_ = "_" + row.code + "_";
|
}
|
|
Root.confirm('确定删除' + name_ + '吗?', '删除提示', {
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
let param1 = {
|
filter:{
|
parent_id: row.id
|
},
|
|
isClientMode: false,
|
dataname: 'agreementRecord',
|
}
|
Server.call("root/data/deleteEntitySet", param1, function(result) {
|
|
});
|
|
let param = {
|
id: row.id,
|
isClientMode: false,
|
dataname: this.dataname,
|
}
|
Server.call("root/data/deleteEntity", param, function(result) {
|
console.log(result);
|
Root.message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
me.doQuery();
|
});
|
}).catch(() => {
|
Root.message({
|
type: 'info',
|
message: '已取消删除'
|
});
|
});
|
},
|
|
|
onApproveData(config, code) {
|
var me = this;
|
var row = this.selectedrow;
|
|
//1. empty row
|
if (!row || !row.id) {
|
Root.message({
|
type: 'warning',
|
message: '请选择要审批的数据'
|
});
|
return false;
|
}
|
if ("working" != row.status) {
|
Root.message({
|
type: 'warning',
|
message: '当前状态不可审批'
|
});
|
return false;
|
}
|
//3. popup
|
config.combine({
|
|
totab: true,
|
icon: "icon-product",
|
text: "审批政策",
|
id: "sorder_edit",
|
url: "../agreement/policy/policy_edit.html",
|
sceneCode: "approval",
|
data: row,
|
delta: me.dataname,
|
|
});
|
return true;
|
|
},
|
|
flow_Submit(){
|
var row = this.selectedrow;
|
let me = this;
|
if (!row || !row.id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择一条数据'
|
});
|
return false;
|
}
|
|
else if (row.status && row.status!= "input" && !(row.status == "refuse" && row.create_operate_name == window.top.userinfo.employee.name)) {
|
Root.message({
|
type: 'warning',
|
message: '当前状态不可提交'
|
});
|
return false;
|
}
|
|
let param_ = {
|
isClientMode: false,
|
dataname: "agreementRecord",
|
|
filter: "agreement_record.parent_id='"+ row.id + "'",
|
|
//attachmeta: true
|
}
|
me.isLoading = true;
|
Server.call("root/data/getEntitySet", param_, function(result) {
|
|
if (result && result.data) {
|
var data_ = result.data.entityset;
|
for (var i = 0; i < data_.length; i++) {
|
|
let row = data_[i]
|
var start_date = row.start_date;
|
var end_date = row.end_date;
|
if(end_date < start_date) {
|
Root.message({
|
type:"warning",
|
message:"第"+(i+1)+ "条明细: 开始日期大于结束日期"
|
})
|
me.isLoading = false;
|
return;
|
}
|
if(!row.cash_type) {
|
Root.message({
|
type:"warning",
|
message:"第"+(i+1)+ "条明细: 请填写兑付时间"
|
})
|
me.isLoading = false;
|
return;
|
}
|
if(!row.control_type) {
|
Root.message({
|
type:"warning",
|
message:"第"+(i+1)+ "条明细: 请选择控制类型"
|
})
|
me.isLoading = false;
|
return;
|
}
|
if(!row.tag_price_type) {
|
Root.message({
|
type:"warning",
|
message:"第"+(i+1)+ "条明细: 请选择中标价类型"
|
})
|
me.isLoading = false;
|
return;
|
}
|
if(!row.business_depart_name || !row.business_depart_code) {
|
Root.message({
|
type:"warning",
|
message:"第"+(i+1)+ "条明细: 请选择业务部门(或部门编码不存在)"
|
})
|
me.isLoading = false;
|
return;
|
}
|
}
|
let param1 = {
|
isClientMode: false,
|
dataname:"getAgreementRecordMessage",
|
}
|
param1.filter ="line_id = '" + row.id + "'",
|
Server.call("root/data/getEntitySet",param1,function(result11){
|
if(result11.success){
|
let message = ""
|
let messageList = [];
|
let tableObj = {}
|
for (var i = 0; i < result11.data.entityset.length; i++) {
|
let item = result11.data.entityset[i]
|
if(item.error_message || item.error_title) {
|
item.errorList = [{error_title:item.error_title,error_message:item.error_message}]
|
message += "第 "+ (i+1) +" 条,";
|
}
|
if(tableObj[item.id]) {
|
if(item.errorList) {
|
if (tableObj[item.id].errorList) {
|
tableObj[item.id].errorList.push(item.errorList[0])
|
} else{
|
tableObj[item.id].errorList = item.errorList;
|
}
|
}
|
}else {
|
tableObj[item.id] = item;
|
}
|
}
|
let index = 1;
|
for(item in tableObj) {
|
if(tableObj[item].errorList)
|
messageList.push({title:"第 "+ index +" 条明细错误列表: ",errorList:tableObj[item].errorList})
|
index++;
|
}
|
if(message) {
|
Root.message({
|
type: 'warning',
|
message: '明细数据错误'
|
});
|
Root.showPopup({
|
url: "../agreement/policy/popup/error_list.html",
|
width: 900,
|
height: 450,
|
data: messageList,
|
callback: function(obj, callback) {
|
me.isLoading = false;
|
if(obj.type == "submit")
|
me.submit(row,data_[0].province_code,callback);
|
else{
|
if (callback) {
|
callback();
|
}
|
}
|
}
|
});
|
/* message = message.substring(0,message.length-1)
|
message += "明细数据有错误(可在编辑页面点击明细数据查看详情)"
|
Root.confirm(message + ',确定直接提交吗?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
me.submit(row,data_[0].province_code);
|
}).catch(() => {
|
me.isLoading = false;
|
Root.message({
|
type: 'info',
|
message: '已取消'
|
});
|
}); */
|
}else {
|
me.submit(row,data_[0].province_code);
|
}
|
}else{
|
me.isLoading = false;
|
Root.message({
|
type: 'warning',
|
message: result11.message
|
});
|
}
|
})
|
|
}
|
});
|
},
|
submit(row,province_code,callback){
|
let me = this;
|
let param_customer = {
|
dataname:"checkAgreementRecordInternationPart",
|
parentId:row.id
|
}
|
Server.call("root/data/procedure", param_customer, function(result) {
|
if(result && result.success) {
|
if(result.data.data) {
|
let internationPart_ = false;
|
if(result.data.data > 0) {
|
internationPart_ = true;
|
}
|
let param = {
|
businessId:row.id,
|
businessType:"agreement",
|
variableMap:{
|
province:province_code,
|
internationPart:internationPart_
|
},
|
}
|
if(row.status && row.status == "refuse") {
|
let param_ = {
|
flowId:row.flow_id,
|
businessType:"agreement",
|
pass:true,
|
variableMap:{
|
province:province_code,
|
internationPart:internationPart_
|
}
|
}
|
Server.call("root/api/dealAct", param_, function(result) {
|
console.log(result);
|
if(result && result.success) {
|
Root.message({
|
type: 'success',
|
message: '提交成功'
|
});
|
|
}
|
if (callback) {
|
callback();
|
}
|
me.onQuery();
|
me.isLoading = false;
|
},function(result) {
|
Root.message({
|
type: 'warning',
|
message: result.message
|
});
|
me.onQuery();
|
me.isLoading = false;
|
})
|
}else{
|
Server.call("root/api/startAct", param, function(result) {
|
if (result.success){
|
|
var formData_ = me.selectedrow;
|
var paramObj = {};
|
for (var k in formData_) {
|
paramObj[k] = formData_[k];
|
}
|
if(result.data.data && result.data.data.activitiId)
|
paramObj.flow_id = result.data.data.activitiId;
|
else {
|
Root.message({
|
type: 'warning',
|
message: '提交失败,无流程返回'
|
});
|
if (callback) {
|
callback();
|
}
|
me.isLoading = false;
|
return;
|
}
|
var param_ = paramObj;
|
|
Server.call("root/data/updateEntity/" + "agreementLine", param_, function(result) {
|
console.log(result);
|
Root.message({
|
type: 'success',
|
message: '提交成功'
|
});
|
if (callback) {
|
callback();
|
}
|
me.isLoading = false;
|
});
|
me.onQuery();
|
}else{
|
me.isLoading = false;
|
Root.message({
|
type: 'warning',
|
message: result.message
|
});
|
}
|
})
|
}
|
}else {
|
Root.message({
|
type: 'warning',
|
message: "无有效商业信息"
|
});
|
me.isLoading = false;
|
}
|
}else {
|
Root.message({
|
type: 'warning',
|
message: "查询商业信息失败"
|
});
|
me.isLoading = false;
|
}
|
},function(result) {
|
Root.message({
|
type: 'warning',
|
message: result.message
|
});
|
me.isLoading = false;
|
})
|
|
},
|
onCellClick(config, obj) {
|
let me = this;
|
var clickContext = this.selectCellField.clickContext;
|
if(this.selectCellField.field == "status"){
|
clickContext.url = "";
|
if(obj.row.flow_id){
|
clickContext.url = "../approval/ApprovalList.html";
|
let title = ""
|
if(obj.row.b_trans_type == "end") {
|
title = "终止流程"
|
}else if(obj.row.b_trans_type == "trans") {
|
title = "变更流程"
|
}else{
|
title = "新增流程"
|
}
|
clickContext.delta = {
|
flow_id: obj.row.flow_id,
|
title:title
|
}
|
clickContext.width = "75vw";
|
clickContext.height = "65vh";
|
clickContext.hide_close = true;
|
}
|
}
|
if (clickContext && clickContext.type == "popup" && clickContext.url != "") {
|
config.combine({
|
url: clickContext.url,
|
hide_close: clickContext.hide_close,
|
sceneCode: clickContext.sceneCode,
|
data: obj.row,
|
delta: clickContext.delta ? clickContext.delta : {},
|
width: clickContext.width,
|
height: clickContext.height,
|
})
|
}
|
else {
|
return false;
|
}
|
|
return true;
|
},
|
onShowApproval() {
|
var me = this;
|
var row = this.selectedrow;
|
|
if (!row || !row.id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择一条数据'
|
});
|
return false;
|
}
|
else {
|
let param = {
|
isClientMode: false,
|
flowId:row.flow_id
|
}
|
|
Server.call("root/order/getHistoryTask/", param, function(result) {
|
console.log(result);
|
if (result && result.data) {
|
|
Root.popupParames = {
|
width: "900px",
|
height:"700px",
|
url: "../approval/ApprovalList.html",
|
data: result.data,
|
};
|
// GET /act/historyNode/{flowId}
|
// "../approval/ApprovalList.html",
|
Root.popupParames.disabled = true;
|
Root.showPopup(Root.popupParames);
|
}
|
|
});
|
|
}
|
},
|
}
|
});
|
</script>
|
</body>
|
</html>
|