基础数据-镀种维护-镀种分类更换组件

dev-scheduling
ysn 1 month ago
parent 2e1d930c46
commit d38ea6ed67
  1. 133
      src/views/processManagement/platingTypeInfo.vue

@ -20,30 +20,57 @@
:before-open="beforeOpen" :before-open="beforeOpen"
@sort-change="sortChange" @sort-change="sortChange"
:permission="permissionList" :permission="permissionList"
v-model:search="search"
> >
<template #menu-left> </template> <template #menu-left> </template>
<template #menu-right="{ size }"> <template #menu-right="{ size }">
<span style="display: inline-flex; margin-right: 12px"> <span style="display: inline-flex; margin-right: 12px">
<el-button type="primary" v-if="permission.platingTypeInfo_import" @click="handleImport">导入</el-button> <el-button type="primary" v-if="permission.platingTypeInfo_import" @click="handleImport"
>导入</el-button
>
</span> </span>
</template> </template>
<template #bcId="{ row }"> <template #bcId="{ row }">
{{ row.bcName }} {{ row.bcName }}
</template> </template>
<template #bcId-search="{ type }">
<jhSelect
:value="search.bcId"
@input="val => (search.bcId = String(val))"
placeholder="请搜索选择"
api-url="/api/blade-desk/BA/BasicClazz/list"
echo-api="/api/blade-desk/BA/BasicClazz/list"
echoParamsKey="id"
echo-method="get"
api-method="get"
list-key="records"
total-key="total"
label-key="name"
value-key="id"
search-key="name"
:debounce-time="500"
/>
</template>
<template #bcId-form="{ type }"> <template #bcId-form="{ type }">
<span v-show="type == 'edit' || type == 'add'"> <span v-show="type == 'edit' || type == 'add'">
<el-select v-model="form.bcId" placeholder="请选择镀种分类" filterable <jhSelect
remote :value="form.bcId"
reserve-keyword @input="val => (form.bcName = val)"
:remote-method="remoteMethod"> placeholder="请搜索选择"
<el-option api-url="/api/blade-desk/BA/BasicClazz/list"
v-for="item in bcIdData" echo-api="/api/blade-desk/BA/BasicClazz/list"
:key="item.id" echoParamsKey="id"
:value="item.id" echo-method="get"
:label="item.name" api-method="get"
/> list-key="records"
</el-select> total-key="total"
label-key="name"
value-key="id"
search-key="name"
:debounce-time="500"
:title="'修改'"
/>
</span> </span>
</template> </template>
<template #bsBasicClass.name="scope"> <template #bsBasicClass.name="scope">
@ -114,7 +141,7 @@ export default {
currentPage: 1, currentPage: 1,
total: 0, total: 0,
}, },
bcIdData: [], search: {},
formOption: { formOption: {
menuSpan: 12, menuSpan: 12,
enter: true, enter: true,
@ -191,24 +218,24 @@ export default {
sortable: 'custom', sortable: 'custom',
search: true, search: true,
width: 200, width: 200,
type: 'select', // type: 'select',
filterable: true, // filterable: true,
remote: true, // remote: true,
props: { // props: {
label: 'name', // label: 'name',
value: 'id', // value: 'id',
desc: 'code', // desc: 'code',
res: 'data.records', // res: 'data.records',
}, // },
dicUrl: // dicUrl:
'/api/blade-desk/BA/BasicClazz/list?current=1&size=9999&descs=CODE&name={{key}}', // '/api/blade-desk/BA/BasicClazz/list?current=1&size=9999&descs=CODE&name={{key}}',
rules: [ // rules: [
{ // {
required: true, // required: true,
message: '请选择镀种分类', // message: '',
trigger: 'click', // trigger: 'click',
}, // },
], // ],
}, },
{ {
label: '镀种', label: '镀种',
@ -370,7 +397,7 @@ export default {
search: false, search: false,
width: 200, width: 200,
labelWidth: 150, labelWidth: 150,
span:24, span: 24,
dicData: [ dicData: [
{ label: '否', value: 0 }, { label: '否', value: 0 },
{ label: '是', value: 1 }, // true false { label: '是', value: 1 }, // true false
@ -508,33 +535,17 @@ export default {
// beforeOpen // beforeOpen
async beforeOpen(done, type, loading) { async beforeOpen(done, type, loading) {
try { try {
// 1. //
await this.remoteMethod('');
// 2.
if (['add'].includes(type)) { if (['add'].includes(type)) {
this.form.flagCycleTest = 0; this.form.flagCycleTest = 0;
} }
// 3. / bcId 500 // /
if (['edit', 'view'].includes(type)) { if (['edit', 'view'].includes(type)) {
const currentId = (this.form.bcId || '').toString().trim(); const currentId = (this.form.bcId || '').toString().trim();
const currentName = this.form.bcName || '-'; //
// id
if (currentId) {
const hasItem = this.bcIdData.some(item => item.id == currentId);
console.log('hasItem =', hasItem);
if (!hasItem) {
//
this.bcIdData.unshift({
id: currentId,
name: currentName,
});
}
}
//
this.form.bcId = currentId; this.form.bcId = currentId;
} }
} catch (err) { } catch (err) {
console.error('加载镀种分类失败', err); console.error('加载数据失败', err);
} }
done(); done();
}, },
@ -558,10 +569,6 @@ export default {
refreshChange() { refreshChange() {
this.onLoad(this.page, this.query); this.onLoad(this.page, this.query);
}, },
async remoteMethod(query) {
const res = await getList({ current: 1, size: 9999, descs: 'CODE',name:query })
this.bcIdData = res.data.data.records || []
},
// ID Promise // ID Promise
getBcName(id) { getBcName(id) {
if (!id) return Promise.resolve('-'); if (!id) return Promise.resolve('-');
@ -598,14 +605,14 @@ export default {
}); });
let list = res.data.data.records; let list = res.data.data.records;
// bcName // bcName
//await Promise.all( //await Promise.all(
// list.map(async item => { // list.map(async item => {
// item.bcId = item.bcId + ''; // item.bcId = item.bcId + '';
// item.subClass = item.subClass + ''; // item.subClass = item.subClass + '';
// item.bcName = await this.getBcName(item.bcId); // // item.bcName = await this.getBcName(item.bcId); //
// console.log('item.bcName =', item.bcName); // // console.log('item.bcName =', item.bcName); //
// }) // })
//); //);
this.data = list; this.data = list;
this.page.total = res.data.data.total; this.page.total = res.data.data.total;
} catch (e) {} } catch (e) {}

Loading…
Cancel
Save