Browse Source

完善合同审核

master
yunuo970428 2 years ago
parent
commit
7c05937ca0
  1. 241
      anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/contract.js
  2. 694
      anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanli.vue
  3. 911
      anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanliAdd.vue
  4. 246
      anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue
  5. 313
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdangan.vue
  6. 136
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdanganDaiBanByFileInfo.vue
  7. 128
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdanganDaiBanInfo.vue
  8. 6
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdanganEdit.vue
  9. 128
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdanganYiBanInfo.vue

241
anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/contract.js

@ -1,250 +1,165 @@
import request from "@/utils/request";
// import qs from "qs";
// ----------------------------------- 合同档案管理
// 列表查询接口
import request from '@/utils/request'
export function getPageList(data) {
return request({
url: "/base/v1/commoncontract/listPage",
method: "post",
url: '/base/v1/commoncontract/listPage',
method: 'post',
data: data,
headers: {
"Content-Type": "application/json"
}
});
headers: { 'Content-Type': 'application/json' }
})
}
// 保存
export function saveContract(data) {
return request({
url: "base/v1/commoncontract/save",
data,
method: "post",
// data: data,
headers: {
"Content-Type": "application/json"
}
});
url: 'base/v1/commoncontract/save',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
export function updateContract(data) {
return request({
url: "/base/v1/commoncontract/update/" + data.sid,
method: "post",
url: '/base/v1/commoncontract/update/' + data.sid,
method: 'post',
data: data,
headers: {
"Content-Type": "application/json"
}
});
headers: { 'Content-Type': 'application/json' }
})
}
// 编辑回显
export function getOneContract(data) {
return request({
url: "/base/v1/commoncontract/fetchSid/" + data,
method: "get"
});
url: '/base/v1/commoncontract/fetchSid/' + data,
method: 'get'
})
}
export function deleteByids(data) {
var params = new URLSearchParams();
params.append("sids", data);
return request({
url: "/base/v1/commoncontract/deleteBySids",
method: "DELETE",
data: params
});
}
// export function exportCommoncontractExcel(data) {
// data.url = "/base/v1/commoncontract/exportExcel";
// exportExcelPublic(data);
// }
// export function exportExcelPublic(data) {
// axios({
// method: data.method,
// url: `${data.url}${data.params ? "?" + data.params : ""}`,
// responseType: "blob"
// })
// .then(res => {
// const link = document.createElement("a");
// const blob = new Blob([res.data], { type: "application/vnd.ms-excel" });
// link.style.display = "none";
// link.href = URL.createObjectURL(blob);
// const temp = res.headers["content-disposition"]
// .split(";")[1]
// .split("filename=")[1];
// const iconv = require("iconv-lite");
// iconv.skipDecodeWarning = true;
// const fileName = iconv.decode(temp, "utf-8");
// // link.download = res.headers['content-disposition'] // 下载后文件名
// link.download = fileName; // 下载的文件名
// document.body.appendChild(link);
// link.click();
// document.body.removeChild(link);
// })
// .catch(error => {
// this.$message.error({
// title: "错误",
// desc: "网络连接错误"
// });
// console.log(error);
// });
// }
return request({
url: '/base/v1/commoncontract/deleteBySids',
method: 'DELETE',
data: data
})
}
// 导出
export function basefinbankExportExcel(data) {
return request({
url: "/base/v1/commoncontract/exportExcel",
method: "get",
responseType: "blob", // 表明返回服务器返回的数据类型
url: '/base/v1/commoncontract/exportExcel',
method: 'get',
responseType: 'blob', // 表明返回服务器返回的数据类型
params: data,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
'Content-Type': 'application/x-www-form-urlencoded'
}
});
})
}
// ----合同模板
export function getTemplatePageList(data) {
return request({
url: "/base/v1/commoncontracttemplate/listPage",
method: "post",
url: '/base/v1/commoncontracttemplate/listPage',
method: 'post',
data: data,
headers: {
"Content-Type": "application/json"
'Content-Type': 'application/json'
}
});
})
}
export function saveTemplate(data) {
return request({
url: "/base/v1/commoncontracttemplate/save",
data,
method: "post",
// data: data,
url: '/base/v1/commoncontracttemplate/save',
method: 'post',
data: data,
headers: {
"Content-Type": "application/json"
'Content-Type': 'application/json'
}
});
})
}
export function updateTemplate(data) {
return request({
url: "/base/v1/commoncontracttemplate/update/" + data.sid,
method: "post",
url: '/base/v1/commoncontracttemplate/update/' + data.sid,
method: 'post',
data: data,
headers: {
"Content-Type": "application/json"
'Content-Type': 'application/json'
}
});
})
}
export function getOneTemplate(data) {
return request({
url: "/base/v1/commoncontracttemplate/fetchSid/" + data,
method: "get"
});
url: '/base/v1/commoncontracttemplate/fetchSid/' + data,
method: 'get'
})
}
export function deleteTemplateByids(data) {
var params = new URLSearchParams();
params.append("sids", data);
return request({
url: "/base/v1/commoncontracttemplate/deleteBySids",
method: "DELETE",
data: params
});
url: '/base/v1/commoncontracttemplate/deleteBySids',
method: 'DELETE',
data: data
})
}
// 导出合同模板excel;
export function basefinbankTemplateExportExcel(data) {
return request({
url: "/base/v1/commoncontracttemplate/exportExcel", // + data
method: "get",
responseType: "blob", // 表明返回服务器返回的数据类型
url: '/base/v1/commoncontracttemplate/exportExcel', // + data
method: 'get',
responseType: 'blob', // 表明返回服务器返回的数据类型
params: data,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}
// export function basefinbankTemplateExportExcel(data) {
// data.url = "/base/v1/commoncontracttemplate/exportExcel";
// exportExcelPublic(data);
// }
// export function exportExcelPublic(data) {
// console.log(data.params);
// axios({
// method: data.method,
// // url: `${data.url}${data.params ? "?" + data.params : ""}`,
// url: data.url,
// data: data.params,
// responseType: "blob",
// headers: {
// "Content-Type": "application/x-www-form-urlencoded"
// }
// })
// .then(res => {
// const link = document.createElement("a");
// const blob = new Blob([res.data], { type: "application/vnd.ms-excel" });
// link.style.display = "none";
// link.href = URL.createObjectURL(blob);
// const temp = res.headers["content-disposition"]
// .split(";")[1]
// .split("filename=")[1];
// const iconv = require("iconv-lite");
// iconv.skipDecodeWarning = true;
// const fileName = iconv.decode(temp, "utf-8");
// // link.download = res.headers['content-disposition'] // 下载后文件名
// link.download = fileName; // 下载的文件名
// document.body.appendChild(link);
// link.click();
// document.body.removeChild(link);
// })
// .catch(error => {
// // this.$message.error({
// // title: "错误",
// // desc: "网络连接错误"
// // });
// // console.log(error);
// console.log(9);
// });
// }
})
}
// 获取人员类型
export function getPersonnelType(data) {
return request({
url: "/base/v1/commoncontract/getPersonnelType",
method: "post"
});
url: '/base/v1/commoncontract/getPersonnelType',
method: 'post'
})
}
// 项目类型
export function getProjectType(data) {
return request({
url: "/base/v1/commoncontract/getProjectType",
method: "post"
});
url: '/base/v1/commoncontract/getProjectType',
method: 'post'
})
}
// 上传
export function uploadFile(data) {
return request({
url: "/base/file/upload",
method: "post",
url: '/base/file/upload',
method: 'post',
data: data
});
})
}
// 下载
export function download(data) {
return request({
url: "/base/file/download",
method: "get",
url: '/base/file/download',
method: 'get',
params: data,
responseType: "blob" // 表明返回服务器返回的数据类型
});
responseType: 'blob' // 表明返回服务器返回的数据类型
})
}
// 移除
export function deleteFilesOss(data) {
return request({
url: "/base/v1/commonappendix/deleteFilesOss",
method: "post",
url: '/base/v1/commonappendix/deleteFilesOss',
method: 'post',
params: { fullPath: data }
});
})
}

