zhp #16

Merged
zhp merged 2 commits from zhp into master 2023-07-11 17:02:42 +08:00
30 changed files with 606 additions and 281 deletions

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2022-08-22 14:57:50
* @LastEditors: zhp
* @LastEditTime: 2023-06-21 13:55:38
* @LastEditTime: 2023-07-11 10:23:31
* @Description:
-->
<!DOCTYPE html>

View File

@ -1,7 +1,7 @@
/*
* @Date: 2020-12-29 16:49:28
* @LastEditors: zhp
* @LastEditTime: 2023-04-18 16:12:04
* @LastEditTime: 2023-07-11 14:23:27
* @FilePath: \basic-admin\src\filters\DataDict\index.js
* @Description: 部分常量的数据字典定义
*/
@ -14,7 +14,12 @@ const table = {
available: {
0: '不可用',
1:'不可用',
}
},
supplierStatus:{
0: '合格',
1: '不合格',
2:'黑名单',
},
}
export default function (dictTable) {

View File

@ -286,7 +286,7 @@ t.basic.name = '名称'
t.basic.code = '编码'
t.basic.status = '状态'
t.basic.available = '可用'
t.basic.remark = '描述'
t.basic.remark = '备注'
t.basic.specification = '规格'
t.basic.InspectionStage = '检验阶段'
t.basic.InspectionPlan = '检验计划'
@ -407,7 +407,7 @@ t.supplier.supplierRelevance = '供应商关联产品'
t.supplier.abbreviation = '简称'
t.supplier.grade = '重要等级'
t.supplier.address = '地址'
t.supplier.ment = '供应商状态'
t.supplier.ment = '状态'
t.supplier.contact = '联系人'
t.supplier.contactEmail = '联系人邮箱'
t.supplier.contactPhone = '联系人电话'
@ -451,6 +451,9 @@ t.supplier.lastStartEvaluationPeriod = '上次启动评估时间段'
t.supplier.estimatedNextStartTime = '预计下次启动时间'
t.supplier.offline = '下限'
t.supplier.online = '上限'
t.supplier.supplierStatus = '供应商状态'
t.gage = {}
t.gage.name = '名称'

View File

@ -1,8 +1,8 @@
/*
* @Author: zwq
* @Date: 2022-08-24 11:19:43
* @LastEditors: zwq
* @LastEditTime: 2023-06-30 15:00:20
* @LastEditors: zhp
* @LastEditTime: 2023-07-11 11:03:11
* @Description:
*/
export default {
@ -30,7 +30,7 @@ export default {
},
created() {
},
activated() {
mounted() {
this.getDataList()
},
methods: {

View File

@ -22,9 +22,9 @@
<svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true"><use xlink:href="#icon-home"></use></svg>
</template>
<iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
<keep-alive v-else>
<!-- <keep-alive > -->
<router-view v-if="item.name === $store.state.contentTabsActiveName" />
</keep-alive>
<!-- </keep-alive> -->
</el-tab-pane>
</el-tabs>
</template>

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2023-01-04 10:29:40
* @LastEditors: zhp
* @LastEditTime: 2023-06-29 16:59:18
* @LastEditTime: 2023-07-11 09:50:29
* @Description:
-->
<template>
@ -50,14 +50,16 @@ export default {
customerTypeId: null,
customerTypeStatus: null
},
options: [{
options: [
{
value: 0,
label: '不可用'
},
{
value: 1,
label: '可用'
}],
}
],
};
},
computed: {

View File

@ -2,9 +2,6 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
<el-badge :value="1" class="item">
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
</el-badge>
</SearchBar>
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
highlight-current-row :limit="listQuery.limit" :table-data="tableData" @current-change="handleCurrentChange">
@ -24,7 +21,7 @@
<control-add ref="addOrUpdate" @refreshDataList="successSubmit"></control-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
<control-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></control-search>
<el-row slot="footer" type="flex" justify="end">
@ -39,16 +36,16 @@
</el-button>
</el-col>
</el-row>
</base-dialog>
</base-dialog> -->
</div>
</el-card>
</template>
<script>
import basicPage from "@/mixins/basic-page";
import basicSearch from "@/mixins/basic-search";
// import basicSearch from "@/mixins/basic-search";
import showProductList from "./components/showProductList.vue";
import controlSearch from "./components/controlSearch.vue";
// import controlSearch from "./components/controlSearch.vue";
import controlAdd from "./components/control-add.vue";
import available from "./components/available.vue";
import planBtn from "./components/planBtn.vue";
@ -99,7 +96,7 @@ const tableBtn = [
},
];
export default {
mixins: [basicPage, basicSearch],
mixins: [basicPage],
data() {
return {
urlOptions: {
@ -115,21 +112,21 @@ export default {
addOrEditTitle: '',
addOrUpdateVisible:false,
productOrUpdateVisible: false,
headValue:{},
formConfig: [
// {
// type: "",
// label: i18n.t("params.paramCode"),
// placeholder: i18n.t("params.paramCode"),
// param: "paramCode",
// },
// {
// type: "separate",
// },
{
type: 'input',
label: i18n.t('basic.name'),
placeholder: i18n.t('basic.name'),
param: 'name',
clearable:true
},
{
type: "button",
btnName: "新增",
name: "add",
color: "primary",
color: 'success',
plain:true
},
{
type: "button",
@ -149,7 +146,6 @@ export default {
type: "button",
btnName: "取消选中",
name: "cancel",
color: "primary",
// plain: true,
},
],
@ -157,7 +153,7 @@ export default {
},
components: {
showProductList,
controlSearch,
// controlSearch,
controlAdd
},
methods: {
@ -177,13 +173,13 @@ export default {
// this.searchOrEditTitle = "";
// this.searchOrUpdateVisible = false;
// },
conditionSearch() {
this.searchOrEditTitle = "搜索";
this.searchOrUpdateVisible = true;
this.$nextTick(() => {
this.$refs.searchOrUpdate.init();
});
},
// conditionSearch() {
// this.searchOrEditTitle = "";
// this.searchOrUpdateVisible = true;
// this.$nextTick(() => {
// this.$refs.searchOrUpdate.init();
// });
// },
// handleConfirm() {
// this.$refs.addOrUpdate.dataFormSubmitHandle();
// },
@ -235,11 +231,11 @@ export default {
// });
// },
buttonClick(val) {
console.log(val);
this.headValue = val
switch (val.btnName) {
case "search":
// this.listQuery.paramCode = val.paramCode;
this.listQuery.key = null;
this.listQuery.key = this.headValue.name ? headValue.name :null
console.log(i18n );
this.listQuery.page = 1;
this.getDataList();

View File

@ -2,9 +2,9 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
<el-badge :value="4" class="item">
<!-- <el-badge :value="4" class="item">
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
</el-badge>
</el-badge> -->
</SearchBar>
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
:limit="listQuery.limit" :table-data="tableData">
@ -19,7 +19,7 @@
<customer-add ref="addOrUpdate" @refreshDataList="successSubmit"></customer-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
<customer-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></customer-search>
<el-row slot="footer" type="flex" justify="end">
@ -34,36 +34,36 @@
</el-button>
</el-col>
</el-row>
</base-dialog>
</base-dialog> -->
</div>
</el-card>
</template>
<script>
import basicPage from "@/mixins/basic-page";
import basicSearch from "@/mixins/basic-search";
import customerAdd from "./components/customer-add";
import customerSearch from "./components/customerSearch.vue";
import available from "./components/available.vue";
// import radio from "./components/radio.vue";
// import i18n from "@/i18n";
import basicPage from "@/mixins/basic-page"
// import basicSearch from "@/mixins/basic-search"
import customerAdd from "./components/customer-add"
import customerSearch from "./components/customerSearch.vue"
import available from "./components/available.vue"
// import radio from "./components/radio.vue"
import i18n from "@/i18n"
// import i18n from "@/i18n";
const tableProps = [
{
prop: "customerCode",
label: '编码'
label: i18n.t('basic.code')
},
{
prop: "customerName",
label: "客户"
label: i18n.t('basic.name')
},
{
prop: "customerTypeName",
label: "客户类型"
label: i18n.t('basic.customerTypeName')
},
{
prop: "customerTypeStatus",
label: "状态",
label: i18n.t('basic.status'),
subcomponent: available,
}
];
@ -78,36 +78,79 @@ const tableBtn = [
}
];
export default {
mixins: [basicPage, basicSearch],
mixins: [basicPage],
data() {
return {
urlOptions: {
getDataListURL: "/basic/qmsCustomer/page",
deleteURL: "/basic/qmsCustomer",
exportURL: '/basic/qmsCustomer/export'
exportURL: '/basic/qmsCustomer/export',
getCustomerPageListURL: "/basic/qmsCustomerType/page"
},
tableProps,
tableBtn,
productData: {},
listQuery: {
limit: 10,
page: 1,
name: null,
code: null,
status: null,
customerTypeId:null
},
searchOrEditTitle: "",
searchOrUpdateVisible: false,
productOrEditTitle: "",
productOrUpdateVisible: false,
headValue:{},
formConfig: [
// {
// type: "",
// label: i18n.t("params.paramCode"),
// placeholder: i18n.t("params.paramCode"),
// param: "paramCode",
// },
// {
// type: "separate",
// },
{
type: 'input',
label: i18n.t('basic.name'),
placeholder: i18n.t('basic.name'),
param: 'name',
clearable: true
},
{
type: 'input',
label: i18n.t('basic.code'),
placeholder: i18n.t('basic.code'),
param: 'code',
clearable: true
},
{
type: 'select',
label: i18n.t('basic.customerTypeName'),
placeholder: i18n.t('basic.customerTypeName'),
param: 'customerTypeId',
selectOptions:[],
clearable: true,
filterable: true
},
{
type: 'select',
label: i18n.t('basic.status'),
placeholder: i18n.t('basic.status'),
param: 'status',
selectOptions: [
{
id: '0',
name: '不可用'
},
{
id: '1',
name: '可用'
}
],
clearable: true,
filterable: true
},
{
type: "button",
btnName: "新增",
name: "add",
color: "primary",
color: 'success',
plain: true
// plain: true,
},
{
@ -121,7 +164,8 @@ export default {
type: "button",
btnName: "导出",
name: "export",
color: "primary",
color: 'primary',
plain: true
// plain: true,
}
],
@ -129,7 +173,10 @@ export default {
},
components: {
customerAdd,
customerSearch,
// customerSearch,
},
mounted () {
this.getDict();
},
methods: {
//search-bar
@ -156,16 +203,31 @@ export default {
// console.log(key);
// console.log(key);
// this.listQuery.key = key;
this.listQuery.code = dataForm.code
this.listQuery.name = dataForm.name
this.listQuery.customerTypeId = dataForm.customerTypeId
this.listQuery.customerTypeStatus = dataForm.customerTypeStatus
this.listQuery.page = 1;
this.getDataList();
this.searchOrUpdateVisible = false;
// console.log(11111);
// this.conditionSearchSubmit();
},
getDict() {
this.$http
.get(this.urlOptions.getCustomerPageListURL, {
params: {
limit: 999,
page: 1
}
})
.then(({ data: res }) => {
if (res.code === 0) {
this.formConfig[2].selectOptions = res.data.list.map((item) => {
return {
name: item.customerTypeName,
id:item.id
}
})
}
})
},
handleClick(val) {
console.log(val);
if (val.type === "delete") {
@ -231,16 +293,16 @@ export default {
}).catch(() => { })
},
buttonClick(val) {
console.log(val);
this.headValue = val
switch (val.btnName) {
case "search":
// this.listQuery.paramCode = val.paramCode;
// this.listQuery.key = "";
this.listQuery.page = 1;
this.listQuery.code = null
this.listQuery.name = null
this.listQuery.customerTypeId = null
this.listQuery.customerTypeStatus = null
this.listQuery.code = this.headValue.code ? this.headValue.code : undefined
this.listQuery.name = this.headValue.name ? this.headValue.name : undefined
this.listQuery.customerTypeId = this.headValue.customerTypeId ? this.headValue.customerTypeId : undefined
this.listQuery.status = this.headValue.status ? this.headValue.status : undefined
this.getDataList();
break;
case "export":

View File

@ -2,9 +2,9 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
<el-badge :value="3" class="item">
<!-- <el-badge :value="3" class="item">
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
</el-badge>
</el-badge> -->
</SearchBar>
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
:limit="listQuery.limit" :table-data="tableData">
@ -19,7 +19,7 @@
<customer-type-add ref="addOrUpdate" @refreshDataList="successSubmit"></customer-type-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
<customerType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></customerType-search>
<el-row slot="footer" type="flex" justify="end">
@ -34,7 +34,7 @@
</el-button>
</el-col>
</el-row>
</base-dialog>
</base-dialog> -->
</div>
</el-card>
</template>
@ -43,7 +43,7 @@
import basicPage from "@/mixins/basic-page";
import basicSearch from "@/mixins/basic-search";
import customerTypeAdd from "./components/customerType-add";
import customerTypeSearch from "./components/customerTypeSearch.vue";
// import customerTypeSearch from "./components/customerTypeSearch.vue";
import available from "./components/available.vue";
import Cookies from 'js-cookie'
import qs from 'qs'
@ -76,7 +76,7 @@ const tableBtn = [
}
];
export default {
mixins: [basicPage, basicSearch],
mixins: [basicPage],
data() {
return {
urlOptions: {
@ -94,15 +94,46 @@ export default {
productOrEditTitle: "",
productOrUpdateVisible: false,
formConfig: [
// {
// type: "",
// label: i18n.t("params.paramCode"),
// placeholder: i18n.t("params.paramCode"),
// param: "paramCode",
// },
// {
// type: "separate",
// },
{
type: 'input',
label: i18n.t('basic.name'),
placeholder: i18n.t('basic.name'),
param: 'name',
clearable: true
},
{
type: 'input',
label: i18n.t('basic.code'),
placeholder: i18n.t('basic.code'),
param: 'code',
clearable: true
},
{
type: 'select',
label: i18n.t('basic.status'),
placeholder: i18n.t('basic.status'),
param: 'status',
selectOptions: [
{
id: '0',
name: '不可用'
},
{
id: '1',
name: '可用'
}
],
clearable: true,
filterable: true
},
{
type: "button",
btnName: "新增",
name: "add",
color: 'success',
plain: true
// plain: true,
},
{
type: "button",
btnName: "搜索",
@ -110,26 +141,19 @@ export default {
color: "primary",
// plain: true,
},
{
type: "button",
btnName: "新增",
name: "add",
color: "primary",
// plain: true,
},
{
type: "button",
btnName: "导出",
name: "export",
color: "primary",
color: 'primary',
plain: true
// plain: true,
}
],
};
},
components: {
customerTypeAdd,
customerTypeSearch
customerTypeAdd
},
methods: {
//search-bar
@ -233,9 +257,9 @@ export default {
switch (val.btnName) {
case "search":
// this.listQuery.paramCode = val.paramCode;
this.listQuery.name = null
this.listQuery.code = null
this.listQuery.status = null
this.listQuery.name =val.name ?val.name : null
this.listQuery.code = val.code ? val.code : null
this.listQuery.status = val.status ? val.status : null
// console.log(i18n);
this.listQuery.page = 1;
this.getDataList();

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-01-11 09:24:58
* @LastEditTime: 2023-06-29 17:02:33
* @LastEditTime: 2023-07-11 10:07:22
* @LastEditors: zhp
* @Description:
-->
@ -9,9 +9,9 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
<el-badge :value="3" class="item">
<!-- <el-badge :value="3" class="item">
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
</el-badge>
</el-badge> -->
</SearchBar>
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
@ -25,7 +25,7 @@
<failure-type-add ref="addOrUpdate" @refreshDataList="successSubmit"></failure-type-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
<failureType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></failureType-search>
<el-row slot="footer" type="flex" justify="end">
@ -40,7 +40,7 @@
</el-button>
</el-col>
</el-row>
</base-dialog>
</base-dialog> -->
</div>
</el-card>
</template>
@ -49,9 +49,9 @@
import basicPage from "@/mixins/basic-page";
import failureTypeAdd from "./components/failureType-add";
// import AddOrUpdate from './params-add-or-update'
import failureTypeSearch from "./components/failureTypeSearch";
// import failureTypeSearch from "./components/failureTypeSearch";
import available from "./components/available.vue";
import basicSearch from "@/mixins/basic-search";
// import basicSearch from "@/mixins/basic-search";
import i18n from "@/i18n";
const tableProps = [
{
@ -79,9 +79,8 @@ const tableBtn = [
},
];
export default {
mixins: [basicPage, basicSearch],
mixins: [basicPage],
components: {
failureTypeSearch,
failureTypeAdd
},
data() {
@ -95,26 +94,52 @@ export default {
searchOrEditTitle: '',
searchOrUpdateVisible:false,
formConfig: [
// {
// type: "",
// label: i18n.t("params.paramCode"),
// placeholder: i18n.t("params.paramCode"),
// param: "paramCode",
// },
// {
// type: "separate",
// },
{
type: 'input',
label: i18n.t('basic.name'),
placeholder: i18n.t('basic.name'),
param: 'name',
clearable: true
},
{
type: 'input',
label: i18n.t('basic.code'),
placeholder: i18n.t('basic.code'),
param: 'code',
clearable: true
},
{
type: 'select',
label: i18n.t('basic.status'),
placeholder: i18n.t('basic.status'),
param: 'status',
selectOptions: [
{
id: '0',
name: '不可用'
},
{
id: '1',
name: '可用'
}
],
clearable: true,
filterable: true
},
{
type: "button",
btnName: "新增",
name: "add",
color: "primary",
color: 'success',
plain: true
// plain: true,
},
{
type: "button",
btnName: "搜索",
name: "search",
color: "primary",
// plain: true,
}
],
};
@ -190,9 +215,9 @@ export default {
case "search":
// this.listQuery.paramCode = val.paramCode;
this.listQuery.page = 1;
this.listQuery.code = null
this.listQuery.name = null
this.listQuery.failureTypeStatus = null
this.listQuery.code =val.code ? val.code : null
this.listQuery.name = val.name ? val.name : null
this.listQuery.status = val.status ? val.status : null
this.getDataList();
break;
case "add":

View File

@ -2,9 +2,9 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
<el-badge :value="2" class="item">
<!-- <el-badge :value="2" class="item">
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
</el-badge>
</el-badge> -->
</SearchBar>
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
highlight-current-row :limit="listQuery.limit" :table-data="tableData" @current-change="handleCurrentChange">
@ -19,7 +19,7 @@
<product-add ref="addOrUpdate" @refreshDataList="successSubmit"></product-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
<product-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></product-search>
<el-row slot="footer" type="flex" justify="end">
@ -34,15 +34,15 @@
</el-button>
</el-col>
</el-row>
</base-dialog>
</base-dialog> -->
</div>
</el-card>
</template>
<script>
import basicPage from "@/mixins/basic-page";
import basicSearch from "@/mixins/basic-search";
import productSearch from "./components/productSearch.vue";
// import basicSearch from "@/mixins/basic-search";
// import productSearch from "./components/productSearch.vue";
import productAdd from "./components/product-add.vue";
import available from "./components/available.vue";
import radio from "./components/radio.vue";
@ -86,7 +86,7 @@ const tableBtn = [
}
];
export default {
mixins: [basicPage, basicSearch],
mixins: [basicPage],
data() {
return {
urlOptions: {
@ -103,20 +103,27 @@ export default {
addOrUpdateVisible: false,
productOrUpdateVisible: false,
formConfig: [
// {
// type: "",
// label: i18n.t("params.paramCode"),
// placeholder: i18n.t("params.paramCode"),
// param: "paramCode",
// },
// {
// type: "separate",
// },
{
type: 'input',
label: i18n.t('basic.name'),
placeholder: i18n.t('basic.name'),
param: 'name',
clearable: true
},
{
type: 'input',
label: i18n.t('basic.code'),
placeholder: i18n.t('basic.code'),
param: 'code',
clearable: true
},
{
type: "button",
btnName: "新增",
name: "add",
color: "primary",
color: 'success',
plain: true
// plain: true,
},
{
type: "button",
@ -129,7 +136,6 @@ export default {
};
},
components: {
productSearch,
productAdd
},
methods: {
@ -214,8 +220,8 @@ export default {
switch (val.btnName) {
case "search":
// this.listQuery.paramCode = val.paramCode;
this.listQuery.productName = null
this.listQuery.productCode = null
this.listQuery.productName =val.name ?val.name: null
this.listQuery.productCode = val.code ? val.code : null
// console.log(i18n);
this.listQuery.page = 1;
this.getDataList();

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-21 14:30:17
* @LastEditTime: 2023-07-10 15:38:11
* @LastEditTime: 2023-07-11 10:24:01
* @LastEditors: zhp
* @Description:
-->
@ -9,9 +9,9 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
<el-badge :value="3" class="item">
<!-- <el-badge :value="3" class="item">
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
</el-badge>
</el-badge> -->
</SearchBar>
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
:limit="listQuery.limit" :table-data="tableData">
@ -26,7 +26,7 @@
<product-type-add ref="addOrUpdate" @refreshDataList="successSubmit"></product-type-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
<productType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></productType-search>
<el-row slot="footer" type="flex" justify="end">
@ -41,16 +41,16 @@
</el-button>
</el-col>
</el-row>
</base-dialog>
</base-dialog> -->
</div>
</el-card>
</template>
<script>
import basicPage from "@/mixins/basic-page";
import basicSearch from "@/mixins/basic-search";
// import basicSearch from "@/mixins/basic-search";
import productTypeAdd from "./components/productType-add";
import productTypeSearch from "./components/productTypeSearch.vue";
// import productTypeSearch from "./components/productTypeSearch.vue";
import available from "./components/available.vue";
import Cookies from 'js-cookie'
import qs from 'qs'
@ -83,7 +83,7 @@ const tableBtn = [
}
];
export default {
mixins: [basicPage, basicSearch],
mixins: [basicPage],
data() {
return {
urlOptions: {
@ -101,15 +101,46 @@ export default {
productOrEditTitle: "",
productOrUpdateVisible: false,
formConfig: [
{
type: 'input',
label: i18n.t('basic.name'),
placeholder: i18n.t('basic.name'),
param: 'name',
clearable: true
},
{
type: 'input',
label: i18n.t('basic.code'),
placeholder: i18n.t('basic.code'),
param: 'code',
clearable: true
},
// {
// type: "",
// label: i18n.t("params.paramCode"),
// placeholder: i18n.t("params.paramCode"),
// param: "paramCode",
// type: 'select',
// label: i18n.t('basic.status'),
// placeholder: i18n.t('basic.status'),
// param: 'status',
// selectOptions: [
// {
// id: '0',
// name: ''
// },
// {
// type: "separate",
// id: 1,
// name: ''
// }
// ],
// clearable: true,
// filterable: true
// },
{
type: "button",
btnName: "新增",
name: "add",
color: 'success',
plain: true
// plain: true,
},
{
type: "button",
btnName: "搜索",
@ -117,26 +148,19 @@ export default {
color: "primary",
// plain: true,
},
{
type: "button",
btnName: "新增",
name: "add",
color: "primary",
// plain: true,
},
{
type: "button",
btnName: "导出",
name: "export",
color: "primary",
plain: true
// plain: true,
}
],
};
},
components: {
productTypeAdd,
productTypeSearch
productTypeAdd
},
methods: {
//search-bar
@ -254,9 +278,9 @@ export default {
switch (val.btnName) {
case "search":
// this.listQuery.paramCode = val.paramCode;
this.listQuery.name = null
this.listQuery.code = null
this.listQuery.status = null
this.listQuery.name = val.name ?val.name : null
this.listQuery.code = val.code ? val.code : null
// this.listQuery.status = val.status ? val.status : null
// console.log(i18n);
this.listQuery.page = 1
// console.log(basicPage)

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-21 14:30:17
* @LastEditTime: 2023-07-10 15:39:29
* @LastEditTime: 2023-07-11 10:16:26
* @LastEditors: zhp
* @Description:
-->
@ -11,9 +11,6 @@
<el-col :span="14">
<div class="mod-sys__user">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
<el-badge :value="2" class="item">
<el-button type="primary" size="small" @click="conditionSearch">{{ $t("conditionSearch")}}}</el-button>
</el-badge>
</SearchBar>
<base-table highlight-current-row id="palletTable" :table-props="tableProps" :page="listQuery.page"
@current-change="handleCurrentChange" ref="palletTable1" :limit="listQuery.limit" :table-data="tableData">
@ -28,7 +25,7 @@
<team-add ref="addOrUpdate" @refreshDataList="successSubmit"></team-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
<team-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></team-search>
<el-row slot="footer" type="flex" justify="end">
@ -44,7 +41,7 @@
</el-button>
</el-col>
</el-row>
</base-dialog>
</base-dialog> -->
</div>
</el-col>
<el-col :span="10">
@ -67,10 +64,10 @@
<script>
import basicPage from "@/mixins/basic-page";
import basicSearch from "@/mixins/basic-search";
// import basicSearch from "@/mixins/basic-search";
import teamAdd from "./components/team-add";
import teamMemberAdd from './components/teamMember-add'
import teamSearch from "./components/teamSearch.vue";
// import teamSearch from "./components/teamSearch.vue";
import Cookies from 'js-cookie'
import qs from 'qs'
// import radio from "./components/radio.vue";
@ -114,7 +111,7 @@ const tableBtn = [
}
];
export default {
mixins: [basicPage, basicSearch],
mixins: [basicPage],
data() {
return {
urlOptions: {
@ -138,26 +135,32 @@ export default {
productOrEditTitle: "",
productOrUpdateVisible: false,
formConfig: [
// {
// type: "",
// label: i18n.t("params.paramCode"),
// placeholder: i18n.t("params.paramCode"),
// param: "paramCode",
// },
// {
// type: "separate",
// },
{
type: 'input',
label: i18n.t('basic.name'),
placeholder: i18n.t('basic.name'),
param: 'name',
clearable: true
},
{
type: 'input',
label: i18n.t('basic.code'),
placeholder: i18n.t('basic.code'),
param: 'code',
clearable: true
},
{
type: "button",
btnName: i18n.t('search'),
name: "search",
color: "primary",
btnName: "新增",
name: "add",
color: 'success',
plain: true
// plain: true,
},
{
type: "button",
btnName: i18n.t('add'),
name: "add",
btnName: "搜索",
name: "search",
color: "primary",
// plain: true,
},
@ -166,6 +169,7 @@ export default {
btnName: i18n.t('export'),
name: 'export',
color: "primary",
plain: true
// plain: true,
},
{
@ -198,8 +202,7 @@ export default {
},
components: {
teamAdd,
teamMemberAdd,
teamSearch
teamMemberAdd
},
// mounted() {
// this.getDepData()
@ -359,9 +362,8 @@ export default {
switch (val.btnName) {
case "search":
// this.listQuery.paramCode = val.paramCode;
this.listQuery.name = null
this.listQuery.code = null
this.listQuery.status = null
this.listQuery.name = val.name ?val.name : null
this.listQuery.code = val.code ? val.code : null
// console.log(i18n);
this.listQuery.page = 1;
this.getDataList();

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-14 15:02:26
* @LastEditTime: 2023-04-04 13:57:52
* @LastEditTime: 2023-07-11 15:53:48
* @LastEditors: zhp
* @Description:
-->
@ -65,7 +65,7 @@
:placeholder="$i18nForm([$t('quality.minor'), $t('quality.unacceptable')])">
</el-input>
</el-form-item>
<el-form-item prop="totalAcceptable" :label="$i18nForm([$t('quality.total'), $t('quality.acceptable')])">
<!-- <el-form-item prop="totalAcceptable" :label="$i18nForm([$t('quality.total'), $t('quality.acceptable')])">
<el-input v-model="dataForm.totalAcceptable"
:placeholder="$i18nForm([$t('quality.total'), $t('quality.acceptable')])">
</el-input>
@ -74,7 +74,7 @@
<el-input v-model="dataForm.totalUnacceptable"
:placeholder="$i18nForm([$t('quality.total'), $t('quality.unacceptable')])">
</el-input>
</el-form-item>
</el-form-item> -->
<!-- <el-form-item prop="criticalSampleSize" :label="[$t('quality.fatalFlaw') + $t('quality.sampleSize')]">
<el-input v-model="dataForm.criticalSampleSize"
:placeholder="[$t('quality.fatalFlaw') + $t('quality.sampleSize')]">

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-14 15:02:26
* @LastEditTime: 2023-07-10 11:08:31
* @LastEditTime: 2023-07-11 15:33:25
* @LastEditors: zhp
* @Description:
-->
@ -46,6 +46,12 @@
<el-form-item prop="dataSources" :label="$t('quality.dataSources')">
<el-input v-model="dataForm.dataSources" :placeholder="$t('quality.dataSources')"></el-input>
</el-form-item>
<el-form-item prop="userId" :label="$t('quality.userName')">
<el-select v-model="dataForm.userId" :placeholder="$t('quality.userName')">
<el-option v-for="item in userList" :key="item.id" :label="item.username" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="remark" :label="$t('quality.remark')">
<el-input v-model="dataForm.remark" :placeholder="$t('quality.remark')"></el-input>
</el-form-item>
@ -64,6 +70,7 @@ export default {
getSupplierList: "/supplier/qmsSupplier/page",
getProductList: "/basic/qmsProduct/page",
infoURL: "/quality/qmsTransferRecords/{id}",
getUserListURL: '/sys/user/page',
getTransferSchemeListURL: '/quality/qmsTransferScheme/page'
},
supplierList: [],
@ -162,6 +169,7 @@ export default {
limit: 999,
page:1,
},
userList:[],
dataForm: {
id: null,
inspectionStage:null,
@ -173,7 +181,8 @@ export default {
transferInId: null,
transferInName: null,
transferOutId: null,
remark:null
remark: null,
userId:null
},
};
},
@ -234,6 +243,19 @@ export default {
})
.catch(() => {
})
this.$http
.get(this.urlOptions.getUserListURL, {
params: {
limit: 999,
page: 1,
}
})
.then(({ data: res }) => {
// this.dataListLoading = false;
if (res.code === 0) {
this.userList = res.data.list
}
})
this.$http.get(this.urlOptions.getProductList, {
params: this.listQuery
})

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-01-11 09:24:58
* @LastEditTime: 2023-07-06 15:39:55
* @LastEditTime: 2023-07-11 15:38:25
* @LastEditors: zhp
* @Description:
-->
@ -9,9 +9,9 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
<el-badge :value="1" class="item">
<!-- <el-badge :value="1" class="item">
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
</el-badge>
</el-badge> -->
</SearchBar>
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
@ -26,7 +26,7 @@
</disposalMethod-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
<disposalMethod-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></disposalMethod-search>
<el-row slot="footer" type="flex" justify="end">
@ -41,7 +41,7 @@
</el-button>
</el-col>
</el-row>
</base-dialog>
</base-dialog> -->
</div>
</el-card>
</template>
@ -86,11 +86,15 @@ const tableBtn = [
type: "delete",
btnName: "删除",
},
{
type: "change",
btnName: "改变状态",
},
];
export default {
mixins: [basicPage, basicSearch],
mixins: [basicPage],
components: {
disposalMethodSearch,
// disposalMethodSearch,
disposalMethodAdd
},
data() {
@ -98,32 +102,45 @@ export default {
urlOptions: {
getDataListURL: "/quality/qmsDisposalMethod/page",
deleteURL: "/quality/qmsDisposalMethod",
submitURL: '/quality/qmsDisposalMethod'
},
tableProps,
tableBtn,
searchOrEditTitle: '',
searchOrUpdateVisible: false,
formConfig: [
// {
// type: "",
// label: i18n.t("params.paramCode"),
// placeholder: i18n.t("params.paramCode"),
// param: "paramCode",
// },
// {
// type: "separate",
// },
{
type: 'select',
label: i18n.t('basic.status'),
placeholder: i18n.t('basic.status'),
param: 'status',
selectOptions: [
{
id: '0',
name: '不可用'
},
{
id: '1',
name: '可用'
}
],
clearable: true,
filterable: true
},
{
type: "button",
btnName: "新增",
name: "add",
color: "primary",
color: 'success',
plain: true
// plain: true,
},
{
type: "button",
btnName: "搜索",
name: "search",
color: "primary",
// plain: true,
}
],
};
@ -172,7 +189,7 @@ export default {
type: "success",
duration: 1500,
onClose: () => {
this.getDataList();
this.getDataList()
},
});
} else {
@ -186,7 +203,27 @@ export default {
this.addOrEditTitle = this.$t('edit')
this.$nextTick(() => {
this.$refs.addOrUpdate.init(val.data.id);
})
} else if (val.type === 'change') {
let obj = {
disposalMethodStatus: val.data.disposalMethodStatus === 0 ? 1 : 0,
id: val.data.id
}
this.$http.put(this.urlOptions.submitURL, obj)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
this.$message({
message: this.$t("prompt.success"),
type: "success",
duration: 500,
onClose: () => {
console.log(1111)
this.getDataList()
},
});
})
}
},
buttonClick(val) {
@ -194,7 +231,7 @@ export default {
case "search":
// this.listQuery.paramCode = val.paramCode;
this.listQuery.page = 1;
this.listQuery.key = null
this.listQuery.status =val.status ? val.status : null
this.getDataList();
break;
case "add":

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-01-31 09:49:36
* @LastEditTime: 2023-04-17 10:59:15
* @LastEditTime: 2023-07-11 14:31:18
* @LastEditors: zhp
* @Description:
-->

View File

@ -0,0 +1,59 @@
<!--
* @Author: zhp
* @Date: 2023-01-31 14:12:10
* @LastEditTime: 2023-07-11 14:40:39
* @LastEditors: zhp
* @Description:
-->
<template>
<span>
<el-switch @change="changeStatus" v-model="injectData.ment" :active-value="1"
:inactive-value="0">
</el-switch>
</span>
</template>
<script>
// import { addDynamicRoute } from '@/router'
export default {
props: {
injectData: {
type: Object,
default: () => ({}),
},
},
data() {
return {
urlOptions: {
submitURL: "/supplier/qmsSupplier"
}
}
},
methods: {
//
changeStatus () {
//
let obj= {
ment: this.injectData.ment,
id:this.injectData.id
}
this.$http.put(this.urlOptions.submitURL, obj)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
this.$message({
message: this.$t("prompt.success"),
type: "success",
duration: 500,
onClose: () => {
console.log(1111)
console.log(this.$parent.$parent.$parent.$parent.$parent)
this.$parent.$parent.$parent.$parent.$parent.$parent.getDataList()
},
});
})
}
},
};
</script>

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-14 15:02:26
* @LastEditTime: 2023-06-05 16:38:54
* @LastEditTime: 2023-07-11 14:59:11
* @LastEditors: zhp
* @Description:
-->
@ -26,8 +26,8 @@
</el-input>
</el-form-item>
<el-form-item prop="statisticalValue" :label="$t('supplier.statisticalValue')">
<K v-model="dataForm.closedLoop" :active-value="1" :inactive-value="0">
</K>
<el-switch v-model="dataForm.closedLoop" :active-value="1" :inactive-value="0">
</el-switch>
</el-form-item>
</el-form>
</template>

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-14 15:02:26
* @LastEditTime: 2023-04-19 15:29:42
* @LastEditTime: 2023-07-11 16:42:26
* @LastEditors: zhp
* @Description:
-->
@ -10,7 +10,7 @@
<el-form-item prop="evaluationTemplateId" :label="$t('supplier.evaluationTemplateName')">
<el-select v-model="dataForm.evaluationTemplateId" :placeholder="$t('supplier.evaluationTemplateName')"
@change="getProductCode">
<el-option v-for="item in templateList" :key="item.id" :label="item.name" :value="item.id">
<el-option v-for="item in templateList" :key="item.id" :label="item.title" :value="item.id">
</el-option>
</el-select>
</el-form-item>

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-14 15:02:26
* @LastEditTime: 2023-06-16 14:22:14
* @LastEditTime: 2023-07-11 16:57:00
* @LastEditors: zhp
* @Description:
-->
@ -138,6 +138,38 @@ export default {
.catch(() => {});
},
//
dataFormSubmit() {
this.$refs["dataForm"].validate((valid) => {
if (Number(this.dataForm.online) <= Number(this.dataForm.offline)) {
this.$message({
message: "上限要大于下限",
type: "warning",
duration: 500,
onClose: () => {
},
});
}
if (!valid) {
return false;
}
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
this.$message({
message: this.$t("prompt.success"),
type: "success",
duration: 500,
onClose: () => {
this.visible = false;
this.$emit("refreshDataList");
},
});
})
.catch(() => { });
});
},
dataFormSubmitHandle: debounce(
function () {
this.$refs["dataForm"].validate((valid) => {

View File

@ -1,15 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-06-09 15:05:26
* @LastEditTime: 2023-06-09 15:05:26
* @LastEditors: zhp
* @Description:
-->
<!--
* @Author: zhp
* @Date: 2023-02-14 15:02:26
* @LastEditTime: 2023-06-08 15:13:41
* @LastEditTime: 2023-07-11 14:51:09
* @LastEditors: zhp
* @Description:
-->
@ -93,12 +85,12 @@ export default {
},
},
methods: {
init(id, ) {
init(id) {
this.dataForm.id = id || ""
// this.dataForm.dictTypeId = dictTypeId || "";
this.visible = true;
this.$nextTick(() => {
this.$refs["dataForm"].resetFields();
this.$refs["dataForm"].resetFields()
if (this.dataForm.id) {
this.getInfo();
} else {

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-14 15:02:26
* @LastEditTime: 2023-04-18 14:21:19
* @LastEditTime: 2023-07-11 14:20:48
* @LastEditors: zhp
* @Description:
-->
@ -18,6 +18,10 @@
<el-input v-model="dataForm.abbreviation" :placeholder="$t('supplier.abbreviation')">
</el-input>
</el-form-item>
<el-form-item prop="grade" :label="$t('supplier.grade')">
<el-input v-model="dataForm.grade" :placeholder="$t('supplier.grade')">
</el-input>
</el-form-item>
<el-form-item prop="supplierTypeId" :label="$t('supplier.supplierType')">
<el-select v-model="dataForm.supplierTypeId" :placeholder="$t('supplier.supplierType')">
<el-option v-for="item in supplierTypeList" :key="item.id" :label="item.name" :value="item.id">
@ -34,6 +38,12 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="supplierStatus" :label="$t('supplier.supplierStatus')">
<el-select v-model="dataForm.supplierStatus" :placeholder="$t('supplier.supplierStatus')">
<el-option v-for="item in supplierStatus" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="contact" :label="$t('supplier.contact')">
<el-input v-model="dataForm.contact" :placeholder="$t('supplier.contact')">
</el-input>
@ -91,7 +101,21 @@ export default {
{
value: 1,
label: '可用'
}],
}
],
supplierStatus: [{
value: 0,
label: '合格'
},
{
value: 1,
label: '不合格'
},
{
value: 2,
label: '黑名单'
}
],
enterpriseNatureList: [
{
value: 0,

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-02-14 15:02:26
* @LastEditTime: 2023-04-18 09:36:39
* @LastEditTime: 2023-07-11 14:47:45
* @LastEditors: zhp
* @Description:
-->
@ -14,7 +14,7 @@
</el-select>
</el-form-item>
<el-form-item prop="supplierId" :label="$t('supplier.supplierName')">
<el-select v-model="dataForm.supplierList" :placeholder="$t('supplier.supplierName')">
<el-select v-model="dataForm.supplierId" :placeholder="$t('supplier.supplierName')">
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
@ -36,8 +36,8 @@ export default {
data() {
return {
urlOptions: {
submitURL: "/supplier/qmsSupplierType",
infoURL: "/supplier/qmsSupplierType/{id}",
submitURL: "/supplier/qmsSupplierProduct",
infoURL: "/supplier/qmsSupplierProduct/{id}",
getProductListURL: '/basic/qmsProduct/page',
// getCodeURL: '/supplier/qmsSupplierType/getCode',
getSupplierListURL: '/supplier/qmsSupplier/page'
@ -130,7 +130,7 @@ export default {
//
getInfo() {
this.$http
.get(`/supplier/qmsSupplierType/${this.dataForm.id}`)
.get(`/supplier/qmsSupplierProduct/${this.dataForm.id}`)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);

View File

@ -1,14 +1,14 @@
<!--
* @Author: zhp
* @Date: 2023-04-17 14:23:17
* @LastEditTime: 2023-06-20 15:39:07
* @LastEditTime: 2023-07-11 15:20:16
* @LastEditors: zhp
* @Description:
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__user">
<el-tabs @tab-click="clickTabs" tab-position="left" style="height: 200px;">
<el-tabs @tab-click="clickTabs" tab-position="left">
<el-tab-pane v-for="(item,index) in projectTypeList" :name="item.id" :key="index" :label="item.name">
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
</SearchBar>
@ -112,7 +112,7 @@ export default {
type: 'input',
label: i18n.t('supplier.name'),
placeholder: i18n.t('supplier.name'),
param: 'name'
param: 'title'
},
{
type: 'input',
@ -275,7 +275,7 @@ export default {
switch (val.btnName) {
case "search":
// this.listQuery.paramCode = val.paramCode;
this.listQuery.name = val.name ? val.name : undefined
this.listQuery.title = val.title ? val.title : undefined
this.listQuery.code = val.code ? val.code : undefined
// console.log(i18n);
this.listQuery.page = 1;

View File

@ -224,7 +224,12 @@ export default {
.then(({ data: res }) => {
if (res.code === 0) {
console.log(res.data);
this.formConfig[1].selectOptions = res.data.list
this.formConfig[1].selectOptions = res.data.list.map((item) => {
return {
id: item.id,
name: item.title,
}
})
}
})
.catch(() => {

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-06-08 14:29:46
* @LastEditTime: 2023-06-16 14:20:12
* @LastEditTime: 2023-07-11 16:38:02
* @LastEditors: zhp
* @Description:
-->
@ -20,7 +20,7 @@
{{item.name}}
</span>
<el-button style="margin-left:5px" type="text" icon="el-icon-edit" @click="handleEdit(item.id)"></el-button>
<el-progress :stroke-width="26" :percentage="item.online ? item.online : ''">
<el-progress :stroke-width="26" :percentage="item.online ? item.online : 0 ">
</el-progress>
</div>
</el-tooltip>

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-06-08 14:29:46
* @LastEditTime: 2023-06-20 15:38:33
* @LastEditTime: 2023-07-11 14:54:04
* @LastEditors: zhp
* @Description:
-->
@ -23,8 +23,8 @@
<!-- 弹窗, 新增 / 修改 -->
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
@confirm="handleConfirm" :before-close="handleCancel">
<projectsType-add ref="addOrUpdate" @refreshDataList="successSubmit">
</projectsType-add>
<projectType-add ref="addOrUpdate" @refreshDataList="successSubmit">
</projectType-add>
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
</base-dialog>
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-04-17 14:23:17
* @LastEditTime: 2023-06-20 15:38:27
* @LastEditTime: 2023-07-11 14:44:36
* @LastEditors: zhp
* @Description:
-->
@ -96,7 +96,7 @@ const tableProps = [
{
prop: "closedLoop",
label: i18n.t('supplier.closedLoop'),
filter: supplier('whether'),
filter: supplier('whether')
}
];
const tableBtn = [
@ -159,11 +159,11 @@ export default {
name:'全部'
},
{
id: 0,
id: '0',
name: '否'
},
{
id: 1,
id: '1',
name: '是'
}
],
@ -209,15 +209,15 @@ export default {
type: "button",
btnName: i18n.t('add'),
name: "add",
color: "primary",
// plain: true,
color: "success",
plain: true
},
{
type: "button",
btnName: i18n.t('export'),
name: "export",
color: "primary",
// plain: true,
plain: true
}
],
};
@ -370,7 +370,7 @@ export default {
// this.listQuery.paramCode = val.paramCode;
this.listQuery.productName = val.productName ? val.productName : undefined
this.listQuery.problemDescription = val.problemDescription ? val.problemDescription : undefined
this.listQuery.closedLoop = closedLoop ? closedLoop : undefined
this.listQuery.closedLoop = val.closedLoop ? val.closedLoop : undefined
this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
this.listQuery.startTime = val.timeSlot ? val.timeSlot[0] : undefined
this.listQuery.endTime = val.timeSlot ? val.timeSlot[1] : undefined

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-04-17 14:23:17
* @LastEditTime: 2023-06-20 15:38:21
* @LastEditTime: 2023-07-11 14:35:52
* @LastEditors: zhp
* @Description:
-->
@ -59,10 +59,9 @@ import supplierProductSearch from "./components/supplierProductSearch.vue"
import supplierAdd from "./components/supplier-add.vue"
import inputArea from "./components/inputArea"
import innerTable from "./components/innerTable"
// import available from "./components/available.vue"
// import radio from "./components/radio.vue"
import changeStatus from "./components/changeStatus.vue"
import i18n from "@/i18n"
// import i18n from "@/i18n";
import supplier from '@/filters/supplier'
const tableProps = [
{
prop: "detail",
@ -90,9 +89,15 @@ const tableProps = [
prop: "address",
label: i18n.t('supplier.address'),
},
{
prop: "supplierStatus",
label: i18n.t('supplier.supplierStatus'),
filter: supplier('supplierStatus'),
},
{
prop: "ment",
label: i18n.t('supplier.ment'),
subcomponent: changeStatus
}
];
const tableBtn = [
@ -184,15 +189,15 @@ export default {
type: "button",
btnName: i18n.t('add'),
name: "add",
color: "primary",
// plain: true,
color: "success",
plain: true
},
{
type: "button",
btnName: i18n.t('export'),
name: "export",
color: "primary",
// plain: true,
plain: true
}
],
};
@ -284,7 +289,7 @@ export default {
type: "success",
duration: 1500,
onClose: () => {
this.getDataList();
this.getDataList()
},
});
} else {