diff --git a/src/api/inout/ioDestinyProcess.js b/src/api/inout/ioDestinyProcess.js index fd18b9c9..7b5a74fc 100644 --- a/src/api/inout/ioDestinyProcess.js +++ b/src/api/inout/ioDestinyProcess.js @@ -42,6 +42,14 @@ export function filterDestinyProcessCode(query) { }); } +export function filterDestinyProcessDelectFy(query) { + return axios({ + url: "/udiwms/basic/destiny/model/filterDestinyProcessDelectFy", + method: "get", + params: query + }); +} + export function delectDestinyProcess(query) { return axios({ diff --git a/src/views/basic/destiny/destiny.vue b/src/views/basic/destiny/destiny.vue index 24b31cb7..291694bc 100644 --- a/src/views/basic/destiny/destiny.vue +++ b/src/views/basic/destiny/destiny.vue @@ -13,12 +13,12 @@ <el-input v-model="filterQuery.code" placeholder="请输入模板编码"></el-input> </el-form-item> </el-col> - <el-col :span="8"> - <el-form-item> + <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="search" @click="onSubmit">查询</el-button> - <el-button type="primary" icon="search" @click="handleAddClick">新增</el-button> + <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> @@ -30,14 +30,26 @@ <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="remark" 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"> + <el-table-column label="操作" width="220" fixed="right"> <template slot-scope="scope"> - <el-button type="text" size="small" @click.native.stop="handleModifyClick(scope.row)">编辑</el-button> + <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="selectDialog(scope.row)">选入产品</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> @@ -52,16 +64,45 @@ </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="260"></el-table-column> - <el-table-column label="产品编码" prop="thirdId" width="260"></el-table-column> - <el-table-column label="产品名称" prop="cpmctymc" width="260"></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"></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: 80%" + 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" @@ -84,23 +125,40 @@ <destinyModelEdit :editQuery="editQuery" :closeDialog="closeDialog" + :type="1" ></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="closeDialog" + :before-close="closeProudDialog" v-if="selectFormVisible" > - <destinyModelSelectProduct - :editQuery="editQuery" - :codeArray="codeArray" - :closeDialog="closeDialog" - ></destinyModelSelectProduct> + <destinySelectProduct + :editQuery="editLogin" + :closeDialog="closeProudDialog" + ></destinySelectProduct> </el-dialog> @@ -112,22 +170,32 @@ import { addModeldestiny, delectModeldestiny, filterDestinyDelect, - getBasicDestinyfilter + 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, + type: 1, page: 1, limit: 20 }, + selectedIndex: '', editType: "", formVisible: false, selectFormVisible: false, @@ -141,8 +209,14 @@ export default { "add": "新增定数包模板", "edit": "编辑定数包模板" }, + statusMap: { + 1: "草稿", + 2: "未提交", + 3: "已提交", + }, delectQuery: { id: null, + status: null, page: 1, limit: 20 }, @@ -151,6 +225,69 @@ export default { }; }, 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: "" @@ -158,7 +295,7 @@ export default { this.filterQuery = { name: "", code: "", - type: 2, + type: 1, page: 1, limit: 20 }; @@ -201,6 +338,18 @@ export default { 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) { delectModeldestiny(row).then(res => { if (res.code == 20000) { @@ -220,11 +369,17 @@ export default { this.formVisible = false; this.selectFormVisible = false; this.getList(); - this.delectList = [] + // 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() { @@ -252,10 +407,11 @@ export default { } , components: { - destinyModelEdit, destinyModelSelectProduct + destinyModelEdit, destinyModelSelectProduct,destinySelectProduct } , created() { + this.filterQuery.name = this.$route.query.cpmctymc; this.getList(); } } diff --git a/src/views/basic/destiny/destinyModelEdit.vue b/src/views/basic/destiny/destinyModelEdit.vue index e57ecf93..12e6d155 100644 --- a/src/views/basic/destiny/destinyModelEdit.vue +++ b/src/views/basic/destiny/destinyModelEdit.vue @@ -22,7 +22,16 @@ </div> </el-col> </el-row> - + <el-row> + <el-col :span="22"> + <div class="text item"> + <el-form-item label="规格" prop="ggxh"> + <el-input v-model="editLogin.ggxh" placeholder="请输入规格" style="width: 100%" + size="small"></el-input> + </el-form-item> + </div> + </el-col> + </el-row> <el-row> <el-col :span="22"> @@ -59,6 +68,10 @@ export default { type: Object, required: true, }, + type: { + type: Object, + required: true, + }, }, data() { return { @@ -89,6 +102,7 @@ export default { this.$message.error("编辑失败!"); }); } else { + this.editLogin.type = this.type addModeldestiny(this.editLogin).then(res => { if (res.code == 20000) { this.closeDialog(); diff --git a/src/views/basic/destiny/destinyProcess.vue b/src/views/basic/destiny/destinyProcess.vue index 0cf05c49..936a97a8 100644 --- a/src/views/basic/destiny/destinyProcess.vue +++ b/src/views/basic/destiny/destinyProcess.vue @@ -19,7 +19,7 @@ </el-form-item> </el-col> <el-col :span="8"> - <el-form-item> + <el-form-item > <el-button-group> <el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button> <el-button type="primary" icon="search" @click="onSubmit">查询</el-button> @@ -44,7 +44,7 @@ </el-table-column> <el-table-column label="创建人" prop="createName" width="260"></el-table-column> <el-table-column label="创建时间" prop="createTime" width="260"></el-table-column> - <el-table-column label="操作" width="220"> + <el-table-column label="操作" width="220" fixed="right"> <template slot-scope="scope"> <el-button type="text" size="small" :disabled="scope.row.status==2" @click.native.stop="handleModifyClick(scope.row)">编辑</el-button> <el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)">删除</el-button> @@ -60,6 +60,57 @@ @pagination="handleCurrentChange" ></pagination> </el-card> + <el-card> + <el-tabs type="border-card" style="margin-top: 50px"> + <el-tab-pane label="定数包详情"> + <div> + <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="260"></el-table-column> + <el-table-column label="产品编码" prop="thirdId" width="260"></el-table-column> + <el-table-column label="产品名称" prop="cpmctymc" width="260"></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"></el-table-column> + <el-table-column label="扫码数量" prop="reCount"></el-table-column> + <el-table-column label="生产企业" prop="ylqxzcrbarmc"></el-table-column> + <el-table-column label="注册/备案号" prop="zczbhhzbapzbh"></el-table-column> + </el-table> + <pagination + v-show="delectTotal>0" + :total="delectTotal" + :limit.sync="delectQuery.limit" + :page.sync="delectQuery.page" + @pagination="handleCurrentDelectChange" + ></pagination> + </div> + </el-tab-pane> + <el-tab-pane label="扫码详情"> + <div> + <el-table v-loading="loading" :data="codeList" border highlight-current-row style="width: 100%"> + <el-table-column label="序号" type="index"></el-table-column> + <el-table-column label="UDI码" prop="code" width="200"></el-table-column> + <el-table-column label="产品DI" prop="nameCode" 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="batchNo"></el-table-column> + <el-table-column label="生产日期" prop="productDate" width="100"></el-table-column> + <el-table-column label="失效日期" prop="expireDate" width="100"></el-table-column> + <el-table-column label="序列号" prop="serialNo"></el-table-column> + <el-table-column label="扫码数量" prop="count"></el-table-column> + <el-table-column label="实际数量" prop="reCount"></el-table-column> + </el-table> + <pagination + v-show="codeTotal>0" + :total="codeTotal" + :limit.sync="codeQuery.limit" + :page.sync="codeQuery.page" + @pagination="handleCurrentCodeChange" + ></pagination> + </div> + </el-tab-pane> + </el-tabs> + </el-card> <!-- <el-card>--> <!-- <el-table v-loading="loading" :data="delectList" border highlight-current-row style="width: 100%">--> @@ -109,7 +160,7 @@ import { getBasicDestinyfilter } from "@/api/basic/basicDestinyRel"; import addDestinyProcess from "@/views/basic/destiny/addDestinyProcess"; -import {delectDestinyProcess, filterDestinyProcess} from "@/api/inout/ioDestinyProcess"; +import {delectDestinyProcess, filterDestinyProcess ,filterDestinyProcessCode,filterDestinyProcessDelectFy } from "@/api/inout/ioDestinyProcess"; export default { @@ -128,6 +179,8 @@ export default { formName: "", total: 0, list: [], + delectList: [], + codeList: [], codeArray: [], editQuery: {}, formMap: { @@ -140,12 +193,17 @@ export default { 2: "已提交", }, delectQuery: { - id: null, + billNo: null, + page: 1, + limit: 20 + }, + codeQuery: { + billNo: null, page: 1, limit: 20 }, - delectList: [], delectTotal: 0, + codeTotal: 0, }; }, methods: { @@ -199,6 +257,10 @@ export default { this.delectQuery.page = val.page; this.filterDestinyDelect() }, + handleCurrentCodeChange(val) { + this.codeQuery.page = val.page; + this.filterDestinyCode() + }, handleAddClick() { this.formName = "add"; this.formVisible = true; @@ -226,11 +288,13 @@ export default { this.editQuery = {} }, handleDetail(row) { - this.delectQuery.id = row.id + this.delectQuery.billNo = row.billNo + this.codeQuery.billNo = row.billNo this.filterDestinyDelect() + this.filterDestinyCode() }, filterDestinyDelect() { - filterDestinyDelect(this.delectQuery) + filterDestinyProcessDelectFy(this.delectQuery) .then((response) => { this.loading = false; if (response.code === 20000) { @@ -248,6 +312,25 @@ export default { this.delectTotal = 0; }); }, + filterDestinyCode() { + filterDestinyProcessCode(this.codeQuery) + .then((response) => { + this.loading = false; + if (response.code === 20000) { + this.codeList = response.data.list || []; + this.codeTotal = response.data.total || 0; + } else { + this.$message.error(response.message); + this.codeList = []; + this.codeTotal = 0; + } + }) + .catch(() => { + this.loading = false; + this.codeList = []; + this.codeTotal = 0; + }); + }, } , mounted() { diff --git a/src/views/basic/destiny/skProject.vue b/src/views/basic/destiny/skProject.vue index 41dd72ab..4d835e1d 100644 --- a/src/views/basic/destiny/skProject.vue +++ b/src/views/basic/destiny/skProject.vue @@ -13,7 +13,7 @@ <el-input v-model="filterQuery.name" placeholder="请输入项目名称"></el-input> </el-form-item> </el-col> - <el-col :span="8"> + <el-col :span="11" offset="1"> <el-form-item> <el-button-group> <el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button> @@ -115,6 +115,7 @@ <destinyModelEdit :editQuery="editQuery" :closeDialog="closeDialog" + :type="2" ></destinyModelEdit> </el-dialog>