694
anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanli.vue

@ -1,71 +1,50 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>合同档案管理</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">新增</el-button>
<el-button type="primary" size="small" @click="handleUpdate()">编辑</el-button>
<el-button type="primary" size="small" :disabled="isableSub" @click="handleSubmit()">提交</el-button>
<el-button type="danger" size="small" @click="handleDelete()">删除</el-button>
<el-button type="success" size="small" @click="handleDaoru()">导入</el-button>
<el-button type="success" size="small" @click="handleDaoChu()">导出</el-button>
<!-- <el-button type="info" size="small" @click="handleReturn()">返回</el-button> -->
</div>
</div>
<div class="webcon">
<div v-show="viewState == 1">
<button-bar view-title="合同档案管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="合同类型" class="searchlist">
<el-select v-model="listQuery.params.contractType" placeholder="请选择" class="filter-item">
<el-option v-for="item in typeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
<el-form-item label="合同类型">
<el-select v-model="listQuery.params.contractTypeKey" filterable placeholder="请选择">
<el-option v-for="item in typeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="合同编号" class="searchlist">
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable class="filter-item"/>
<el-form-item label="合同编号">
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="签订日期" class="searchlist">
<el-date-picker v-model="listQuery.params.createDateStart" class="filter-item" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<label></label>
<el-date-picker v-model="listQuery.params.createDateEnd" class="filter-item" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<el-form-item label="签订日期">
<el-date-picker v-model="listQuery.params.createDateStart" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createDateEnd" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
</el-form-item>
<el-form-item label="甲方名称" class="searchlist">
<el-input v-model="listQuery.params.partyA" placeholder="" clearable class="filter-item"/>
<el-form-item label="甲方名称">
<el-input v-model="listQuery.params.partyA" placeholder="" clearable/>
</el-form-item>
<el-form-item label="乙方名称" class="searchlist">
<el-input v-model="listQuery.params.partyB" placeholder="" clearable class="filter-item"/>
<el-form-item label="乙方名称">
<el-input v-model="listQuery.params.partyB" placeholder="" clearable/>
</el-form-item>
<div class="searchbtns">
<el-button type="primary" @click="handleLook">查询</el-button>
<el-button type="primary" @click="handleReset">重置</el-button>
</div>
</el-form>
<div class="btn" style="text-align: center;">
<el-button size="small" icon="el-icon-search" type="primary" @click="handleLook">查询</el-button>
<el-button size="small" icon="el-icon-refresh" type="primary" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">合同档案列表</div>
<pageye v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="150px" label="操作" align="center">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50" type="selection" align="center"/>
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="100" label="操作" align="center">
<template slot-scope="scope">
<div class="searchbtns">
<el-button size="small" type="primary"
:disabled="scope.row.nodeState == ''?false:true"
@click="changeNodeState(scope.row)">办理
</el-button>
</div>
<el-button size="small" type="primary" @click="toEdit(scope.row)">办理</el-button>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
@ -75,7 +54,7 @@
</el-table-column>
<el-table-column label="合同编号" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handleCheck(scope.row)">{{scope.row.contractNo}}</span>
<span class="bluezi" @click="toInfo(scope.row)">{{ scope.row.contractNo }}</span>
</template>
</el-table-column>
<el-table-column label="合同类型" align="center">
@ -125,7 +104,6 @@
</el-table-column>
<el-table-column label="合同扫描件" align="center">
<template slot-scope="scope">
<!-- <img :src="scope.row.appdixUrl"> -->
<span class="bluezi" @click="lookPicture(scope.row)">查看</span>
</template>
</el-table-column>
@ -139,21 +117,17 @@
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<hetongdanganguanli-add ref="addAndUpdate" v-show="viewState == 2 || viewState == 3" @handleReturn="resetState"
@created="dataCreated" @updated="dataUpdated"/>
<hetongdanganguanli-info ref="openInfo" v-show="viewState == 4" @handleReturn="resetState"/>
<hetongdanganguanli-add ref="divAdd" v-show="viewState == 2 || viewState == 3" @handleReturn="resetState" @reloadlist="getList"/>
<hetongdanganguanli-info ref="divInfo" v-show="viewState == 4" @handleReturn="resetState"/>
<div class="dialogStyle">
<el-dialog title="查看" :visible.sync="dialogVisible" width="45%" height="320">
<embed v-show="pdfShow" id="plugin" width="100%" height="600" name="plugin" :src="contractPdf"
type="application/pdf" internalinstanceid="119">
<el-image v-for="url in pictureUrls" v-show="imageShow" :key="url" :src="url" lazy
style="width:200px;height:200px" :preview-src-list="pictureUrls"/>
<embed v-show="pdfShow" id="plugin" width="100%" height="600" name="plugin" :src="contractPdf" type="application/pdf" internalinstanceid="119">
<el-image v-for="url in pictureUrls" v-show="imageShow" :key="url" :src="url" lazy style="width:200px;height:200px" :preview-src-list="pictureUrls"/>
</el-dialog>
</div>
@ -161,382 +135,268 @@
</template>
<script>
import {mapGetters} from 'vuex'
import {
getPageList,
deleteByids,
basefinbankExportExcel,
} from '@/api/jichuxinxi/contract'
import {dictType} from '@/api/salesManagement/orderManagement'
import {submitCarSale, updateCarSale} from '@/api/portal/workFlow'
// import { setuser, getuser } from '@/utils/baocun'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import hetongdanganguanliAdd from './hetongdanganguanliAdd.vue'
import hetongdanganguanliInfo from './hetongdanganguanliInfo.vue'
import { getPageList, deleteByids, basefinbankExportExcel } from '@/api/jichuxinxi/contract'
import { typeValues, getOrgSidByPath } from '@/api/dictcommons/dictcommons'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import hetongdanganguanliAdd from './hetongdanganguanliAdd.vue'
import hetongdanganguanliInfo from './hetongdanganguanliInfo.vue'
export default {
name: 'Hetongdanganguanli',
components: {
Pagination,
pageye,
hetongdanganguanliAdd,
hetongdanganguanliInfo,
},
data() {
return {
isableSub:false,
viewState: 1, // 1 2 3 4
contractPdf: '',
typeList: [],
pictureUrls: [],
pdfShow: false,
imageShow: false,
dialogVisible: false,
isSearchShow: false,
searchxianshitit: '隐藏查询条件',
// -----------
tableKey: 0,
list: [],
sids: [],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
contractType: '',
contractNo: '',
partyA: '',
partyB: '',
createDateStart: '',
createDateEnd: '',
},
export default {
name: 'HeTongDangAnGuanLi',
components: {
Pagination,
pageye,
ButtonBar,
hetongdanganguanliAdd,
hetongdanganguanliInfo
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem('userSid'),
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
updateDto: {
nodeState: '',
sid: '',
},
nodeState: '',
selectDate: undefined,
temp: {}, //
// visible: true,
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
viewState: 1, // 1 2 3 4
contractPdf: '',
typeList: [],
pictureUrls: [],
pdfShow: false,
imageShow: false,
dialogVisible: false,
isSearchShow: false,
searchxianshitit: '隐藏查询条件',
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
contractNo: '',
contractTypeKey: '',
partyA: '',
partyB: '',
createDateStart: '',
createDateEnd: '',
userOrgSid: '',
userSid: ''
}
}
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.init()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
created() {
// this.init()
this.getList()
this.getType()
init() {
typeValues({ type: 'contractType' }).then((response) => {
if (response.success) {
this.typeList = response.data
}
})
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
this.listQuery.params.userOrgSid = resp.data
this.getList()
}
})
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
getPageList(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.searchxianshitit = '显示查询条件'
this.list = []
this.listQuery.total = 0
}
},
init() {
},
//
getType() {
dictType({
type: 'contractType',
}).then((response) => {
if (response.code === '200' && response.data) {
this.typeList = response.data
}
})
},
//
resetState() {
this.viewState = 1
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
getPageList({
current: this.listQuery.current,
size: this.listQuery.size,
params: this.listQuery.params,
}).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleLook() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery.params.contractType = ''
this.listQuery.params.contractNo = ''
this.listQuery.params.partyA = ''
this.listQuery.params.partyB = ''
this.listQuery.params.createDate = ''
this.listQuery.params.createDateStart = ''
this.listQuery.params.createDateEnd = ''
this.SearchTime = ''
// this.getList()
},
//
handleCreate() {
this.$refs.addAndUpdate.openCreate(() => {
this.viewState = 2
})
},
//
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
// setuser(this.sids)
})
this.sids = aa
const bb = []
row.forEach((element) => {
bb.push(element.nodeState)
console.log(element.nodeState)
if (element.nodeState !==''){
this.isableSub = true
}else if (element.nodeState ==''){
this.isableSub = false
}
})
},
//
handleUpdate() {
if (this.sids.length === 1) {
this.dialogStatus = 'update'
this.viewState = 3
this.$refs.addAndUpdate.openUpdate(this.sids[0])
} else if (this.sids.length > 1) {
this.$notify({
title: '提示',
message: '不能选中多个数据修改!!',
type: 'info',
duration: 2000,
})
})
},
//
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
},
//
handleLook() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
contractNo: '',
contractTypeKey: '',
partyA: '',
partyB: '',
createDateStart: '',
createDateEnd: '',
userOrgSid: '',
userSid: ''
}
}
this.init()
},
//
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
//
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
//
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
//
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请至少选择一条记录进行删除操作' })
return
}
deleteByids(this.sids).then((response) => {
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
this.getList()
} else {
this.$notify({
title: '提示',
message: '没有选择数据!!',
type: 'error',
duration: 2000,
})
return
this.$message({ showClose: true, type: 'error', message: '删除失败' })
}
},
//
handleCheck(row) {
this.viewState = 4
this.$refs.openInfo.hetongdanganguanliinfo(row.sid, () => {
// this.visible = false
})
},
//
handleDaoChu(row) {
if (this.sids.length > 0) {
this.listQuery.params.sids = this.sids.join(',')
}
basefinbankExportExcel(this.listQuery.params).then((res) => {
const blob = new Blob([res], {
type: 'application/vnd.ms-excel',
})
},
//
changeNodeState(row) {
if (row.nodeState == '') {
this.dialogStatus = 'update'
this.viewState = 3
this.$refs.addAndUpdate.openUpdate(row.sid)
}
},
//
handleSubmit() {
if (this.sids.length == 1) {
console.log('提交sid', this.sids[0])
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.submitDto.businessSid = this.sids[0]
submitCarSale(this.submitDto).then((response) => {
if (response.code === '200') {
this.updateDto.nodeState = response.data.nodeState
this.$notify({
title: '提示',
message: '提交成功',
type: 'success',
duration: 2000,
})
//
this.updateDto.sid = this.sids[0]
updateCarSale(this.updateDto).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '更新成功',
type: 'success',
duration: 2000,
})
this.getList()
} else {
this.$notify({
title: '更新失败',
message: response.msg,
type: 'error',
})
}
})
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error',
})
}
})
})
} else if (this.sids.length == 0) {
this.$notify({
title: '您还未选择,请选择数据!',
type: 'error',
})
} else if (this.sids.length > 1) {
this.$notify({
title: '您选择的数据过多,请选择一条数据编辑!',
type: 'error',
})
}
},
//
handleDelete() {
if (this.sids.length === 0) {
this.$notify({
title: '提示',
message: '没有选择!!',
type: 'warning',
duration: 2000,
})
return
}
deleteByids(this.sids).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000,
})
this.getList()
} else {
this.$notify({
title: '删除失败',
message: response.msg,
type: 'error',
})
}
const objectUrl = URL.createObjectURL(blob)
window.location.href = objectUrl
this.$notify({
title: '提示',
message: '导出成功',
type: 'success',
duration: 2000
})
},
//
handleDaoChu(row) {
if (this.sids.length > 0) {
this.listQuery.params.sids = this.sids.join(',')
})
},
lookPicture(data) {
this.pdfShow = false
this.imageShow = false
this.pictureUrls = []
this.contractPdf = ''
const da = data.appdixUrl.split(',')
da.forEach((e) => {
if (e.endsWith('pdf')) {
this.contractPdf = e
} else if (e !== '') {
this.pictureUrls.push(e)
}
basefinbankExportExcel(this.listQuery.params).then((res) => {
const blob = new Blob([res], {
type: 'application/vnd.ms-excel',
})
const objectUrl = URL.createObjectURL(blob)
window.location.href = objectUrl
this.$notify({
title: '提示',
message: '导出成功',
type: 'success',
duration: 2000,
})
})
},
//
AddUpdateReturn() {
this.viewState = 1
},
//
dataCreated() {
this.viewState = 1
this.handleLook()
},
//
dataUpdated() {
this.viewState = 1
this.getList()
},
lookPicture(data) {
// console.log(data)
this.pdfShow = false
this.imageShow = false
this.pictureUrls = []
this.contractPdf = ''
const da = data.appdixUrl.split(',')
da.forEach((e) => {
if (e.endsWith('pdf')) {
this.contractPdf = e
} else if (e !== '') {
this.pictureUrls.push(e)
}
})
if (this.contractPdf && this.contractPdf !== '') {
this.pdfShow = true
this.dialogVisible = true
}
if (this.pictureUrls.length > 0) {
this.imageShow = true
this.dialogVisible = true
}
if (!this.dialogVisible) {
this.$notify({
title: '提示',
message: '没有文件',
type: 'warning',
duration: 2000
})
if (this.contractPdf && this.contractPdf !== '') {
this.pdfShow = true
this.dialogVisible = true
}
if (this.pictureUrls.length > 0) {
this.imageShow = true
this.dialogVisible = true
}
if (!this.dialogVisible) {
this.$notify({
title: '提示',
message: '没有文件',
type: 'warning',
duration: 2000,
})
}
},
}
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
/* .listcon {
height: calc(100vh - 550px);
overflow-y: auto;
overflow-x: hidden;
} */
</style>

911
anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanliAdd.vue

@ -1,28 +1,19 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>预订车辆</div>
<!-- <div v-else>11</div> -->
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small" :disabled="disabled" @click="handleSubmit()">提交
</el-button>
<el-button v-show="buttonState" type="primary" size="small">预览</el-button>
<el-button v-show="buttonState" type="primary" size="small">打印</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handleSubmit()">提交</el-button>
<el-button type="primary" size="small">预览</el-button>
<el-button type="primary" size="small">打印</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :rules="rules">
<div style="text-align: center; font-size: 25px; font-weight: bold; margin-bottom: 20px; margin-top: 20px;">合同
</div>
<div style="border-top: 1px solid #e0e3eb"/>
<!-- <el-input v-model="temp.contractType" maxlength="125" placeholder="" class="addinputw" clearable hidden /> -->
<el-form-item prop="customerSid" hidden>
<span slot="label"/>
<el-input v-model="temp.customerSid" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-form-item>
<el-row>
<div class="titwu">合同审核</div>
<el-form ref="temp_obj" :model="temp" label-position="right" label-width="190px" class="formadd" :rules="rules">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="12">
<el-form-item prop="contractNo">
<span slot="label">合同编号</span>
@ -32,9 +23,8 @@
<el-col :span="12">
<el-form-item prop="contractType">
<span slot="label">合同类型</span>
<el-select v-model="temp.contractType" placeholder="请选择" class="addinputw" @change="typeChange">
<el-option v-for="item in typeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue"/>
<el-select v-model="temp.contractType" placeholder="请选择" filterable class="addinputw" @change="typeChange">
<el-option v-for="item in typeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
@ -43,13 +33,13 @@
<el-col :span="12">
<el-form-item prop="partyA">
<span slot="label">甲方名称</span>
<el-input v-model="temp.partyA" maxlength="125" placeholder="" class="addinputw" clearable/>
<el-input v-model="temp.partyA" placeholder="" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="partyB">
<span slot="label">乙方名称</span>
<el-input v-model="temp.partyB" maxlength="125" placeholder="" class="addinputw" clearable/>
<el-input v-model="temp.partyB" placeholder="" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
@ -57,16 +47,13 @@
<el-col :span="12">
<el-form-item prop="partyC">
<span slot="label">其他方名称</span>
<el-input v-model="temp.partyC" maxlength="125" placeholder="" class="addinputw" clearable/>
<!-- <span>完善客户信息</span> -->
<el-input v-model="temp.partyC" placeholder="" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="createDate">
<span slot="label">签订日期</span>
<!-- <el-input v-model="temp.createDate" maxlength="125" placeholder="" class="addinputw" clearable /> -->
<el-date-picker v-model="temp.createDate" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
clearable placeholder="选择日期" class="addinputw"/>
<el-date-picker v-model="temp.createDate" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd" clearable placeholder="选择日期" class="addinputw"/>
</el-form-item>
</el-col>
</el-row>
@ -80,8 +67,7 @@
<el-col :span="12">
<el-form-item prop="contractAmount">
<span slot="label">合同金额</span>
<el-input v-model="temp.contractAmount" maxlength="125" placeholder="" type="Number" class="addinputw"
clearable/>
<el-input v-model="temp.contractAmount" maxlength="125" placeholder="" type="Number" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
@ -89,8 +75,7 @@
<el-col :span="12">
<el-form-item prop="deposit">
<span slot="label">订金</span>
<el-input v-model="temp.deposit" maxlength="125" placeholder="" type="Number" class="addinputw"
clearable/>
<el-input v-model="temp.deposit" maxlength="125" placeholder="" type="Number" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -100,729 +85,193 @@
</el-form-item>
</el-col>
</el-row>
<div class="title" style="text-align: left;margin-bottom: 3px;">上传合同扫描件 pdf图片 </div>
<div class="title">新车买卖合同</div>
<el-row>
<el-col :span="24">
<!-- <el-button size="small" type="primary">选择文件</el-button> -->
<span slot="label">文件</span>
<Upload ref="uploadImg" v-model="list1" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-col>
<!-- <el-col>-->
<!-- <div v-for="(url,index) in list3" v-if="list3.length>0 && url.filePath!=='' " :key="index">-->
<!-- <div class="nameStyle"><span @click="lookFile(url.filePath,url.type)">{{ url.name }}</span><i-->
<!-- v-show="deleteTubiaoStyle" class="el-icon-delete" style="color:grey;size:10px"-->
<!-- @click="deleteFile(url.filePath,index)"/></div>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="24">-->
<!-- <div v-for="(url,index) in list2" v-if="list2.length>0 && url.filePath!=='' " :key="index"-->
<!-- class="imgcontent">-->
<!-- <div class="dtp"><i v-show="deleteTubiaoStyle" class="el-icon-delete" style="color:grey;size:10px"-->
<!-- @click="deleteJpg(url.filePath,index)"/></div>-->
<!-- <el-image :src="url.filePath" lazy style="width:200px;height:200px"/>-->
<!-- </div>-->
<!-- &lt;!&ndash; <el-image v-for="url in pictureUrls" :key="url" :src="url" lazy />&ndash;&gt;-->
<!-- </el-col>-->
<!-- <el-upload-->
<!-- action="https://jsonplaceholder.typicode.com/posts/"-->
<!-- list-type="picture-card"-->
<!-- :on-preview="handlePictureCardPreview"-->
<!-- :on-remove="handleRemove">-->
<!-- <i class="el-icon-plus"></i>-->
<!-- </el-upload>-->
<!-- <el-dialog :visible.sync="dialogVisible">-->
<!-- <img width="100%" :src="dialogImageUrl" alt="">-->
<!-- </el-dialog>-->
</el-row>
<div class="title">现场签署照片</div>
<el-row>
<el-col :span="24">
<Upload ref="uploadImg" v-model="list2" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-col>
</el-row>
<div class="title">证件照片</div>
<el-row>
<el-col :span="24">
<Upload ref="uploadImg" v-model="list3" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-col>
</el-row>
</el-form>
</div>
<el-dialog style="margin-top: -15vh!important;" width="60%" :append-to-body="true" :visible.sync="contractPdfView"
title="合同">
<embed id="plugin" width="100%" height="600" name="plugin" :src="contractPdf" type="application/pdf"
internalinstanceid="119">
</el-dialog>
<!-- <el-dialog style="margin-top: -15vh!important;" width="60%" :append-to-body="true" :visible.sync="contractPdfView" title="合同">-->
<!-- <embed id="plugin" width="100%" height="600" name="plugin" :src="contractPdf" type="application/pdf" internalinstanceid="119">-->
<!-- </el-dialog>-->
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import {
getSaveByOrderSid,
saveOrderContract,
getXiaoShouHeTongByOrderSid,
} from '@/api/salesManagement/orderManagement'
import {
postsave,
getByBusSid,
generateContractNo,
} from '@/api/jichuxinxi/commoncontract'
import {
saveContract,
getOneContract,
updateContract,
download,
deleteFilesOss,
} from '@/api/jichuxinxi/contract'
import {submitCarSale, updateCarSale} from '@/api/portal/workFlow'
import {getPcAppendix} from '@/api/jichuxinxi/commonappendix'
import Upload from '@/components/uploadFile/upload.vue' //
import {dictType} from '@/api/salesManagement/orderManagement'
import {loginDetails} from '@/api/dictcommons/basemanufacturer'
import {getStorage} from '@/utils/auth'
import { saveContract, getOneContract, updateContract, download, deleteFilesOss } from '@/api/jichuxinxi/contract'
import Upload from '@/components/uploadFile/upload.vue' //
import { typeValues } from '@/api/dictcommons/dictcommons'
export default {
name: 'HetongdanganguanliAdd',
components: {Upload},
data() {
return {
disabled: false, //
//
dialogImageUrl: '',
dialogVisible: false,
//
fileList: [],
typeList: [],
YongHuid: '',
list1: [],
list2: [],
list3: [],
pictlist: [],
contractPdf: '',
text: '',
pictureUrls: [],
visible: false,
file_list: {
attachType: '0001',
linkSid: '',
},
contractPdfView: false,
deleteTubiaoStyle: false,
buttonState: true,
stateId: 0,
FormLoading: false,
listLoading: false,
nodeState: '', //
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem('userSid')
},
updateDto: {
nodeState: '',
sid: '',
},
temp: {}, //
rules: {
contractType: [{required: true, message: '请填写', trigger: 'blur'},],
contractNo: [{required: true, message: '请填写', trigger: 'blur'}],
address: [{required: true, message: '请填写', trigger: 'blur'}],
contractAmount: [
{required: true, message: '请填写', trigger: 'blur'},
],
createDate: [{required: true, message: '请选择', trigger: 'blur'}],
// mobile: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// },
// {
// pattern: /^1[3-9]\d{9}$/,
// message: ''
// }
// ]
},
// ------------------------------------
export default {
name: 'HetongdanganguanliAdd',
components: { Upload },
data() {
return {
submitdisabled: false, //
viewTitle: '',
//
dialogImageUrl: '',
dialogVisible: false,
typeList: [],
list1: [],
list2: [],
list3: [],
contractPdf: '',
visible: false,
file_list: {
attachType: '0001',
linkSid: ''
},
contractPdfView: false,
temp: {
address: '',
appdixUrl: '',
busSid: '',
contractAmount: '',
contractNo: '',
contractType: '',
contractTypeKey: '',
createDate: '',
deposit: '',
partyA: '',
partyB: '',
partyC: '',
pcCommonAppendixDtoList: [],
remarks: '',
sceneSignUrl: '',
sceneSignUrlList: '',
sid: '',
staffName: '',
staffSid: ''
},
rules: {
contractType: [{ required: true, message: '合同类型不能为空', trigger: 'blur' }],
contractNo: [{ required: true, message: '合同编号不能为空', trigger: 'blur' }],
address: [{ required: true, message: '签订地点不能为空', trigger: 'blur' }],
contractAmount: [{ required: true, message: '合同金额不能为空', trigger: 'blur' }],
createDate: [{ required: true, message: '签订日期不能为空', trigger: 'blur' }]
}
}
},
methods: {
//
init() {
typeValues({ type: 'contractType' }).then((response) => {
if (response.success) {
this.typeList = response.data
}
})
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() {
//
this.getType()
this.postHuoquyonghu()
showAdd() {
this.init()
this.$nextTick(() => {
this.$refs['temp_obj'].clearValidate()
})
this.viewTitle = '【新增】合同审核'
this.temp.staffName = window.sessionStorage.getItem('name')
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
},
methods: {
lookFile(val, type) {
console.log(val + '-------' + type)
if (type == 'pdf' && val != '') {
this.contractPdfView = true
this.contractPdf = val
} else {
this.$notify({
title: '提示',
message: '没有pdf',
type: 'warning',
duration: 2000,
})
showEdit(row) {
this.init()
this.$nextTick(() => {
this.$refs['temp_obj'].clearValidate()
})
getOneContract(row.sid).then((res) => {
if (res.success) {
this.temp = res.data
}
},
//
deleteFile(url, index) {
deleteFilesOss(url).then((re) => {
if (re.code === '200') {
this.$notify({
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000,
})
this.list3.splice(index, 1)
var index2 = this.temp.pcCommonAppendixDtoList.findIndex((item) => {
if (item.filePath === url) {
return true
}
})
this.temp.pcCommonAppendixDtoList.splice(index2, 1)
}
})
},
deleteJpg(url, index) {
deleteFilesOss(url).then((re) => {
if (re.code === '200') {
this.$notify({
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000,
})
this.list2.splice(index, 1)
var index2 = this.temp.pcCommonAppendixDtoList.findIndex((item) => {
if (item.filePath === url) {
return true
}
})
this.temp.pcCommonAppendixDtoList.splice(index2, 1)
}
})
},
//
getType() {
dictType({type: 'contractType'}).then((response) => {
if (response.code === '200' && response.data) {
this.typeList = response.data
}
})
},
typeChange(val) {
const choosetItem = this.typeList.filter((item) => item.dictValue == val)
this.temp.contractTypeKey = choosetItem[0].dictKey
},
openUpdate(sid, showed) {
this.list3 = []
this.list2 = []
this.updateDto.sid = sid
this.submitDto.businessSid = sid
this.temp.sid = sid
this.stateId = 'xiugai'
console.log('编辑sid', sid)
if (this.stateId !== '0') {
getOneContract(sid).then((response) => {
if (response.code === '200') {
this.$refs['dataForm'].clearValidate()
this.temp = response.data
if(this.temp.nodeState !==''){
this.disabled = true
}
if (response.data.appdixUrl.indexOf(',') > 0) {
const da = response.data.appdixUrl.split(',')
for (var i = 0; i < da.length; i++) {
const imgName = da[i].split('/')
this.list2.push({
name: imgName[imgName.length - 1],
url: da[i]
})
}
const imgList = this.list2
this.$refs['uploadImg'].showImg(imgList)
console.log('123456', this.list2)
}
const imgName = response.data.appdixUrl.split('/')
this.list2.push({
name: imgName[imgName.length - 1],
url: response.data.appdixUrl
})
const imgList = this.list2
this.$refs['uploadImg'].showImg(imgList)
// this.deleteTubiaoStyle = true
// dialogImageUrl
// const data = response.data.pcCommonAppendixDtoList
// this.list2 = response.data.pcCommonAppendixDtoList
// da.forEach((element) => {
// if (element.fileType == 'pdf' || element.fileType == 'docx') {
// this.list3.push({
// name: element.fileName,
// filePath: element.filePath,
// type: element.fileType,
// })
// } else if (
// element.fileType == 'jpg' ||
// element.fileType == 'jpeg' ||
// element.fileType == 'png'
// ) {
// this.list2.push({
// name: element.fileName,
// filePath: element.filePath,
// })
// }
// })
if (showed && typeof showed === 'function') {
showed()
}
})
this.viewTitle = '【编辑】合同审核'
},
typeChange(val) {
const choosetItem = this.typeList.filter((item) => item.dictValue === val)
this.temp.contractTypeKey = choosetItem[0].dictKey
},
//
handleCreate() {
this.$refs['temp_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
updateContract(this.temp).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
}
})
}
},
openCreate(showed) {
this.resetTemp()
this.$refs['dataForm'].clearValidate()
this.stateId = '0'
// this.visible = false
if (showed && typeof showed === 'function') {
showed()
})
},
//
handleSubmit() {
this.$refs['temp_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
}
},
// ------------------------------------------------------
//
handleReturn() {
this.list3 = []
this.list2 = []
this.list1 = []
// this.visible = false
this.$emit('handleReturn')
},
downloadData() {
download({
filePath: '20211126/test2_20211126133452425549.pdf',
outFileName: 'test2.pdf',
}).then((res) => {
this.FormLoading = false
// const blob = new Blob([res], {
// type: 'application/vnd.ms-excel'
// })
// const objectUrl = URL.createObjectURL(blob)
// window.location.href = objectUrl
// window.open(routeUrl.href, '_blank')
this.$notify({
title: '提示',
message: '下载',
type: 'success',
duration: 2000,
})
})
},
//
resetTemp() {
this.temp = {}
},
//
postHuoquyonghu() {
var token = getStorage()
loginDetails(token).then((response) => {
if (response.code === '200') {
this.YongHuid = response.data
}
})
},
//
handleCreate() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true
this.temp.staffSid = this.YongHuid.staffSid
console.log(this.temp.staffSid)
if (this.stateId === '0') {
this.temp.pcCommonAppendixDtoList = []
this.getUrl()
// this.temp.deposit = Number(this.temp.deposit)
saveContract(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000,
})
// this.visible = false
this.$emit('created')
this.$refs['dataForm'].resetFields() //
this.temp = {}
this.list1 = []
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000,
})
}
})
} else if (this.stateId === 'xt') {
//
// this.temp.pcCommonAppendixDtoList = []
this.getUrl()
saveOrderContract(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '修改成功',
type: 'success',
duration: 2000,
})
this.$emit('updated')
} else {
this.$notify({
title: '失败',
message: '修改失败',
type: 'error',
})
}
})
} else if (this.stateId === 'ht') {
//
this.temp.staffSid = this.YongHuid.staffSid
this.temp.busSid = this.contractsid
this.temp.pcCommonAppendixDtoList = []
this.getUrl()
postsave(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '订车合同添加成功',
type: 'success',
duration: 2000,
})
this.$emit('handleReturn')
} else {
this.$notify({
title: '失败',
message: '订车合同添加失败',
type: 'error',
})
}
})
} else {
this.getUrl()
updateContract(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '保存成功',
type: 'success',
duration: 2000,
})
// this.visible = false
this.$emit('updated')
} else {
this.$notify({
title: '失败',
message: '保存失败',
type: 'error',
})
}
})
}
}
})
},
//
submitIt() {
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
console.log('submitDto', this.submitDto)
//
submitCarSale(this.submitDto).then((response) => {
if (response.code === '200') {
this.updateDto.nodeState = response.data.nodeState
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000,
})
//
updateCarSale(this.updateDto).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '更新成功',
type: 'success',
duration: 2000,
})
console.log('提交更新时页面状态',this.stateId)
if (this.stateId === '0') {
this.$emit('created')
} else if (this.stateId === 'xiugai') {
this.$emit('updated')
}
} else {
this.$notify({
title: '更新失败',
message: response.msg,
type: 'error',
})
}
})
} else {
this.$notify({
title: '添加失败',
message: response.msg,
type: 'error',
})
}
})
})
},
//
handleSubmit() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true
this.temp.staffSid = this.YongHuid.staffSid
console.log(this.temp.staffSid)
if (this.stateId === '0') {
this.temp.pcCommonAppendixDtoList = []
this.getUrl()
// this.temp.deposit = Number(this.temp.deposit)
saveContract(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.submitDto.businessSid = response.data
this.updateDto.sid = response.data
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000,
})
this.submitIt()
this.$refs['dataForm'].resetFields() //
this.temp = {}
this.list1 = []
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000,
})
}
})
} else if (this.stateId === 'xt') {
//
// this.temp.pcCommonAppendixDtoList = []
this.getUrl()
saveOrderContract(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '修改成功',
type: 'success',
duration: 2000,
})
} else {
this.$notify({
title: '失败',
message: '修改失败',
type: 'error',
})
}
})
} else if (this.stateId === 'ht') {
//
this.temp.staffSid = this.YongHuid.staffSid
this.temp.busSid = this.contractsid
this.temp.pcCommonAppendixDtoList = []
this.getUrl()
postsave(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '订车合同添加成功',
type: 'success',
duration: 2000,
})
this.$emit('handleReturn')
} else {
this.$notify({
title: '失败',
message: '订车合同添加失败',
type: 'error',
})
}
})
} else {
this.getUrl()
updateContract(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '保存成功',
type: 'success',
duration: 2000,
})
this.submitIt()
} else {
this.$notify({
title: '失败',
message: '保存失败',
type: 'error',
})
}
})
}
}
})
},
getUrl() {
for (var i = 0; i < this.list1.length; i++) {
var namese = this.list1[i].name
var nameArr = namese.split('.')
console.log(this.temp)
this.temp.pcCommonAppendixDtoList.push({
attachType: '0001',
fileName: this.list1[i].name,
filePath: this.list1[i].url,
fileSize: this.list1[i].size,
createBySid: '',
fileType: nameArr[nameArr.length - 1]
})
},
getUrl() {
for (var i = 0; i < this.list1.length; i++) {
var namese = this.list1[i].name
var nameArr = namese.split('.')
console.log(this.temp)
this.temp.pcCommonAppendixDtoList.push({
attachType: '0001',
fileName: this.list1[i].name,
filePath: this.list1[i].url,
fileSize: this.list1[i].size,
// linkSid: this.temp.customerSid,
createBySid: this.YongHuid.sid,
fileType: nameArr[nameArr.length - 1],
})
console.log('11223344', this.temp.pcCommonAppendixDtoList)
}
},
//
showOrderHeTong(type, userSid, order, state) {
this.buttonState = false
this.stateId = 'xt'
this.resetTemp()
this.list3 = []
this.list2 = []
if (state == '0') {
//
getSaveByOrderSid({userSid: userSid, orderSid: order}).then(
(response) => {
if (response.code === '200') {
this.temp = response.data
this.postHuoquyonghu()
}
}
)
} else {
//
this.temp.orderSid = order
getXiaoShouHeTongByOrderSid({orderSid: order}).then((response) => {
if (response.code === '200') {
this.temp = response.data
this.text = response.data
const data = response.data.pcCommonAppendixDtoList
// data.forEach((element) => {
// if (element.fileType == 'pdf' || element.fileType == 'docx') {
// this.list3.push({
// name: element.fileName,
// filePath: element.filePath,
// type: element.fileType,
// })
// } else if (
// element.fileType == 'jpg' ||
// element.fileType == 'jpeg' ||
// element.fileType == 'png'
// ) {
// this.list2.push({
// name: element.fileName,
// filePath: element.filePath,
// })
// }
// this.deleteTubiaoStyle = true
// })
this.postHuoquyonghu()
}
})
}
},
//
agreement(type, contract, state) {
this.stateId = 'ht'
this.contractsid = contract
this.file_list.linkSid = contract
if (state == 0) {
generateContractNo(this.YongHuid.sid).then((res) => {
this.temp = res
})
} else {
this.list3 = []
this.list2 = []
getByBusSid(this.contractsid).then((response) => {
if (response.code === '200') {
this.temp = response.data
const data = response.data.pcCommonAppendixDtoList
this.deleteTubiaoStyle = true
data.forEach((element) => {
if (element.fileType == 'pdf' || element.fileType == 'docx') {
this.list3.push({
name: element.fileName,
filePath: element.filePath,
type: element.fileType,
})
} else if (
element.fileType == 'jpg' ||
element.fileType == 'jpeg' ||
element.fileType == 'png'
) {
this.list2.push({
name: element.fileName,
filePath: element.filePath,
})
}
})
}
})
}
},
console.log('11223344', this.temp.pcCommonAppendixDtoList)
}
},
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.temp = {
address: '',
appdixUrl: '',
busSid: '',
contractAmount: '',
contractNo: '',
contractType: '',
contractTypeKey: '',
createDate: '',
deposit: '',
partyA: '',
partyB: '',
partyC: '',
pcCommonAppendixDtoList: [],
remarks: '',
sceneSignUrl: '',
sceneSignUrlList: '',
sid: '',
staffName: '',
staffSid: ''
}
this.list3 = []
this.list2 = []
this.list1 = []
this.$refs['temp_obj'].resetFields()
this.$emit('handleReturn')
}
}
}
</script>
<style scoped>
.dtp {
z-index: 999;
position: absolute;
cursor: pointer;
right: 0px;
}
.imgcontent {
position: relative;
display: inline-block;
}
.nameStyle {
cursor: pointer;
}
</style>

