|
@@ -11,13 +11,14 @@
|
|
|
:selectConfig="selectConfig"
|
|
|
:table-events="{
|
|
|
//element talbe事件都能传
|
|
|
- select: selectRow,
|
|
|
+ select: (data) => selectRow(data, 'row'),
|
|
|
+ 'select-all': (data) => selectAll(data, 'all'),
|
|
|
'sort-change': sortChange,
|
|
|
}"
|
|
|
:action-list="[
|
|
|
{
|
|
|
text: '采购',
|
|
|
- disabled: selectData.length === 0,
|
|
|
+ disabled: selectData.length === 0 && selectAllData.length === 0,
|
|
|
action: () => start(20),
|
|
|
},
|
|
|
]"
|
|
@@ -35,32 +36,6 @@
|
|
|
</template>
|
|
|
</byTable>
|
|
|
</div>
|
|
|
- <el-dialog
|
|
|
- :title="modalType == 'add' ? '添加供应商' : '编辑供应商'"
|
|
|
- v-model="dialogVisible"
|
|
|
- width="800"
|
|
|
- v-loading="loading"
|
|
|
- >
|
|
|
- <byForm
|
|
|
- :formConfig="formConfig"
|
|
|
- :formOption="formOption"
|
|
|
- v-model="formData.data"
|
|
|
- :rules="rules"
|
|
|
- ref="byform"
|
|
|
- >
|
|
|
- </byForm>
|
|
|
- <template #footer>
|
|
|
- <el-button @click="dialogVisible = false" size="large">取 消</el-button>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- @click="submitForm('byform')"
|
|
|
- size="large"
|
|
|
- :loading="submitLoading"
|
|
|
- >
|
|
|
- 确 定
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -82,7 +57,6 @@ const sourceList = ref({
|
|
|
},
|
|
|
});
|
|
|
const dialogVisible = ref(false);
|
|
|
-const modalType = ref("add");
|
|
|
let rules = ref({
|
|
|
name: [{ required: true, message: "请输入供应商名称", trigger: "blur" }],
|
|
|
});
|
|
@@ -340,34 +314,18 @@ const getList = async (req) => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
-const submitForm = () => {
|
|
|
- byform.value.handleSubmit((valid) => {
|
|
|
- formData.data.fileList = fileList.value;
|
|
|
- submitLoading.value = true;
|
|
|
- proxy.post("/productionProcesses/" + modalType.value, formData.data).then(
|
|
|
- (res) => {
|
|
|
- ElMessage({
|
|
|
- message: modalType.value == "add" ? "添加成功" : "编辑成功",
|
|
|
- type: "success",
|
|
|
- });
|
|
|
- fileList.value = [];
|
|
|
- dialogVisible.value = false;
|
|
|
- submitLoading.value = false;
|
|
|
- getList();
|
|
|
- },
|
|
|
- (err) => {
|
|
|
- console.log(err, "aswwwww");
|
|
|
- submitLoading.value = false;
|
|
|
- }
|
|
|
- );
|
|
|
- });
|
|
|
-};
|
|
|
-
|
|
|
const selectData = ref([]);
|
|
|
const selectDataOne = ref([]);
|
|
|
-const selectRow = (data) => {
|
|
|
+const selectAllData = ref([]);
|
|
|
+const selectType = ref("row");
|
|
|
+const selectRow = (data, type) => {
|
|
|
+ selectType.value = type;
|
|
|
selectData.value = data;
|
|
|
};
|
|
|
+const selectAll = (data, type) => {
|
|
|
+ selectType.value = type;
|
|
|
+ selectAllData.value = data;
|
|
|
+};
|
|
|
watch(selectData, (newVal, oldVal) => {
|
|
|
if (newVal.length == 0) {
|
|
|
sourceList.value.data.forEach((x) => {
|
|
@@ -380,7 +338,10 @@ watch(selectData, (newVal, oldVal) => {
|
|
|
} else if (newVal.length == 1) {
|
|
|
const current = newVal[0];
|
|
|
sourceList.value.data.forEach((x) => {
|
|
|
- if (x.receiptWarehouseId !== current.receiptWarehouseId) {
|
|
|
+ if (
|
|
|
+ x.receiptWarehouseId !== current.receiptWarehouseId ||
|
|
|
+ x.deptId !== current.deptId
|
|
|
+ ) {
|
|
|
x.isCheck = false;
|
|
|
}
|
|
|
});
|
|
@@ -388,24 +349,49 @@ watch(selectData, (newVal, oldVal) => {
|
|
|
});
|
|
|
|
|
|
const start = (type) => {
|
|
|
- modalType.value = "add";
|
|
|
- let ids = [];
|
|
|
- let row = {};
|
|
|
- if (type === 10) {
|
|
|
- row = selectDataOne.value[0];
|
|
|
- ids = selectDataOne.value.map((x) => x.id).join();
|
|
|
- } else if (type === 20) {
|
|
|
- ids = selectData.value.map((x) => x.id).join();
|
|
|
- row = selectData.value[0];
|
|
|
+ if (selectType.value === "all") {
|
|
|
+ let row = selectAllData.value[0];
|
|
|
+ let receiptWarehouseId = row.receiptWarehouseId;
|
|
|
+ let deptId = row.deptId;
|
|
|
+ const flagReceiptWarehouseId = selectAllData.value.every(
|
|
|
+ (x) => x.receiptWarehouseId === receiptWarehouseId
|
|
|
+ );
|
|
|
+ const flagDeptId = selectAllData.value.every((x) => x.deptId === deptId);
|
|
|
+ if (flagReceiptWarehouseId && flagDeptId) {
|
|
|
+ let ids = selectAllData.value.map((x) => x.id).join();
|
|
|
+ proxy.$router.replace({
|
|
|
+ path: "/platform_manage/process/processApproval",
|
|
|
+ query: {
|
|
|
+ flowKey: "wdly_purchase",
|
|
|
+ ids,
|
|
|
+ flowName: "采购申请",
|
|
|
+ },
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ return ElMessage({
|
|
|
+ message: `不能采购不同仓库或不同部门的商品`,
|
|
|
+ type: "info",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let ids = [];
|
|
|
+ let row = {};
|
|
|
+ if (type === 10) {
|
|
|
+ row = selectDataOne.value[0];
|
|
|
+ ids = selectDataOne.value.map((x) => x.id).join();
|
|
|
+ } else if (type === 20) {
|
|
|
+ ids = selectData.value.map((x) => x.id).join();
|
|
|
+ row = selectData.value[0];
|
|
|
+ }
|
|
|
+ proxy.$router.replace({
|
|
|
+ path: "/platform_manage/process/processApproval",
|
|
|
+ query: {
|
|
|
+ flowKey: "wdly_purchase",
|
|
|
+ ids,
|
|
|
+ flowName: "采购申请",
|
|
|
+ },
|
|
|
+ });
|
|
|
}
|
|
|
- proxy.$router.replace({
|
|
|
- path: "/platform_manage/process/processApproval",
|
|
|
- query: {
|
|
|
- flowKey: "wdly_purchase",
|
|
|
- ids,
|
|
|
- flowName: "采购申请",
|
|
|
- },
|
|
|
- });
|
|
|
};
|
|
|
|
|
|
const warehouseList = ref([]);
|
|
@@ -483,9 +469,9 @@ const handleClickFile = (file) => {
|
|
|
.tenant {
|
|
|
padding: 20px;
|
|
|
}
|
|
|
-:deep(.el-table__header-wrapper .el-checkbox) {
|
|
|
- display: none;
|
|
|
-}
|
|
|
+// :deep(.el-table__header-wrapper .el-checkbox) {
|
|
|
+// display: none;
|
|
|
+// }
|
|
|
.pic {
|
|
|
object-fit: contain;
|
|
|
width: 50px;
|