¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // å页æ¥è¯¢ |
| | | export function selectQualifiedSupplierManagementPage(query) { |
| | | return request({ |
| | | url: '/supplierManagement/selectQualifiedSupplierManagementPage', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // ç¼è¾ä¾åºå |
| | | export function updateSupplierManagement(query) { |
| | | return request({ |
| | | url: '/supplierManagement/updateSupplierManagement', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | } |
| | | |
| | | // æ°å¢ä¾åºå |
| | | export function addSupplierManagement(query) { |
| | | return request({ |
| | | url: '/supplierManagement/addSupplierManagement', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | } |
| | | |
| | | // 导åºä¾åºå |
| | | export function exportSupplierManagement(query) { |
| | | return request({ |
| | | url: "/supplierManagement/exportSupplierManagement", |
| | | method: "get", |
| | | responseType: "blob", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // å é¤ä¾åºå |
| | | export function delSupplierManagement(query) { |
| | | return request({ |
| | | url: '/supplierManagement/delSupplierManagement', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" |
| | | :title="operationType === 'edit' ? 'ç¼è¾' : 'æ°å¢'" |
| | | :visible.sync="formDia" |
| | | width="90%" @close="closeDia"> |
| | | <el-form :model="model" ref="modelForm" label-width="150px" :rules="rules"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ä¾åºå" prop="supplierName"> |
| | | <el-input v-model="model.supplierName" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç¼å·" prop="supplierRef"> |
| | | <el-input v-model="model.supplierRef" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="ä¾åºåç©åæå¡åç§°" prop="supplierItemServiceName"> |
| | | <el-input v-model="model.supplierItemServiceName" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="é®ç¼"> |
| | | <el-input v-model="model.postalCode" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="å°å"> |
| | | <el-input v-model="model.adress" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è系人"> |
| | | <el-input v-model="model.contacts" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="èç³»çµè¯"> |
| | | <el-input v-model="model.phone" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ·å"> |
| | | <el-input v-model="model.householdName" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ä¼ ç"> |
| | | <el-input v-model="model.fax" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="弿·è¡"> |
| | | <el-input v-model="model.openingName" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç½å"> |
| | | <el-input v-model="model.website" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="è´¦å·"> |
| | | <el-input v-model="model.accountName" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="Email"> |
| | | <el-input v-model="model.email" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <span slot="footer"> |
| | | <el-button @click="closeDia">å æ¶</el-button> |
| | | <el-button type="primary" @click="submit" :loading="editLoad">ä¿ å</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | addSupplierManagement, |
| | | updateSupplierManagement |
| | | } from '@/api/cnas/externalService/supplierManage/supplierManage' |
| | | |
| | | export default { |
| | | name: "formDia", |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: {}, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | operationType: '', |
| | | formDia: false, |
| | | model: { |
| | | supplierName: '', |
| | | supplierRef: '', |
| | | supplierItemServiceName: '', |
| | | postalCode: '', |
| | | adress: '', |
| | | contacts: '', |
| | | phone: '', |
| | | householdName: '', |
| | | fax: '', |
| | | openingName: '', |
| | | website: '', |
| | | accountName: '', |
| | | email: '', |
| | | supplierManagementId: '', |
| | | }, |
| | | rules: { |
| | | supplierName: [{ required: true, message: '请è¾å
¥ä¾åºå', trigger: 'blur' }], |
| | | supplierRef: [{ required: true, message: '请è¾å
¥ä¾åºåç¼å·', trigger: 'blur' }], |
| | | |
| | | }, |
| | | editLoad: false, |
| | | } |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | openDialog (type, row) { |
| | | this.operationType = type |
| | | this.formDia = true |
| | | if (this.operationType === 'edit') { |
| | | this.model = this.HaveJson(row) |
| | | } |
| | | }, |
| | | // æäº¤è¡¨å |
| | | submit () { |
| | | this.$refs.modelForm.validate((valid) => { |
| | | if (valid) { |
| | | this.editLoad = true |
| | | if (this.operationType === 'edit') { |
| | | updateSupplierManagement(this.model).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 200){ |
| | | this.$message.success('ä¿®æ¹æå') |
| | | this.closeDia() |
| | | } |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.editLoad = false |
| | | }) |
| | | } else { |
| | | addSupplierManagement(this.model).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 200){ |
| | | this.$message.success('æ°å¢æå') |
| | | this.closeDia() |
| | | } |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.editLoad = false |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | closeDia () { |
| | | this.$refs.modelForm.resetFields() |
| | | this.formDia = false |
| | | this.$emit('closeDia') |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="capacity-scope"> |
| | | <div class="search"> |
| | | <div> |
| | | <el-form :model="searchForm" ref="searchForm" size="small" :inline="true"> |
| | | <el-form-item label="åç§°" prop="supplierName"> |
| | | <el-input v-model="searchForm.supplierName" clearable size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="getTableData">æ¥ è¯¢</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetSearchForm">é ç½®</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div> |
| | | <el-button size="medium" @click="exportExcel">导 åº</el-button> |
| | | <el-button size="medium" type="primary" @click="showDialog('add')">æ° å¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <form-dia ref="formDia" v-if="formDia" @closeDia="closeDia"></form-dia> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | // import ZTTable from "../caorui/ZTTable/index.vue"; |
| | | // import TableCard from "../caorui/TableCard/index.vue"; |
| | | // import axios from "axios"; |
| | | import FormDia from "../supplierManage/component/formDia.vue"; |
| | | import limsTable from '@/components/Table/lims-table.vue' |
| | | import { |
| | | selectQualifiedSupplierManagementPage, |
| | | exportSupplierManagement, |
| | | delSupplierManagement |
| | | } from '@/api/cnas/externalService/supplierManage/supplierManage' |
| | | |
| | | export default { |
| | | name: "a6-supplier-manage-new", |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { |
| | | limsTable, |
| | | FormDia |
| | | }, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | searchForm: { |
| | | supplierName: '' |
| | | }, |
| | | tableLoading: false, |
| | | tableColumn: [ |
| | | { |
| | | label: "ä¾åºåç¼å·", |
| | | prop: "supplierRef" |
| | | }, |
| | | { |
| | | label: "ä¾åºå", |
| | | prop: "supplierName" |
| | | }, |
| | | { |
| | | label: "ä¾åºç©å(æå¡)åç§°", |
| | | prop: "supplierItemServiceName" |
| | | }, |
| | | { |
| | | label: "å°å", |
| | | prop: "adress" |
| | | }, |
| | | { |
| | | label: "èç³»çµè¯", |
| | | prop: "phone" |
| | | }, |
| | | { |
| | | dataType: 'action', |
| | | fixed: "right", |
| | | minWidth: '60', |
| | | label: 'æä½', |
| | | operation: [ |
| | | { |
| | | name: 'ç¼è¾', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.showDialog('edit', row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'å é¤', |
| | | type: 'text', |
| | | color: '#f56c6c', |
| | | clickFun: (row) => { |
| | | this.deleteRow(row); |
| | | }, |
| | | } |
| | | |
| | | ] |
| | | } |
| | | ], |
| | | tableData: [], |
| | | page: { |
| | | total: 0, |
| | | size: 10, |
| | | current: 1 |
| | | }, |
| | | formDia: false, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getTableData() |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | // è·åè¡¨æ ¼æ°æ® |
| | | async getTableData() { |
| | | this.tableLoading = true; |
| | | selectQualifiedSupplierManagementPage(this.searchForm).then(res => { |
| | | this.tableLoading = false; |
| | | if(res.code === 200) { |
| | | this.tableData = res.data.records; |
| | | this.page.total = res.data.total |
| | | } |
| | | }).catch(err => { |
| | | this.tableLoading = false |
| | | }) |
| | | }, |
| | | // éç½® |
| | | resetSearchForm () { |
| | | this.pagination.current = 1 |
| | | this.pagination.pageSize = 20 |
| | | this.searchForm.supplierName = '' |
| | | this.getTableData() |
| | | }, |
| | | // å页忢 |
| | | pagination(page) { |
| | | this.page.size = page.limit |
| | | this.getTableData(); |
| | | }, |
| | | // æå¼æ°å¢å¼¹æ¡ |
| | | showDialog(type, row) { |
| | | this.formDia = true |
| | | this.$nextTick(() => { |
| | | this.$refs.formDia.openDialog(type, row) |
| | | }) |
| | | }, |
| | | // å
³éå¼¹æ¡ |
| | | closeDia () { |
| | | this.formDia = false |
| | | this.getTableData() |
| | | }, |
| | | // å é¤è®°å½ |
| | | deleteRow (row) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥æä»¶, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | delSupplierManagement({supplierManagementId:row.supplierManagementId}).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('å 餿åï¼') |
| | | this.getTableData() |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | // 导åºexcel |
| | | async exportExcel() { |
| | | exportSupplierManagement({deviceId:this.clickNodeVal.value}).then(res => { |
| | | const blob = new Blob([res], { type: 'application/octet-stream' }); |
| | | this.$download.saveAs(blob, 'åæ ¼ä¾åºå.xlsx') |
| | | this.$message.success('å¯¼åºæå') |
| | | }) |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .search { |
| | | height: 46px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | </style> |