guoyujia 5 місяців тому
батько
коміт
23e1e80d49

+ 13 - 0
src/api/business/outsourcedOrder.js

@@ -68,6 +68,13 @@ export function submitDetails(data) {
 		data: data
 	})
 }
+export function submitInnerDetails(data) {
+	return request({
+		url: baseUrl + '/business/outsource/submitInnerDetails',
+		method: 'post',
+		data: data
+	})
+}
 
 export function submitDetailsOnFirst(data) {
 	return request({
@@ -123,6 +130,12 @@ export function delOrder(id) {
 		method: 'delete'
 	})
 }
+export function delInnerOrder(id) {
+	return request({
+		url: baseUrl + '/business/outsource/delInnerOrder/' +id,
+		method: 'delete',
+	})
+}
 
 export function delOrderForFirst(id) {
 	return request({

+ 7 - 0
src/api/business/outsourcedRecords.js

@@ -9,6 +9,13 @@ export function listOutsourcedRecords(query) {
     params: query
   })
 }
+export function listInnerOutsourcedRecords(query) {
+  return request({
+    url:baseUrl +  '/business/outsourcedRecords/innerList',
+    method: 'get',
+    params: query
+  })
+}
 
 // 查询外协发出单历史记录详细
 export function getOutsourcedRecords(id) {

+ 7 - 0
src/api/business/returnReceiptDetail.js

@@ -26,6 +26,13 @@ export function getReturnReceiptDetail(query) {
 		params:query
 	})
 }
+export function checkReturnReceiptDetail(data) {
+	return request({
+		url: baseUrl + '/business/returnReceiptDetail/checkReturnReceiptDetail',
+		method: 'post',
+		data: data
+	})
+}
 // 新增收回单明细
 export function addReceiptDetail(data) {
 	return request({

+ 2 - 1
src/views/business/department/DialogSupplierSelect.vue

@@ -106,6 +106,7 @@ const queryParams = ref({
   name: "",
   pageNum: 1,
   pageSize: 10,
+  isInnerOutsource:1
 });
 const selections = ref([]);
 
@@ -134,7 +135,7 @@ function close() {
  */
 function getList() {
   loading.value = true;
-  listByDept({deptId:deptId.value}).then((res) => {
+  listByDept({deptId:deptId.value,isInnerOutsource:1}).then((res) => {
     dataList.value = res.rows;
     total.value = res.total;
     loading.value = false;

+ 14 - 1
src/views/business/department/form.vue

@@ -149,6 +149,7 @@
 <script setup>
 import { listDept, getDept, saveDept } from "@/api/system/dept";
 import { listTenant } from"@/api/business/tenant";
+import {checkReturnReceiptDetail} from "@/api/business/returnReceiptDetail";
 import useUserStore from '@/store/modules/user'
 import selectSupplierDialog from './DialogSupplierSelect'
 const { proxy } = getCurrentInstance();
@@ -256,13 +257,25 @@ function submitForm() {
   proxy.$refs["deptRef"].validate((valid) => {
     if (valid) {
       console.log(form.value);
-      saveDept(form.value).then((res) => {
+      if(form.value.isOutsourcing == 1 && form.value.supplierId == 0){
+        proxy.$modal.msgError("外协商不能为空");
+      }else{
+        if(form.value.isOutsourcing == 1 && form.value.deptId != null){
+          //外协商判断
+          checkReturnReceiptDetail(form.value).then(res =>{
+            if(res.code == 200){
+               saveDept(form.value).then((res) => {
         if (res.code === 200) {
           proxy.$modal.msgSuccess("操作成功");
           emit("handleSaveSuccess");
         }
         visible.value = false;
       });
+            }
+          })
+        }
+     
+    }
     }
   });
 }

+ 2 - 2
src/views/business/innerOutsource/DialogOutsourcedRecords.vue

@@ -7,7 +7,7 @@
 	</el-dialog>
 </template>
 <script setup>
-import { listOutsourcedRecords } from "@/api/business/outsourcedRecords";
+import { listInnerOutsourcedRecords } from "@/api/business/outsourcedRecords";
 /** 历史记录变量 */
 const recordsList = ref([])
 const visible = ref(false)
@@ -40,7 +40,7 @@ function close() {
  */
 function getList() {
 	loading.value = true
-	listOutsourcedRecords(queryParams.value).then((res) => {
+	listInnerOutsourcedRecords(queryParams.value).then((res) => {
 		recordsList.value = res.rows
 		loading.value = false
 	})

+ 1 - 1
src/views/business/innerOutsource/DialogSuppliers.vue

@@ -104,7 +104,7 @@ const loading = ref(false);
 const queryParams = ref({
   name: "",
   pageNum: 1,
-  pageSize: 10,
+  pageSize: 10
 });
 const selections = ref([]);
 

+ 35 - 34
src/views/business/innerOutsource/form.vue

@@ -88,8 +88,8 @@
           <el-col :span="6">
             <el-form-item label="外协工段" prop="outsourceDeptId">
               <el-select
-                v-if="editStatus && hasReturnReceiptDetailFlag"
-                v-model="form.outsourceDeptId"
+                v-if="editStatus &&form.isSubmit ==0"
+                v-model="form.outsourceDeptId "
                 placeholder="请选择"
                 @change="handleChangeDept"
               >
@@ -100,12 +100,17 @@
                   :value="dict.value"
                 />
                 </el-select>
-              <span v-else>{{ form.supplierName }}</span>
+              <span v-else>{{ form.outsourceDeptName }}</span>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="外协商名称" prop="supplierName">
-              <span >{{ form.supplierName }}</span>
+              <el-input
+                v-if="editStatus"
+                v-model="form.supplierName"
+                disabled
+              />
+              <span v-else >{{ form.supplierName }}</span>
             </el-form-item>
           </el-col>
           <el-col :span="6" v-if="false">
@@ -265,7 +270,7 @@
             >
               <template #default="scope">
                 <el-input-number
-                  v-if="editStatus && scope.row.hasReturnReceiptDetailFlag"
+                   v-if="editStatus && !scope.row.hasNextInfo"
                   :min="0"
                   v-model="scope.row.productNum"
                   placeholder="产品数"
@@ -292,7 +297,7 @@
               prop="newCarrier"
               width="320"
             >
-              <template #default="scope">
+            <template #default="scope">
                 <el-button
                   link
                   type="primary"
@@ -305,7 +310,7 @@
                   v-if="
                     editStatus &&
                     scope.row.editStatus &&
-                    scope.row.hasReturnReceiptDetailFlag
+                  !scope.row.hasNextInfo
                   "
                   v-model="scope.row.carrierIds"
                   multiple
@@ -328,20 +333,6 @@
                   />
                 </el-select>
                 <span v-if="!editStatus">{{ scope.row.newCarrier }}</span>
-                <!-- <el-input
-                  v-if="editStatus"
-                  v-model="scope.row.newCarrier"
-                  readonly
-                  placeholder="请选择新箱号"
-                >
-                  <template #append>
-                    <el-button
-                      icon="Search"
-                      @click="handleShowDialogOutsourceCarriers(scope.row)"
-                    />
-                  </template>
-        </el-input>
-        <span v-else>{{ scope.row.newCarrier }}</span>-->
               </template>
             </el-table-column>
             <el-table-column
@@ -352,7 +343,7 @@
             >
               <template #default="scope">
                 <el-input
-                  v-if="editStatus && scope.row.hasReturnReceiptDetailFlag"
+                   v-if="editStatus && !scope.row.hasNextInfo"
                   v-model="scope.row.processNames"
                   readonly
                   placeholder="请选择工序"
@@ -369,7 +360,7 @@
             </el-table-column>
             <el-table-column label="是否包装签票" align="center" prop="isPackage" >
               <template #default="scope">
-                <el-switch v-model="scope.row.isPackage" style="
+                <el-switch :disabled="scope.row.hasNextInfo" v-model="scope.row.isPackage" style="
                     --el-switch-on-color: #13ce66;
                     --el-switch-off-color: #ff4949;
                   " :active-value="1" :inactive-value="0" active-text="是" inactive-text="否" />
@@ -378,7 +369,7 @@
             <el-table-column label="备注" align="center" prop="remark">
               <template #default="scope">
                 <el-input
-                  v-if="editStatus && scope.row.hasReturnReceiptDetailFlag"
+                  v-if="editStatus && !scope.row.hasNextInfo"
                   v-model="scope.row.remark"
                   placeholder="备注"
                 />
@@ -396,7 +387,7 @@
                 <el-button
                   circle
                   type="danger"
-                  v-if="scope.row.hasReturnReceiptDetailFlag"
+                   v-if="editStatus && !scope.row.hasNextInfo"
                   icon="Delete"
                   @click="handleDelete(scope.$index)"
                   v-hasPermi="['business:outsource:remove']"
@@ -440,7 +431,7 @@ import {
   submitOrder,
   exportOutsource,
   printOutsource,
-  submitDetails,
+  submitInnerDetails,
 } from "@/api/business/outsourcedOrder";
 import {
   listOutsourceDeptList
@@ -493,7 +484,7 @@ const deptList = ref([])
 const currentDetail = ref({});
 const rules = {
   supplierName: [
-    { required: true, message: "外协商名称不能为空", trigger: "change" },
+    { required: true, message: "外协商名称不能为空", trigger:"" },
   ],
 };
 
@@ -657,6 +648,8 @@ function getOutsorceDeptList() {
 //外协工段选择事件
 function handleChangeDept(){
   let data = deptList.value.filter(item => item.outsourceDeptId == form.value.outsourceDeptId)[0]
+  form.value.isInnerOutsource = 1
+  form.value.outsourceDeptName = data.outsourceDeptName
   form.value.supplierName = data.supplierName
   form.value.supplierId = data.id;
   form.value.lossLimit = data.lossLimit;
@@ -669,7 +662,10 @@ function handleChangeDept(){
 //一键包装签票
 function handleCheckPackage(){
   form.value.details.forEach((item) => {
-   item.isPackage = 1
+    if(!item.hasNextInfo){
+      item.isPackage = 1
+    }
+   
   })
 }
 //打开历史记录弹窗
@@ -810,6 +806,10 @@ function handleSubmit() {
           proxy.$modal.msgError("请添加产品明细");
           return;
         }
+        if (form.value.supplierName == "") {
+          proxy.$modal.msgError("外协商名称不能为空");
+          return;
+        }
 
         proxy.$refs["formRef"].validate((valid) => {
           for (const item of form.value.details) {
@@ -829,11 +829,11 @@ function handleSubmit() {
           }
           if (valid) {
             console.log(form.value);
-            // submitDetails(form.value).then((response) => {
-            //   proxy.$modal.msgSuccess("提交成功");
-            //   visible.value = false;
-            //   getList.value();
-            // });
+            submitInnerDetails(form.value).then((response) => {
+              proxy.$modal.msgSuccess("提交成功");
+              visible.value = false;
+              getList.value();
+            });
           }
         });
       });
@@ -861,7 +861,7 @@ function handleSubmit() {
       }
       if (valid) {
         console.log(form.value);
-        submitDetails(form.value).then((response) => {
+        submitInnerDetails(form.value).then((response) => {
           proxy.$modal.msgSuccess("提交成功");
           visible.value = false;
           getList.value();
@@ -916,6 +916,7 @@ const handleMultipleSelectedProducts = (selection) => {
       productDescription: item.productDescription,
       technologicalProcessId: item.technologicalProcessId,
       technologicalProcessDetailId: item.lastDayworkItem.technologicalProcessDetailId,
+      productionPlanDetailId: item.lastDayworkItem.productionPlanDetailId,
       processId: item.lastDayworkItem.processId,
       processAlias:item.lastDayworkItem.processAlias,
       dayworkItemId: item.lastDayworkItem.id,

+ 3 - 3
src/views/business/innerOutsource/index.vue

@@ -68,7 +68,7 @@
             </template>
           </el-table-column>
           <el-table-column label="外协商名称" align="center" prop="supplierName" width="320" />
-          <el-table-column label="外协工段" align="center" prop="deptName" width="320" />
+          <el-table-column label="外协工段" align="center" prop="outsourceDeptName" width="320" />
           <el-table-column label="结算方式" align="center" prop="settlementType" width="120">
             <template #default="scope">
               <dict-tag :options="settlement_type" :value="scope.row.settlementType" />
@@ -124,7 +124,7 @@
 <script setup name="Order">
 import {
   innerOrderList,
-  delOrder,
+  delInnerOrder,
   exportOutsource,
   printOutsource,
   getCarrierInfo
@@ -217,7 +217,7 @@ function handleDelete(row) {
   proxy.$modal
     .confirm("是否确认删除选中的数据项?")
     .then(function () {
-      return delOrder(_ids);
+      return delInnerOrder(_ids);
     })
     .then(() => {
       getList();