|
|
@@ -0,0 +1,1245 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <BaseDialog
|
|
|
+ width="970px"
|
|
|
+ :isShow.sync="isShow"
|
|
|
+ :title="
|
|
|
+ type === 1
|
|
|
+ ? '新增'
|
|
|
+ : type === 2
|
|
|
+ ? '修改'
|
|
|
+ : type === 3
|
|
|
+ ? '详情'
|
|
|
+ : type === 4
|
|
|
+ ? '协议审核'
|
|
|
+ : '终止审核'
|
|
|
+ "
|
|
|
+ @close="close"
|
|
|
+ @submit="submit"
|
|
|
+ :isShowFooter="false"
|
|
|
+ >
|
|
|
+ <el-main :loading="loading">
|
|
|
+ <template v-if="activeIndex === 1">
|
|
|
+ <search-box-new
|
|
|
+ :remarkStatus="true"
|
|
|
+ ref="searchBox"
|
|
|
+ :formData="firstPartyFormData"
|
|
|
+ :formList="firstPartyFormList"
|
|
|
+ @search="firstPartySearch"
|
|
|
+ @init="firstPartySearch(2)"
|
|
|
+ />
|
|
|
+ <el-table
|
|
|
+ :data="firstPartyTableData"
|
|
|
+ border
|
|
|
+ style="width: 100%"
|
|
|
+ class="table_1"
|
|
|
+ >
|
|
|
+ <el-table-column align="center" type="selection" width="55">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-radio
|
|
|
+ style="margin-left: 10px"
|
|
|
+ v-model="tableRadio"
|
|
|
+ :label="scope.row['companyId']"
|
|
|
+ >{{ "" }}</el-radio
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="companyName"
|
|
|
+ label="企业名称"
|
|
|
+ width="180"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="companyAddress"
|
|
|
+ label="地址"
|
|
|
+ width="180"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="companyContacts"
|
|
|
+ label="联系人"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="contactPhone" label="电话" align="center">
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <pagination
|
|
|
+ :total="firstPartyTotal"
|
|
|
+ :pageSize="firstPartyFormData.pageSize"
|
|
|
+ :currentPage="firstPartyFormData.pageNum"
|
|
|
+ @handleSizeChange="handleSizeChange"
|
|
|
+ @handleCurrentChange="handleCurrentChange"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else-if="activeIndex === 2">
|
|
|
+ <el-form
|
|
|
+ :inline="true"
|
|
|
+ :model="ruleForm"
|
|
|
+ :rules="rules"
|
|
|
+ ref="ruleForm"
|
|
|
+ label-width="140px"
|
|
|
+ class="demo-ruleForm"
|
|
|
+ >
|
|
|
+ <h4>甲方信息</h4>
|
|
|
+ <el-form-item label="甲方名称:" prop="jiaCompanyName">
|
|
|
+ <el-input
|
|
|
+ disabled
|
|
|
+ v-model="ruleForm.jiaCompanyName"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="甲方联系人:" prop="jiaCompanyContract">
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 1 || type !== 2"
|
|
|
+ v-model="ruleForm.jiaCompanyContract"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="甲方地址:" prop="jiaCompanyAddress">
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 1 || type !== 2"
|
|
|
+ v-model="ruleForm.jiaCompanyAddress"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="甲方电话:" prop="jiaCompanyPhone">
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 1 || type !== 2"
|
|
|
+ v-model="ruleForm.jiaCompanyPhone"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <h4>甲方收件</h4>
|
|
|
+ <el-form-item label="收件人:" prop="jiaRecipients">
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 1 || type !== 2"
|
|
|
+ v-model="ruleForm.jiaRecipients"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="收件电话:" prop="jiaRecipientsPhone">
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 1 || type !== 2"
|
|
|
+ v-model="ruleForm.jiaRecipientsPhone"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="收件地址:" prop="jiaRecipientsAddress">
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 1 || type !== 2"
|
|
|
+ v-model="ruleForm.jiaRecipientsAddress"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="备注:" prop="jiaRecipientsRemark">
|
|
|
+ <el-input
|
|
|
+ :disabled="type !== 1 || type !== 2"
|
|
|
+ v-model="ruleForm.jiaRecipientsRemark"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <h4>乙方信息</h4>
|
|
|
+ <el-form-item label="乙方名称:" prop="yiCompanyName">
|
|
|
+ <el-input
|
|
|
+ disabled
|
|
|
+ v-model="ruleForm.yiCompanyName"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="乙方联系人:" prop="yiCompanyContract">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.yiCompanyContract"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="乙方地址:" prop="yiCompanyAddress">
|
|
|
+ <el-input
|
|
|
+ disabled
|
|
|
+ v-model="ruleForm.yiCompanyAddress"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="乙方电话:" prop="yiCompanyPhone">
|
|
|
+ <el-input v-model="ruleForm.yiCompanyPhone"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <h4>乙方收件</h4>
|
|
|
+ <el-form-item label="收件人:" prop="yiRecipients">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.yiRecipients"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="收件电话:" prop="yiRecipientsPhone">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.yiRecipientsPhone"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="收件地址:" prop="yiRecipientsAddress">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.yiRecipientsAddress"
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ><el-form-item label="备注:" prop="yiRecipientsRemark">
|
|
|
+ <el-input v-model="ruleForm.yiRecipientsRemark"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <h4>协议信息</h4>
|
|
|
+ <el-form-item label="协议编号:" prop="covenantNum">
|
|
|
+ <el-input disabled v-model="ruleForm.covenantNum"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <br />
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="协议开始时间:" prop="startTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="ruleForm.startTime"
|
|
|
+ format="yyyy 年 MM 月 dd 日"
|
|
|
+ value-format="timestamp"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker></el-form-item
|
|
|
+ ></el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="协议结束时间:" prop="endTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="ruleForm.endTime"
|
|
|
+ format="yyyy 年 MM 月 dd 日"
|
|
|
+ value-format="timestamp"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker> </el-form-item
|
|
|
+ ></el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="结算周期(月):" prop="settlementCycle">
|
|
|
+ <el-input-number
|
|
|
+ v-model="ruleForm.settlementCycle"
|
|
|
+ :min="0"
|
|
|
+ :precision="0"
|
|
|
+ :controls="false"
|
|
|
+ ></el-input-number>
|
|
|
+ <el-checkbox
|
|
|
+ v-model="ruleForm.cycleStatus"
|
|
|
+ :true-label="1"
|
|
|
+ :false-label="0"
|
|
|
+ >协议显示</el-checkbox
|
|
|
+ >
|
|
|
+ </el-form-item></el-col
|
|
|
+ >
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="结算上限金额:" prop="limitAmount">
|
|
|
+ <el-input-number
|
|
|
+ v-model="ruleForm.limitAmount"
|
|
|
+ :min="0"
|
|
|
+ :precision="2"
|
|
|
+ :controls="false"
|
|
|
+ ></el-input-number>
|
|
|
+ <el-checkbox
|
|
|
+ v-model="ruleForm.amountStatus"
|
|
|
+ :true-label="1"
|
|
|
+ :false-label="0"
|
|
|
+ >协议显示</el-checkbox
|
|
|
+ >
|
|
|
+ </el-form-item></el-col
|
|
|
+ >
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <h4>协议项目</h4>
|
|
|
+ <div
|
|
|
+ style="margin-bottom: 14px"
|
|
|
+ v-for="(item, index) in ruleForm.bsCovenantBusinessVos"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <div class="eb_sty">
|
|
|
+ <el-select
|
|
|
+ :disabled="type !== 1 && type !== 2"
|
|
|
+ v-model="item.educationTypeId"
|
|
|
+ placeholder="请选择教育类型"
|
|
|
+ @change="
|
|
|
+ item.businessId = '';
|
|
|
+ item.bsCovenantGoodsVos = [];
|
|
|
+ "
|
|
|
+ style="margin-right: 14px"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(items, indexs) in educationType"
|
|
|
+ :key="indexs"
|
|
|
+ :label="items.educationName"
|
|
|
+ :value="items.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-select
|
|
|
+ :disabled="
|
|
|
+ !item.educationTypeId || (type !== 1 && type !== 2)
|
|
|
+ ? true
|
|
|
+ : false
|
|
|
+ "
|
|
|
+ v-model="item.businessId"
|
|
|
+ placeholder="请选择业务层次"
|
|
|
+ style="margin-right: 14px"
|
|
|
+ @change="getApiGoods($event, index)"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(items, indexs) in getCbus(item.educationTypeId)"
|
|
|
+ :key="indexs"
|
|
|
+ :label="items.businessName"
|
|
|
+ :value="items.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-input-number
|
|
|
+ v-if="item.businessId"
|
|
|
+ style="width: 120px"
|
|
|
+ v-model="item.PlCovenantPrice"
|
|
|
+ :min="0"
|
|
|
+ :precision="2"
|
|
|
+ :controls="false"
|
|
|
+ @blur="plEditPrice(item, index)"
|
|
|
+ ></el-input-number>
|
|
|
+ <el-button
|
|
|
+ v-if="
|
|
|
+ ruleForm.bsCovenantBusinessVos &&
|
|
|
+ ruleForm.bsCovenantBusinessVos.length > 0 &&
|
|
|
+ (type === 1 || type === 2)
|
|
|
+ "
|
|
|
+ @click="delGoodsList(index)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-if="item.businessId"
|
|
|
+ type="text"
|
|
|
+ @click="item.hideStatus = !item.hideStatus"
|
|
|
+ >{{ !item.hideStatus ? "收起课程" : "展开课程" }}</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ v-show="!item.hideStatus"
|
|
|
+ :ref="`table_${index}`"
|
|
|
+ :data="item.bsCovenantGoodsVos"
|
|
|
+ border
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-table-column align="center" type="selection" width="55">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" type="index" width="50">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="majorName"
|
|
|
+ label="专业"
|
|
|
+ width="120"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="goodsName"
|
|
|
+ label="商品名称"
|
|
|
+ width="120"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="单价" width="120" align="center"
|
|
|
+ ><template slot-scope="scope">
|
|
|
+ {{ scope.row["standPrice"] }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="covenantPrice"
|
|
|
+ label="协议单价"
|
|
|
+ width="180"
|
|
|
+ align="center"
|
|
|
+ ><template slot-scope="scope">
|
|
|
+ <el-input-number
|
|
|
+ style="width: 110px"
|
|
|
+ v-model="scope.row['covenantPrice']"
|
|
|
+ :min="0"
|
|
|
+ :precision="2"
|
|
|
+ :controls="false"
|
|
|
+ ></el-input-number>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="上限数量" align="center"
|
|
|
+ ><template slot-scope="scope">
|
|
|
+ <el-checkbox
|
|
|
+ v-model="scope.row['limitStatus']"
|
|
|
+ :true-label="1"
|
|
|
+ :false-label="0"
|
|
|
+ style="margin-right: 10px"
|
|
|
+ @change="scope.row['limitNum'] = ''"
|
|
|
+ >不限</el-checkbox
|
|
|
+ >
|
|
|
+ <el-input-number
|
|
|
+ :disabled="scope.row['limitStatus'] == 1 ? true : false"
|
|
|
+ style="width: 110px"
|
|
|
+ v-model="scope.row['limitNum']"
|
|
|
+ :min="0"
|
|
|
+ :precision="0"
|
|
|
+ :controls="false"
|
|
|
+ ></el-input-number>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="addXYXM"
|
|
|
+ v-if="type === 1 || type === 2"
|
|
|
+ >继续添加</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ <template v-else-if="activeIndex === 3">
|
|
|
+ <div ref="pdf" id="pdf" class="pdf">
|
|
|
+ <h2 style="text-align: center" class="fth">培训服务协议</h2>
|
|
|
+ <h2 style="text-align: end" class="fth">
|
|
|
+ 协议编号:{{ ruleForm.covenantNum }}
|
|
|
+ </h2>
|
|
|
+ <p>甲方:{{ ruleForm.jiaCompanyName }}</p>
|
|
|
+ <p>地址:{{ ruleForm.jiaCompanyAddress }}</p>
|
|
|
+ <p>联系人:{{ ruleForm.jiaCompanyContract }}</p>
|
|
|
+ <p>电话:{{ ruleForm.jiaCompanyPhone }}</p>
|
|
|
+ <br />
|
|
|
+ <p>乙方:{{ ruleForm.yiCompanyName }}</p>
|
|
|
+ <p>地址:{{ ruleForm.yiCompanyAddress }}</p>
|
|
|
+ <p>联系人:{{ ruleForm.yiCompanyContract }}</p>
|
|
|
+ <p>电话:{{ ruleForm.yiCompanyPhone }}</p>
|
|
|
+ <br />
|
|
|
+ <p>
|
|
|
+ 甲乙双方依据《中华人民共和国民法典》及相关规定,本着诚实信用、互惠互利之原则,协商一致,签订本协议。
|
|
|
+ </p>
|
|
|
+ <br />
|
|
|
+ <h3>一、甲方的权利与义务</h3>
|
|
|
+ <p>
|
|
|
+ 1、甲方可在协议条款约束下,自主开通协议约定的培训课程并安排人员进行学习,享有协议约定的结算价款及账期利益。
|
|
|
+ </p>
|
|
|
+ <p>2、甲方应按协议约定及时、足额支付价款;</p>
|
|
|
+ <p>
|
|
|
+ 3、甲方应遵守知识产权保护有关规范,不得在服务过程中侵犯乙方知识产权相关权益。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 4、甲方应根据培训课程的要求,提供参加培训人员的必要个人信息,并保证该些信息的真实性,且信息的提供已获得参加培训人员本人的同意。
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <br />
|
|
|
+ <h3>二、乙方权利与义务</h3>
|
|
|
+ <p>
|
|
|
+ 1、乙方向甲方提供教育培训课程,授课方式依据不同课程种类,包括且不限于网络学习、面授学习等方式;课程形式依据不同课程种类,包括且不限于在线视频(录播)、在线直播、在线刷题、线下刷题及电子版或纸质版学习资料等,具体情形依照课程介绍说明为准。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 2、乙方应保证所提供的教育培训课程,符合相关部门的标准要求,并为甲方人员在开通、学习课程的过程中提供免费答疑服务。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 3、如遇甲方延迟支付价款,乙方有权单方中止甲方自主开通培训课程功能。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 4、如因网站维护、系统升级、课程更新等技术原因引致的课程无法正常学习情形,甲方应及时通知乙方,乙方应在收到甲方通知后3个工作日内解决问题。
|
|
|
+ </p>
|
|
|
+ <br />
|
|
|
+ <h3>三、协议有效期与结算标准</h3>
|
|
|
+ <p>
|
|
|
+ 1、本协议有效期自
|
|
|
+ {{ $methodsTools.onlyForma(ruleForm.startTime, false) }}起,至
|
|
|
+ {{ $methodsTools.onlyForma(ruleForm.endTime, false) }}止。
|
|
|
+ </p>
|
|
|
+ <p>2、结算标准</p>
|
|
|
+ <el-table :data="tableData" style="width: 100%" border>
|
|
|
+ <el-table-column align="center" type="index" width="50">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="educationName"
|
|
|
+ label="教育类型"
|
|
|
+ width="120"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="goodsName" label="课程名称" align="center">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="covenantPrice"
|
|
|
+ label="协议单价"
|
|
|
+ width="180"
|
|
|
+ align="center"
|
|
|
+ ><template slot-scope="scope">
|
|
|
+ ¥{{ scope.row["covenantPrice"] | formatPrice }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="上限数量" align="center" width="180"
|
|
|
+ ><template slot-scope="scope">
|
|
|
+ {{
|
|
|
+ scope.row["limitStatus"] == 1
|
|
|
+ ? "不限"
|
|
|
+ : scope.row["limitNum"]
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <p>3、具体结算金额以实际参加培训人数为准。</p>
|
|
|
+ <p>
|
|
|
+ 4、额外费用:上述结算标准仅适用于协议约定的培训课程的课程介绍所述的服务内容与形式,超出部分需支付额外费用,标准另计。
|
|
|
+ </p>
|
|
|
+ <br />
|
|
|
+ <h3>四、结算方式</h3>
|
|
|
+ <p>1、结算周期上限:每满{{ ruleForm.settlementCycle }}个自然月。</p>
|
|
|
+ <p>
|
|
|
+ 2、结算金额上限:每达{{
|
|
|
+ ruleForm.limitAmount | formatPrice
|
|
|
+ }}元人民币(大写:¥{{ ruleForm.limitAmount | formatPrice }}) 。
|
|
|
+ 在协议有效期内,依照协议约定的培训课程及结算价格,如达到结算周期上限或结算金额上限,则乙方发送书面账单给甲方,甲方收到账单后2日内未确认也未提出异议的,则视为甲方确认结算价款。甲方应于结算价款确认之日起5个工作日内向乙方支付价款。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 3、发票按发票按双方协定后开具,可根据甲方要求开具广东增值税专用发票,发票类型为*非学历教育服务*培训费,税率为3%。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 4、乙方收款账户 <br />
|
|
|
+ 收款账户名:{{ ruleForm.openingName }} <br />收款账号:
|
|
|
+ {{ ruleForm.proceedsAccount }}<br />开户银行:{{
|
|
|
+ ruleForm.openingBank
|
|
|
+ }}
|
|
|
+ </p>
|
|
|
+ <br />
|
|
|
+ <h3>五、违约责任</h3>
|
|
|
+ <p>
|
|
|
+ 1、双方应按约定全面履行自己的义务,任何一方不履行合同义务或者履行合同义务不符合约定的,应向另一方承担违约责任。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 2、因自然灾害、流行疾病、意外事件或事故等不可预见、不可抗力原因导致协议不能履行,甲乙双方均不负责。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 3、因主管部门政策变更或其它不可抗力而致使本协议目的不能顺利实现,甲方同意不视为乙方违约。
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 4、若甲方逾期付款,则每逾期1日,应按逾期付款金额的3%向乙方支付违约金,同时,
|
|
|
+ 乙方有权停止所有服务。
|
|
|
+ </p>
|
|
|
+ <br />
|
|
|
+ <h3>六、协议解除和终止</h3>
|
|
|
+ <p>经双方协商一致,可以解除或终止本协议。</p>
|
|
|
+ <br />
|
|
|
+ <h3>七、争议解决</h3>
|
|
|
+ <p>
|
|
|
+ 本协议在履行过程中如有未尽事宜或争议,双方应本着友好精神协商解决,若协商不成,任何一方可向广州仲裁委员会申请仲裁。乙方维权所支出的律师费、仲裁费等费用,由甲方承担。
|
|
|
+ </p>
|
|
|
+ <br />
|
|
|
+ <h3>八、送达</h3>
|
|
|
+ <p>
|
|
|
+ 双方关于本协议履行及相关事宜的通知,或者涉仲裁纠纷相关材料的送达,应当按照本协议载明的地址发出,但本协议另有约定的除外。在协议有效期内,任何一方的联系方式发生变更的,应当及时通知对方,否则因此产生的一切不利后果自行承担。
|
|
|
+ </p>
|
|
|
+ <br />
|
|
|
+ <h3>九、生效及其他</h3>
|
|
|
+ <p>
|
|
|
+ 1、本协议一式两份,双方各执一份,具有同等效力,由双方签字盖章后生效。
|
|
|
+ </p>
|
|
|
+ <p class="fgx"></p>
|
|
|
+ <p class="fgx"></p>
|
|
|
+ <div class="footer">
|
|
|
+ <div>
|
|
|
+ <p>甲方(签字盖章):</p>
|
|
|
+ <p>联系人:</p>
|
|
|
+ <p>日期:</p>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>乙方(签字盖章):</p>
|
|
|
+ <p>联系人:</p>
|
|
|
+ <p>日期:</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="xy">
|
|
|
+ <span style="margin-right: 20px">*请仔细阅读协议内容</span>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="downLoad"
|
|
|
+ v-if="type !== 1 && type !== 2 && ruleForm.status == 2"
|
|
|
+ >下载</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div class="foter_box">
|
|
|
+ <h3>甲方收件信息</h3>
|
|
|
+ <div>
|
|
|
+ 收件人:<span>{{ ruleForm.jiaRecipients }}</span
|
|
|
+ >收件电话:<span>{{ ruleForm.jiaRecipientsPhone }}</span
|
|
|
+ >收件地址:<span>{{ ruleForm.jiaRecipientsAddress }}</span
|
|
|
+ >备注:<span>{{ ruleForm.jiaRecipientsRemark }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="foter_box">
|
|
|
+ <h3>乙方收件信息</h3>
|
|
|
+ <div>
|
|
|
+ 收件人:<span>{{ ruleForm.yiRecipients }}</span
|
|
|
+ >收件电话:<span>{{ ruleForm.yiRecipientsPhone }}</span
|
|
|
+ >收件地址:<span>{{ ruleForm.yiRecipientsAddress }}</span
|
|
|
+ >备注:<span>{{ ruleForm.yiRecipientsRemark }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="foter_box" v-if="type !== 1">
|
|
|
+ <h3>协议状态</h3>
|
|
|
+ <div>
|
|
|
+ {{ getStatus(ruleForm.status)
|
|
|
+ }}<span>(审核意见:{{ ruleForm.checkRecord || "---" }})</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="footer_b" v-if="type !== 3">
|
|
|
+ <el-button v-if="returnLastStatus" @click="last">上一步</el-button>
|
|
|
+ <template v-if="(type === 4 || type === 5) && activeIndex === 3">
|
|
|
+ <el-button type="primary" @click="checkFunc(1)">审核通过</el-button>
|
|
|
+ <el-button type="warning" @click="checkFunc(2)"
|
|
|
+ >审核不通过</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <el-button type="primary" @click="next">{{
|
|
|
+ activeIndex === 3 ? "提交" : "下一步"
|
|
|
+ }}</el-button>
|
|
|
+ </template>
|
|
|
+ <el-button @click="isShow = false">关闭</el-button>
|
|
|
+ </div>
|
|
|
+ </el-main>
|
|
|
+ </BaseDialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import searchBoxNew from "@/components/searchBoxNew";
|
|
|
+import pagination from "@/components/pagination";
|
|
|
+import htmlPdf from "@/utils/html_pdf.js";
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ searchBoxNew,
|
|
|
+ pagination,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ var validateTime = (rule, value, callback) => {
|
|
|
+ if (value === "") {
|
|
|
+ callback(new Error("请选择协议结束时间"));
|
|
|
+ } else if (value <= this.ruleForm.startTime) {
|
|
|
+ callback(new Error("协议结束时间必须大于协议开始时间"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return {
|
|
|
+ isShow: false,
|
|
|
+ loading: false,
|
|
|
+ activeIndex: "",
|
|
|
+ type: "",
|
|
|
+ //甲方选择 START
|
|
|
+ firstPartyFormList: [
|
|
|
+ {
|
|
|
+ prop: "companyName",
|
|
|
+ placeholder: "输入企业名称",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ firstPartyFormData: {
|
|
|
+ pageSize: 10,
|
|
|
+ pageNum: 1,
|
|
|
+ },
|
|
|
+ firstPartyTableData: [],
|
|
|
+ firstPartyTotal: 0,
|
|
|
+ tableRadio: "",
|
|
|
+ //甲方选择 END
|
|
|
+ //协议数据 START
|
|
|
+ ruleForm: {
|
|
|
+ companyId: "",
|
|
|
+ jiaCompanyName: "",
|
|
|
+ jiaCompanyContract: "",
|
|
|
+ jiaCompanyAddress: "",
|
|
|
+ jiaCompanyPhone: "",
|
|
|
+ jiaRecipients: "",
|
|
|
+ jiaRecipientsPhone: "",
|
|
|
+ jiaRecipientsAddress: "",
|
|
|
+ jiaRecipientsRemark: "",
|
|
|
+ yiCompanyName: "",
|
|
|
+ yiCompanyContract: "",
|
|
|
+ yiCompanyAddress: "",
|
|
|
+ yiCompanyPhone: "",
|
|
|
+ yiRecipients: "",
|
|
|
+ yiRecipientsPhone: "",
|
|
|
+ yiRecipientsAddress: "",
|
|
|
+ yiRecipientsRemark: "",
|
|
|
+ covenantNum: "",
|
|
|
+ startTime: "",
|
|
|
+ endTime: "",
|
|
|
+ settlementCycle: "",
|
|
|
+ limitAmount: "",
|
|
|
+ bsCovenantBusinessVos: [
|
|
|
+ {
|
|
|
+ hideStatus: false,
|
|
|
+ PlCovenantPrice: "",
|
|
|
+ educationTypeId: "",
|
|
|
+ businessId: "",
|
|
|
+ bsCovenantGoodsVos: [],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ jiaCompanyName: [
|
|
|
+ { required: true, message: "请输入甲方名称", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ jiaCompanyContract: [
|
|
|
+ { required: true, message: "请输入甲方联系人", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ jiaCompanyAddress: [
|
|
|
+ { required: true, message: "请输入甲方地址", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ jiaCompanyPhone: [
|
|
|
+ { required: true, message: "请输入甲方电话", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ jiaRecipients: [
|
|
|
+ { required: true, message: "请输入收件人", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ jiaRecipientsPhone: [
|
|
|
+ { required: true, message: "请输入收件电话", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ jiaRecipientsAddress: [
|
|
|
+ { required: true, message: "请输入收件地址", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ yiCompanyName: [
|
|
|
+ { required: true, message: "请输入乙方名称", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ yiCompanyContract: [
|
|
|
+ { required: true, message: "请输入乙方联系人", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ yiCompanyAddress: [
|
|
|
+ { required: true, message: "请输入乙方地址", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ yiCompanyPhone: [
|
|
|
+ { required: true, message: "请输入乙方电话", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ yiRecipients: [
|
|
|
+ { required: true, message: "请输入收件人", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ yiRecipientsPhone: [
|
|
|
+ { required: true, message: "请输入收件电话", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ yiRecipientsAddress: [
|
|
|
+ { required: true, message: "请输入收件地址", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ covenantNum: [
|
|
|
+ { required: true, message: "请输入协议编号", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ startTime: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入协议开始时间",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ endTime: [{ validator: validateTime, trigger: "change" }],
|
|
|
+ settlementCycle: [
|
|
|
+ { required: true, message: "请输入协议周期(月)", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ limitAmount: [
|
|
|
+ { required: true, message: "请输入结算上限金额", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ //协议数据 END
|
|
|
+ //协议合同 START
|
|
|
+ tableData: [],
|
|
|
+ //协议合同 END
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters(["educationType", "businessLevel"]),
|
|
|
+ getCbus: function () {
|
|
|
+ return function (id) {
|
|
|
+ if (id && this.businessLevel) {
|
|
|
+ return this.businessLevel.filter((i) => i.educationId == id) || [];
|
|
|
+ } else {
|
|
|
+ return [];
|
|
|
+ }
|
|
|
+ };
|
|
|
+ },
|
|
|
+ returnLastStatus() {
|
|
|
+ if (this.activeIndex === 1) {
|
|
|
+ return false;
|
|
|
+ } else if (this.activeIndex === 2) {
|
|
|
+ if (this.type === 1) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ } else if (this.activeIndex === 3) {
|
|
|
+ if (
|
|
|
+ this.ruleForm.formApp !== 2 &&
|
|
|
+ (this.type === 4 || this.type === 5)
|
|
|
+ ) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param {Number} activeIndex 当前展示模块 1甲方选择 2协议数据 3协议合同
|
|
|
+ * @param {Number} type 1新增 2修改 3详情 4协议审核 5终止审核
|
|
|
+ * @param {Object} object 总数据
|
|
|
+ */
|
|
|
+ async openBoxs(activeIndex, type, object) {
|
|
|
+ this.initData();
|
|
|
+ this.activeIndex = activeIndex;
|
|
|
+ this.type = type;
|
|
|
+ if (type === 1) {
|
|
|
+ if (object.covenantId) {
|
|
|
+ delete object.covenantId;
|
|
|
+ object.copyCovenantNum = object.covenantNum;
|
|
|
+ object.copyStatus = 1;
|
|
|
+ const { msg } = await this.$api.bsCovenantGetCovenantNum();
|
|
|
+ object.covenantNum = msg;
|
|
|
+ object.startTime = parseInt(object.startTime * 1000);
|
|
|
+ object.endTime = parseInt(object.endTime * 1000);
|
|
|
+ this.ruleForm = object;
|
|
|
+ } else {
|
|
|
+ this.firstPartySearch(2);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ object.startTime = parseInt(object.startTime * 1000);
|
|
|
+ object.endTime = parseInt(object.endTime * 1000);
|
|
|
+ this.ruleForm = object;
|
|
|
+ if (activeIndex === 3) {
|
|
|
+ this.getTableData();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.isShow = true;
|
|
|
+ },
|
|
|
+ //初始化数据
|
|
|
+ initData(tableRadio = "") {
|
|
|
+ this.tableRadio = tableRadio;
|
|
|
+ this.ruleForm = {
|
|
|
+ companyId: "",
|
|
|
+ jiaCompanyName: "",
|
|
|
+ jiaCompanyContract: "",
|
|
|
+ jiaCompanyAddress: "",
|
|
|
+ jiaCompanyPhone: "",
|
|
|
+ jiaRecipients: "",
|
|
|
+ jiaRecipientsPhone: "",
|
|
|
+ jiaRecipientsAddress: "",
|
|
|
+ jiaRecipientsRemark: "",
|
|
|
+ yiCompanyName: "",
|
|
|
+ yiCompanyContract: "",
|
|
|
+ yiCompanyAddress: "",
|
|
|
+ yiCompanyPhone: "",
|
|
|
+ yiRecipients: "",
|
|
|
+ yiRecipientsPhone: "",
|
|
|
+ yiRecipientsAddress: "",
|
|
|
+ yiRecipientsRemark: "",
|
|
|
+ covenantNum: "",
|
|
|
+ startTime: "",
|
|
|
+ endTime: "",
|
|
|
+ settlementCycle: "",
|
|
|
+ limitAmount: "",
|
|
|
+ bsCovenantBusinessVos: [
|
|
|
+ {
|
|
|
+ hideStatus: false,
|
|
|
+ PlCovenantPrice: "",
|
|
|
+ educationTypeId: "",
|
|
|
+ businessId: "",
|
|
|
+ bsCovenantGoodsVos: [],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ //------------------------------------------甲方选择逻辑START
|
|
|
+ firstPartySearch(v) {
|
|
|
+ this.loading = true;
|
|
|
+ if (v === 2) {
|
|
|
+ this.firstPartyFormData = {
|
|
|
+ pageSize: 10,
|
|
|
+ pageNum: 1,
|
|
|
+ };
|
|
|
+ }
|
|
|
+ var data = JSON.parse(JSON.stringify(this.firstPartyFormData));
|
|
|
+ this.$api
|
|
|
+ .systemCompanyGetJiaList(data)
|
|
|
+ .then((res) => {
|
|
|
+ this.firstPartyTableData = res.rows;
|
|
|
+ this.firstPartyTotal = res.total;
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleSizeChange(v) {
|
|
|
+ this.firstPartyFormData.pageSize = v;
|
|
|
+ this.firstPartyFormData.pageNum = 1;
|
|
|
+ this.firstPartySearch();
|
|
|
+ },
|
|
|
+ handleCurrentChange(v) {
|
|
|
+ this.firstPartyFormData.pageNum = v;
|
|
|
+ this.firstPartySearch();
|
|
|
+ },
|
|
|
+ //------------------------------------------甲方选择逻辑END
|
|
|
+ //------------------------------------------协议数据逻辑START
|
|
|
+ addXYXM() {
|
|
|
+ this.ruleForm.bsCovenantBusinessVos.push({
|
|
|
+ hideStatus: false,
|
|
|
+ educationTypeId: "",
|
|
|
+ projectId: "",
|
|
|
+ businessId: "",
|
|
|
+ bsCovenantGoodsVos: [],
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getApiGoods(v, index) {
|
|
|
+ let array = this.businessLevel.find((i) => v == i.id);
|
|
|
+ this.$api.inquireGoods({ businessId: v, status: 1 }).then((res) => {
|
|
|
+ if (res.rows?.length > 0) {
|
|
|
+ let rows = res.rows.map((i) => {
|
|
|
+ return {
|
|
|
+ goodsId: i.goodsId,
|
|
|
+ goodsName: i.goodsName,
|
|
|
+ majorName: i.majorName,
|
|
|
+ standPrice: i.standPrice,
|
|
|
+ covenantPrice: i.standPrice,
|
|
|
+ limitNum: "",
|
|
|
+ limitStatus: 1,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ this.$set(
|
|
|
+ this.ruleForm.bsCovenantBusinessVos[index],
|
|
|
+ "educationTypeName",
|
|
|
+ array.educationName
|
|
|
+ );
|
|
|
+ this.$set(
|
|
|
+ this.ruleForm.bsCovenantBusinessVos[index],
|
|
|
+ "bsCovenantGoodsVos",
|
|
|
+ rows
|
|
|
+ );
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ delGoodsList(index) {
|
|
|
+ this.$confirm("确定删除当前业务类型吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.ruleForm.bsCovenantBusinessVos.splice(index, 1);
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "删除成功",
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: "info",
|
|
|
+ message: "已取消删除",
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ plEditPrice(item, index) {
|
|
|
+ let selection = this.$refs[`table_${index}`][0].selection;
|
|
|
+ if (selection && selection.length > 0) {
|
|
|
+ let array = selection.map((i) => i.goodsId);
|
|
|
+ for (let i = 0; i < item.bsCovenantGoodsVos.length; i++) {
|
|
|
+ if (array.indexOf(item.bsCovenantGoodsVos[i].goodsId) !== -1) {
|
|
|
+ this.$set(
|
|
|
+ item.bsCovenantGoodsVos[i],
|
|
|
+ "covenantPrice",
|
|
|
+ item.PlCovenantPrice
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.$message.success("批量修改成功");
|
|
|
+ item.PlCovenantPrice = "";
|
|
|
+ this.$refs[`table_${index}`][0].clearSelection();
|
|
|
+ } else {
|
|
|
+ this.$message.error("请先勾选数据");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //------------------------------------------协议数据逻辑END
|
|
|
+ //------------------------------------------协议合同逻辑START
|
|
|
+
|
|
|
+ downLoad() {
|
|
|
+ const lableList = document.getElementsByClassName("pdf");
|
|
|
+ htmlPdf("测试", document.querySelector("#pdf"), lableList);
|
|
|
+ },
|
|
|
+ getStatus(i) {
|
|
|
+ // 1待审核 2 已审核 3已取消 4 不通过 5 已生效 6 已过期 7 已终止
|
|
|
+ var str = "";
|
|
|
+ switch (i) {
|
|
|
+ case 1:
|
|
|
+ str = "待审核";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ str = "已审核";
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ str = "已取消";
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ str = "不通过";
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ str = "已生效";
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ str = "已过期";
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ str = "已终止";
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return str;
|
|
|
+ },
|
|
|
+ //------------------------------------------协议合同逻辑END
|
|
|
+ last() {
|
|
|
+ if (this.activeIndex === 2) {
|
|
|
+ this.$confirm("返回上一步将导致当前页数据丢失,是否继续?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.activeIndex--;
|
|
|
+ this.firstPartySearch(2);
|
|
|
+ this.initData(this.ruleForm.companyId);
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ } else if (this.activeIndex === 3) {
|
|
|
+ this.activeIndex--;
|
|
|
+ this.tableData = [];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async next() {
|
|
|
+ if (this.activeIndex === 1) {
|
|
|
+ if (!this.tableRadio) {
|
|
|
+ this.$message.error("请选择甲方企业");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.ruleForm.companyId = this.tableRadio;
|
|
|
+ if (this.type === 1) {
|
|
|
+ const { msg } = await this.$api.bsCovenantGetCovenantNum();
|
|
|
+ const { data } = await this.$api.bsCovenantGetLastJiaInfo({
|
|
|
+ companyId: this.ruleForm.companyId,
|
|
|
+ });
|
|
|
+ const { data: opening } = await this.$api.systemTenantGetAccount();
|
|
|
+ this.ruleForm.covenantNum = msg;
|
|
|
+ this.ruleForm.companyId = data.companyId;
|
|
|
+ this.ruleForm.jiaCompanyName = data.jiaCompanyName;
|
|
|
+ this.ruleForm.jiaCompanyContract = data.jiaCompanyContract;
|
|
|
+ this.ruleForm.jiaCompanyAddress = data.jiaCompanyAddress;
|
|
|
+ this.ruleForm.jiaCompanyPhone = data.jiaCompanyPhone;
|
|
|
+ this.ruleForm.jiaRecipients = data.jiaRecipients;
|
|
|
+ this.ruleForm.jiaRecipientsPhone = data.jiaRecipientsPhone;
|
|
|
+ this.ruleForm.jiaRecipientsAddress = data.jiaRecipientsAddress;
|
|
|
+ this.ruleForm.jiaRecipientsRemark = data.jiaRecipientsRemark;
|
|
|
+ this.ruleForm.yiCompanyName = data.yiCompanyName;
|
|
|
+ this.ruleForm.yiCompanyContract = data.yiCompanyContract;
|
|
|
+ this.ruleForm.yiCompanyAddress = data.yiCompanyAddress;
|
|
|
+ this.ruleForm.yiCompanyPhone = data.yiCompanyPhone;
|
|
|
+ this.ruleForm.yiRecipients = data.yiRecipients;
|
|
|
+ this.ruleForm.yiRecipientsPhone = data.yiRecipientsPhone;
|
|
|
+ this.ruleForm.yiRecipientsAddress = data.yiRecipientsAddress;
|
|
|
+ this.ruleForm.yiRecipientsRemark = data.yiRecipientsRemark;
|
|
|
+ this.ruleForm.openingBank = opening.openingBank;
|
|
|
+ this.ruleForm.openingName = opening.openingName;
|
|
|
+ this.ruleForm.proceedsAccount = opening.proceedsAccount;
|
|
|
+ this.activeIndex++;
|
|
|
+ }
|
|
|
+ } else if (this.activeIndex === 2) {
|
|
|
+ this.$refs["ruleForm"].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.getTableData();
|
|
|
+ this.activeIndex++;
|
|
|
+ } else {
|
|
|
+ console.log("error submit!!");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else if (this.activeIndex === 3) {
|
|
|
+ let data = JSON.parse(JSON.stringify(this.ruleForm));
|
|
|
+ data.startTime = parseInt(data.startTime / 1000);
|
|
|
+ data.endTime = parseInt(data.endTime / 1000);
|
|
|
+ if (data.covenantId) {
|
|
|
+ data.operateApp = 4;
|
|
|
+ }
|
|
|
+ this.$api[
|
|
|
+ data.copyCovenantNum
|
|
|
+ ? "bsCovenantCopyAndInsert"
|
|
|
+ :
|
|
|
+ data.covenantId ? "bsCovenantUpdateCommit" : "bsCovenantInsert"
|
|
|
+ ](data).then((res) => {
|
|
|
+ this.$message.success("操作成功");
|
|
|
+ this.$emit("search");
|
|
|
+ this.isShow = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param {Number} type 1审核通过 2审核不通过
|
|
|
+ */
|
|
|
+ checkFunc(type) {
|
|
|
+ if (type == 1) {
|
|
|
+ this.$confirm("确定审核通过吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(async () => {
|
|
|
+ if (this.ruleForm.formApp === 2) {
|
|
|
+ let data = JSON.parse(JSON.stringify(this.ruleForm));
|
|
|
+ data.startTime = parseInt(data.startTime / 1000);
|
|
|
+ data.endTime = parseInt(data.endTime / 1000);
|
|
|
+ data.operateApp = 4;
|
|
|
+ await this.$api.bsCovenantUpdateCommit(data);
|
|
|
+ }
|
|
|
+ this.$api[
|
|
|
+ this.type === 4
|
|
|
+ ? "bsCovenantUpdateCheckStatus"
|
|
|
+ : "bsCovenantUpdateStopCheck"
|
|
|
+ ]({
|
|
|
+ covenantId: this.ruleForm.covenantId,
|
|
|
+ status: 2,
|
|
|
+ }).then((res) => {
|
|
|
+ this.$message.success("操作成功");
|
|
|
+ this.isShow = false;
|
|
|
+ this.$emit("search");
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ }
|
|
|
+ if (type == 2) {
|
|
|
+ this.$prompt("确定审核不通过吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ inputPattern: /^.+$/,
|
|
|
+ inputErrorMessage: "请输入不通过原因",
|
|
|
+ beforeClose: async (action, instance, done) => {
|
|
|
+ if (action === "confirm") {
|
|
|
+ instance.confirmButtonLoading = true;
|
|
|
+ instance.confirmButtonText = "提交中...";
|
|
|
+ if (this.ruleForm.formApp === 2) {
|
|
|
+ let data = JSON.parse(JSON.stringify(this.ruleForm));
|
|
|
+ data.startTime = parseInt(data.startTime / 1000);
|
|
|
+ data.endTime = parseInt(data.endTime / 1000);
|
|
|
+ if (data.covenantId) {
|
|
|
+ data.operateApp = 4;
|
|
|
+ }
|
|
|
+ await this.$api.bsCovenantUpdateCommit(data);
|
|
|
+ }
|
|
|
+ this.$api[
|
|
|
+ this.type === 4
|
|
|
+ ? "bsCovenantUpdateCheckStatus"
|
|
|
+ : "bsCovenantUpdateStopCheck"
|
|
|
+ ]({
|
|
|
+ checkInfo: instance.inputValue,
|
|
|
+ covenantId: this.ruleForm.covenantId,
|
|
|
+ status: 4,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ done();
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ instance.confirmButtonLoading = false;
|
|
|
+ instance.confirmButtonText = "确定";
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ done();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ })
|
|
|
+ .then(({ value }) => {
|
|
|
+ this.$message.success("操作成功");
|
|
|
+ this.isShow = false;
|
|
|
+ this.$emit("search");
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getTableData() {
|
|
|
+ if (this.ruleForm.bsCovenantBusinessVos) {
|
|
|
+ let array = [];
|
|
|
+ this.ruleForm.bsCovenantBusinessVos.forEach((items) => {
|
|
|
+ items.bsCovenantGoodsVos.forEach(
|
|
|
+ (i) => (i.educationName = items.educationTypeName)
|
|
|
+ );
|
|
|
+ array = array.concat(items.bsCovenantGoodsVos);
|
|
|
+ });
|
|
|
+ this.tableData = array || [];
|
|
|
+ } else {
|
|
|
+ this.tableData = [];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ close() {},
|
|
|
+ submit() {},
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.footer_b {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: end;
|
|
|
+}
|
|
|
+.table_1 {
|
|
|
+ /deep/ .el-checkbox {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+h4 {
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #2f4378;
|
|
|
+}
|
|
|
+.demo-ruleForm {
|
|
|
+ /deep/ .el-input--medium .el-input__inner {
|
|
|
+ width: 290px;
|
|
|
+ }
|
|
|
+ /deep/ .el-input-number.is-without-controls .el-input__inner {
|
|
|
+ width: 185px !important;
|
|
|
+ }
|
|
|
+}
|
|
|
+.eb_sty {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ /deep/ .el-select .el-input--medium .el-input__inner {
|
|
|
+ width: auto !important;
|
|
|
+ }
|
|
|
+ i {
|
|
|
+ cursor: pointer;
|
|
|
+ font-size: 26px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+#pdf {
|
|
|
+ padding: 60px;
|
|
|
+ font-size: 16px;
|
|
|
+ color: #000;
|
|
|
+ font-family: "宋体 常规", "宋体", sans-serif;
|
|
|
+ line-height: 30px;
|
|
|
+}
|
|
|
+.fth {
|
|
|
+ font-size: 16px;
|
|
|
+ color: #333;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+h3 {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+.f_w {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+.fgx {
|
|
|
+ height: 30px;
|
|
|
+ border-bottom: 1px solid rgb(186, 186, 186);
|
|
|
+}
|
|
|
+.footer {
|
|
|
+ display: flex;
|
|
|
+ div {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+}
|
|
|
+.foter_box {
|
|
|
+ border-top: 1px dashed #333;
|
|
|
+ padding: 30px 0px;
|
|
|
+ color: #333;
|
|
|
+ h3 {
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ span {
|
|
|
+ margin-right: 30px;
|
|
|
+ }
|
|
|
+}
|
|
|
+.xy {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: red;
|
|
|
+ margin-bottom: 30px;
|
|
|
+}
|
|
|
+</style>
|