|
|
@@ -4,10 +4,10 @@ categoryOptions<template>
|
|
|
<!-- 查询和其他操作 -->
|
|
|
<div class="filter-container">
|
|
|
<el-input clearable class="filter-item" style="width: 200px;" placeholder="供应商名称"
|
|
|
- v-model="listQuery.supplier_name"></el-input>
|
|
|
+ v-model="listQuery.supplierName"></el-input>
|
|
|
<el-input clearable class="filter-item" style="width: 200px;" placeholder="供应商编号"
|
|
|
- v-model="listQuery.supplier_num"></el-input>
|
|
|
- <el-select class="filter-item" style="width: 200px" v-model="listQuery.type_id" filterable placeholder="供应商类别">
|
|
|
+ v-model="listQuery.supplierNum"></el-input>
|
|
|
+ <el-select class="filter-item" style="width: 200px" v-model="listQuery.typeId" filterable placeholder="供应商类别">
|
|
|
<el-option v-for="item in brandOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
@@ -23,7 +23,7 @@ categoryOptions<template>
|
|
|
@click="handleQuery">查找</el-button>
|
|
|
<el-button class="filter-item" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
|
|
<el-button class="filter-item" type="primary" @click="handleAdd" icon="el-icon-plus">添加</el-button>
|
|
|
- <el-button class="filter-item" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
|
|
|
+ <!-- <el-button class="filter-item" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button> -->
|
|
|
</div>
|
|
|
|
|
|
<!-- 查询结果 -->
|
|
|
@@ -31,30 +31,30 @@ categoryOptions<template>
|
|
|
highlight-current-row>
|
|
|
<el-table-column type="index" label="序号" header-align="center" align="center">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" min-width="120px" label="供应商编号" prop="supplier_num">
|
|
|
+ <el-table-column align="center" min-width="120px" label="供应商编号" prop="supplierNum">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" min-width="200px" label="供应商名称" prop="supplier_name">
|
|
|
+ <el-table-column align="center" min-width="200px" label="供应商名称" prop="supplierName">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" min-width="80px" label="供应商类别" prop="type_name">
|
|
|
+ <el-table-column align="center" min-width="80px" label="供应商类别" prop="typeName">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" min-width="80px" label="地域" prop="supplier_purchas_address">
|
|
|
+ <el-table-column align="center" min-width="80px" label="地域" prop="supplierPurchasAddress">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" min-width="80px" label="联系人" prop="supplier_contact">
|
|
|
+ <el-table-column align="center" min-width="80px" label="联系人" prop="supplierContact">
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" min-width="80px" label="申请部门" prop="deptName">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" min-width="80px" label="登记时间" prop="add_time">
|
|
|
+ <el-table-column align="center" min-width="180px" label="登记时间" prop="addTime">
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" min-width="100px" label="是否启用">
|
|
|
<template slot-scope="props">
|
|
|
- <span v-if="props.row.status == 0" style="color: #67C23A;font-weight: bold;">启用</span>
|
|
|
- <span v-if="props.row.status == 1" style="color: #E6A23C;font-weight: bold;">停用</span>
|
|
|
+ <span v-if="props.row.isEnable == 0" style="color: #67C23A;font-weight: bold;">启用</span>
|
|
|
+ <span v-if="props.row.isEnable == 1" style="color: #E6A23C;font-weight: bold;">停用</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
|
|
|
- <el-button type="danger" size="small" @click="handleDelete(scope.row.supplier_num)">删除</el-button>
|
|
|
+ <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -73,35 +73,29 @@ categoryOptions<template>
|
|
|
label-width="100px" style='margin: 0 50px;'>
|
|
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
<el-tab-pane label="基础信息" name="first">
|
|
|
- <el-form-item label="供应商名称" prop="supplier_name">
|
|
|
- <el-input v-model="dataForm.supplier_name" placeholder="请输入"></el-input>
|
|
|
+ <el-form-item label="供应商名称" prop="supplierName">
|
|
|
+ <el-input v-model="dataForm.supplierName" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="dataForm.supplier_num" label="供应商编号" prop="supplier_num">
|
|
|
- <el-input disabled v-model="dataForm.supplier_num"></el-input>
|
|
|
+ <el-form-item v-if="dataForm.supplierNum" label="供应商编号" prop="supplierNum">
|
|
|
+ <el-input disabled v-model="dataForm.supplierNum"></el-input>
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="供应商大类" prop="supplierClass">
|
|
|
- <el-select style="width: 100%" v-model="dataForm.supplierClass" filterable placeholder="请选择">
|
|
|
- <el-option v-for="item in brandOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item> -->
|
|
|
- <el-form-item label="类别" prop="type_id">
|
|
|
- <el-select style="width: 100%" v-model="dataForm.type_id" filterable placeholder="请选择">
|
|
|
+ <el-form-item label="类别" prop="typeId">
|
|
|
+ <el-select style="width: 100%" v-model="dataForm.typeId" filterable placeholder="请选择">
|
|
|
<el-option v-for="item in brandOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="地域" prop="supplier_purchas_address">
|
|
|
- <el-input v-model="dataForm.supplier_purchas_address" placeholder="请输入"></el-input>
|
|
|
+ <el-form-item label="地域" prop="supplierPurchasAddress">
|
|
|
+ <el-input v-model="dataForm.supplierPurchasAddress" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="注册资本金" prop="registered_capital">
|
|
|
- <el-input v-model="dataForm.registered_capital" placeholder="请输入注册资本金(万元)"></el-input>
|
|
|
+ <el-form-item label="注册资本金" prop="registeredCapital">
|
|
|
+ <el-input v-model="dataForm.registeredCapital" placeholder="请输入注册资本金(万元)"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="银行卡号" prop="bank_card_no">
|
|
|
- <el-input v-model="dataForm.bank_card_no" placeholder="请输入"></el-input>
|
|
|
+ <el-form-item label="银行卡号" prop="bankCardNo">
|
|
|
+ <el-input v-model="dataForm.bankCardNo" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="银行名称" prop="bank_card_name">
|
|
|
- <el-input v-model="dataForm.bank_card_name" placeholder="请输入"></el-input>
|
|
|
+ <el-form-item label="银行名称" prop="bankCardName">
|
|
|
+ <el-input v-model="dataForm.bankCardName" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="纳税性质" prop="nature">
|
|
|
<el-select style="width: 100%" v-model="dataForm.nature" filterable placeholder="请选择">
|
|
|
@@ -111,71 +105,98 @@ categoryOptions<template>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="税率" prop="taxrate">
|
|
|
<el-select style="width: 100%" v-model="dataForm.taxrate" filterable placeholder="请选择">
|
|
|
- <el-option value="'0%'">0%</el-option>
|
|
|
- <el-option value="'1%'">1%</el-option>
|
|
|
- <el-option value="'3%'">3%</el-option>
|
|
|
+ <el-option value="0%">0%</el-option>
|
|
|
+ <el-option value="1%">1%</el-option>
|
|
|
+ <el-option value="3%">3%</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="联系人" prop="supplier_contact">
|
|
|
- <el-input v-model="dataForm.supplier_contact" placeholder="请输入"></el-input>
|
|
|
+ <el-form-item label="联系人" prop="supplierContact">
|
|
|
+ <el-input v-model="dataForm.supplierContact" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="联系电话" prop="supplier_phone">
|
|
|
- <el-input v-model="dataForm.supplier_phone" placeholder="请输入"></el-input>
|
|
|
+ <el-form-item label="联系电话" prop="supplierPhone">
|
|
|
+ <el-input v-model="dataForm.supplierPhone" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="单位地址" prop="supplier_address">
|
|
|
- <el-input v-model="dataForm.supplier_address" placeholder="请输入"></el-input>
|
|
|
+ <el-form-item label="单位地址" prop="supplierAddress">
|
|
|
+ <el-input v-model="dataForm.supplierAddress" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="申请部门" prop="responsibleDept">
|
|
|
<treeselect default-expand-all v-model="dataForm.responsibleDept" :options="categoryOptions"
|
|
|
:normalizer="normalizer" placeholder="请选择" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="申请事由" prop="supplier_remark">
|
|
|
+ <el-form-item label="申请事由" prop="supplierRemark">
|
|
|
<el-input
|
|
|
type="textarea"
|
|
|
:autosize="{ minRows: 2, maxRows: 4}"
|
|
|
placeholder="请输入"
|
|
|
- v-model="dataForm.supplier_remark">
|
|
|
+ v-model="dataForm.supplierRemark">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="营业执照" name="second">
|
|
|
|
|
|
- <el-form-item label="名称" prop="Zqualified_name">
|
|
|
- <el-input v-model="dataForm.Zqualified_name" placeholder="请输入产地"></el-input>
|
|
|
+ <el-form-item label="名称" prop="businessName">
|
|
|
+ <el-input v-model="dataForm.businessName" placeholder="请输入产地"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="开始日期" prop="Zstart_time">
|
|
|
- <el-date-picker style="width: 100%;" v-model="dataForm.Zstart_time" type="date"
|
|
|
+ <el-form-item label="开始日期" prop="businessStartTime">
|
|
|
+ <el-date-picker style="width: 100%;" v-model="dataForm.businessStartTime" type="date" value-format="yyyy-MM-dd"
|
|
|
placeholder="选择日期"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="结束日期" prop="Zend_time">
|
|
|
- <el-date-picker style="width: 100%;" v-model="dataForm.Zend_time" type="date"
|
|
|
+ <el-form-item label="结束日期" prop="businessEndTime">
|
|
|
+ <el-date-picker style="width: 100%;" v-model="dataForm.businessEndTime" type="date" value-format="yyyy-MM-dd"
|
|
|
placeholder="选择日期"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item style="width: 800px" label="附件" prop="imgUrl">
|
|
|
+ <el-form-item style="width: 800px" label="附件" prop="businessFile">
|
|
|
<el-upload :limit="1" :action="fileImgUrl" list-type="picture-card"
|
|
|
- :file-list="dataForm.images" :on-success="handleImgSucess" :on-exceed="handleExceed"
|
|
|
- :before-upload="beforeUploadImg" :on-remove="handleRemoveImg">
|
|
|
+ :file-list="dataForm.businessFiles"
|
|
|
+ :on-success="(response, file, fileList) => {return handleImgSucess(response, file, fileList, 'businessFiles')}"
|
|
|
+ :on-exceed="handleExceed"
|
|
|
+ :before-upload="beforeUploadImg"
|
|
|
+ :on-remove="(file, fileList) => {return handleRemoveImg(file, fileList, 'businessFiles')}">
|
|
|
<i class="el-icon-plus"></i>
|
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="财务报表/审计报告" name="third">
|
|
|
- <el-form-item label="财务报表" prop="teaFileUrl">
|
|
|
- <el-upload :limit="1" :action="fileImgUrl" :file-list="dataForm.files" :on-success="handleFileSuccess"
|
|
|
- :before-upload="beforeUploadFile" :on-remove="handleRemoveFile">
|
|
|
+ <el-form-item label="财务报表" prop="financeFileId">
|
|
|
+ <el-upload :limit="1" :action="fileImgUrl" :file-list="dataForm.financeFiles"
|
|
|
+ :on-success="(response, file, fileList) => {return handleFileSuccess(response, file, fileList, 'financeFiles')}"
|
|
|
+ :before-upload="beforeUploadFile"
|
|
|
+ :on-remove="(file, fileList) => {return handleRemoveFile(file, fileList, 'financeFiles')}">
|
|
|
<el-button size="small" type="primary">点击上传</el-button>
|
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="审计报告" prop="teaFileUrl">
|
|
|
- <el-upload :limit="1" :action="fileImgUrl" :file-list="dataForm.files" :on-success="handleFileSuccess"
|
|
|
- :before-upload="beforeUploadFile" :on-remove="handleRemoveFile">
|
|
|
+ <el-form-item label="审计报告" prop="auditFileId">
|
|
|
+ <el-upload :limit="1" :action="fileImgUrl" :file-list="dataForm.auditFiles"
|
|
|
+ :on-success="(response, file, fileList) => {return handleFileSuccess(response, file, fileList, 'auditFiles')}"
|
|
|
+ :before-upload="beforeUploadFile"
|
|
|
+ :on-remove="(file, fileList) => {return handleRemoveFile(file, fileList, 'auditFiles')}">
|
|
|
<el-button size="small" type="primary">点击上传</el-button>
|
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
|
</el-tab-pane>
|
|
|
- <!-- <el-tab-pane label="供应商资质信息" name="fourth">
|
|
|
-
|
|
|
- </el-tab-pane> -->
|
|
|
+ <el-tab-pane label="供应商资质信息" name="fourth">
|
|
|
+ <el-form-item label="名称" prop="qualifiedName">
|
|
|
+ <el-input v-model="dataForm.qualifiedName" placeholder="请输入"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开始日期" prop="qualifiedStartTime">
|
|
|
+ <el-date-picker style="width: 100%;" v-model="dataForm.qualifiedStartTime" type="date" value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="结束日期" prop="qualifiedEndTime">
|
|
|
+ <el-date-picker style="width: 100%;" v-model="dataForm.qualifiedEndTime" type="date" value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item style="width: 800px" label="附件" prop="qualifiedFile">
|
|
|
+ <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card"
|
|
|
+ :file-list="dataForm.qualifiedFiles"
|
|
|
+ :on-success="(response, file, fileList) => {return handleImgSucess(response, file, fileList, 'qualifiedFiles')}"
|
|
|
+ :on-exceed="handleExceed"
|
|
|
+ :before-upload="beforeUploadImg"
|
|
|
+ :on-remove="(file, fileList) => {return handleRemoveImg(file, fileList, 'qualifiedFiles')}">
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-tab-pane>
|
|
|
</el-tabs>
|
|
|
|
|
|
</el-form>
|
|
|
@@ -189,26 +210,18 @@ categoryOptions<template>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import { createItem, updateItem, goodsList, removeItem } from "@/api/supplier";
|
|
|
+import { createItem, updateItem, goodsList, removeItem, typeList } from "@/api/supplier";
|
|
|
import { listDept } from "@/api/goodsTypeList";
|
|
|
-import { listBrand } from '@/api/brand';
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
-import { dataTypeList } from "@/api/public";
|
|
|
import waves from "@/directive/waves"; // 水波纹指令
|
|
|
|
|
|
export default {
|
|
|
- name: 'goodsList',
|
|
|
components: { Treeselect },
|
|
|
directives: { waves },
|
|
|
data() {
|
|
|
return {
|
|
|
- tea_type:[],
|
|
|
- tea_level:[],
|
|
|
- tea_series:[],
|
|
|
- tea_package_format:[],
|
|
|
- tea_get_season:[],
|
|
|
- tea_storage_require:[],
|
|
|
+
|
|
|
// 树选项
|
|
|
categoryOptions: [],
|
|
|
activeName: 'first',
|
|
|
@@ -229,41 +242,46 @@ export default {
|
|
|
listQuery: {
|
|
|
page: 1,
|
|
|
limit: 10,
|
|
|
- supplier_name: '',
|
|
|
- supplier_num: '',
|
|
|
- type_id: '',
|
|
|
+ supplierName: '',
|
|
|
+ supplierNum: '',
|
|
|
+ typeId: '',
|
|
|
responsibleDept: undefined,
|
|
|
isEnable: '',
|
|
|
},
|
|
|
- listBrandQuery: {
|
|
|
- limit: 1000,
|
|
|
- sort: '+id'
|
|
|
- },
|
|
|
dataForm: {
|
|
|
- supplier_name: undefined,
|
|
|
- supplier_num: undefined,
|
|
|
- supplier_num: undefined,
|
|
|
- categoryId: undefined,
|
|
|
- brandId: undefined,
|
|
|
- price: undefined,
|
|
|
- salePrice: undefined,
|
|
|
- costPrice: undefined,
|
|
|
- weight: 1,
|
|
|
- status: 0,
|
|
|
- imgUrl: undefined,
|
|
|
- teaTypeId: undefined,
|
|
|
- teaLevel: undefined,
|
|
|
- teaSeries: undefined,
|
|
|
- teaPackageFormat: undefined,
|
|
|
- teaOrigin: undefined,
|
|
|
- teaGetSeason: undefined,
|
|
|
- tea_guarantee_number: undefined,
|
|
|
- tea_guarantee_unit: '年',
|
|
|
- product_date: undefined,
|
|
|
- teaAgingYear: undefined,
|
|
|
- teaFileUrl: undefined,
|
|
|
- files: [],
|
|
|
- teaStorageRequire: [],
|
|
|
+ supplierName: undefined,
|
|
|
+ supplierNum: undefined,
|
|
|
+ supplierNum: undefined,
|
|
|
+ typeId: undefined,
|
|
|
+ supplierPurchasAddress: undefined,
|
|
|
+ registeredCapital: undefined,
|
|
|
+ bankCardNo: undefined,
|
|
|
+ bankCardName: undefined,
|
|
|
+ nature: undefined,
|
|
|
+ taxrate: undefined,
|
|
|
+ supplierContact: undefined,
|
|
|
+ supplierPhone: undefined,
|
|
|
+ supplierAddress: undefined,
|
|
|
+ responsibleDept: undefined,
|
|
|
+ supplierRemark: undefined,
|
|
|
+
|
|
|
+ businessName: undefined,
|
|
|
+ businessStartTime: undefined,
|
|
|
+ businessEndTime: undefined,
|
|
|
+ businessFile: undefined,
|
|
|
+ businessFiles:[],
|
|
|
+
|
|
|
+ financeFileId:undefined,
|
|
|
+ financeFiles: [],
|
|
|
+
|
|
|
+ auditFileId:undefined,
|
|
|
+ auditFiles: [],
|
|
|
+
|
|
|
+ qualifiedName: undefined,
|
|
|
+ qualifiedStartTime: undefined,
|
|
|
+ qualifiedEndTime: undefined,
|
|
|
+ qualifiedFile: undefined,
|
|
|
+ qualifiedFiles:[],
|
|
|
},
|
|
|
dialogFormVisible: false,
|
|
|
dialogStatus: '',
|
|
|
@@ -272,38 +290,30 @@ export default {
|
|
|
create: "创建",
|
|
|
},
|
|
|
rules: {
|
|
|
- supplier_name: [{ required: true, message: "请填写供应商名称", trigger: "blur" }],
|
|
|
- supplier_num: [{ required: true, message: "请填写商品编号", trigger: "blur" }],
|
|
|
- categoryId: [{ required: true, message: "请选择商品类别", trigger: "blur" }],
|
|
|
- price: [
|
|
|
- { required: true, message: "请填写零售价", trigger: "blur" },
|
|
|
- {
|
|
|
- pattern: /^(([1-9]{1}\d{0,9})|(0{1}))(\.\d{1,2})?$/,
|
|
|
- message: "请输入合法的金额数字,最多两位小数",
|
|
|
- trigger: "blur"
|
|
|
- }
|
|
|
- ],
|
|
|
- salePrice: [
|
|
|
- { required: true, message: "请填写销售价", trigger: "blur" },
|
|
|
+ supplierName: [{ required: true, message: "请填写供应商名称", trigger: "blur" }],
|
|
|
+ typeId: [{ required: true, message: "请选择供应商类别", trigger: "blur" }],
|
|
|
+ supplierPurchasAddress: [{ required: true, message: "请填写地域", trigger: "blur" }],
|
|
|
+ registeredCapital: [
|
|
|
+ { required: true, message: "请填写注册资本金", trigger: "blur" },
|
|
|
{
|
|
|
pattern: /^(([1-9]{1}\d{0,9})|(0{1}))(\.\d{1,2})?$/,
|
|
|
message: "请输入合法的金额数字,最多两位小数",
|
|
|
trigger: "blur"
|
|
|
}
|
|
|
],
|
|
|
- costPrice: [
|
|
|
- { required: true, message: "请填写成本价", trigger: "blur" },
|
|
|
- {
|
|
|
- pattern: /^(([1-9]{1}\d{0,9})|(0{1}))(\.\d{1,2})?$/,
|
|
|
- message: "请输入合法的金额数字,最多两位小数",
|
|
|
- trigger: "blur"
|
|
|
- }
|
|
|
- ],
|
|
|
- weight: [
|
|
|
- { required: true, message: "请填写重量", trigger: "blur" },
|
|
|
-
|
|
|
- ],
|
|
|
- status: [{ required: true, message: "请选择状态", trigger: "blur" }],
|
|
|
+ bankCardNo: [{ required: true, message: "请填写银行卡号", trigger: "blur" }],
|
|
|
+ bankCardName: [{ required: true, message: "请填写银行名称", trigger: "blur" }],
|
|
|
+ nature: [{ required: true, message: "请选择纳税性质", trigger: "blur" }],
|
|
|
+ taxrate: [{ required: true, message: "请选择税率", trigger: "blur" }],
|
|
|
+ supplierContact: [{ required: true, message: "请填写联系人", trigger: "blur" }],
|
|
|
+ supplierPhone: [{ required: true, message: "请填写联系电话", trigger: "blur" }],
|
|
|
+ supplierAddress: [{ required: true, message: "请填写单位地址", trigger: "blur" }],
|
|
|
+ responsibleDept: [{ required: true, message: "请选择申请部门", trigger: "blur" }],
|
|
|
+ supplierRemark: [{ required: true, message: "请填写申请事由", trigger: "blur" }],
|
|
|
+ businessName: [{ required: true, message: "请填写营业执照名称", trigger: "blur" }],
|
|
|
+ businessStartTime: [{ required: true, message: "请选择开始日期", trigger: "blur" }],
|
|
|
+ businessEndTime: [{ required: true, message: "请选择结束日期", trigger: "blur" }],
|
|
|
+ businessFile: [{ required: true, message: "请上传营业执照", trigger: "blur" }],
|
|
|
},
|
|
|
dialogListVisible: false,
|
|
|
fileImgUrl: this.upLoadUrl,
|
|
|
@@ -311,13 +321,12 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.getListCategory();
|
|
|
- this.getBrandList();
|
|
|
- this.getDictType();
|
|
|
+ this.getTypeList();
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
handleDownLoad(){
|
|
|
- window.location.href = process.env.BASE_API + '/product/export/category?supplier_name=' + this.listQuery.supplier_name + '&supplier_num=' + this.listQuery.supplier_num;
|
|
|
+ window.location.href = process.env.BASE_API + '/product/export/category?supplierName=' + this.listQuery.supplierName + '&supplierNum=' + this.listQuery.supplierNum;
|
|
|
},
|
|
|
getListCategory() {
|
|
|
listDept().then(response => {
|
|
|
@@ -338,40 +347,24 @@ export default {
|
|
|
handleClick(tab, event) {
|
|
|
console.log(tab, event);
|
|
|
},
|
|
|
- getDictType(){
|
|
|
- //茶叶品牌tea_type
|
|
|
- dataTypeList({ dictType: 'tea_type' }).then(response => {
|
|
|
- this.tea_type = response.data.data;
|
|
|
- });
|
|
|
- //茶叶级别tea_level
|
|
|
- dataTypeList({ dictType: 'tea_level' }).then(response => {
|
|
|
- this.tea_level = response.data.data;
|
|
|
- });
|
|
|
- //茶叶系列tea_series
|
|
|
- dataTypeList({ dictType: 'tea_series' }).then(response => {
|
|
|
- this.tea_series = response.data.data;
|
|
|
- });
|
|
|
- //包装形式tea_package_format
|
|
|
- dataTypeList({ dictType: 'tea_package_format' }).then(response => {
|
|
|
- this.tea_package_format = response.data.data;
|
|
|
- });
|
|
|
- //采摘季节tea_get_season
|
|
|
- dataTypeList({ dictType: 'tea_get_season' }).then(response => {
|
|
|
- this.tea_get_season = response.data.data;
|
|
|
- });
|
|
|
- //存储要求tea_storage_require
|
|
|
- dataTypeList({ dictType: 'tea_storage_require' }).then(response => {
|
|
|
- this.tea_storage_require = response.data.data;
|
|
|
- });
|
|
|
- },
|
|
|
- handleRemoveFile(file, fileList) {
|
|
|
- console.log(file, fileList);
|
|
|
- let teaFileUrl = [];
|
|
|
- for (let i in fileList) {
|
|
|
- let id = fileList[i].response.data.id;
|
|
|
- teaFileUrl.push(id);
|
|
|
+ handleRemoveFile(file, fileList, type) {
|
|
|
+ console.log(file, fileList, type);
|
|
|
+ if (type == "financeFiles") {
|
|
|
+ let financeFiles = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ financeFiles.push(id);
|
|
|
+ }
|
|
|
+ this.dataForm.financeFileId = financeFiles.join(",");
|
|
|
+ }else{
|
|
|
+ let auditFiles = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ auditFiles.push(id);
|
|
|
+ }
|
|
|
+ this.dataForm.auditFileId = auditFiles.join(",");
|
|
|
}
|
|
|
- this.dataForm.teaFileUrl = teaFileUrl.join(",");
|
|
|
+
|
|
|
},
|
|
|
beforeUploadFile(file) {
|
|
|
console.log(file);
|
|
|
@@ -382,34 +375,60 @@ export default {
|
|
|
return false;
|
|
|
}
|
|
|
},
|
|
|
- handleFileSuccess(res, file, fileList) {
|
|
|
- console.log(file, fileList);
|
|
|
- console.log("------", "==========");
|
|
|
- console.log("res = ", res);
|
|
|
-
|
|
|
- let teaFileUrl = [];
|
|
|
- for (let i in fileList) {
|
|
|
- let response = fileList[i].response;
|
|
|
- if (response.errno && response.errno != "0") {
|
|
|
- this.$message.error("该文件上传失败,已被移除,请重新上传!");
|
|
|
- // 上传失败移除该 file 对象
|
|
|
- fileList.splice(i, 1);
|
|
|
- } else {
|
|
|
- let id = fileList[i].response.data.id;
|
|
|
- teaFileUrl.push(id);
|
|
|
+ handleFileSuccess(res, file, fileList, type) {
|
|
|
+ console.log(res, file, fileList, type);
|
|
|
+ if (type == "financeFiles") {
|
|
|
+ let financeFiles = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let response = fileList[i].response;
|
|
|
+ if (response.errno && response.errno != "0") {
|
|
|
+ this.$message.error("该文件上传失败,已被移除,请重新上传!");
|
|
|
+ // 上传失败移除该 file 对象
|
|
|
+ financeFiles.splice(i, 1);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ financeFiles.push(id);
|
|
|
+ }
|
|
|
}
|
|
|
+ this.dataForm.financeFileId = financeFiles.join(",");
|
|
|
+ }else{
|
|
|
+ let auditFiles = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let response = fileList[i].response;
|
|
|
+ if (response.errno && response.errno != "0") {
|
|
|
+ this.$message.error("该文件上传失败,已被移除,请重新上传!");
|
|
|
+ // 上传失败移除该 file 对象
|
|
|
+ auditFiles.splice(i, 1);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ auditFiles.push(id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.dataForm.auditFileId = auditFiles.join(",");
|
|
|
}
|
|
|
- this.dataForm.teaFileUrl = teaFileUrl.join(",");
|
|
|
+
|
|
|
},
|
|
|
- handleRemoveImg(file, fileList) {
|
|
|
- console.log(file, fileList);
|
|
|
- let images = [];
|
|
|
- for (let i in fileList) {
|
|
|
- let response = fileList[i].response;
|
|
|
- let url = response.data.url;
|
|
|
- images.push(url);
|
|
|
- this.dataForm.imgUrl = images.join(",");
|
|
|
+
|
|
|
+ handleRemoveImg(file, fileList, type) {
|
|
|
+ console.log(file, fileList, type);
|
|
|
+ if (type == "qualifiedFiles") {
|
|
|
+ let qualifiedFiles = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ qualifiedFiles.push(id);
|
|
|
+ }
|
|
|
+ this.dataForm.qualifiedFile = qualifiedFiles.join(",");
|
|
|
+ }else{
|
|
|
+ let businessFiles = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ businessFiles.push(id);
|
|
|
+ }
|
|
|
+ this.dataForm.businessFile = businessFiles.join(",");
|
|
|
}
|
|
|
+
|
|
|
},
|
|
|
beforeUploadImg(file) {
|
|
|
const isJPGs = file.type === "image/jpeg";
|
|
|
@@ -421,54 +440,77 @@ export default {
|
|
|
} 个文件`
|
|
|
);
|
|
|
},
|
|
|
- handleImgSucess(res, file, fileList) {
|
|
|
- this.dataForm.imgUrl = ""; // 清空画廊图片数组
|
|
|
-
|
|
|
- let images = [];
|
|
|
- for (let i in fileList) {
|
|
|
- let response = fileList[i].response;
|
|
|
- if (response.errno && response.errno != "0") {
|
|
|
- this.$message.error("该图片上传失败,已被移除,请重新上传!");
|
|
|
- // 上传失败移除该 file 对象
|
|
|
- fileList.splice(i, 1);
|
|
|
- } else {
|
|
|
- let url = response.data.url;
|
|
|
- images.push(url);
|
|
|
+ handleImgSucess(res, file, fileList, type) {
|
|
|
+ console.log(res, file, fileList, type);
|
|
|
+ if (type == "qualifiedFiles") {
|
|
|
+ let qualifiedFiles = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let response = fileList[i].response;
|
|
|
+ if (response.errno && response.errno != "0") {
|
|
|
+ this.$message.error("该图片上传失败,已被移除,请重新上传!");
|
|
|
+ // 上传失败移除该 file 对象
|
|
|
+ fileList.splice(i, 1);
|
|
|
+ } else {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ qualifiedFiles.push(id);
|
|
|
+ }
|
|
|
}
|
|
|
+ this.dataForm.qualifiedFile = qualifiedFiles.join(",");
|
|
|
+ }else{
|
|
|
+ let businessFiles = [];
|
|
|
+ for (let i in fileList) {
|
|
|
+ let response = fileList[i].response;
|
|
|
+ if (response.errno && response.errno != "0") {
|
|
|
+ this.$message.error("该图片上传失败,已被移除,请重新上传!");
|
|
|
+ // 上传失败移除该 file 对象
|
|
|
+ businessFiles.splice(i, 1);
|
|
|
+ } else {
|
|
|
+ let id = fileList[i].response.data.id;
|
|
|
+ businessFiles.push(id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.dataForm.businessFile = businessFiles.join(",");
|
|
|
}
|
|
|
-
|
|
|
- this.dataForm.imgUrl = images.join(",");
|
|
|
},
|
|
|
resetForm() {
|
|
|
this.dataForm = {
|
|
|
- supplier_name: undefined,
|
|
|
- supplier_num: undefined,
|
|
|
- supplier_num: undefined,
|
|
|
- categoryId: undefined,
|
|
|
- brandId: undefined,
|
|
|
- price: undefined,
|
|
|
- salePrice: undefined,
|
|
|
- costPrice: undefined,
|
|
|
- weight: 1,
|
|
|
- status: 0,
|
|
|
- imgUrl: undefined,
|
|
|
- images: [],
|
|
|
- teaTypeId: undefined,
|
|
|
- teaLevel: undefined,
|
|
|
- teaSeries: undefined,
|
|
|
- teaPackageFormat: undefined,
|
|
|
- teaOrigin: undefined,
|
|
|
- teaGetSeason: undefined,
|
|
|
- tea_guarantee_number: undefined,
|
|
|
- tea_guarantee_unit: '年',
|
|
|
- product_date: undefined,
|
|
|
- teaAgingYear: undefined,
|
|
|
- teaFileUrl: undefined,
|
|
|
- files: [],
|
|
|
- teaStorageRequire: [],
|
|
|
+ supplierName: undefined,
|
|
|
+ supplierNum: undefined,
|
|
|
+ supplierNum: undefined,
|
|
|
+ typeId: undefined,
|
|
|
+ supplierPurchasAddress: undefined,
|
|
|
+ registeredCapital: undefined,
|
|
|
+ bankCardNo: undefined,
|
|
|
+ bankCardName: undefined,
|
|
|
+ nature: undefined,
|
|
|
+ taxrate: undefined,
|
|
|
+ supplierContact: undefined,
|
|
|
+ supplierPhone: undefined,
|
|
|
+ supplierAddress: undefined,
|
|
|
+ responsibleDept: undefined,
|
|
|
+ supplierRemark: undefined,
|
|
|
+
|
|
|
+ businessName: undefined,
|
|
|
+ businessStartTime: undefined,
|
|
|
+ businessEndTime: undefined,
|
|
|
+ businessFile: undefined,
|
|
|
+ businessFiles:[],
|
|
|
+
|
|
|
+ financeFileId:undefined,
|
|
|
+ financeFiles: [],
|
|
|
+
|
|
|
+ auditFileId:undefined,
|
|
|
+ auditFiles: [],
|
|
|
+
|
|
|
+ qualifiedName: undefined,
|
|
|
+ qualifiedStartTime: undefined,
|
|
|
+ qualifiedEndTime: undefined,
|
|
|
+ qualifiedFile: undefined,
|
|
|
+ qualifiedFiles:[],
|
|
|
};
|
|
|
},
|
|
|
handleAdd() {
|
|
|
+ this.activeName = 'first';
|
|
|
this.resetForm();
|
|
|
|
|
|
this.dialogFormVisible = true;
|
|
|
@@ -499,30 +541,62 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
handleUpdate(row) {
|
|
|
+ this.activeName = 'first';
|
|
|
this.dataForm = Object.assign({}, row);
|
|
|
- if (this.dataForm.imgUrl) {
|
|
|
- let images = this.dataForm.imgUrl.split(",");
|
|
|
- this.dataForm.images = [];
|
|
|
- for (let i in images) {
|
|
|
- let url = images[i];
|
|
|
- let name = "image_" + i;
|
|
|
+ if (this.dataForm.businessFiles) {
|
|
|
+ let files = this.dataForm.businessFiles;
|
|
|
+ this.dataForm.businessFiles = [];
|
|
|
+ for (let i in files) {
|
|
|
+ let url = files[i].url;
|
|
|
+ let name = files[i].oldName;
|
|
|
+ let id = files[i].id;
|
|
|
|
|
|
- this.dataForm.images.push({
|
|
|
+ this.dataForm.businessFiles.push({
|
|
|
name: name,
|
|
|
url: url,
|
|
|
- response: { error: "0", data: { url: url } },
|
|
|
+ response: { error: "0", data: { url: url,id:id } },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (this.dataForm.qualifiedFiles) {
|
|
|
+ let files = this.dataForm.qualifiedFiles;
|
|
|
+ this.dataForm.qualifiedFiles = [];
|
|
|
+ for (let i in files) {
|
|
|
+ let url = files[i].url;
|
|
|
+ let name = files[i].oldName;
|
|
|
+ let id = files[i].id;
|
|
|
+
|
|
|
+ this.dataForm.qualifiedFiles.push({
|
|
|
+ name: name,
|
|
|
+ url: url,
|
|
|
+ response: { error: "0", data: { url: url,id:id } },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (this.dataForm.financeFiles) {
|
|
|
+ let files = this.dataForm.financeFiles;
|
|
|
+ this.dataForm.financeFiles = [];
|
|
|
+ for (let i in files) {
|
|
|
+ let url = files[i].url;
|
|
|
+ let name = files[i].oldName;
|
|
|
+ let id = files[i].id;
|
|
|
+
|
|
|
+ this.dataForm.financeFiles.push({
|
|
|
+ name: name,
|
|
|
+ url: url,
|
|
|
+ response: { error: "0", data: { url: url,id:id } },
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- if (this.dataForm.teaFileUrl) {
|
|
|
- let files = this.dataForm.teaFileUrl;
|
|
|
- this.dataForm.files = [];
|
|
|
+ if (this.dataForm.auditFiles) {
|
|
|
+ let files = this.dataForm.auditFiles;
|
|
|
+ this.dataForm.auditFiles = [];
|
|
|
for (let i in files) {
|
|
|
let url = files[i].url;
|
|
|
let name = files[i].oldName;
|
|
|
let id = files[i].id;
|
|
|
|
|
|
- this.dataForm.files.push({
|
|
|
+ this.dataForm.auditFiles.push({
|
|
|
name: name,
|
|
|
url: url,
|
|
|
response: { error: "0", data: { url: url,id:id } },
|
|
|
@@ -553,13 +627,13 @@ export default {
|
|
|
|
|
|
})
|
|
|
},
|
|
|
- handleDelete(supplier_num) {
|
|
|
+ handleDelete(row) {
|
|
|
this.$confirm('确认删除吗?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
- removeItem({ supplier_num: supplier_num }).then(response => {
|
|
|
+ removeItem({ id: row.id }).then(response => {
|
|
|
this.$notify({
|
|
|
title: '成功',
|
|
|
message: '删除成功',
|
|
|
@@ -573,11 +647,11 @@ export default {
|
|
|
})
|
|
|
|
|
|
},
|
|
|
- getBrandList() {
|
|
|
- // 获取品牌信息
|
|
|
- listBrand(this.listBrandQuery).then(response => {
|
|
|
- this.brandOptions = response.data.data.items.map((item) => {
|
|
|
- return { value: item.id, label: item.name }
|
|
|
+ getTypeList() {
|
|
|
+ // 获取供应商类别
|
|
|
+ typeList().then(response => {
|
|
|
+ this.brandOptions = response.data.data.map((item) => {
|
|
|
+ return { value: item.typeId, label: item.typeName }
|
|
|
});
|
|
|
}).catch(() => {
|
|
|
this.brandOptions = [];
|
|
|
@@ -601,9 +675,9 @@ export default {
|
|
|
this.listQuery = {
|
|
|
page: 1,
|
|
|
limit: 10,
|
|
|
- supplier_name: '',
|
|
|
- supplier_num: '',
|
|
|
- type_id: '',
|
|
|
+ supplierName: '',
|
|
|
+ supplierNum: '',
|
|
|
+ typeId: '',
|
|
|
responsibleDept: '',
|
|
|
isEnable: '',
|
|
|
};
|