|
|
@ -7,10 +7,13 @@ |
|
|
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg> |
|
|
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg> |
|
|
</span> |
|
|
</span> |
|
|
</div> |
|
|
</div> |
|
|
<el-button @click="getDataList('Y')" type="primary">{{buttons.search}}</el-button> |
|
|
|
|
|
<el-button @click="saveColumnList()" type="primary" v-show="showDefault">{{buttons.defaultTable}} |
|
|
|
|
|
|
|
|
<el-button @click="getDataList('Y')" type="primary">{{ buttons.search }}</el-button> |
|
|
|
|
|
<el-button @click="saveReviewList('Y')" :disabled="dataListSelections.length <= 0" type="primary"> |
|
|
|
|
|
{{ '批量审核-通过' }} |
|
|
|
|
|
</el-button> |
|
|
|
|
|
<el-button @click="saveReviewList('N')" :disabled="dataListSelections.length <= 0" type="primary"> |
|
|
|
|
|
{{ '批量审核-不通过' }} |
|
|
</el-button> |
|
|
</el-button> |
|
|
<el-button @click="userSetting" type="primary">{{ buttons.settingTable}}</el-button> |
|
|
|
|
|
<download-excel |
|
|
<download-excel |
|
|
:fields="fields()" |
|
|
:fields="fields()" |
|
|
:data="exportData" |
|
|
:data="exportData" |
|
|
@ -24,12 +27,8 @@ |
|
|
:before-finish="finishDownload" |
|
|
:before-finish="finishDownload" |
|
|
worksheet="导出信息" |
|
|
worksheet="导出信息" |
|
|
class="el-button el-button--primary el-button--medium"> |
|
|
class="el-button el-button--primary el-button--medium"> |
|
|
{{buttons.download}} |
|
|
|
|
|
|
|
|
{{ buttons.download }} |
|
|
</download-excel> |
|
|
</download-excel> |
|
|
|
|
|
|
|
|
<el-button v-if="isAuth(':prd:delete')" type="danger" @click="deleteHandle()" |
|
|
|
|
|
:disabled="dataListSelections.length <= 0">{{ buttons.deleteList}} |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
<el-row> |
|
|
<el-row> |
|
|
@ -46,7 +45,7 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item> |
|
|
<el-form-item> |
|
|
<span slot="label" @click="getBaseList(3,1)"><el-link>{{'供应商编码'}}</el-link> </span> |
|
|
|
|
|
|
|
|
<span slot="label" @click="getBaseList(3,1)"><el-link>{{ '供应商编码' }}</el-link> </span> |
|
|
<el-input v-model="mainQueryData.supplierid" onkeyup="this.value = this.value.toUpperCase()" |
|
|
<el-input v-model="mainQueryData.supplierid" onkeyup="this.value = this.value.toUpperCase()" |
|
|
style="width: 120px"></el-input> |
|
|
style="width: 120px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -61,32 +60,6 @@ |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<!-- <el-form-item :label="inputSearch2">--> |
|
|
|
|
|
<!-- <el-select v-model="mainQueryData.orderType" placeholder="请选择" style="width: 110px;">--> |
|
|
|
|
|
<!-- <el-option--> |
|
|
|
|
|
<!-- key=""--> |
|
|
|
|
|
<!-- label="全部"--> |
|
|
|
|
|
<!-- value="">--> |
|
|
|
|
|
<!-- </el-option>--> |
|
|
|
|
|
<!-- <el-option--> |
|
|
|
|
|
<!-- v-for="item in orderTypeList"--> |
|
|
|
|
|
<!-- :key="item.baseData"--> |
|
|
|
|
|
<!-- :label="item.baseDesc"--> |
|
|
|
|
|
<!-- :value="item.baseDesc">--> |
|
|
|
|
|
<!-- </el-option>--> |
|
|
|
|
|
<!-- </el-select>--> |
|
|
|
|
|
<!-- <!– <el-input style="width: 110px;" clearable placeholder="" v-model="mainQueryData.orderType"></el-input>–>--> |
|
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
|
|
|
|
|
|
|
<!-- <el-form-item :label="inputSearch4">--> |
|
|
|
|
|
<!-- <el-select v-model="mainQueryData.authorizeFlag" style="width: 90px;">--> |
|
|
|
|
|
<!-- <el-option value="" label="全部"></el-option>--> |
|
|
|
|
|
<!-- <el-option value="Y" label="已审批"></el-option>--> |
|
|
|
|
|
<!-- <el-option value="N" label="未审批"></el-option>--> |
|
|
|
|
|
<!-- </el-select>--> |
|
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-form> |
|
|
</el-form> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
@ -100,6 +73,7 @@ |
|
|
v-loading="dataListLoading" |
|
|
v-loading="dataListLoading" |
|
|
@selection-change="selectionChangeHandle" |
|
|
@selection-change="selectionChangeHandle" |
|
|
style="width: 100%;"> |
|
|
style="width: 100%;"> |
|
|
|
|
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column |
|
|
v-for="(item,index) in columnList" :key="index" |
|
|
v-for="(item,index) in columnList" :key="index" |
|
|
:sortable="item.columnSortable" |
|
|
:sortable="item.columnSortable" |
|
|
@ -111,7 +85,7 @@ |
|
|
:width="item.columnWidth" |
|
|
:width="item.columnWidth" |
|
|
:label="item.columnLabel"> |
|
|
:label="item.columnLabel"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> |
|
|
|
|
|
|
|
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
|
|
style="width: 100px; height: 80px"/></span> |
|
|
style="width: 100px; height: 80px"/></span> |
|
|
</template> |
|
|
</template> |
|
|
@ -124,9 +98,9 @@ |
|
|
width="100" |
|
|
width="100" |
|
|
:label="buttons.operating"> |
|
|
:label="buttons.operating"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<a v-if="scope.row.strCanAuthFlag == 'Y'" @click="initReview(scope.row)">{{buttons.audit}}</a> |
|
|
|
|
|
<span v-else>{{buttons.audit}}</span> |
|
|
|
|
|
<a @click="initFileModel(scope.row)">{{buttons.appendixInfo}}</a> |
|
|
|
|
|
|
|
|
<a v-if="scope.row.strCanAuthFlag == 'Y'" @click="initReview(scope.row)">{{ buttons.audit }}</a> |
|
|
|
|
|
<span v-else>{{ buttons.audit }}</span> |
|
|
|
|
|
<a @click="initFileModel(scope.row)">{{ buttons.appendixInfo }}</a> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
@ -148,7 +122,8 @@ |
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col :span="24"> |
|
|
<el-col :span="24"> |
|
|
<el-steps :active="active" finish-status="success" align-center> |
|
|
<el-steps :active="active" finish-status="success" align-center> |
|
|
<el-step :description="item.remark" v-for=" (item,index) in reviewStepList" :key="index" :title="item.nameDesc"></el-step> |
|
|
|
|
|
|
|
|
<el-step :description="item.remark" v-for=" (item,index) in reviewStepList" :key="index" |
|
|
|
|
|
:title="item.nameDesc"></el-step> |
|
|
</el-steps> |
|
|
</el-steps> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
@ -222,8 +197,6 @@ |
|
|
</el-table> |
|
|
</el-table> |
|
|
</el-form> |
|
|
</el-form> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-dialog title="预览" :visible.sync="pdfVisible" center width="60%"> |
|
|
<el-dialog title="预览" :visible.sync="pdfVisible" center width="60%"> |
|
|
|
|
|
|
|
|
<iframe :src="this.pdfUrl" frameborder="0" width="100%" height="400px"></iframe> |
|
|
<iframe :src="this.pdfUrl" frameborder="0" width="100%" height="400px"></iframe> |
|
|
@ -234,9 +207,9 @@ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import Chooselist from '@/views/modules/common/Chooselist' |
|
|
|
|
|
import column from "../common/column"; |
|
|
|
|
|
import { |
|
|
|
|
|
|
|
|
import Chooselist from '@/views/modules/common/Chooselist' |
|
|
|
|
|
import column from "../common/column"; |
|
|
|
|
|
import { |
|
|
searchSysLanguagePackList, |
|
|
searchSysLanguagePackList, |
|
|
searchSysLanguageParam, |
|
|
searchSysLanguageParam, |
|
|
searchFunctionButtonList, |
|
|
searchFunctionButtonList, |
|
|
@ -244,22 +217,23 @@ |
|
|
searchSysLanguage, |
|
|
searchSysLanguage, |
|
|
searchLanguageListByLanguageCode, |
|
|
searchLanguageListByLanguageCode, |
|
|
saveSysLanguageOne |
|
|
saveSysLanguageOne |
|
|
} from "@/api/sysLanguage.js" |
|
|
|
|
|
import getLodop from '@/utils/LodopFuncs.js' |
|
|
|
|
|
import { |
|
|
|
|
|
|
|
|
} from "@/api/sysLanguage.js" |
|
|
|
|
|
import getLodop from '@/utils/LodopFuncs.js' |
|
|
|
|
|
import { |
|
|
saveTableDefaultList, |
|
|
saveTableDefaultList, |
|
|
saveTableUser, |
|
|
saveTableUser, |
|
|
getTableDefaultListLanguage, |
|
|
getTableDefaultListLanguage, |
|
|
getTableUserListLanguage, |
|
|
getTableUserListLanguage, |
|
|
removerDefault, |
|
|
removerDefault, |
|
|
removerUser |
|
|
removerUser |
|
|
} from "@/api/table.js" |
|
|
|
|
|
import { |
|
|
|
|
|
|
|
|
} from "@/api/table.js" |
|
|
|
|
|
import { |
|
|
userFavoriteList, saveUserFavorite, removeUserFavorite |
|
|
userFavoriteList, saveUserFavorite, removeUserFavorite |
|
|
} from '@/api/userFavorite.js' |
|
|
|
|
|
import { |
|
|
|
|
|
|
|
|
} from '@/api/userFavorite.js' |
|
|
|
|
|
import { |
|
|
getPRHeaderList, |
|
|
getPRHeaderList, |
|
|
updatePRHeader, |
|
|
updatePRHeader, |
|
|
|
|
|
updatePRHeaderList, |
|
|
getTblBaseDataList, |
|
|
getTblBaseDataList, |
|
|
getExportList, |
|
|
getExportList, |
|
|
getReviewSteps, |
|
|
getReviewSteps, |
|
|
@ -267,14 +241,14 @@ |
|
|
getPRHeaderListReview, |
|
|
getPRHeaderListReview, |
|
|
getReviewStep |
|
|
getReviewStep |
|
|
|
|
|
|
|
|
} from '@/api/purchaseorder/procurementReview.js' |
|
|
|
|
|
import { |
|
|
|
|
|
|
|
|
} from '@/api/purchaseorder/procurementReview.js' |
|
|
|
|
|
import { |
|
|
getPartFamilyList, |
|
|
getPartFamilyList, |
|
|
} from '@/api/purchaseorder/purchaseRequisition.js' |
|
|
|
|
|
import axios from "axios"; |
|
|
|
|
|
import Vue from "vue"; |
|
|
|
|
|
|
|
|
} from '@/api/purchaseorder/purchaseRequisition.js' |
|
|
|
|
|
import axios from "axios"; |
|
|
|
|
|
import Vue from "vue"; |
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
|
|
|
|
export default { |
|
|
components: { |
|
|
components: { |
|
|
column, |
|
|
column, |
|
|
Chooselist |
|
|
Chooselist |
|
|
@ -963,6 +937,69 @@ |
|
|
this.orderTypeList = data.rows |
|
|
this.orderTypeList = data.rows |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
async saveReviewList(val) { |
|
|
|
|
|
let dto = [] |
|
|
|
|
|
for (let i = 0; i < this.dataListSelections.length; i++) { |
|
|
|
|
|
let item = this.dataListSelections[i] |
|
|
|
|
|
let query = { |
|
|
|
|
|
site: this.site, |
|
|
|
|
|
orderRef1: item.requisitionno, |
|
|
|
|
|
authUserId: this.$store.state.user.id, |
|
|
|
|
|
stepId: item.stepId |
|
|
|
|
|
} |
|
|
|
|
|
await getReviewStep(query).then(({data}) => { |
|
|
|
|
|
if (data.code == 0) { |
|
|
|
|
|
let reviewStep = data.data |
|
|
|
|
|
let newItem = { |
|
|
|
|
|
approveResult: "已审批", |
|
|
|
|
|
approveResultComments: null, |
|
|
|
|
|
approvedFlag: val, |
|
|
|
|
|
authGroupId: reviewStep.authGroupId, |
|
|
|
|
|
authRuleId: reviewStep.authRuleId, |
|
|
|
|
|
authTypeDb: reviewStep.authTypeDb, |
|
|
|
|
|
authUserId: reviewStep.authUserId, |
|
|
|
|
|
id: reviewStep.id, |
|
|
|
|
|
itemNo: item.itemno, |
|
|
|
|
|
lastStepFlag: "Y", |
|
|
|
|
|
orderRef1: item.requisitionno, |
|
|
|
|
|
orderType: item.orderType, |
|
|
|
|
|
partNo: item.partno, |
|
|
|
|
|
partdesc: item.partdesc, |
|
|
|
|
|
qty: item.qty, |
|
|
|
|
|
remark: "", |
|
|
|
|
|
site: this.$store.state.user.site, |
|
|
|
|
|
stepId: item.stepId, |
|
|
|
|
|
supplierId: item.supplierid, |
|
|
|
|
|
supplierName: item.suppliername, |
|
|
|
|
|
torNumacc: 1, |
|
|
|
|
|
torNumdown: 1, |
|
|
|
|
|
userName: this.$store.state.user.name |
|
|
|
|
|
} |
|
|
|
|
|
if (val == "Y") { |
|
|
|
|
|
if (reviewStep.lastStepFlag == 'Y') { |
|
|
|
|
|
reviewStep.approveResult = "已审批" |
|
|
|
|
|
} else { |
|
|
|
|
|
newItem.approveResult = "已审批" |
|
|
|
|
|
} |
|
|
|
|
|
} else if (val == "N") { |
|
|
|
|
|
newItem.approveResult = "未通过" |
|
|
|
|
|
} |
|
|
|
|
|
dto.push(newItem) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
await updatePRHeaderList(dto).then(({data}) => { |
|
|
|
|
|
if (data.code == 0) { |
|
|
|
|
|
this.getDataList('Y') |
|
|
|
|
|
} |
|
|
|
|
|
this.$alert(data.msg, '操作提示', { |
|
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
|
callback: action => { |
|
|
|
|
|
this.saveButton = false |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
saveReview(row, val) { |
|
|
saveReview(row, val) { |
|
|
this.setUp.saveButton = true |
|
|
this.setUp.saveButton = true |
|
|
this.saveData = {} |
|
|
this.saveData = {} |
|
|
@ -1306,14 +1343,14 @@ |
|
|
this.getFunctionButtonList() |
|
|
this.getFunctionButtonList() |
|
|
this.favoriteIsOk() |
|
|
this.favoriteIsOk() |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
<style scoped> |
|
|
<style scoped> |
|
|
.wrapper { |
|
|
|
|
|
|
|
|
.wrapper { |
|
|
height: calc(100% - 40px); |
|
|
height: calc(100% - 40px); |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.sl-input { |
|
|
|
|
|
|
|
|
.sl-input { |
|
|
background-color: transparent; |
|
|
background-color: transparent; |
|
|
border: 0 !important; |
|
|
border: 0 !important; |
|
|
font-size: 12px !important; |
|
|
font-size: 12px !important; |
|
|
@ -1321,17 +1358,17 @@ |
|
|
line-height: 14px !important; |
|
|
line-height: 14px !important; |
|
|
background-color: transparent !important; |
|
|
background-color: transparent !important; |
|
|
width: 140px; |
|
|
width: 140px; |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.sl-input:focus, textarea:focus { |
|
|
|
|
|
|
|
|
.sl-input:focus, textarea:focus { |
|
|
|
|
|
|
|
|
outline: none; |
|
|
outline: none; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.sl-svg { |
|
|
|
|
|
|
|
|
.sl-svg { |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
float: right; |
|
|
float: right; |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
</style> |
|
|
</style> |