feat(supplierSet): 删除404接口

This commit is contained in:
woody 2025-05-23 11:49:58 +08:00
parent 1698eb0f39
commit 64204612bc
2 changed files with 274 additions and 313 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,23 +2,22 @@
<div class="page"> <div class="page">
<topBar <topBar
v-if="topList.length > 0" v-if="topList.length > 0"
:topList="topList" :top-list="topList"
:moren="moren" :moren="moren"
></topBar> />
<div class="main"> <div class="main">
<div class="form_all"> <div class="form_all">
<el-form ref="select" :model="select" label-width="auto"> <el-form ref="select" :model="select" label-width="auto">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="4"> <el-col :span="4">
<el-form-item label="供应商名称"> <el-form-item label="供应商名称">
<el-input clearable v-model="select.custName"></el-input> <el-input v-model="select.custName" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-button type="primary" @click="getDataList"> <el-button type="primary" @click="getDataList">
{{ '搜索' }}</el-button {{ '搜索' }}</el-button>
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button> <el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -27,75 +26,61 @@
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button <el-button
size="small"
v-has-buttons="['supplierSetAdd']" v-has-buttons="['supplierSetAdd']"
@click="openDig"
class="addBtn"
>{{ '添加' }}</el-button
>
<el-button
size="small" size="small"
@click="handleDelete" class="addBtn"
@click="openDig"
>{{ '添加' }}</el-button>
<el-button
v-has-buttons="['supplierSetDelete']" v-has-buttons="['supplierSetDelete']"
size="small"
style="background-color: #c9171d" style="background-color: #c9171d"
:disabled="single" :disabled="single"
class="thebtn1" class="thebtn1"
@click="handleDelete"
> >
{{ '删除' }}</el-button {{ '删除' }}</el-button>
>
</div> </div>
</div> </div>
<div class="maintable"> <div class="maintable">
<el-table <el-table
:data="tableData"
v-loading="loading" v-loading="loading"
:data="tableData"
style="width: 100%" style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="selection" width="55" />
<el-table-column align="center" prop="custCode" label="客商编码"> <el-table-column align="center" prop="custCode" label="客商编码" />
</el-table-column>
<el-table-column align="center" prop="custName" label="客商名称"> <el-table-column align="center" prop="custName" label="客商名称" />
</el-table-column> <el-table-column align="center" prop="shortName" label="客商简称" />
<el-table-column align="center" prop="shortName" label="客商简称"> <el-table-column align="center" prop="legalBody" label="法人姓名" />
</el-table-column> <el-table-column align="center" prop="linkMan" :label="'联系人'" />
<el-table-column align="center" prop="legalBody" label="法人姓名">
</el-table-column>
<el-table-column align="center" prop="linkMan" :label="'联系人'">
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="taxpayerid" prop="taxpayerid"
label="纳税人登记号" label="纳税人登记号"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="provinceName" prop="provinceName"
:label="'省'" :label="'省'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="cityName" prop="cityName"
:label="'市'" :label="'市'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="countyName" prop="countyName"
:label="'区/县'" :label="'区/县'"
> />
</el-table-column> <el-table-column align="center" prop="address" :label="'详细地址'" />
<el-table-column align="center" prop="address" :label="'详细地址'"> <el-table-column align="center" prop="custTypeVal" label="供应商类型" />
</el-table-column> <el-table-column align="center" prop="tradeScope" label="经营范围" />
<el-table-column align="center" prop="custTypeVal" label="供应商类型">
</el-table-column>
<el-table-column align="center" prop="tradeScope" label="经营范围">
</el-table-column>
<!-- <el-table-column <!-- <el-table-column
align="center" align="center"
prop="creationTime" prop="creationTime"
@ -110,12 +95,12 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click.native.prevent="update(scope.row)" v-has-buttons="['supplierSetUpdate']"
type="text" type="text"
size="small" size="small"
class="button-s" class="button-s"
style="color: #009b58" style="color: #009b58"
v-has-buttons="['supplierSetUpdate']" @click.native.prevent="update(scope.row)"
> >
{{ '修改' }} {{ '修改' }}
</el-button> </el-button>
@ -144,53 +129,53 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客商编码" prop="custCode"> <el-form-item label="客商编码" prop="custCode">
<el-input clearable v-model="form.custCode"></el-input> <el-input v-model="form.custCode" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客商名称" prop="custName"> <el-form-item label="客商名称" prop="custName">
<el-input clearable v-model="form.custName"></el-input> <el-input v-model="form.custName" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客商简称" prop="shortName"> <el-form-item label="客商简称" prop="shortName">
<el-input clearable v-model="form.shortName"></el-input> <el-input v-model="form.shortName" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="法人姓名" prop="legalBody"> <el-form-item label="法人姓名" prop="legalBody">
<el-input clearable v-model="form.legalBody"></el-input> <el-input v-model="form.legalBody" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="'联系人'" prop="linkMan"> <el-form-item :label="'联系人'" prop="linkMan">
<el-input clearable v-model="form.linkMan"></el-input> <el-input v-model="form.linkMan" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="经营范围" prop="tradeScope"> <el-form-item label="经营范围" prop="tradeScope">
<el-input clearable v-model="form.tradeScope"></el-input> <el-input v-model="form.tradeScope" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="纳税人登记号" prop="taxpayerid"> <el-form-item label="纳税人登记号" prop="taxpayerid">
<el-input clearable v-model="form.taxpayerid"></el-input> <el-input v-model="form.taxpayerid" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="供应商类型" prop="custType"> <el-form-item label="供应商类型" prop="custType">
<el-select <el-select
v-model="form.custType"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="form.custType"
> >
<el-option <el-option
v-for="item in custTypeList" v-for="item in custTypeList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -201,17 +186,17 @@
prop="shoppingAddress" prop="shoppingAddress"
> >
<el-cascader <el-cascader
v-model="form.shoppingAddress"
:key="isResouceShow" :key="isResouceShow"
v-model="form.shoppingAddress"
:options="areaData" :options="areaData"
:props="regionParams" :props="regionParams"
@change="handleChange1" @change="handleChange1"
></el-cascader> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="'详细地址'" class="dizhi" prop="address"> <el-form-item :label="'详细地址'" class="dizhi" prop="address">
<el-input clearable v-model="form.address"></el-input> <el-input v-model="form.address" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -227,22 +212,22 @@
</template> </template>
<script> <script>
import topBar from "@/components/topBar"; import topBar from '@/components/topBar'
import * as api from "@/api/supply.js"; import * as api from '@/api/supply.js'
import * as site from "@/api/site.js"; import * as site from '@/api/site.js'
export default { export default {
name: "supplierSet", name: 'SupplierSet',
components: { components: {
topBar, topBar
}, },
filters: { filters: {
isAgree(val) { isAgree(val) {
if (!val) { if (!val) {
return '允许'; return '允许'
} else { } else {
return '禁止'; return '禁止'
} }
}, }
}, },
data() { data() {
return { return {
@ -252,145 +237,142 @@ export default {
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50
}, },
addOrEdit: "", addOrEdit: '',
total: 0, total: 0,
dialogVisible: false, dialogVisible: false,
tableData: [], tableData: [],
loading:false, loading: false,
form: { form: {
shoppingAddress: ["", "", ""], shoppingAddress: ['', '', '']
}, },
moren: "supplierSet", moren: 'supplierSet',
topList: [ topList: [
{ {
name: "供应商管理", name: '供应商管理',
path: "supplierSet", path: 'supplierSet'
}, }
], ],
single: true, single: true,
thepkId: "", thepkId: '',
isResouceShow: 0, isResouceShow: 0,
areaData: [], areaData: [],
regionParams: { regionParams: {
label: "name", label: 'name',
value: "id", value: 'id',
children: "children", children: 'children',
expandTrigger: "hover", expandTrigger: 'hover'
}, },
dialogTitle: "", dialogTitle: '',
custTypeList: [], custTypeList: [],
rules: { rules: {
custCode: [ custCode: [
{ required: true, message: '请输入', trigger: "blur" }, { required: true, message: '请输入', trigger: 'blur' }
], ],
custName: [ custName: [
{ required: true, message: '请输入', trigger: "blur" }, { required: true, message: '请输入', trigger: 'blur' }
], ],
shortName: [ shortName: [
{ required: true, message: '请输入', trigger: "blur" }, { required: true, message: '请输入', trigger: 'blur' }
], ],
legalBody: [ legalBody: [
{ required: true, message: '请输入', trigger: "blur" }, { required: true, message: '请输入', trigger: 'blur' }
], ],
linkMan: [ linkMan: [
{ required: true, message: '请输入', trigger: "blur" }, { required: true, message: '请输入', trigger: 'blur' }
], ],
tradeScope: [ tradeScope: [
{ required: true, message: '请输入', trigger: "blur" }, { required: true, message: '请输入', trigger: 'blur' }
], ],
taxpayerid: [ taxpayerid: [
{ required: true, message: '请输入', trigger: "blur" }, { required: true, message: '请输入', trigger: 'blur' }
], ],
custType: [ custType: [
{ required: true, message: '请选择收货地址', trigger: "change" }, { required: true, message: '请选择收货地址', trigger: 'change' }
], ],
address: [ address: [
{ required: true, message: '请输入', trigger: "blur" }, { required: true, message: '请输入', trigger: 'blur' }
], ],
shoppingAddress: [ shoppingAddress: [
{ required: true, message: '请选择收货地址', trigger: "change" }, { required: true, message: '请选择收货地址', trigger: 'change' }
], ]
}, }
}; }
}, },
mounted() { mounted() {
this.getOthers(); this.getOthers()
// //
this.getDataList(); this.getDataList()
}, },
methods: { methods: {
update(row) { update(row) {
this.dialogTitle = '修改'; this.dialogTitle = '修改'
this.addOrEdit = 2; this.addOrEdit = 2
this.form = row; this.form = row
let arr = [ let arr = [
row.province+ "", row.province + '',
row.city + "", row.city + '',
(row.county || "") + "", (row.county || '') + ''
]; ]
arr = arr.filter((item) => item != ""); arr = arr.filter((item) => item != '')
this.$set(this.form, "shoppingAddress", arr); this.$set(this.form, 'shoppingAddress', arr)
this.$forceUpdate(); this.$forceUpdate()
this.dialogVisible = true; this.dialogVisible = true
}, },
onSubmit(formName) { onSubmit(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
this.form.province = this.form.shoppingAddress[0]; this.form.province = this.form.shoppingAddress[0]
this.form.city = this.form.shoppingAddress[1]; this.form.city = this.form.shoppingAddress[1]
this.form.county = this.form.shoppingAddress[2]; this.form.county = this.form.shoppingAddress[2]
api.addSupplier(this.form).then((res) => { api.addSupplier(this.form).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
message: res.msg, message: res.msg,
type: "success", type: 'success'
}); })
this.dialogVisible = false; this.dialogVisible = false
// //
this.getDataList(); this.getDataList()
this.$refs[formName].resetFields(); this.$refs[formName].resetFields()
} }
}); })
} }
}); })
}, },
handleChange1(val) { handleChange1(val) {
this.form.provinceName = val[0]; this.form.provinceName = val[0]
this.form.cityName = val[1]; this.form.cityName = val[1]
this.form.countyName = val[2] || ""; this.form.countyName = val[2] || ''
}, },
getOthers() { getOthers() {
api.getCustTypeList().then((res) => {
this.custTypeList = res.data;
});
site.areaList().then((res) => { site.areaList().then((res) => {
this.areaData = res.data; this.areaData = res.data
}); })
}, },
reset() { reset() {
this.select = {}; this.select = {}
this.getDataList(); this.getDataList()
}, },
// //
handleDelete(id) { handleDelete(id) {
this.$confirm('确认删除?', '提示', { this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: "warning", type: 'warning'
}).then(() => { }).then(() => {
api.deleteSupplier(this.thepkId).then((res) => { api.deleteSupplier(this.thepkId).then((res) => {
this.getDataList(); this.getDataList()
}); })
}); })
}, },
openDig() { openDig() {
this.addOrEdit = 1; this.addOrEdit = 1
this.dialogTitle = '添加'; this.dialogTitle = '添加'
this.dialogVisible = true; this.dialogVisible = true
this.$refs["form"].resetFields(); this.$refs['form'].resetFields()
}, },
getDataList() { getDataList() {
this.loading = true this.loading = true
@ -398,30 +380,30 @@ export default {
.getSupplierList(Object.assign({}, this.queryParams, this.select)) .getSupplierList(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
this.loading = false this.loading = false
this.tableData = res.rows; this.tableData = res.rows
this.total = res.total; this.total = res.total
}); })
}, },
handleClose() { handleClose() {
this.dialogVisible = false; this.dialogVisible = false
this.$refs["form"].clearValidate(); this.$refs['form'].clearValidate()
this.$refs["form"].resetFields(); this.$refs['form'].resetFields()
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.single = val.length !== 1; this.single = val.length !== 1
this.thepkId = val[0].pkId; this.thepkId = val[0].pkId
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return "warning-row"; return 'warning-row'
} else if (rowIndex % 2 == 0) { } else if (rowIndex % 2 == 0) {
return "success-row"; return 'success-row'
} }
return ""; return ''
}, }
}, }
}; }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
::v-deep .el-table .warning-row { ::v-deep .el-table .warning-row {