<!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" 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.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.formAttr.disabled = true;
								this.codeApprovalDone = 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_ = "ara.type = '" + this.formData.policy_type + "' and ar.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(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(task_id, remark) {
							let me = this
							let filterTxt_ = ""
							let param = {
								dataName: "v_modify_plan",
								filter: "plan_type = '" + this.formData.type + "' and id = '"+ this.formData.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) {									
											let list = {code: "matched", name: "已匹配", dataname: result.data.entityset[0].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
											}
											
										}
	
										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>