<!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>