|
@@ -4,7 +4,26 @@
|
|
|
<!-- 操作栏 -->
|
|
|
<!-- 基本信息栏 -->
|
|
|
<div v-if="activeMainTab == 'material'">
|
|
|
- <el-row :gutter="10" class="mb10" v-if="!updateButtonGroup">
|
|
|
+
|
|
|
+ <!-- 基本信息修改状态下—— 保存、保存新增、更新导入、取消 -->
|
|
|
+ <el-row :gutter="10" class="mb10" v-if="updateButtonGroup || maintainNewVersion">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button-group>
|
|
|
+ <el-button size="small" @click="handleSave"
|
|
|
+ v-hasPermi="['system:material:add', `${maintainNewVersion ? '' : 'system:material:versions'}`]">
|
|
|
+ 保存
|
|
|
+ </el-button>
|
|
|
+ </el-button-group>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button-group>
|
|
|
+ <el-button size="small" @click="handleCancel">取消</el-button>
|
|
|
+ </el-button-group>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row :gutter="10" class="mb10" v-else>
|
|
|
<!-- 新增、修改、删除、复制 -->
|
|
|
<el-col :span="1.5">
|
|
|
<el-button-group>
|
|
@@ -19,17 +38,6 @@
|
|
|
<el-col :span="1.5">
|
|
|
<el-button-group>
|
|
|
|
|
|
- <!-- <el-dropdown size="small" @command="handleFilter">
|
|
|
- <el-button size="small">
|
|
|
- 过滤<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item :command="filterCondition('stop')">显示停用</el-dropdown-item>
|
|
|
- <el-dropdown-item :command="filterCondition('allot')">显示已分配</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
-
|
|
|
- <el-button size="small" @click="handleQuery">查询</el-button> -->
|
|
|
<el-button size="small" @click="handleRefresh">刷新</el-button>
|
|
|
|
|
|
</el-button-group>
|
|
@@ -43,47 +51,19 @@
|
|
|
<!-- 0:启用 2:停用 -->
|
|
|
{{ basicData.value.isEnable == '已启用' ? '停用' : '启用' }}
|
|
|
</el-button>
|
|
|
- <!-- <el-dropdown split-button size="small" @click="handleIsInvoke(true)" @command="handleIsInvoke">
|
|
|
- 启用
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item :command="isInvoke(true)">启用</el-dropdown-item>
|
|
|
- <el-dropdown-item :command="isInvoke(false)">停用</el-dropdown-item></el-dropdown-menu></el-dropdown> -->
|
|
|
</el-button-group>
|
|
|
</el-col>
|
|
|
|
|
|
- <!-- 申请单查询 -->
|
|
|
- <!-- <el-col :span="1.5">
|
|
|
- <el-button-group>
|
|
|
- <el-button size="small" @click="handleQueryForm">申请单查询</el-button>
|
|
|
- </el-button-group>
|
|
|
- </el-col> -->
|
|
|
-
|
|
|
- <!-- 导入导出 -->
|
|
|
- <!-- <el-col :span="1.5">
|
|
|
- <el-button-group>
|
|
|
- <el-button size="small" @click="handleImport">批量导入</el-button>
|
|
|
- <el-button size="small" @click="handleExport">批量导出</el-button>
|
|
|
- </el-button-group>
|
|
|
- </el-col> -->
|
|
|
-
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <!-- 基本信息修改状态下—— 保存、保存新增、更新导入、取消 -->
|
|
|
- <el-row :gutter="10" class="mb10" v-else>
|
|
|
+ <!-- 维护新版本 -->
|
|
|
<el-col :span="1.5">
|
|
|
<el-button-group>
|
|
|
- <el-button size="small" @click="handleSave" v-hasPermi="['system:material:add']">保存</el-button>
|
|
|
- <!-- <el-button size="small" @click="handleSaveAdd" :disabled="true">保存新增</el-button> -->
|
|
|
- <!-- <el-button size="small" @click="handleUpdateImport">更新导入</el-button> -->
|
|
|
+ <el-button size="small" @click="handleNewVersion" v-hasPermi="['system:material:versions']">维护新版本</el-button>
|
|
|
</el-button-group>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button-group>
|
|
|
- <el-button size="small" @click="handleCancel">取消</el-button>
|
|
|
- </el-button-group>
|
|
|
- </el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
+
|
|
|
</div>
|
|
|
|
|
|
<!-- 其他标签页操作 修改、删除 -->
|
|
@@ -94,7 +74,7 @@
|
|
|
<el-button size="small" @click="handleOtherDel">删除</el-button>
|
|
|
</el-button-group>
|
|
|
<el-button-group>
|
|
|
- <el-button size="small" @click="handleRefresh">刷新</el-button>
|
|
|
+ <el-button size="small" @click="handleOtherListRefresh">刷新</el-button>
|
|
|
</el-button-group>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -109,7 +89,7 @@
|
|
|
<el-col :span="6" style="text-align: right;">
|
|
|
<!-- 附件管理 -->
|
|
|
<!-- <el-button-group>
|
|
|
- <el-button size="small" icon="el-icon-paperclip" @click="handleFile"></el-button></el-button-group> -->
|
|
|
+ <el-button size="small" icon="el-icon-paperclip" @click="handleFile"></el-button></el-button-group> -->
|
|
|
|
|
|
<!-- 切换 -->
|
|
|
<!-- <el-button-group>
|
|
@@ -120,7 +100,7 @@
|
|
|
<el-button size="small" icon="el-icon-arrow-right" :disabled="!handleBasicEdit"
|
|
|
@click="handleChangePage('next')" />
|
|
|
<el-button size="small" icon="el-icon-d-arrow-right" :disabled="!handleBasicEdit"
|
|
|
- @click="handleChangePage('end')" /></el-button-group> -->
|
|
|
+ @click="handleChangePage('end')" /></el-button-group> -->
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
@@ -128,13 +108,13 @@
|
|
|
<el-form :inline="true" label-position="right" :model="basicData.value">
|
|
|
<!-- <el-form-item label="所属组织"></el-form-item> -->
|
|
|
<el-form-item label="物料编码">
|
|
|
- <el-input v-model="basicData.value.code" readonly size="small" placeholder="物料编码"></el-input>
|
|
|
+ <el-input v-model="basicData.value.code" readonly size="small"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="物料名称">
|
|
|
- <el-input v-model="basicData.value.name" readonly size="small" placeholder="物料名称"></el-input>
|
|
|
+ <el-input v-model="basicData.value.name" readonly size="small"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="英文名称">
|
|
|
- <el-input v-model="basicData.value.enName" readonly size="small" placeholder="英文名称"></el-input>
|
|
|
+ <el-input v-model="basicData.value.enName" readonly size="small"></el-input>
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="版本号"></el-form-item> -->
|
|
|
</el-form>
|
|
@@ -181,14 +161,14 @@
|
|
|
</template>
|
|
|
|
|
|
<!-- 参照 -->
|
|
|
- <el-select v-if="f.apiUrl" v-model="basicData.value[`${f.prop}Name`]" :placeholder="f.name"
|
|
|
+ <el-select v-if="f.apiUrl" v-model="basicData.value[`${f.prop}Name`]" placeholder="请选择"
|
|
|
:key="basicData.value[f.prop]" :disabled="handleJudge(f)"
|
|
|
@focus="f.apiUrl && handleQueryMore(f, '', { name: 'basicData', prop: f.prop })">
|
|
|
<div slot="empty"></div>
|
|
|
</el-select>
|
|
|
|
|
|
<!-- 字典 -->
|
|
|
- <el-select v-if="f.dictId" v-model="basicData.value[f.prop]" :placeholder="f.name"
|
|
|
+ <el-select v-if="f.dictId" v-model="basicData.value[f.prop]" placeholder="请选择"
|
|
|
:key="basicData.value[f.prop]" :disabled="handleJudge(f)">
|
|
|
<el-option v-if="f.dictId" v-for="d in f.dictValue" :key="d.dictValue" :label="d.dictLabel"
|
|
|
:value="d.dictValue">
|
|
@@ -219,7 +199,7 @@
|
|
|
</template>
|
|
|
|
|
|
<el-input size="small" v-model="basicData.value[f.prop]" :type="f.attribute || 'text'"
|
|
|
- :readonly="handleJudge(f)" :placeholder="f.name">
|
|
|
+ :readonly="handleJudge(f)">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
|
|
@@ -276,8 +256,8 @@
|
|
|
<el-form-item v-else-if="m.attribute == 'select'" :label="m.name">
|
|
|
|
|
|
<!-- 参照弹窗 -->
|
|
|
- <el-select v-if="m.apiUrl" v-model="medcineData.value[`${m.prop}Name`]"
|
|
|
- :placeholder="m.name" :key="medcineData.value[m.prop]"
|
|
|
+ <el-select v-if="m.apiUrl" v-model="medcineData.value[`${m.prop}Name`]" placeholder="请选择"
|
|
|
+ :key="medcineData.value[m.prop]"
|
|
|
:disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
|
|
|
@focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
|
|
|
|
|
@@ -287,7 +267,7 @@
|
|
|
</el-select>
|
|
|
|
|
|
<!-- 下拉选择 -->
|
|
|
- <el-select v-else v-model="medcineData.value[m.prop]" :placeholder="m.name"
|
|
|
+ <el-select v-else v-model="medcineData.value[m.prop]" placeholder="请选择"
|
|
|
:key="medcineData.value[m.prop]"
|
|
|
:disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
|
|
|
@focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
|
|
@@ -308,7 +288,6 @@
|
|
|
<!-- 文本、数字、textarae -->
|
|
|
<el-form-item v-else :label="m.name">
|
|
|
<el-input size="small" v-model="medcineData.value[m.prop]" :type="m.attribute || 'text'"
|
|
|
- :placeholder="m.name"
|
|
|
:readonly="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
@@ -363,16 +342,16 @@
|
|
|
<el-divider content-position="left">审计信息</el-divider>
|
|
|
<el-form :inline="true" label-position="right" :model="basicData.value">
|
|
|
<el-form-item label="创建人">
|
|
|
- <el-input v-model="basicData.value.createByName" size="small" readonly placeholder="创建人"></el-input>
|
|
|
+ <el-input v-model="basicData.value.createByName" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="创建时间">
|
|
|
- <el-input v-model="basicData.value.createTime" size="small" readonly placeholder="创建时间"></el-input>
|
|
|
+ <el-input v-model="basicData.value.createTime" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="最后修改人">
|
|
|
- <el-input v-model="basicData.value.updateByName" size="small" readonly placeholder="最后修改人"></el-input>
|
|
|
+ <el-input v-model="basicData.value.updateByName" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="最后修改时间">
|
|
|
- <el-input v-model="basicData.value.updateTime" size="small" readonly placeholder="最后修改时间"></el-input>
|
|
|
+ <el-input v-model="basicData.value.updateTime" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
@@ -421,23 +400,20 @@
|
|
|
true-label="0" false-label="2" v-model="scope.row[mt.prop]" />
|
|
|
|
|
|
<!-- 下拉框 / 参照弹窗---- 药品类别编码 scope.row[`${mt.prop}Name`] -->
|
|
|
- <el-select size="small" v-else-if="mt.attribute == 'select' && mt.apiUrl"
|
|
|
+ <el-select size="small" v-else-if="mt.attribute == 'select' && mt.apiUrl" placeholder="请选择"
|
|
|
:disabled="!(materialType.isEdit && mt.edit)" v-model="scope.row[mt.prop]" :key="scope.row[mt.prop]"
|
|
|
- :placeholder="mt.name"
|
|
|
@focus="mt.apiUrl && handleQueryMore(mt, '', { name: 'materialType', prop: scope.row })">
|
|
|
<div slot="empty"></div>
|
|
|
</el-select>
|
|
|
|
|
|
- <!-- <el-select size="small" v-else-if="mt.attribute == 'select' && mt.dictId"
|
|
|
- :disabled="!(materialType.isEdit && mt.edit)" v-model="scope.row[mt.prop]" :key="scope.row[mt.prop]"
|
|
|
- :placeholder="mt.name">
|
|
|
+ <!-- <el-select size="small" v-else-if="mt.attribute == 'select' && mt.dictId" placeholder="请选择"
|
|
|
+ :disabled="!(materialType.isEdit && mt.edit)" v-model="scope.row[mt.prop]" :key="scope.row[mt.prop]">
|
|
|
<el-option v-if="mt.dictId" v-for="d in mt.dictId" :key="d.dictValue" :label="d.dictLabel"
|
|
|
:value="d.dictValue">
|
|
|
- </el-option></el-select> -->
|
|
|
+ </el-option></el-select> -->
|
|
|
|
|
|
<!-- 其他类型 -->
|
|
|
- <el-input v-else size="small" v-model="scope.row[mt.prop]" :readonly="!(materialType.isEdit && mt.edit)"
|
|
|
- :placeholder="mt.name" />
|
|
|
+ <el-input v-else size="small" v-model="scope.row[mt.prop]" :readonly="!(materialType.isEdit && mt.edit)" />
|
|
|
</template>
|
|
|
|
|
|
</el-table-column>
|
|
@@ -484,13 +460,13 @@
|
|
|
<el-collapse-item title="物料基本信息" name="basic">
|
|
|
<el-form :inline="true" label-position="right" :model="basicData.value">
|
|
|
<el-form-item label="物料编码">
|
|
|
- <el-input v-model="basicData.value.code" size="small" readonly placeholder="物料编码"></el-input>
|
|
|
+ <el-input v-model="basicData.value.code" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="物料名称">
|
|
|
- <el-input v-model="basicData.value.name" size="small" readonly placeholder="物料名称"></el-input>
|
|
|
+ <el-input v-model="basicData.value.name" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="英文名称">
|
|
|
- <el-input v-model="basicData.value.enName" size="small" readonly placeholder="英文名称"></el-input>
|
|
|
+ <el-input v-model="basicData.value.enName" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
@@ -515,7 +491,7 @@
|
|
|
<!-- 下拉框 - 弹窗参照 -->
|
|
|
<el-form-item v-else-if="f.attribute == 'select'" :label="f.name">
|
|
|
|
|
|
- <el-select v-if="f.apiUrl" v-model="otherDeatils.value[`${f.prop}Name`]" :placeholder="f.name"
|
|
|
+ <el-select v-if="f.apiUrl" v-model="otherDeatils.value[`${f.prop}Name`]" placeholder="请选择"
|
|
|
:key="otherDeatils.value[f.prop]" :disabled="!(otherDeatils.isEdit && f.edit)"
|
|
|
@focus="f.apiUrl && handleQueryMore(f, '', { name: 'otherDeatils', prop: f.prop })">
|
|
|
|
|
@@ -523,7 +499,7 @@
|
|
|
</el-select>
|
|
|
|
|
|
<!-- 字典-下拉 -->
|
|
|
- <el-select v-if="f.disctId" v-model="otherDeatils.value[`${f.prop}Name`]" :placeholder="f.name"
|
|
|
+ <el-select v-if="f.dictId" v-model="otherDeatils.value[`${f.prop}Name`]" placeholder="请选择"
|
|
|
:key="otherDeatils.value[f.prop]" :disabled="!(otherDeatils.isEdit && f.edit)">
|
|
|
<el-option v-if="f.dictId" v-for="d in f.dictValue" :key="d.dictValue" :label="d.dictLabel"
|
|
|
:value="d.dictValue">
|
|
@@ -541,7 +517,7 @@
|
|
|
<!--attribute 文本 数字 文本域 为null -->
|
|
|
<el-form-item v-else :label="f.name">
|
|
|
<el-input size="small" v-model="otherDeatils.value[f.prop]" :type="f.attribute || 'text'"
|
|
|
- :placeholder="f.name" :readonly="!(otherDeatils.isEdit && f.edit)">
|
|
|
+ :readonly="!(otherDeatils.isEdit && f.edit)">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
@@ -557,16 +533,16 @@
|
|
|
<div class="md-auditInfo">
|
|
|
<el-form :inline="true" label-position="right" :model="basicData.value">
|
|
|
<el-form-item label="创建人">
|
|
|
- <el-input v-model="basicData.value.createByName" size="small" readonly placeholder="创建人"></el-input>
|
|
|
+ <el-input v-model="basicData.value.createByName" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="创建时间">
|
|
|
- <el-input v-model="basicData.value.createTime" size="small" readonly placeholder="创建时间"></el-input>
|
|
|
+ <el-input v-model="basicData.value.createTime" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="最后修改人">
|
|
|
- <el-input v-model="basicData.value.updateByName" size="small" readonly placeholder="最后修改人"></el-input>
|
|
|
+ <el-input v-model="basicData.value.updateByName" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="最后修改时间">
|
|
|
- <el-input v-model="basicData.value.updateTime" size="small" readonly placeholder="最后修改时间"></el-input>
|
|
|
+ <el-input v-model="basicData.value.updateTime" size="small" readonly></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
|
|
@@ -635,6 +611,8 @@ export default {
|
|
|
return {
|
|
|
count: 1,
|
|
|
loading: false,
|
|
|
+ // 维护新版本
|
|
|
+ maintainNewVersion: false,
|
|
|
// 详情固定标签页
|
|
|
detailsTabs,
|
|
|
defaultProps: {
|
|
@@ -764,9 +742,20 @@ export default {
|
|
|
methods: {
|
|
|
// 判断效期管理
|
|
|
handleJudge(attribute) {
|
|
|
+ // 维护新版本才能修改:批号及库存状态管理(isInventoryStatus)、
|
|
|
+ if (attribute.prop == 'isInventoryStatus') {
|
|
|
+ return !(this.maintainNewVersion && attribute.edit);
|
|
|
+ }
|
|
|
+ // 序列号管理(serialNoManager):维护新版本 && 批号及库存状态管理
|
|
|
+ else if (attribute.prop == 'serialNoManager') {
|
|
|
|
|
|
+ if (this.basicData.value['isInventoryStatus'] == '2') this.basicData.value['serialNoManager'] = '2';
|
|
|
+
|
|
|
+ return !(this.maintainNewVersion && attribute.edit && this.basicData.value['isInventoryStatus'] == '0');
|
|
|
+
|
|
|
+ }
|
|
|
// 批号及库存状态管理(isInventoryStatus) 控制 效期管理是否展示(expiryDateManagerment)
|
|
|
- if (attribute.prop == 'expiryDateManagerment') {
|
|
|
+ else if (attribute.prop == 'expiryDateManagerment') {
|
|
|
|
|
|
if (this.basicData.value['isInventoryStatus'] == '2') this.basicData.value['expiryDateManagerment'] = '2';
|
|
|
|
|
@@ -831,59 +820,7 @@ export default {
|
|
|
this.collapseActive.splice(1, 1, this.activeMainTab);
|
|
|
console.log(this.collapseActive, 'this.collapseActive');
|
|
|
|
|
|
- switch (this.activeMainTab) {
|
|
|
-
|
|
|
- // 基本信息
|
|
|
- case 'material':
|
|
|
- this.getTagList('material', (form) => {
|
|
|
- this.basicData.form = form;
|
|
|
- this.getMaterialDetails(this.materialId, 'material');
|
|
|
- })
|
|
|
- break;
|
|
|
- // 财物信息
|
|
|
- case 'material_finance':
|
|
|
- this.getTagList('material_finance', (form) => {
|
|
|
- this.mainMsg.form = form;
|
|
|
- this.getFinanceList(this.materialId);
|
|
|
- });
|
|
|
- break;
|
|
|
- // 利润中心信息
|
|
|
- case 'profit_center':
|
|
|
- this.getTagList('profit_center', (form) => {
|
|
|
- this.mainMsg.form = form;
|
|
|
- this.getCenterList(this.materialId);
|
|
|
- });
|
|
|
- break;
|
|
|
- // 采购信息
|
|
|
- case 'material_purchase':
|
|
|
- this.getTagList('material_purchase', (form) => {
|
|
|
- this.mainMsg.form = form;
|
|
|
- this.getPurchaseList(this.materialId);
|
|
|
- });
|
|
|
- break;
|
|
|
- // 库存信息
|
|
|
- case 'material_inventory':
|
|
|
- this.getTagList('material_inventory', (form) => {
|
|
|
- this.mainMsg.form = form;
|
|
|
- this.getInventoryList(this.materialId);
|
|
|
- });
|
|
|
- break;
|
|
|
- // 计划信息
|
|
|
- case 'material_plan':
|
|
|
- this.getTagList('material_plan', (form) => {
|
|
|
- this.mainMsg.form = form;
|
|
|
- this.getPlanList(this.materialId);
|
|
|
- });
|
|
|
- break;
|
|
|
- // 成本信息
|
|
|
- case 'material_cost':
|
|
|
- this.getTagList('material_cost', (form) => {
|
|
|
- this.mainMsg.form = form;
|
|
|
- this.getCostList(this.materialId);
|
|
|
- });
|
|
|
- break;
|
|
|
- default: break;
|
|
|
- }
|
|
|
+ this.handleOtherListRefresh();
|
|
|
|
|
|
},
|
|
|
// 切换副表信息
|
|
@@ -905,7 +842,7 @@ export default {
|
|
|
this.getTagList('material_unit', (form) => {
|
|
|
console.log(form, 'form');
|
|
|
this.unitDetails.form = form;
|
|
|
- this.getUnitList('');
|
|
|
+ this.getUnitList(this.materialId);
|
|
|
});
|
|
|
break;
|
|
|
// 辅助属性
|
|
@@ -1288,16 +1225,16 @@ export default {
|
|
|
materialApi.unitDetails(materialId).then(res => {
|
|
|
console.log(res, '辅助计量单位基本信息');
|
|
|
if (res.code == 200) {
|
|
|
- this.unitDetails.value = res.data.data || [];
|
|
|
+ this.unitDetails.value = res.data.tableBody.rows || [];
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- //获取辅计量管理列表信息+表头字段
|
|
|
- getUnitList() {
|
|
|
- materialApi.unitList().then(res => {
|
|
|
+ //获取辅计量管理列表信息
|
|
|
+ getUnitList(materialId) {
|
|
|
+ materialApi.unitList({ materialId }).then(res => {
|
|
|
console.log(res, '辅计量管理列表信息');
|
|
|
if (res.code == 200) {
|
|
|
- this.unitDetails.value = res.data.data || [];
|
|
|
+ this.unitDetails.value = res.data.tableBody.rows || [];
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -1427,16 +1364,72 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
+ // 其他标签页刷新
|
|
|
+ handleOtherListRefresh() {
|
|
|
+ switch (this.activeMainTab) {
|
|
|
+
|
|
|
+ // 基本信息
|
|
|
+ case 'material':
|
|
|
+ this.getTagList('material', (form) => {
|
|
|
+ this.basicData.form = form;
|
|
|
+ this.getMaterialDetails(this.materialId, 'material');
|
|
|
+ })
|
|
|
+ break;
|
|
|
+ // 财物信息
|
|
|
+ case 'material_finance':
|
|
|
+ this.getTagList('material_finance', (form) => {
|
|
|
+ this.mainMsg.form = form;
|
|
|
+ this.getFinanceList(this.materialId);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ // 利润中心信息
|
|
|
+ case 'profit_center':
|
|
|
+ this.getTagList('profit_center', (form) => {
|
|
|
+ this.mainMsg.form = form;
|
|
|
+ this.getCenterList(this.materialId);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ // 采购信息
|
|
|
+ case 'material_purchase':
|
|
|
+ this.getTagList('material_purchase', (form) => {
|
|
|
+ this.mainMsg.form = form;
|
|
|
+ this.getPurchaseList(this.materialId);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ // 库存信息
|
|
|
+ case 'material_inventory':
|
|
|
+ this.getTagList('material_inventory', (form) => {
|
|
|
+ this.mainMsg.form = form;
|
|
|
+ this.getInventoryList(this.materialId);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ // 计划信息
|
|
|
+ case 'material_plan':
|
|
|
+ this.getTagList('material_plan', (form) => {
|
|
|
+ this.mainMsg.form = form;
|
|
|
+ this.getPlanList(this.materialId);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ // 成本信息
|
|
|
+ case 'material_cost':
|
|
|
+ this.getTagList('material_cost', (form) => {
|
|
|
+ this.mainMsg.form = form;
|
|
|
+ this.getCostList(this.materialId);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ default: break;
|
|
|
+ }
|
|
|
+ },
|
|
|
// 修改
|
|
|
handleBasicEdit() {
|
|
|
console.log('修改基本信息');
|
|
|
this.updateButtonGroup = true;
|
|
|
// this.count++;
|
|
|
//需要禁止点击其他标签
|
|
|
- this.detailsTabs = this.detailsTabs.map(item => {
|
|
|
- item['disabled'] = true;
|
|
|
- return item
|
|
|
- })
|
|
|
+ // this.detailsTabs = this.detailsTabs.map(item => {
|
|
|
+ // item['disabled'] = true;
|
|
|
+ // return item
|
|
|
+ // })
|
|
|
console.log(this.detailsTabs, 'this.detailsTabs ');
|
|
|
|
|
|
},
|
|
@@ -1481,30 +1474,52 @@ export default {
|
|
|
// 启用
|
|
|
handleIsInvoke(e) {
|
|
|
console.log('启用', this.basicData.value.isEnable);
|
|
|
- if (this.basicData.value.isEnable == '已启用') {
|
|
|
- this.basicData.value.isEnable = '2';
|
|
|
- } else {
|
|
|
- // this.basicData.isEnable 为空或者为2
|
|
|
- this.basicData.value.isEnable = '0';
|
|
|
- }
|
|
|
- this.handleSave();
|
|
|
- },
|
|
|
- isInvoke(val) {
|
|
|
- return val;
|
|
|
- },
|
|
|
- // 申请单查询
|
|
|
- handleQueryForm() {
|
|
|
- console.log('申请单查询');
|
|
|
- },
|
|
|
- // 批量导入
|
|
|
- handleImport() {
|
|
|
- console.log('批量导入');
|
|
|
+
|
|
|
+ let param = {
|
|
|
+ isEnable: this.basicData.value.isEnable == '已启用' ? '2' : '0',
|
|
|
+ id: this.basicData.value.id
|
|
|
+ };
|
|
|
+ console.log(param, '启用/停用param');
|
|
|
+ materialApi.updateEnableMaterial(param).then(res => {
|
|
|
+ console.log(res, '启用/停用');
|
|
|
+ if (res.code == 200) this.handleRefresh();
|
|
|
+ })
|
|
|
},
|
|
|
- // 批量导出
|
|
|
- handleExport() {
|
|
|
- console.log('批量导出');
|
|
|
+ // 维护新版本
|
|
|
+ handleNewVersion() {
|
|
|
+ let _this = this;
|
|
|
+ let data = {
|
|
|
+ // 物料编码
|
|
|
+ code: this.basicData.value.code
|
|
|
+ }
|
|
|
+ materialApi.versions(data).then(res => {
|
|
|
+ console.log(res, '维护新版本');
|
|
|
+ if (res.code == 200) {
|
|
|
+ _this.maintainNewVersion = res.data.result;
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
+ // 维护物料保存
|
|
|
+ handleSaveNewVersion(cb) {
|
|
|
+ let data = {
|
|
|
+ // 物料编码
|
|
|
+ materialCode: this.basicData.value.code,
|
|
|
+ //序列号管理; 2= 否,0= 是
|
|
|
+ serialNoManager: this.basicData.value.serialNoManager,
|
|
|
+ // 批号及库存状态管理;2=否,0=是
|
|
|
+ isInventoryStatus: this.basicData.value.isInventoryStatus,
|
|
|
+ }
|
|
|
+ materialApi.saveVersions(data).then(res => {
|
|
|
+ console.log(res, '维护物料保存');
|
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
+ cb();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ this.loading = false;
|
|
|
+ })
|
|
|
+ },
|
|
|
// 取消保存
|
|
|
handleCancel() {
|
|
|
console.log('取消保存');
|
|
@@ -1514,10 +1529,18 @@ export default {
|
|
|
// 保存修改
|
|
|
handleSave() {
|
|
|
console.log('保存修改');
|
|
|
- this.handleSaveMaterial(() => {
|
|
|
+ this.loading = true;
|
|
|
+ // 普通保存修改
|
|
|
+ this.updateButtonGroup && this.handleSaveMaterial(() => {
|
|
|
this.updateButtonGroup = false;
|
|
|
this.handleRefresh();
|
|
|
});
|
|
|
+
|
|
|
+ // 维护新版本保存修改
|
|
|
+ this.maintainNewVersion && this.handleSaveNewVersion(() => {
|
|
|
+ this.maintainNewVersion = false;
|
|
|
+ this.handleRefresh();
|
|
|
+ })
|
|
|
},
|
|
|
// 物料类别列表选中
|
|
|
handleSelectionType(list) {
|
|
@@ -1699,18 +1722,27 @@ export default {
|
|
|
// 确认弹窗操作
|
|
|
handleComfirmOption() {
|
|
|
console.log('确认弹窗操作');
|
|
|
+
|
|
|
this.optionDialog.show = false;
|
|
|
- this.updateButtonGroup = false;
|
|
|
- this.handleRest();
|
|
|
|
|
|
- //需要禁止点击其他标签
|
|
|
- this.detailsTabs = this.detailsTabs.map(item => {
|
|
|
- item['disabled'] = false;
|
|
|
- return item;
|
|
|
- })
|
|
|
+ // 取消基本信息修改
|
|
|
+ if (this.updateButtonGroup) {
|
|
|
+ this.updateButtonGroup = false;
|
|
|
+ this.handleRest();
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
+ // 取消其他主页签详情弹窗修改
|
|
|
if (this.otherDeatils.isEdit) {
|
|
|
this.otherDeatils.isEdit = false;
|
|
|
+ this.handleOtherRefresh();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 取消维护新版本修改
|
|
|
+ if (this.maintainNewVersion) {
|
|
|
+ console.log('取消维护新版本修改');
|
|
|
+ this.maintainNewVersion = false;
|
|
|
+ this.handleRefresh();
|
|
|
}
|
|
|
},
|
|
|
// 参照弹窗过滤
|
|
@@ -1884,11 +1916,15 @@ export default {
|
|
|
materialMedcine: this.medcineData.value,
|
|
|
materialMedcineItem: {}
|
|
|
};
|
|
|
- // basicData this.medcineData.value materialMedcine
|
|
|
+ // diCode
|
|
|
+ param.diCode = param.diCode.replace(/ /g, '');
|
|
|
console.log(param, '保存物料以及相关页签param');
|
|
|
materialApi.insertMaterialInfo(param).then(res => {
|
|
|
+
|
|
|
console.log(res, '保存物料以及相关页签');
|
|
|
if (res.code == 200) cb();
|
|
|
+ }).catch((error)=>{
|
|
|
+ this.loading = false;
|
|
|
})
|
|
|
},
|
|
|
// 保存财务信息——单个数据
|
|
@@ -1967,6 +2003,26 @@ export default {
|
|
|
},
|
|
|
|
|
|
},
|
|
|
+
|
|
|
+ watch: {
|
|
|
+ // 监听主标签修改标识,控制其他标签是否禁止点击
|
|
|
+ 'updateButtonGroup': function (nVal, oVal) {
|
|
|
+ console.log(nVal, 'nVal', oVal, 'oVal');
|
|
|
+ this.detailsTabs = this.detailsTabs.map(item => {
|
|
|
+ item['disabled'] = nVal;
|
|
|
+ return item;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ 'maintainNewVersion': function (nVal, oVal) {
|
|
|
+ console.log(nVal, 'nVal', oVal, 'oVal');
|
|
|
+ this.detailsTabs = this.detailsTabs.map(item => {
|
|
|
+ item['disabled'] = nVal;
|
|
|
+ return item;
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
created() {
|
|
|
|
|
|
// 基本信息
|
|
@@ -2002,9 +2058,12 @@ export default {
|
|
|
|
|
|
.md-content {
|
|
|
margin-top: 12px;
|
|
|
- height: calc(100vh - 260px);
|
|
|
+ // height: calc(100vh - 260px);
|
|
|
+ height: calc(100vh - 228px);
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
+
|
|
|
+
|
|
|
.md-basic {
|
|
|
overflow: auto;
|
|
|
|
|
@@ -2012,6 +2071,10 @@ export default {
|
|
|
// height: calc(100vh - 625px);
|
|
|
margin-bottom: 10px;
|
|
|
|
|
|
+ .el-table__body {
|
|
|
+ // height: calc(100vh - 300px);
|
|
|
+ }
|
|
|
+
|
|
|
.el-form {
|
|
|
max-height: 200px;
|
|
|
overflow-y: auto;
|
|
@@ -2039,6 +2102,10 @@ export default {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // .md-content>.el-tabs {
|
|
|
+ // height: calc(100vh - 280px);
|
|
|
+ // }
|
|
|
+
|
|
|
.otherDialog {
|
|
|
|
|
|
.el-collapse-item__content {
|
|
@@ -2223,6 +2290,10 @@ export default {
|
|
|
overflow-x: auto;
|
|
|
}
|
|
|
|
|
|
+/* .md-main>>>.el-table .el-table__body {
|
|
|
+ height: calc(100vh - 300px);
|
|
|
+} */
|
|
|
+
|
|
|
/* .otherDialog>>>.el-collapse-item__content {
|
|
|
padding-bottom: 12px;
|
|
|
}
|