|
@@ -100,78 +100,78 @@
|
|
|
</el-dialog>
|
|
|
<!-- 完善合同信息 需要调下样式-->
|
|
|
<el-dialog v-if="editDialogB" :visible.sync="editDialogB" title="完善合同信息" width="1200px">
|
|
|
- <el-form :inline="true" :model="formInline" class="heClass">
|
|
|
- <el-form-item label="甲方名称:" label-width="100px">
|
|
|
+ <el-form :inline="true" :model="formInline" :rules="rulesFormInline" ref="formInline" class="heClass">
|
|
|
+ <el-form-item label="甲方名称:" label-width="150px">
|
|
|
南京火石闪信网络科技有限公司
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方名称:" label-width="100px">
|
|
|
- <el-input size="small" controls-position="right" v-model="secondParty" :disabled="finalize" style="width: 300px"></el-input>
|
|
|
+ <el-form-item label="乙方名称:" label-width="150px" prop="secondParty">
|
|
|
+ <el-input size="small" controls-position="right" v-model="formInline.secondParty" :disabled="finalize" style="width: 300px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="甲方地址:" label-width="100px">
|
|
|
+ <el-form-item label="甲方地址:" label-width="150px">
|
|
|
南京市江宁区秣周东路12号悠谷软件园2号楼3楼P346室
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方地址:" label-width="100px">
|
|
|
- <el-input size="small" controls-position="right" v-model="secondPartyAddr" :disabled="finalize" style="width: 400px"></el-input>
|
|
|
+ <el-form-item label="乙方地址:" label-width="150px" prop="secondPartyAddr">
|
|
|
+ <el-input size="small" controls-position="right" v-model="formInline.secondPartyAddr" :disabled="finalize" style="width: 400px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="甲方联系人:" label-width="100px">
|
|
|
+ <el-form-item label="甲方联系人:" label-width="150px">
|
|
|
屈跃庭
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方联系人:" label-width="100px">
|
|
|
- <el-input size="small" controls-position="right" v-model="secondPartyContacts" :disabled="finalize" style="width: 150px"></el-input>
|
|
|
+ <el-form-item label="乙方联系人:" label-width="150px" prop="secondPartyContacts">
|
|
|
+ <el-input size="small" controls-position="right" v-model="formInline.secondPartyContacts" :disabled="finalize" style="width: 150px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="甲方电话:" label-width="100px">
|
|
|
+ <el-form-item label="甲方电话:" label-width="150px">
|
|
|
15895914665
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方电话:" label-width="100px">
|
|
|
- <el-input size="small" controls-position="right" maxlength="11" v-model="secondPartyTel" :disabled="finalize" style="width: 150px"></el-input>
|
|
|
+ <el-form-item label="乙方电话:" label-width="150px" prop="secondPartyTel">
|
|
|
+ <el-input size="small" controls-position="right" maxlength="11" v-model="formInline.secondPartyTel" :disabled="finalize" style="width: 150px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="软件名称:" label-width="100px">
|
|
|
- <el-input size="small" controls-position="right" v-model="softwareName" :disabled="finalize" style="width: 200px"></el-input>
|
|
|
+ <el-form-item label="软件名称:" label-width="150px" prop="softwareName">
|
|
|
+ <el-input size="small" controls-position="right" v-model="formInline.softwareName" :disabled="finalize" style="width: 200px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="服务周期:" label-width="100px">
|
|
|
- <el-input-number size="small" controls-position="right" v-model="serviceDate" :disabled="finalize" style="width: 100px"></el-input-number> 年
|
|
|
+ <el-form-item label="服务周期:" label-width="150px" prop="serviceDate">
|
|
|
+ <el-input-number size="small" controls-position="right" :min="0" v-model.number="formInline.serviceDate" :disabled="finalize" style="width: 100px"></el-input-number> 年
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="服务开始日期:" label-width="120px">
|
|
|
+ <el-form-item label="服务开始日期:" label-width="150px" prop="startDate">
|
|
|
<el-date-picker
|
|
|
- v-model="startDate"
|
|
|
+ v-model="formInline.startDate"
|
|
|
:disabled="finalize"
|
|
|
type="date"
|
|
|
placeholder="选择日期"
|
|
|
value-format="yyyy-MM-dd">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="年服务费:" label-width="100px">
|
|
|
- <el-input size="small" controls-position="right" v-model="serviceChargeOfYear" :disabled="finalize" style="width: 100px"></el-input> 元
|
|
|
+ <el-form-item label="年服务费:" label-width="150px" prop="serviceChargeOfYear">
|
|
|
+ <el-input size="small" controls-position="right" v-model.number="formInline.serviceChargeOfYear" :disabled="finalize" style="width: 100px"></el-input> 元
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="定制开发费:" label-width="100px">
|
|
|
- <el-input size="small" controls-position="right" v-model="customDevelopmentCosts" :disabled="finalize" style="width: 100px"></el-input> 元
|
|
|
+ <el-form-item label="定制开发费:" label-width="150px" prop="customDevelopmentCosts">
|
|
|
+ <el-input size="small" controls-position="right" v-model.number="formInline.customDevelopmentCosts" :disabled="finalize" style="width: 100px"></el-input> 元
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="标准单价:" label-width="100px">
|
|
|
- <el-input size="small" controls-position="right" v-model="standardUnitPrice" :disabled="finalize" style="width: 100px"></el-input> 元每人每年
|
|
|
+ <el-form-item label="标准单价:" label-width="150px" prop="standardUnitPrice">
|
|
|
+ <el-input size="small" controls-position="right" v-model.number="formInline.standardUnitPrice" :disabled="finalize" style="width: 100px"></el-input> 元每人每年
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="首次开通人数:" label-width="120px">
|
|
|
- <el-input-number size="small" controls-position="right" v-model="firstOpenNum" :disabled="finalize" style="width: 100px"></el-input-number> 人
|
|
|
+ <el-form-item label="首次开通人数:" :min="0" label-width="150px" prop="firstOpenNum" style="width: 100%">
|
|
|
+ <el-input-number size="small" controls-position="right" v-model.number="formInline.firstOpenNum" :disabled="finalize" style="width: 100px"></el-input-number> 人
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="甲方账号:" label-width="120px">
|
|
|
+ <el-form-item label="甲方账号:" label-width="150px">
|
|
|
32050188143600000075
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="甲方开户行:" label-width="120px">
|
|
|
- 建设银行股份有限公司南京湖北路支行
|
|
|
+ <el-form-item label="乙方账号:" label-width="150px" prop="secondPartyAccount">
|
|
|
+ <el-input size="small" controls-position="right" v-model="formInline.secondPartyAccount" :disabled="finalize" style="width: 300px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方账号:" label-width="120px">
|
|
|
- <el-input size="small" controls-position="right" v-model="secondPartyAccount" :disabled="finalize" style="width: 300px"></el-input>
|
|
|
+ <el-form-item label="甲方开户行:" label-width="150px">
|
|
|
+ 建设银行股份有限公司南京湖北路支行
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方开户行:" label-width="120px">
|
|
|
- <el-input size="small" controls-position="right" v-model="secondPartyBankOfDeposit" :disabled="finalize" style="width: 300px"></el-input>
|
|
|
+ <el-form-item label="乙方开户行:" label-width="150px" prop="secondPartyBankOfDeposit">
|
|
|
+ <el-input size="small" controls-position="right" v-model="formInline.secondPartyBankOfDeposit" :disabled="finalize" style="width: 300px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方开票名称:" label-width="120px">
|
|
|
- <el-input size="small" controls-position="right" v-model="secondPartyBillingName" :disabled="finalize" style="width: 200px"></el-input>
|
|
|
+ <el-form-item label="乙方开票名称:" label-width="150px" prop="secondPartyBillingName">
|
|
|
+ <el-input size="small" controls-position="right" v-model="formInline.secondPartyBillingName" :disabled="finalize" style="width: 200px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方纳税人识别号:" label-width="140px">
|
|
|
- <el-input size="small" controls-position="right" v-model="secondPartyTIN" :disabled="finalize" style="width: 200px"></el-input>
|
|
|
+ <el-form-item label="乙方纳税人识别号:" label-width="150px" prop="secondPartyTIN">
|
|
|
+ <el-input size="small" controls-position="right" v-model="formInline.secondPartyTIN" :disabled="finalize" style="width: 200px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乙方开具发票类型:" label-width="140px">
|
|
|
- <el-select v-model="invoiceType" placeholder="请选择" :disabled="finalize">
|
|
|
+ <el-form-item label="乙方开具发票类型:" label-width="150px" prop="invoiceType">
|
|
|
+ <el-select v-model="formInline.invoiceType" placeholder="请选择" :disabled="finalize">
|
|
|
<el-option
|
|
|
v-for="invoiceItem in invoiceOptions"
|
|
|
:key="invoiceItem.value"
|
|
@@ -183,7 +183,7 @@
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="editDialogB = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="ConfirmB()" :loading="listLoading" v-if="!finalize">确定</el-button>
|
|
|
+ <el-button type="primary" @click="ConfirmB('formInline')" :loading="listLoading" v-if="!finalize">确定</el-button>
|
|
|
<el-button type="primary" @click="ConfirmC()" :loading="listLoading" v-if="!finalize">合同定稿</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
@@ -218,50 +218,54 @@ import axios from 'axios'
|
|
|
// 修改有效期
|
|
|
expirationNewDate: null,
|
|
|
|
|
|
- //甲方名称
|
|
|
- firstParty: null,
|
|
|
- //乙方名称
|
|
|
- secondParty: null,
|
|
|
- //甲方地址
|
|
|
- firstPartyAddr: null,
|
|
|
- //乙方地址
|
|
|
- secondPartyAddr: null,
|
|
|
- //甲方联系人
|
|
|
- firstPartyContacts: null,
|
|
|
- //乙方联系人
|
|
|
- secondPartyContacts: null,
|
|
|
- //甲方电话
|
|
|
- firstPartyTel: null,
|
|
|
- //乙方电话
|
|
|
- secondPartyTel: null,
|
|
|
- //软件名称
|
|
|
- softwareName: null,
|
|
|
- //服务周期
|
|
|
- serviceDate:0,
|
|
|
- //服务开始日期
|
|
|
- startDate:null,
|
|
|
- //年服务费
|
|
|
- serviceChargeOfYear:0,
|
|
|
- //定制开发费
|
|
|
- customDevelopmentCosts:0,
|
|
|
- //标准单价
|
|
|
- standardUnitPrice:0,
|
|
|
- //首次开通人数
|
|
|
- firstOpenNum:0,
|
|
|
- //甲方账号
|
|
|
- firstPartyAccount:null,
|
|
|
- //甲方开户行
|
|
|
- firstPartyBankOfDeposit:null,
|
|
|
- //乙方账号
|
|
|
- secondPartyAccount:null,
|
|
|
- //乙方开户行
|
|
|
- secondPartyBankOfDeposit:null,
|
|
|
- //乙方开票名称
|
|
|
- secondPartyBillingName:null,
|
|
|
- //乙方纳税人识别号
|
|
|
- secondPartyTIN:null,
|
|
|
- //乙方开具发票类型
|
|
|
- invoiceType:'',
|
|
|
+ formInline: {
|
|
|
+ //甲方名称
|
|
|
+ firstParty: null,
|
|
|
+ //乙方名称
|
|
|
+ secondParty: null,
|
|
|
+ //甲方地址
|
|
|
+ firstPartyAddr: null,
|
|
|
+ //乙方地址
|
|
|
+ secondPartyAddr: null,
|
|
|
+ //甲方联系人
|
|
|
+ firstPartyContacts: null,
|
|
|
+ //乙方联系人
|
|
|
+ secondPartyContacts: null,
|
|
|
+ //甲方电话
|
|
|
+ firstPartyTel: null,
|
|
|
+ //乙方电话
|
|
|
+ secondPartyTel: null,
|
|
|
+ //软件名称
|
|
|
+ softwareName: null,
|
|
|
+ //服务周期
|
|
|
+ serviceDate:0,
|
|
|
+ //服务开始日期
|
|
|
+ startDate:null,
|
|
|
+ //年服务费
|
|
|
+ serviceChargeOfYear:0,
|
|
|
+ //定制开发费
|
|
|
+ customDevelopmentCosts:0,
|
|
|
+ //标准单价
|
|
|
+ standardUnitPrice:0,
|
|
|
+ //首次开通人数
|
|
|
+ firstOpenNum:0,
|
|
|
+ //甲方账号
|
|
|
+ firstPartyAccount:null,
|
|
|
+ //甲方开户行
|
|
|
+ firstPartyBankOfDeposit:null,
|
|
|
+ //乙方账号
|
|
|
+ secondPartyAccount:null,
|
|
|
+ //乙方开户行
|
|
|
+ secondPartyBankOfDeposit:null,
|
|
|
+ //乙方开票名称
|
|
|
+ secondPartyBillingName:null,
|
|
|
+ //乙方纳税人识别号
|
|
|
+ secondPartyTIN:null,
|
|
|
+ //乙方开具发票类型
|
|
|
+ invoiceType:'',
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
//合同定稿
|
|
|
finalize:false,
|
|
|
|
|
@@ -302,6 +306,38 @@ import axios from 'axios'
|
|
|
label: '增值税专用发票'
|
|
|
},
|
|
|
],
|
|
|
+
|
|
|
+ // 规则校验
|
|
|
+ rulesFormInline: {
|
|
|
+ secondParty: [{ required: true, message: '请输入乙方名称', trigger: 'blur' }],
|
|
|
+ secondPartyAddr: [{ required: true, message: '请输入乙方地址', trigger: 'blur' }],
|
|
|
+ secondPartyContacts: [{ required: true, message: '请输入乙方联系人', trigger: 'blur' }],
|
|
|
+ secondPartyTel: [{ required: true, message: '请输入乙方电话', trigger: 'blur' }],
|
|
|
+ softwareName: [{ required: true, message: '请输入软件名称', trigger: 'blur' }],
|
|
|
+ serviceDate: [{ required: true, message: '请输入服务周期', trigger: 'blur' }],
|
|
|
+ startDate: [{ required: true, message: '请选择服务开始日期', trigger: 'blur' }],
|
|
|
+ serviceChargeOfYear: [
|
|
|
+ { required: true, message: '请输入年服务费', trigger: 'blur' },
|
|
|
+ { required: true, pattern:/^[a-zA-Z0-9_-]{1,16}$/, message: '请输入数字', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ customDevelopmentCosts: [
|
|
|
+ { required: true, message: '请输入定制开发费', trigger: 'blur' },
|
|
|
+ { required: true, pattern:/^[a-zA-Z0-9_-]{1,16}$/, message: '请输入数字', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ standardUnitPrice: [
|
|
|
+ { required: true, message: '请输入标准单价', trigger: 'blur' },
|
|
|
+ { required: true, pattern:/^[a-zA-Z0-9_-]{1,16}$/, message: '请输入数字', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ firstOpenNum: [
|
|
|
+ { required: true, message: '请输入首次开通人数', trigger: 'blur' },
|
|
|
+ { required: true, pattern:/^[a-zA-Z0-9_-]{1,16}$/, message: '请输入数字', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ secondPartyAccount: [{ required: true, message: '请输入乙方账号', trigger: 'blur' }],
|
|
|
+ secondPartyBankOfDeposit: [{ required: true, message: '请输入乙方开户行', trigger: 'blur' }],
|
|
|
+ secondPartyBillingName: [{ required: true, message: '请输入乙方开票名称', trigger: 'blur' }],
|
|
|
+ secondPartyTIN: [{ required: true, message: '请输入乙方纳税人识别号', trigger: 'blur' }],
|
|
|
+ invoiceType: [{ required: true, message: '请输入乙方开具发票类型', trigger: 'blur' }],
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
// 过滤器
|
|
@@ -587,50 +623,57 @@ import axios from 'axios'
|
|
|
});
|
|
|
},
|
|
|
// 完善合同信息
|
|
|
- ConfirmB(){
|
|
|
- this.listLoading = true;
|
|
|
- this.http.post('/contract-detail/update', {
|
|
|
- companyId:this.dialogData.id,
|
|
|
- secondParty:this.secondParty,
|
|
|
- secondPartyAddr:this.secondPartyAddr,
|
|
|
- secondPartyContacts:this.secondPartyContacts,
|
|
|
- secondPartyTel:this.secondPartyTel,
|
|
|
- softwareName:this.softwareName,
|
|
|
- serviceDate:this.serviceDate,
|
|
|
- startDate:this.startDate,
|
|
|
- serviceChargeOfYear:this.serviceChargeOfYear,
|
|
|
- customDevelopmentCosts:this.customDevelopmentCosts,
|
|
|
- standardUnitPrice:this.standardUnitPrice,
|
|
|
- firstOpenNum:this.firstOpenNum,
|
|
|
- secondPartyAccount:this.secondPartyAccount,
|
|
|
- secondPartyBankOfDeposit:this.secondPartyBankOfDeposit,
|
|
|
- secondPartyBillingName:this.secondPartyBillingName,
|
|
|
- secondPartyTIN:this.secondPartyTIN,
|
|
|
- billingAmount:this.billingAmount,
|
|
|
- invoiceType:this.invoiceType,
|
|
|
- },
|
|
|
- res => {
|
|
|
- this.listLoading = false;
|
|
|
- if (res.code == "ok") {
|
|
|
- this.editDialogB = false
|
|
|
- this.downloadUrl2=res.data
|
|
|
- this.$message({
|
|
|
- message: "合同信息完善成功,合同模板已重新生成",
|
|
|
- type: "success"
|
|
|
- })
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- message: res.msg,
|
|
|
- type: "error"
|
|
|
+ ConfirmB(formName){
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ console.log(valid)
|
|
|
+ if (valid) {
|
|
|
+ this.listLoading = true;
|
|
|
+ this.http.post('/contract-detail/update', {
|
|
|
+ companyId:this.formInline.dialogData.id,
|
|
|
+ secondParty:this.formInline.secondParty,
|
|
|
+ secondPartyAddr:this.formInline.secondPartyAddr,
|
|
|
+ secondPartyContacts:this.formInline.secondPartyContacts,
|
|
|
+ secondPartyTel:this.formInline.secondPartyTel,
|
|
|
+ softwareName:this.formInline.softwareName,
|
|
|
+ serviceDate:this.formInline.serviceDate,
|
|
|
+ startDate:this.formInline.startDate,
|
|
|
+ serviceChargeOfYear:this.formInline.serviceChargeOfYear,
|
|
|
+ customDevelopmentCosts:this.formInline.customDevelopmentCosts,
|
|
|
+ standardUnitPrice:this.formInline.standardUnitPrice,
|
|
|
+ firstOpenNum:this.formInline.firstOpenNum,
|
|
|
+ secondPartyAccount:this.formInline.secondPartyAccount,
|
|
|
+ secondPartyBankOfDeposit:this.formInline.secondPartyBankOfDeposit,
|
|
|
+ secondPartyBillingName:this.formInline.secondPartyBillingName,
|
|
|
+ secondPartyTIN:this.formInline.secondPartyTIN,
|
|
|
+ billingAmount:this.formInline.billingAmount,
|
|
|
+ invoiceType:this.formInline.invoiceType,
|
|
|
+ },
|
|
|
+ res => {
|
|
|
+ this.listLoading = false;
|
|
|
+ if (res.code == "ok") {
|
|
|
+ this.editDialogB = false
|
|
|
+ this.downloadUrl2=res.data
|
|
|
+ this.$message({
|
|
|
+ message: "合同信息完善成功,合同模板已重新生成",
|
|
|
+ type: "success"
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error => {
|
|
|
+ this.listLoading = false;
|
|
|
+ this.$message({
|
|
|
+ message: error,
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
});
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
}
|
|
|
- },
|
|
|
- error => {
|
|
|
- this.listLoading = false;
|
|
|
- this.$message({
|
|
|
- message: error,
|
|
|
- type: "error"
|
|
|
- });
|
|
|
});
|
|
|
},
|
|
|
// 合同定稿
|
|
@@ -912,7 +955,7 @@ import axios from 'axios'
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.heClass .el-form-item {
|
|
|
- width: 500px;
|
|
|
+ width: 48%
|
|
|
}
|
|
|
.rg_span{
|
|
|
display: inline-block;
|