feat: 术士套包、定数包功能开发

dev_ksck2.0
chenhc 12 months ago
parent f8c3f714b8
commit 9cbb373439

@ -442,7 +442,7 @@ export default {
date,
"{y}-{m}-{d} {h}:{i}:{s}"
);
this.filterQuery.destinyNo = this.generateUUID();
// this.filterQuery.destinyNo = this.generateUUID();
} else {
this.filterQuery = this.editQuery
this.destinyProcessDelectShow = true

@ -5,12 +5,12 @@
<el-row>
<el-col :span="6">
<el-form-item label="模板名称:" class="query-form-item">
<el-input v-model="filterQuery.name" placeholder="请输入模板名称"></el-input>
<el-input v-model="filterQuery.name" placeholder="请输入模板名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="模板编码:" class="query-form-item">
<el-input v-model="filterQuery.code" placeholder="请输入模板编码"></el-input>
<el-input v-model="filterQuery.code" placeholder="请输入模板编码" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="11" offset="1">
@ -48,7 +48,7 @@
<el-table-column label="操作" width="220" fixed="right">
<template slot-scope="scope">
<el-button type="text" size="small" @click.native.stop="handleModifyClick(scope.row)" :disabled="scope.row.status != 1">编辑</el-button>
<el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)">删除</el-button>
<el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)" :disabled="scope.row.status != 1" >删除</el-button>
<el-button type="text" size="small" @click.native.stop="onSubmitSkSkProject(scope.row)" v-if="scope.row.status == 1"></el-button>
</template>
</el-table-column>
@ -83,7 +83,7 @@
<el-table-column label="数量" prop="count">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.count"
placeholder="请输入数量" style="width: 80%"
placeholder="请输入数量" style="width: 100%"
type='number'
:disabled="scope.row.index !== selectedIndex"
oninput="value=value.replace(/[^\d]/g,'')"></el-input>
@ -351,15 +351,26 @@ export default {
});
},
deleteDialog(row) {
delectModeldestiny(row).then(res => {
if (res.code == 20000) {
this.getList();
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.$message.error("删除失败!");
});
this.$confirm("是否确定移除该模板?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
this.loading = true;
delectModeldestiny(row).then(res => {
if (res.code == 20000) {
this.getList();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.$message.error("删除失败!");
});
})
},
selectDialog(row) {
this.selectFormVisible = true;

@ -32,8 +32,14 @@
</template>
</el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="模板编码" prop="name" ></el-table-column>
<el-table-column label="模板名称" prop="code" ></el-table-column>
<el-table-column label="模板名称" prop="name" ></el-table-column>
<el-table-column label="模板编码" prop="code" ></el-table-column>
<el-table-column label="规格" prop="ggxh" ></el-table-column>
<el-table-column label="价格" prop="price" >
<template slot-scope="scope">
{{ scope.row.price == "null" ? "0.00":scope.row.price }}
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" ></el-table-column>
<el-table-column label="创建人" prop="createByName" ></el-table-column>
<el-table-column label="创建时间" prop="createTime" ></el-table-column>
@ -74,7 +80,8 @@ export default {
filterQuery: {
name: "",
code: "",
type: 2,
type: 1,
status: 3,
page: 1,
limit: 20
},
@ -92,7 +99,8 @@ export default {
this.filterQuery = {
name: "",
code: "",
type: 2,
type: 1,
status: 3,
page: 1,
limit: 20
};

@ -5,19 +5,19 @@
<el-row>
<el-col :span="4">
<el-form-item label="单据号:" class="query-form-item">
<el-input v-model="filterQuery.name" placeholder="请输入模板名称"></el-input>
<el-input v-model="filterQuery.name" placeholder="请输入单据号" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单前仓库:" class="query-form-item">
<el-input v-model="filterQuery.code" placeholder="请输入模板编码"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单据时间:" class="query-form-item">
<el-input v-model="filterQuery.code" placeholder="请输入模板编码"></el-input>
<el-form-item label="仓库:" class="query-form-item">
<el-input v-model="filterQuery.code" placeholder="请输入仓库" clearable></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="4">-->
<!-- <el-form-item label="单据时间:" class="query-form-item">-->
<!-- <el-input v-model="filterQuery.code" placeholder="请输入模板编码" clearable></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-form-item >
<el-button-group>
@ -169,7 +169,7 @@ export default {
filterQuery: {
name: "",
code: "",
type: 2,
type: 1,
page: 1,
limit: 20
},
@ -214,7 +214,7 @@ export default {
this.filterQuery = {
name: "",
code: "",
type: 2,
type: 1,
page: 1,
limit: 20
};

@ -298,6 +298,7 @@ export default {
this.filterDestinyDelect()
},
filterDestinyDelect() {
if (this.delectQuery.id == null ) return;
filterDestinyDelect(this.delectQuery)
.then((response) => {
this.loading = false;

@ -0,0 +1,430 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" label-width="100px" size="mini">
<el-row>
<el-col :span="6">
<el-form-item label="套包名称:" class="query-form-item">
<el-input v-model="filterQuery.name" placeholder="请输入套包名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="套包编码:" class="query-form-item">
<el-input v-model="filterQuery.code" placeholder="请输入套包编码" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="11" offset="1">
<el-form-item style="">
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleAddClick"></el-button>
</el-button-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" @current-change="handleDetail" border highlight-current-row
style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="套包编码" prop="code" width="260"></el-table-column>
<el-table-column label="套包名称" prop="name" width="260"></el-table-column>
<el-table-column label="状态" prop="status" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag :type="statusFilterType(scope.row.status)">{{ statusMap[scope.row.status] }}</el-tag>
</template>
</el-table-column>
<!-- <el-table-column label="备注" prop="remark" width="260"></el-table-column>-->
<el-table-column label="规格" prop="ggxh" width="260"></el-table-column>
<el-table-column label="价格" prop="price" width="260">
<template slot-scope="scope">
{{ scope.row.price == "null" ? "0.00":scope.row.price }}
</template>
</el-table-column>
<!-- <el-table-column label="单位" prop="unit" width="260"></el-table-column>-->
<el-table-column label="创建人" prop="createByName" width="260"></el-table-column>
<el-table-column label="创建时间" prop="createTime" width="260"></el-table-column>
<el-table-column label="操作" width="220" fixed="right">
<template slot-scope="scope">
<el-button type="text" size="small" @click.native.stop="handleModifyClick(scope.row)" :disabled="scope.row.status != 1">编辑</el-button>
<el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)" :disabled="scope.row.status != 1" >删除</el-button>
<el-button type="text" size="small" @click.native.stop="onSubmitSkSkProject(scope.row)" v-if="scope.row.status == 1"></el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="handleCurrentChange"
></pagination>
</el-card>
<el-card>
<el-row>
<el-col :span="24">
<el-button type="primary" style="float: right;margin-bottom: 12px;margin-right: 20px" size="small"
icon="search" @click="selectProduct"
v-if="this.delectQuery.id != null ">新增产品
</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="delectList" border highlight-current-row style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="产品DI" prop="nameCode" width="200"></el-table-column>
<el-table-column label="产品编码" prop="thirdId" width="200"></el-table-column>
<el-table-column label="产品名称" prop="cpmctymc" width="200"></el-table-column>
<el-table-column label="规格型号" prop="ggxh"></el-table-column>
<el-table-column label="计量单位" prop="measname"></el-table-column>
<el-table-column label="数量" prop="count">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.count"
placeholder="请输入数量" style="width: 100%"
type='number'
:disabled="scope.row.index !== selectedIndex"
oninput="value=value.replace(/[^\d]/g,'')"></el-input>
</template>
</el-table-column>
<el-table-column label="价格" prop="price"></el-table-column>
<el-table-column label="生产企业" prop="ylqxzcrbarmc"></el-table-column>
<el-table-column label="注册/备案号" prop="zczbhhzbapzbh"></el-table-column>
<el-table-column label="操作" width="220" >
<template slot-scope="scope">
<el-button type="text" size="small" :disabled="scope.row.index === selectedIndex"
@click.native.stop="rowChange(scope.row)">编辑
</el-button>
<el-button type="text" size="small" :disabled="scope.row.index !== selectedIndex" @click.stop="true"
@click.native="tableCountChange(scope.row)">保存
</el-button>
<el-button type="text" size="small" @click.native.stop="delectModifyClick(scope.row)">移除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="delectTotal>0"
:total="delectTotal"
:limit.sync="delectQuery.limit"
:page.sync="delectQuery.page"
@pagination="handleCurrentDelectChange"
></pagination>
</el-card>
<el-dialog
:title="formMap[formName]"
:visible.sync="formVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="40%"
:before-close="closeDialog"
v-if="formVisible"
>
<destinyModelEdit
:editQuery="editQuery"
:closeDialog="closeDialog"
:type="2"
></destinyModelEdit>
</el-dialog>
<!-- <el-dialog-->
<!-- title="选入产品"-->
<!-- :visible.sync="selectFormVisible"-->
<!-- :close-on-click-modal="false"-->
<!-- :close-on-press-escape="false"-->
<!-- width="80%"-->
<!-- :before-close="closeDialog"-->
<!-- v-if="selectFormVisible"-->
<!-- >-->
<!-- <destinyModelSelectProduct-->
<!-- :editQuery="editQuery"-->
<!-- :codeArray="codeArray"-->
<!-- :closeDialog="closeDialog"-->
<!-- ></destinyModelSelectProduct>-->
<!-- </el-dialog>-->
<el-dialog
title="选入产品"
:visible.sync="selectFormVisible"
append-to-body
:close-on-click-modal="false"
:close-on-press-escape="false"
width="80%"
:before-close="closeProudDialog"
v-if="selectFormVisible"
>
<destinySelectProduct
:editQuery="editLogin"
:closeDialog="closeProudDialog"
></destinySelectProduct>
</el-dialog>
</div>
</template>
<script>
import {
addModeldestiny,
delectModeldestiny,
filterDestinyDelect,
getBasicDestinyfilter, delectModeldestinyProduct, downloadBasicProject, uploadModeldestinyProduct,submitSkSkProject
} from "@/api/basic/basicDestinyRel";
import destinyModelEdit from "@/views/basic/destiny/destinyModelEdit";
import destinyModelSelectProduct from "@/views/basic/destiny/destinyModelSelectProduct";
import destinySelectProduct from "@/views/basic/destiny/destinySelectProduct";
export default {
data() {
return {
editLogin: {
id: null,
status: null,
cpmctymc: null,
ids: [],
page: 1,
limit: 10,
},
filterQuery: {
name: "",
code: "",
type: 2,
page: 1,
limit: 20
},
selectedIndex: '',
editType: "",
formVisible: false,
selectFormVisible: false,
loading: false,
formName: "",
total: 0,
list: [],
codeArray: [],
editQuery: {},
formMap: {
"add": "新增术士套包",
"edit": "编辑术士套包"
},
statusMap: {
1: "草稿",
2: "未提交",
3: "已提交",
},
delectQuery: {
id: null,
status: null,
page: 1,
limit: 20
},
delectList: [],
delectTotal: 0,
};
},
methods: {
statusFilterType(status) {
const statusMap = {
5: 'warning',
1: 'warning',
6: 'danger',
7: 'success'
}
return statusMap[status]
},
delectModifyClick(row) {
this.$confirm("是否确定移除该产品?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
this.loading = true;
let tquery = {
id: row.deId
};
delectModeldestinyProduct(tquery)
.then((response) => {
this.loading = false;
if (response.code === 20000) {
this.filterDestinyDelect();
this.getList();
this.selectedIndex = null
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.certLoading = false;
});
}).catch(() => {
});
},
tableCountChange(row) {
if (this.$isNotBlank(row)) {
var query = {
id: row.deId,
count: row.count
}
uploadModeldestinyProduct(query).then((response) => {
if (response.code === 20000) {
this.getList();
this.selectedIndex = null
}
}).catch(() => {
});
}
},
rowChange(val) {
this.selectedIndex = val.index
},
selectProduct() {
this.editLogin.id = this.delectQuery.id
this.editLogin.status = this.delectQuery.status
this.selectFormVisible = true;
},
onReset() {
this.$router.push({
path: ""
});
this.filterQuery = {
name: "",
code: "",
type: 2,
page: 1,
limit: 20
};
this.getList();
},
onSubmit() {
this.$router.push({
path: "",
});
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getBasicDestinyfilter(this.filterQuery).then(response => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
}).catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
this.roles = [];
});
},
handleCurrentChange(val) {
this.filterQuery.page = val.page;
this.getList();
},
handleCurrentDelectChange(val) {
this.delectQuery.page = val.page;
this.filterDestinyDelect()
},
handleAddClick() {
this.formName = "add";
this.formVisible = true;
},
handleModifyClick(row) {
this.formName = "edit";
this.formVisible = true;
this.editQuery = row;
},
onSubmitSkSkProject(row){
submitSkSkProject(row).then(res => {
if (res.code == 20000) {
this.getList();
this.$message.success("提交成功!");
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.$message.error("提交失败!");
});
},
deleteDialog(row) {
this.$confirm("是否确定移除该套包?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
this.loading = true;
delectModeldestiny(row).then(res => {
if (res.code == 20000) {
this.getList();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.$message.error("删除失败!");
});
})
},
selectDialog(row) {
this.selectFormVisible = true;
this.editQuery = row;
},
closeDialog() {
this.formVisible = false;
this.selectFormVisible = false;
this.getList();
// this.delectList = []
this.editQuery = {}
},
closeProudDialog() {
this.selectFormVisible = false;
this.getList();
this.filterDestinyDelect();
},
handleDetail(row) {
this.delectQuery.id = row.id
this.delectQuery.status = row.status
this.filterDestinyDelect()
},
filterDestinyDelect() {
filterDestinyDelect(this.delectQuery)
.then((response) => {
this.loading = false;
if (response.code === 20000) {
this.delectList = response.data.list || [];
this.delectTotal = response.data.total || 0;
} else {
this.$message.error(response.message);
this.delectList = [];
this.delectTotal = 0;
}
})
.catch(() => {
this.loading = false;
this.delectList = [];
this.delectTotal = 0;
});
},
}
,
mounted() {
}
,
components: {
destinyModelEdit, destinyModelSelectProduct,destinySelectProduct
}
,
created() {
this.filterQuery.name = this.$route.query.cpmctymc;
this.getList();
}
}
;
</script>

@ -870,6 +870,45 @@
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品录入来源:&nbsp;</span>
</div>
<el-select
v-model="editQuery.destinyType"
disabled
style="width: 65%"
size="small"
>
<el-option
v-for="item in destinyTypeSelectList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col>
<el-col :span="12" class="el-col">
<!-- <div class="text item">-->
<!-- <div class="itemTag">-->
<!-- <span>是否寄售:&nbsp;</span>-->
<!-- </div>-->
<!-- <el-select-->
<!-- v-model="editQuery.isAdavence"-->
<!-- disabled-->
<!-- style="width: 65%"-->
<!-- size="small"-->
<!-- >-->
<!-- <el-option label="是" :value="true"></el-option>-->
<!-- <el-option label="否" :value="false"></el-option>-->
<!-- <el-option label="否" :value="null"></el-option>-->
<!-- </el-select>-->
<!-- </div>-->
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="2">
@ -1867,6 +1906,12 @@ export default {
props: {isChoose: {required: false, default: false, type: Boolean}, chooseFunc: {required: false, type: Function}},
data() {
return {
destinyTypeSelectList:[
{value: 0 , label: "正常录入"},
{value: 1 , label: "定数包"},
{value: 2 , label: "项目组套"},
{value: null , label: "正常录入"},
],
Dictionary: false, //
filterQuery: {
lockStatus: null,
@ -2085,6 +2130,7 @@ export default {
this.productType = this.detailList[0].productType;
this.editQuery.versionNumber = this.detailList[0].versionNumber
this.editQuery.originUuid = this.detailList[0].originUuid
this.editQuery.destinyType = this.detailList[0].destinyType
})
.catch(() => {
this.loading = false;

Loading…
Cancel
Save