246
anrui-buscenter/anrui-buscenter-ui/src/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue

@ -2,45 +2,38 @@
<div class="app-container">
<div class="tab-header webtop">
<div>XXX合同详情</div>
<!-- <div v-else></div> -->
<div>
<el-button type="primary" size="small" :disabled="disabled" @click="handleSubmit()">提交
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :disabled="edit">
<div class="titwu">XXX合同</div>
<div class="titwu">XXX合同</div>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd">
<el-row class="bordertopline">
<el-col :span="12">
<el-form-item prop="name">
<el-form-item>
<span slot="label">合同类型</span>
<el-input v-model="temp.contractType" class="addinputw" />
<!-- <el-select v-model="temp.contractType" class="addinputw" placeholder="请选择合同类型">
<el-option v-for="(item,index) in hetongType" :key="index" :label="item.manageName" :value="item.sid" />
</el-select> -->
<span>{{ temp.contractType }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="name">
<el-form-item>
<span slot="label">合同编号</span>
<el-input v-model="temp.contractNo" class="addinputw" />
<span>{{ temp.contractNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">甲方名称</span>
<el-input v-model="temp.partyA" class="addinputw" />
<span>{{ temp.partyA }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">乙方名称</span>
<el-input v-model="temp.partyB" class="addinputw" />
<span>{{ temp.partyB }}</span>
</el-form-item>
</el-col>
</el-row>
@ -48,28 +41,27 @@
<el-col :span="12">
<el-form-item>
<span slot="label">其他方名称</span>
<el-input v-model="temp.partyC" class="addinputw" />
<!-- <span>完善客户信息</span> -->
<span>{{ temp.partyC }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="name">
<el-form-item>
<span slot="label">签订日期</span>
<el-input v-model="temp.createDate" class="addinputw" />
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="name">
<el-form-item>
<span slot="label">签订地点</span>
<el-input v-model="temp.address" class="addinputw" />
<span>{{ temp.address }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="name">
<el-form-item>
<span slot="label">合同金额</span>
<el-input v-model="temp.contractAmount" class="addinputw" />
<span>{{ temp.contractAmount }}</span>
</el-form-item>
</el-col>
</el-row>
@ -77,32 +69,27 @@
<el-col :span="12">
<el-form-item>
<span slot="label">订金</span>
<el-input v-model="temp.deposit" class="addinputw" />
<span>{{ temp.deposit }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">备注</span>
<el-input v-model="temp.remarks" class="addinputw" />
<span>{{ temp.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
<div class="title">新车买卖合同</div>
<el-row>
</el-row>
<div class="title">现场签署照片</div>
<el-row>
<el-col :span="24">
<!-- <el-button size="small" type="primary">选择文件</el-button> -->
<span slot="label">文件</span>
</el-col>
<el-col>
<div v-for="(url,index) in list3" v-if="list3.length>0 && url.filePath!=='' " :key="index">
<div class="nameStyle">{{ url.name }}</div>
</div>
</el-col>
<el-col :span="24">
<div v-for="(url,index) in list2" v-if="list2.length>0 && url.filePath!=='' " :key="index" class="imgcontent">
<el-image :src="url.filePath" lazy style="width:200px;height:200px" />
</div>
</el-col>
</el-row>
<div class="title">证件照片</div>
<el-row>
</el-row>
</el-form>
</div>
@ -110,205 +97,32 @@
</template>
<script>
import { mapGetters } from 'vuex'
import { getXiaoShouHeTongByOrderSid } from '@/api/salesManagement/orderManagement'
import { getOneContract } from '@/api/jichuxinxi/contract'
import { getByBusSid } from '@/api/jichuxinxi/commoncontract'
import {submitCarSale, updateCarSale} from '@/api/portal/workFlow'
export default {
name: 'HetongdanganguanliAdd',
name: 'HetongdanganguanliInfo',
data() {
return {
disabled:false,
visible: false,
stateId: 0,
temp: {},
list2: [],
list3: [],
contractsid: '',
hetongType: [],
list1: [],
edit:true,
list1: []
}
},
computed: {
},
created() {
//
},
computed: {},
methods: {
//
handleSubmit() {
this.$confirm('是否将此条数据添加到待办任务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
console.log('submitDto', this.submitDto)
//
submitCarSale(this.submitDto).then((response) => {
if (response.code === '200') {
this.updateDto.nodeState = response.data.nodeState
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000,
})
//
updateCarSale(this.updateDto).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '更新成功',
type: 'success',
duration: 2000,
})
this.handleReturn('true')
} else {
this.$notify({
title: '更新失败',
message: response.msg,
type: 'error',
})
}
})
} else {
this.$notify({
title: '添加失败',
message: response.msg,
type: 'error',
})
}
})
})
},
showInfo(row) {
hetongdanganguanliinfo(stateId) {
this.submitDto.businessSid = stateId
this.updateDto.sid = stateId
this.contractsid = stateId
getByBusSid(this.contractsid).then((response) => {
if (response.code === '200') {
this.temp = response.data
//
if (response.data.appdixUrl.indexOf(',') >= 0) {
const da = response.data.appdixUrl.split(',')
for (var i = 0; i < da.length; i++) {
const imgName = da[i].split('/')
this.list2.push({
name: imgName[imgName.length - 1],
filePath: da[i]
})
}
}
const imgName = response.data.appdixUrl.split('/')
this.list2.push({
name:imgName[imgName.length - 1],
filePath:response.data.appdixUrl
})
// this.deleteTubiaoStyle = true
// const data = response.data.pcCommonAppendixDtoList
// data.forEach((element) => {
// if (element.fileType == 'pdf' || element.fileType == 'docx') {
// this.list3.push({
// name: element.fileName,
// filePath: element.filePath,
// type: element.fileType
// })
// } else if (
// element.fileType == 'jpg' ||
// element.fileType == 'jpeg' ||
// element.fileType == 'png'
// ) {
// this.list2.push({
// name: element.fileName,
// filePath: element.filePath
// })
// }
// this.deleteTubiaoStyle = true
// })
}
})
},
//
openCreate(sid, showed) {
this.stateId = sid
getOneContract(this.stateId).then((response) => {
if (response.code === '200') {
this.$refs['dataForm'].clearValidate()
this.temp = response.data
this.list2 = []
this.list3 = []
this.visible = true
this.list1 = response.data.commonAppendixVoList
const data = response.data.pcCommonAppendixDtoList
data.forEach((element) => {
if (element.fileType == 'pdf' || element.fileType == 'docx') {
this.list3.push({
name: element.fileName,
filePath: element.filePath
})
} else if (
element.fileType == 'jpg' ||
element.fileType == 'jpeg' ||
element.fileType == 'png'
) {
this.list2.push({
name: element.fileName,
filePath: element.filePath
})
}
})
if (showed && typeof showed === 'function') {
showed()
}
}
})
},
showOrderHeTong(re) {
this.visible = true
getXiaoShouHeTongByOrderSid({ orderSid: re }).then((response) => {
if (response.code === '200') {
this.temp = response.data
this.text = response.data
this.list2 = []
this.list3 = []
const data = response.data.pcCommonAppendixDtoList
data.forEach((element) => {
if (element.fileType == 'pdf' || element.fileType == 'docx') {
this.list3.push({
name: element.fileName,
filePath: element.filePath,
type: element.fileType
})
} else if (
element.fileType == 'jpg' || element.fileType == 'jpeg' || element.fileType == 'png'
) {
this.list2.push({
name: element.fileName,
filePath: element.filePath
})
}
this.deleteTubiaoStyle = true
})
}
})
},
//
handleReturn() {
this.$emit('handleReturn')
}
}
}
</script>
<style scoped>
.imgcontent {
/* position: relative; */
display: inline-block;
}
</style>

313
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdangan.vue

@ -1,313 +0,0 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>XXX合同详情</div>
<!-- <div v-else></div> -->
<div>
<el-button type="primary" size="small" :disabled="disabled" @click="handleSubmit()">提交
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :disabled="edit">
<div class="titwu">XXX合同</div>
<el-row class="bordertopline">
<el-col :span="12">
<el-form-item prop="name">
<span slot="label">合同类型</span>
<el-input v-model="temp.contractType" class="addinputw"/>
<!-- <el-select v-model="temp.contractType" class="addinputw" placeholder="请选择合同类型">
<el-option v-for="(item,index) in hetongType" :key="index" :label="item.manageName" :value="item.sid" />
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="name">
<span slot="label">合同编号</span>
<el-input v-model="temp.contractNo" class="addinputw"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">甲方名称</span>
<el-input v-model="temp.partyA" class="addinputw"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">乙方名称</span>
<el-input v-model="temp.partyB" class="addinputw"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">其他方名称</span>
<el-input v-model="temp.partyC" class="addinputw"/>
<!-- <span>完善客户信息</span> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="name">
<span slot="label">签订日期</span>
<el-input v-model="temp.createDate" class="addinputw"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="name">
<span slot="label">签订地点</span>
<el-input v-model="temp.address" class="addinputw"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="name">
<span slot="label">合同金额</span>
<el-input v-model="temp.contractAmount" class="addinputw"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">订金</span>
<el-input v-model="temp.deposit" class="addinputw"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">备注</span>
<el-input v-model="temp.remarks" class="addinputw"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- <el-button size="small" type="primary">选择文件</el-button> -->
<span slot="label">文件</span>
</el-col>
<el-col>
<div v-for="(url,index) in list3" v-if="list3.length>0 && url.filePath!=='' " :key="index">
<div class="nameStyle">{{ url.name }}</div>
</div>
</el-col>
<el-col :span="24">
<div v-for="(url,index) in list2" v-if="list2.length>0 && url.filePath!=='' " :key="index"
class="imgcontent">
<el-image :src="url.filePath" lazy style="width:200px;height:200px"/>
</div>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import {getXiaoShouHeTongByOrderSid} from '@/api/salesManagement/orderManagement'
import {getOneContract} from '@/api/jichuxinxi/contract'
import {getByBusSid} from '@/api/jichuxinxi/commoncontract'
import {submitCarSale, updateCarSale} from '@/api/portal/workFlow'
export default {
name: "hetongdangan",
data() {
return {
disabled: false,
visible: false,
stateId: 0,
temp: {},
list2: [],
list3: [],
contractsid: '',
hetongType: [],
list1: [],
edit: true,
}
},
computed: {},
created() {
//
},
methods: {
//
handleSubmit() {
this.$confirm('是否将此条数据添加到待办任务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
console.log('submitDto', this.submitDto)
//
submitCarSale(this.submitDto).then((response) => {
if (response.code === '200') {
this.updateDto.nodeState = response.data.nodeState
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000,
})
//
updateCarSale(this.updateDto).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '更新成功',
type: 'success',
duration: 2000,
})
this.handleReturn('true')
} else {
this.$notify({
title: '更新失败',
message: response.msg,
type: 'error',
})
}
})
} else {
this.$notify({
title: '添加失败',
message: response.msg,
type: 'error',
})
}
})
})
},
hetongdanganguanliinfo(stateId) {
this.submitDto.businessSid = stateId
this.updateDto.sid = stateId
this.contractsid = stateId
getByBusSid(this.contractsid).then((response) => {
if (response.code === '200') {
this.temp = response.data
//
if (response.data.appdixUrl.indexOf(',') >= 0) {
const da = response.data.appdixUrl.split(',')
for (var i = 0; i < da.length; i++) {
const imgName = da[i].split('/')
this.list2.push({
name: imgName[imgName.length - 1],
filePath: da[i]
})
}
}
const imgName = response.data.appdixUrl.split('/')
this.list2.push({
name: imgName[imgName.length - 1],
filePath: response.data.appdixUrl
})
// this.deleteTubiaoStyle = true
// const data = response.data.pcCommonAppendixDtoList
// data.forEach((element) => {
// if (element.fileType == 'pdf' || element.fileType == 'docx') {
// this.list3.push({
// name: element.fileName,
// filePath: element.filePath,
// type: element.fileType
// })
// } else if (
// element.fileType == 'jpg' ||
// element.fileType == 'jpeg' ||
// element.fileType == 'png'
// ) {
// this.list2.push({
// name: element.fileName,
// filePath: element.filePath
// })
// }
// this.deleteTubiaoStyle = true
// })
}
})
},
//
openCreate(sid, showed) {
this.stateId = sid
getOneContract(this.stateId).then((response) => {
if (response.code === '200') {
this.$refs['dataForm'].clearValidate()
this.temp = response.data
this.list2 = []
this.list3 = []
this.visible = true
this.list1 = response.data.commonAppendixVoList
const data = response.data.pcCommonAppendixDtoList
data.forEach((element) => {
if (element.fileType == 'pdf' || element.fileType == 'docx') {
this.list3.push({
name: element.fileName,
filePath: element.filePath
})
} else if (
element.fileType == 'jpg' ||
element.fileType == 'jpeg' ||
element.fileType == 'png'
) {
this.list2.push({
name: element.fileName,
filePath: element.filePath
})
}
})
if (showed && typeof showed === 'function') {
showed()
}
}
})
},
showOrderHeTong(re) {
this.visible = true
getXiaoShouHeTongByOrderSid({orderSid: re}).then((response) => {
if (response.code === '200') {
this.temp = response.data
this.text = response.data
this.list2 = []
this.list3 = []
const data = response.data.pcCommonAppendixDtoList
data.forEach((element) => {
if (element.fileType == 'pdf' || element.fileType == 'docx') {
this.list3.push({
name: element.fileName,
filePath: element.filePath,
type: element.fileType
})
} else if (
element.fileType == 'jpg' || element.fileType == 'jpeg' || element.fileType == 'png'
) {
this.list2.push({
name: element.fileName,
filePath: element.filePath
})
}
this.deleteTubiaoStyle = true
})
}
})
},
//
handleReturn() {
this.$emit('handleReturn')
}
}
}
</script>
<style scoped>
.imgcontent {
/* position: relative; */
display: inline-block;
}
</style>

