| | |
| | | plain |
| | | icon="Plus" |
| | | @click="openDialog('add',{})" |
| | | v-hasPermi="['contractChange:add']" |
| | | >新增</el-button> |
| | | </el-form-item> |
| | | <el-form-item label="企业名称:" v-if="data.isAdmin" style="margin-left: 20px"> |
| | | <el-form-item label="单位名称:" v-if="data.isAdmin" style="margin-left: 20px"> |
| | | <el-select v-model="data.queryParams.companyId" placeholder="请选择" filterable clearable> |
| | | <el-option |
| | | v-for="item in data.companyList" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-form-item v-if="data.isAdmin"> |
| | | <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button> |
| | | <el-button plain @click="reset">重置</el-button> |
| | | </el-form-item> |
| | |
| | | <el-table v-loading="loading" :data="dataList" :border="true" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column type="index" label="序号" width="80" align="center" /> |
| | | <el-table-column label="合同编号" prop="num" align="center" /> |
| | | <el-table-column label="合同名称" prop="num" align="center" /> |
| | | <el-table-column label="签订日期" prop="num" align="center" /> |
| | | <el-table-column label="评审类型" prop="num" align="center" > |
| | | <el-table-column label="合同编号" prop="number" align="center" /> |
| | | <el-table-column label="合同名称" prop="contractName" align="center" /> |
| | | <el-table-column label="签订日期" prop="signDate" align="center" /> |
| | | <el-table-column label="评审类型" prop="type" align="center" > |
| | | <template #default="scope"> |
| | | |
| | | <span>{{scope.row.type == 1 ?'评审':scope.row.type == 2 ?'变更':''}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="openDialog('review',scope.row)" >查看</el-button> |
| | | <el-button link type="primary" @click="openDialog('edit',scope.row)" >编辑</el-button> |
| | | <el-button link type="danger" @click="handleDelete(scope.row)" >删除</el-button> |
| | | <el-button link type="primary" @click="openDialog('edit',scope.row)" v-hasPermi="['contractChange:edit']">编辑</el-button> |
| | | <el-button link type="danger" @click="handleDelete(scope.row)" v-hasPermi="['contractChange:del']">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | import {generateWordDocument} from "@/utils/exportWord"; |
| | | import {delTable, getTable} from "@/api/qualityObjectives/table"; |
| | | import {delNeedDiscren, getNeedDiscren} from "@/api/need/need"; |
| | | import {delContractReview, getContractReview} from "@/api/contractChange"; |
| | | const { proxy } = getCurrentInstance(); |
| | | const loading = ref(false); |
| | | const noticeRef = ref(); |
| | |
| | | } |
| | | }); |
| | | const getList = async () => { |
| | | // loading.value = true; |
| | | // const res = await getNeedDiscren(data.queryParams); |
| | | // if(res.code === 200){ |
| | | // dataList.value = res.data.list |
| | | // total.value = res.data.total |
| | | // }else{ |
| | | // ElMessage.warning(res.message) |
| | | // } |
| | | // loading.value = false; |
| | | dataList.value = [{}] |
| | | loading.value = true; |
| | | const res = await getContractReview(data.queryParams); |
| | | if(res.code === 200){ |
| | | dataList.value = res.data.list |
| | | total.value = res.data.total |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | loading.value = false; |
| | | } |
| | | |
| | | const searchClick = () => { |
| | |
| | | startGeneration() |
| | | } |
| | | } |
| | | const templatePath = ref('/contractChangeExample.docx') |
| | | const templatePath = ref() |
| | | const startGeneration = async () => { |
| | | const data = JSON.parse(JSON.stringify(choosedData.value)) |
| | | data.forEach(item => { |
| | | item.expectContents = [ |
| | | { |
| | | name: '张三', |
| | | expectContentMesses: [ |
| | | { |
| | | need: 'xxx', |
| | | personName: 'x', |
| | | visit:true, |
| | | network: true, |
| | | other: false |
| | | |
| | | }, |
| | | { |
| | | need: '22', |
| | | personName: '2', |
| | | visit:false, |
| | | network: false, |
| | | other: true |
| | | |
| | | }, |
| | | ] |
| | | } |
| | | ] |
| | | item.tableData = item.expectContents.map((i,index) => { |
| | | const msg = item.type == 1 ? '评审' : '变更' |
| | | templatePath.value = item.type == 1 ? '/contractReviewExample.docx' : '/contractChangeExample.docx' |
| | | item.reviewMesses = item.reviewMesses.map((i,index) => { |
| | | return{ |
| | | ...i, |
| | | expectContentMesses: i.expectContentMesses.map((q,qindex) => { |
| | | contractReviewMessbs: i.contractReviewMessbs.map((q,qindex) => { |
| | | return{ |
| | | ...q, |
| | | first: qindex == 0, |
| | |
| | | }) |
| | | } |
| | | }) |
| | | console.log('xxx',item.tableData) |
| | | item.contractReviewRequires = item.contractReviewRequires.map((item,index) => { |
| | | return { |
| | | ...item, |
| | | num: index+1, |
| | | remark: item.remark ? item.remark : ' ' |
| | | } |
| | | }) |
| | | try { |
| | | generateWordDocument(templatePath.value, item, item.companyName + `_合同评审变更表.docx`); |
| | | generateWordDocument(templatePath.value, item, item.contractName + `_合同${msg}表.docx`); |
| | | } catch (error){ |
| | | ElMessage({ |
| | | type: 'warning', |
| | |
| | | type: 'warning', |
| | | }) |
| | | .then( async() => { |
| | | const res = await delNeedDiscren(val.id); |
| | | const res = await delContractReview(val.id); |
| | | if(res.code === 200){ |
| | | ElMessage({ |
| | | type: 'success', |