136
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdanganDaiBanByFileInfo.vue

@ -0,0 +1,136 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>XXX合同详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">XXX合同</div>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd">
<el-row class="bordertopline">
<el-col :span="12">
<el-form-item>
<span slot="label">合同类型</span>
<span>{{ temp.contractType }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">合同编号</span>
<span>{{ temp.contractNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">甲方名称</span>
<span>{{ temp.partyA }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">乙方名称</span>
<span>{{ temp.partyB }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">其他方名称</span>
<span>{{ temp.partyC }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">签订日期</span>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">签订地点</span>
<span>{{ temp.address }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">合同金额</span>
<span>{{ temp.contractAmount }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">订金</span>
<span>{{ temp.deposit }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">备注</span>
<span>{{ temp.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
<div class="title">新车买卖合同</div>
<el-row>
<el-col :span="24">
<Upload ref="uploadImg" v-model="list1" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-col>
</el-row>
<div class="title">现场签署照片</div>
<el-row>
<el-col :span="24">
<Upload ref="uploadImg" v-model="list2" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-col>
</el-row>
<div class="title">证件照片</div>
<el-row>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { getOneContract } from '@/api/jichuxinxi/contract'
import Upload from '@/components/uploadFile/upload.vue' //
export default {
name: 'HeTongDangAnDaiiBanInfo',
components: {
Upload
},
data() {
return {
temp: {},
list2: [],
list3: [],
list1: []
}
},
computed: {},
methods: {
showInfo(row) {
},
//
handleReturn() {
this.$emit('handleReturn')
}
}
}
</script>
<style scoped>
.imgcontent {
display: inline-block;
}
</style>

128
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdanganDaiBanInfo.vue

@ -0,0 +1,128 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>XXX合同详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">XXX合同</div>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd">
<el-row class="bordertopline">
<el-col :span="12">
<el-form-item>
<span slot="label">合同类型</span>
<span>{{ temp.contractType }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">合同编号</span>
<span>{{ temp.contractNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">甲方名称</span>
<span>{{ temp.partyA }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">乙方名称</span>
<span>{{ temp.partyB }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">其他方名称</span>
<span>{{ temp.partyC }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">签订日期</span>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">签订地点</span>
<span>{{ temp.address }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">合同金额</span>
<span>{{ temp.contractAmount }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">订金</span>
<span>{{ temp.deposit }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">备注</span>
<span>{{ temp.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
<div class="title">新车买卖合同</div>
<el-row>
</el-row>
<div class="title">现场签署照片</div>
<el-row>
</el-row>
<div class="title">证件照片</div>
<el-row>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { getOneContract } from '@/api/jichuxinxi/contract'
export default {
name: 'HeTongDangAnDaiiBanInfo',
data() {
return {
temp: {},
list2: [],
list3: [],
list1: []
}
},
computed: {},
methods: {
showInfo(row) {
},
//
handleReturn() {
this.$emit('handleReturn')
}
}
}
</script>
<style scoped>
.imgcontent {
display: inline-block;
}
</style>

6
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdanganEdit.vue

@ -3,9 +3,9 @@
</template>
<script>
export default {
name: "hetongdanganEdit"
}
export default {
name: 'HeTongDangAnEdit'
}
</script>
<style scoped>

128
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdanganYiBanInfo.vue

@ -0,0 +1,128 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>XXX合同详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">XXX合同</div>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd">
<el-row class="bordertopline">
<el-col :span="12">
<el-form-item>
<span slot="label">合同类型</span>
<span>{{ temp.contractType }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">合同编号</span>
<span>{{ temp.contractNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">甲方名称</span>
<span>{{ temp.partyA }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">乙方名称</span>
<span>{{ temp.partyB }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">其他方名称</span>
<span>{{ temp.partyC }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">签订日期</span>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">签订地点</span>
<span>{{ temp.address }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">合同金额</span>
<span>{{ temp.contractAmount }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<span slot="label">订金</span>
<span>{{ temp.deposit }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<span slot="label">备注</span>
<span>{{ temp.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
<div class="title">新车买卖合同</div>
<el-row>
</el-row>
<div class="title">现场签署照片</div>
<el-row>
</el-row>
<div class="title">证件照片</div>
<el-row>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { getOneContract } from '@/api/jichuxinxi/contract'
export default {
name: 'HeTongDangAnYiBanInfo',
data() {
return {
temp: {},
list2: [],
list3: [],
list1: []
}
},
computed: {},
methods: {
showInfo(row) {
},
//
handleReturn() {
this.$emit('handleReturn')
}
}
}
</script>
<style scoped>
.imgcontent {
display: inline-block;
}
</style>
Loading…
Cancel
Save